From 125b44468d7815e4bca6fb5e6488f17349997299 Mon Sep 17 00:00:00 2001 From: Mencken Davidson <76002183+menckend@users.noreply.github.com> Date: Thu, 24 Oct 2024 20:00:05 -0400 Subject: [PATCH 01/20] Update publish-pypi.yaml --- .github/workflows/publish-pypi.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-pypi.yaml b/.github/workflows/publish-pypi.yaml index b148cfa..9a44818 100644 --- a/.github/workflows/publish-pypi.yaml +++ b/.github/workflows/publish-pypi.yaml @@ -50,7 +50,7 @@ jobs: - name: Publish distribution to PyPI uses: pypa/gh-action-pypi-publish@release/v1 with: - repository-url: https://pypi.org/p/ + repository-url: https://pypi.org/p/netbox_ptov publish-to-pypi-test: if: contains(github.ref, '/tags/') && contains(github.event.base_ref, 'test') From bf7c0cd106b708a944e86e1a01159770b58a5a96 Mon Sep 17 00:00:00 2001 From: Mencken Davidson <76002183+menckend@users.noreply.github.com> Date: Thu, 24 Oct 2024 20:10:02 -0400 Subject: [PATCH 02/20] Update publish-pypi.yaml --- .github/workflows/publish-pypi.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-pypi.yaml b/.github/workflows/publish-pypi.yaml index 9a44818..259dab4 100644 --- a/.github/workflows/publish-pypi.yaml +++ b/.github/workflows/publish-pypi.yaml @@ -50,7 +50,7 @@ jobs: - name: Publish distribution to PyPI uses: pypa/gh-action-pypi-publish@release/v1 with: - repository-url: https://pypi.org/p/netbox_ptov + repository-url: https://pypi.org/p/netbox_ptov/ publish-to-pypi-test: if: contains(github.ref, '/tags/') && contains(github.event.base_ref, 'test') From 3437c8eb5362020d132ec166ab5aca0440264ec8 Mon Sep 17 00:00:00 2001 From: Mencken Davidson <76002183+menckend@users.noreply.github.com> Date: Thu, 24 Oct 2024 20:14:38 -0400 Subject: [PATCH 03/20] Update publish-pypi.yaml --- .github/workflows/publish-pypi.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-pypi.yaml b/.github/workflows/publish-pypi.yaml index 259dab4..b148cfa 100644 --- a/.github/workflows/publish-pypi.yaml +++ b/.github/workflows/publish-pypi.yaml @@ -50,7 +50,7 @@ jobs: - name: Publish distribution to PyPI uses: pypa/gh-action-pypi-publish@release/v1 with: - repository-url: https://pypi.org/p/netbox_ptov/ + repository-url: https://pypi.org/p/ publish-to-pypi-test: if: contains(github.ref, '/tags/') && contains(github.event.base_ref, 'test') From 8e6c5d8d7880f651316e05d617c5e77ab8fbb457 Mon Sep 17 00:00:00 2001 From: Mencken Davidson <76002183+menckend@users.noreply.github.com> Date: Thu, 24 Oct 2024 20:21:51 -0400 Subject: [PATCH 04/20] Update publish-pypi.yaml --- .github/workflows/publish-pypi.yaml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/publish-pypi.yaml b/.github/workflows/publish-pypi.yaml index b148cfa..3ded522 100644 --- a/.github/workflows/publish-pypi.yaml +++ b/.github/workflows/publish-pypi.yaml @@ -48,10 +48,7 @@ jobs: name: python-package-distributions path: dist/ - name: Publish distribution to PyPI - uses: pypa/gh-action-pypi-publish@release/v1 - with: - repository-url: https://pypi.org/p/ - + uses: pypa/gh-action-pypi-publish@release/v1 publish-to-pypi-test: if: contains(github.ref, '/tags/') && contains(github.event.base_ref, 'test') environment: From 0640471cabef340435dfcf1c996ad512193b6982 Mon Sep 17 00:00:00 2001 From: Mencken Davidson <76002183+menckend@users.noreply.github.com> Date: Thu, 24 Oct 2024 20:33:12 -0400 Subject: [PATCH 05/20] Cleanup README.md --- README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index df42e79..6c156f1 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ Netbox plugin for pulling runstate (config and topology) from Arista switches an ## Features * Creates a new model/table for storing the DNS names of your GNS3 servers. [("Boring, Sidney; borrring, borrrrrrring"](https://youtu.be/ieqxmg4pmZo?si=rXJtimC0e0_QpEp7&t=147), I know.) + * Provides a screen/page that prompts you to: * Select a GNS3 server and as few or as many Arista switches as you want from your devices table. * Enter a set of Arista EOS credentials @@ -22,11 +23,8 @@ Netbox plugin for pulling runstate (config and topology) from Arista switches an * Running the same cEOS version as the switch that it is emulating (if you have a matching Docker template installed on your GNS3 server) * Happy to run as an EVPN/VXLAN fabric, if that's your bag. (There's some per-VRF/network-namespace ipfilters tweaking that may still need to be cleared up.) * Has "links" provisioned in the vlab, **mirroring the inter-switch links of the "live" switches you're modeling** (detected when inspecting th LLDP tables of the switches) - * Returns a URL ![image](./images/ptov-pic2.png) - - * ...at which you can access the virtual-lab you just created. ![image](./images/ptov-pic3.png) @@ -36,7 +34,7 @@ Change modeling, obviously. Invasive troubleshooting of pesky routing issues th ## Under the hood -* All of the heavy lifting is done by the [dcnodatg package](https://menckend.github.io/dcnodatg) +All of the heavy lifting is done by the [dcnodatg package](https://menckend.github.io/dcnodatg) ## Compatibility From c95fb78cbf1be6f320b35d252fbad741456f1802 Mon Sep 17 00:00:00 2001 From: Mencken Davidson <76002183+menckend@users.noreply.github.com> Date: Thu, 24 Oct 2024 22:13:44 -0400 Subject: [PATCH 06/20] doc updates --- README.md | 11 +---------- netbox_ptov/_version.py.obsolete | 3 --- netbox_ptov/views.py | 5 +++-- 3 files changed, 4 insertions(+), 15 deletions(-) delete mode 100644 netbox_ptov/_version.py.obsolete diff --git a/README.md b/README.md index 6c156f1..a78dc5e 100644 --- a/README.md +++ b/README.md @@ -68,15 +68,6 @@ PLUGINS = [ ] PLUGINS_CONFIG = { - "netbox_ptov": {}, + "netbox_ptov": {'top_level_menu': False}, } ``` - -## Credits - -Based on the NetBox plugin tutorial: - -- [demo repository](https://github.com/netbox-community/netbox-plugin-demo) -- [tutorial](https://github.com/netbox-community/netbox-plugin-tutorial) - -This package was created with [Cookiecutter](https://github.com/audreyr/cookiecutter) and the [`netbox-community/cookiecutter-netbox-plugin`](https://github.com/netbox-community/cookiecutter-netbox-plugin) project template. diff --git a/netbox_ptov/_version.py.obsolete b/netbox_ptov/_version.py.obsolete deleted file mode 100644 index aca2674..0000000 --- a/netbox_ptov/_version.py.obsolete +++ /dev/null @@ -1,3 +0,0 @@ -"""Defines the Django models used by the netbox_ptov plugin. Obsoleted by the use of setup-scm.""" - -__version__ = "0.1.21" diff --git a/netbox_ptov/views.py b/netbox_ptov/views.py index 34d51e7..1acfa10 100644 --- a/netbox_ptov/views.py +++ b/netbox_ptov/views.py @@ -9,7 +9,9 @@ import json -def golab(request: json): +def golab(request: forms.golabForm) -> django.http.HttpResponse: + """Pass the input fields from the golabForm instance to the dcnodatg.p_to_v function and return the results as an HttpResponse""" + if request.method == 'POST': form = forms.golabForm(request.POST) if form.is_valid(): @@ -53,7 +55,6 @@ class gns3srvEditView(generic.ObjectEditView): """A class to represent the edit view of a gns3srv object. ============================================================= - Attributes ---------- queryset From d28ca738644c96c629db6f2c99337399390a6640 Mon Sep 17 00:00:00 2001 From: Mencken Davidson <76002183+menckend@users.noreply.github.com> Date: Thu, 24 Oct 2024 22:31:45 -0400 Subject: [PATCH 07/20] adding django source for autoapi doc references --- external_sources/django/django/__init__.py | 24 + external_sources/django/django/__main__.py | 10 + .../django/django/apps/__init__.py | 4 + external_sources/django/django/apps/config.py | 274 + .../django/django/apps/registry.py | 437 + .../django/django/conf/__init__.py | 272 + .../django/conf/app_template/__init__.py-tpl | 0 .../django/conf/app_template/admin.py-tpl | 3 + .../django/conf/app_template/apps.py-tpl | 6 + .../app_template/migrations/__init__.py-tpl | 0 .../django/conf/app_template/models.py-tpl | 3 + .../django/conf/app_template/tests.py-tpl | 3 + .../django/conf/app_template/views.py-tpl | 3 + .../django/django/conf/global_settings.py | 667 + .../django/django/conf/locale/__init__.py | 629 + .../conf/locale/af/LC_MESSAGES/django.po | 1335 ++ .../conf/locale/ar/LC_MESSAGES/django.po | 1389 ++ .../django/django/conf/locale/ar/__init__.py | 0 .../django/django/conf/locale/ar/formats.py | 21 + .../conf/locale/ar_DZ/LC_MESSAGES/django.po | 1397 ++ .../django/conf/locale/ar_DZ/__init__.py | 0 .../django/conf/locale/ar_DZ/formats.py | 29 + .../conf/locale/ast/LC_MESSAGES/django.po | 1237 ++ .../conf/locale/az/LC_MESSAGES/django.po | 1347 ++ .../django/django/conf/locale/az/__init__.py | 0 .../django/django/conf/locale/az/formats.py | 30 + .../conf/locale/be/LC_MESSAGES/django.po | 1391 ++ .../conf/locale/bg/LC_MESSAGES/django.po | 1353 ++ .../django/django/conf/locale/bg/__init__.py | 0 .../django/django/conf/locale/bg/formats.py | 21 + .../conf/locale/bn/LC_MESSAGES/django.po | 1218 ++ .../django/django/conf/locale/bn/__init__.py | 0 .../django/django/conf/locale/bn/formats.py | 32 + .../conf/locale/br/LC_MESSAGES/django.po | 1297 ++ .../conf/locale/bs/LC_MESSAGES/django.po | 1238 ++ .../django/django/conf/locale/bs/__init__.py | 0 .../django/django/conf/locale/bs/formats.py | 21 + .../conf/locale/ca/LC_MESSAGES/django.po | 1340 ++ .../django/django/conf/locale/ca/__init__.py | 0 .../django/django/conf/locale/ca/formats.py | 30 + .../conf/locale/ckb/LC_MESSAGES/django.po | 1332 ++ .../django/django/conf/locale/ckb/__init__.py | 0 .../django/django/conf/locale/ckb/formats.py | 21 + .../conf/locale/cs/LC_MESSAGES/django.po | 1388 ++ .../django/django/conf/locale/cs/__init__.py | 0 .../django/django/conf/locale/cs/formats.py | 43 + .../conf/locale/cy/LC_MESSAGES/django.po | 1278 ++ .../django/django/conf/locale/cy/__init__.py | 0 .../django/django/conf/locale/cy/formats.py | 33 + .../conf/locale/da/LC_MESSAGES/django.po | 1341 ++ .../django/django/conf/locale/da/__init__.py | 0 .../django/django/conf/locale/da/formats.py | 26 + .../conf/locale/de/LC_MESSAGES/django.po | 1356 ++ .../django/django/conf/locale/de/__init__.py | 0 .../django/django/conf/locale/de/formats.py | 29 + .../django/conf/locale/de_CH/__init__.py | 0 .../django/conf/locale/de_CH/formats.py | 35 + .../conf/locale/dsb/LC_MESSAGES/django.po | 1392 ++ .../conf/locale/el/LC_MESSAGES/django.po | 1332 ++ .../django/django/conf/locale/el/__init__.py | 0 .../django/django/conf/locale/el/formats.py | 34 + .../conf/locale/en/LC_MESSAGES/django.po | 1614 +++ .../django/django/conf/locale/en/__init__.py | 0 .../django/django/conf/locale/en/formats.py | 65 + .../conf/locale/en_AU/LC_MESSAGES/django.po | 1299 ++ .../django/conf/locale/en_AU/__init__.py | 0 .../django/conf/locale/en_AU/formats.py | 41 + .../django/conf/locale/en_CA/__init__.py | 0 .../django/conf/locale/en_CA/formats.py | 31 + .../conf/locale/en_GB/LC_MESSAGES/django.po | 1221 ++ .../django/conf/locale/en_GB/__init__.py | 0 .../django/conf/locale/en_GB/formats.py | 41 + .../django/conf/locale/en_IE/__init__.py | 0 .../django/conf/locale/en_IE/formats.py | 37 + .../conf/locale/eo/LC_MESSAGES/django.po | 1331 ++ .../django/django/conf/locale/eo/__init__.py | 0 .../django/django/conf/locale/eo/formats.py | 44 + .../conf/locale/es/LC_MESSAGES/django.po | 1412 ++ .../django/django/conf/locale/es/__init__.py | 0 .../django/django/conf/locale/es/formats.py | 30 + .../conf/locale/es_AR/LC_MESSAGES/django.po | 1377 ++ .../django/conf/locale/es_AR/__init__.py | 0 .../django/conf/locale/es_AR/formats.py | 30 + .../conf/locale/es_CO/LC_MESSAGES/django.po | 1258 ++ .../django/conf/locale/es_CO/__init__.py | 0 .../django/conf/locale/es_CO/formats.py | 26 + .../conf/locale/es_MX/LC_MESSAGES/django.po | 1279 ++ .../django/conf/locale/es_MX/__init__.py | 0 .../django/conf/locale/es_MX/formats.py | 26 + .../django/conf/locale/es_NI/__init__.py | 0 .../django/conf/locale/es_NI/formats.py | 26 + .../django/conf/locale/es_PR/__init__.py | 0 .../django/conf/locale/es_PR/formats.py | 27 + .../conf/locale/es_VE/LC_MESSAGES/django.po | 1260 ++ .../conf/locale/et/LC_MESSAGES/django.po | 1341 ++ .../django/django/conf/locale/et/__init__.py | 0 .../django/django/conf/locale/et/formats.py | 21 + .../conf/locale/eu/LC_MESSAGES/django.po | 1313 ++ .../django/django/conf/locale/eu/__init__.py | 0 .../django/django/conf/locale/eu/formats.py | 21 + .../conf/locale/fa/LC_MESSAGES/django.po | 1343 ++ .../django/django/conf/locale/fa/__init__.py | 0 .../django/django/conf/locale/fa/formats.py | 21 + .../conf/locale/fi/LC_MESSAGES/django.po | 1332 ++ .../django/django/conf/locale/fi/__init__.py | 0 .../django/django/conf/locale/fi/formats.py | 36 + .../conf/locale/fr/LC_MESSAGES/django.po | 1394 ++ .../django/django/conf/locale/fr/__init__.py | 0 .../django/django/conf/locale/fr/formats.py | 27 + .../django/conf/locale/fr_BE/__init__.py | 0 .../django/conf/locale/fr_BE/formats.py | 32 + .../django/conf/locale/fr_CA/__init__.py | 0 .../django/conf/locale/fr_CA/formats.py | 30 + .../django/conf/locale/fr_CH/__init__.py | 0 .../django/conf/locale/fr_CH/formats.py | 32 + .../conf/locale/fy/LC_MESSAGES/django.po | 1218 ++ .../django/django/conf/locale/fy/__init__.py | 0 .../django/django/conf/locale/fy/formats.py | 21 + .../conf/locale/ga/LC_MESSAGES/django.po | 1426 ++ .../django/django/conf/locale/ga/__init__.py | 0 .../django/django/conf/locale/ga/formats.py | 21 + .../conf/locale/gd/LC_MESSAGES/django.po | 1386 ++ .../django/django/conf/locale/gd/__init__.py | 0 .../django/django/conf/locale/gd/formats.py | 21 + .../conf/locale/gl/LC_MESSAGES/django.po | 1356 ++ .../django/django/conf/locale/gl/__init__.py | 0 .../django/django/conf/locale/gl/formats.py | 21 + .../conf/locale/he/LC_MESSAGES/django.po | 1351 ++ .../django/django/conf/locale/he/__init__.py | 0 .../django/django/conf/locale/he/formats.py | 21 + .../conf/locale/hi/LC_MESSAGES/django.po | 1254 ++ .../django/django/conf/locale/hi/__init__.py | 0 .../django/django/conf/locale/hi/formats.py | 21 + .../conf/locale/hr/LC_MESSAGES/django.po | 1274 ++ .../django/django/conf/locale/hr/__init__.py | 0 .../django/django/conf/locale/hr/formats.py | 44 + .../conf/locale/hsb/LC_MESSAGES/django.po | 1384 ++ .../conf/locale/hu/LC_MESSAGES/django.po | 1358 ++ .../django/django/conf/locale/hu/__init__.py | 0 .../django/django/conf/locale/hu/formats.py | 30 + .../conf/locale/hy/LC_MESSAGES/django.po | 1237 ++ .../conf/locale/ia/LC_MESSAGES/django.po | 1289 ++ .../conf/locale/id/LC_MESSAGES/django.po | 1338 ++ .../django/django/conf/locale/id/__init__.py | 0 .../django/django/conf/locale/id/formats.py | 49 + .../conf/locale/ig/LC_MESSAGES/django.po | 1271 ++ .../django/django/conf/locale/ig/__init__.py | 0 .../django/django/conf/locale/ig/formats.py | 32 + .../conf/locale/io/LC_MESSAGES/django.po | 1231 ++ .../conf/locale/is/LC_MESSAGES/django.po | 1302 ++ .../django/django/conf/locale/is/__init__.py | 0 .../django/django/conf/locale/is/formats.py | 21 + .../conf/locale/it/LC_MESSAGES/django.po | 1367 ++ .../django/django/conf/locale/it/__init__.py | 0 .../django/django/conf/locale/it/formats.py | 43 + .../conf/locale/ja/LC_MESSAGES/django.po | 1331 ++ .../django/django/conf/locale/ja/__init__.py | 0 .../django/django/conf/locale/ja/formats.py | 21 + .../conf/locale/ka/LC_MESSAGES/django.po | 1239 ++ .../django/django/conf/locale/ka/__init__.py | 0 .../django/django/conf/locale/ka/formats.py | 48 + .../conf/locale/kab/LC_MESSAGES/django.po | 1211 ++ .../conf/locale/kk/LC_MESSAGES/django.po | 1223 ++ .../conf/locale/km/LC_MESSAGES/django.po | 1196 ++ .../django/django/conf/locale/km/__init__.py | 0 .../django/django/conf/locale/km/formats.py | 21 + .../conf/locale/kn/LC_MESSAGES/django.po | 1232 ++ .../django/django/conf/locale/kn/__init__.py | 0 .../django/django/conf/locale/kn/formats.py | 21 + .../conf/locale/ko/LC_MESSAGES/django.po | 1333 ++ .../django/django/conf/locale/ko/__init__.py | 0 .../django/django/conf/locale/ko/formats.py | 54 + .../conf/locale/ky/LC_MESSAGES/django.po | 1279 ++ .../django/django/conf/locale/ky/__init__.py | 0 .../django/django/conf/locale/ky/formats.py | 32 + .../conf/locale/lb/LC_MESSAGES/django.po | 1213 ++ .../conf/locale/lt/LC_MESSAGES/django.po | 1324 ++ .../django/django/conf/locale/lt/__init__.py | 0 .../django/django/conf/locale/lt/formats.py | 45 + .../conf/locale/lv/LC_MESSAGES/django.po | 1367 ++ .../django/django/conf/locale/lv/__init__.py | 0 .../django/django/conf/locale/lv/formats.py | 46 + .../conf/locale/mk/LC_MESSAGES/django.po | 1273 ++ .../django/django/conf/locale/mk/__init__.py | 0 .../django/django/conf/locale/mk/formats.py | 40 + .../conf/locale/ml/LC_MESSAGES/django.po | 1274 ++ .../django/django/conf/locale/ml/__init__.py | 0 .../django/django/conf/locale/ml/formats.py | 43 + .../conf/locale/mn/LC_MESSAGES/django.po | 1345 ++ .../django/django/conf/locale/mn/__init__.py | 0 .../django/django/conf/locale/mn/formats.py | 21 + .../conf/locale/mr/LC_MESSAGES/django.po | 1280 ++ .../conf/locale/ms/LC_MESSAGES/django.po | 1286 ++ .../django/django/conf/locale/ms/__init__.py | 0 .../django/django/conf/locale/ms/formats.py | 38 + .../conf/locale/my/LC_MESSAGES/django.po | 1197 ++ .../conf/locale/nb/LC_MESSAGES/django.po | 1324 ++ .../django/django/conf/locale/nb/__init__.py | 0 .../django/django/conf/locale/nb/formats.py | 41 + .../conf/locale/ne/LC_MESSAGES/django.po | 1253 ++ .../conf/locale/nl/LC_MESSAGES/django.po | 1356 ++ .../django/django/conf/locale/nl/__init__.py | 0 .../django/django/conf/locale/nl/formats.py | 92 + .../conf/locale/nn/LC_MESSAGES/django.po | 1305 ++ .../django/django/conf/locale/nn/__init__.py | 0 .../django/django/conf/locale/nn/formats.py | 41 + .../conf/locale/os/LC_MESSAGES/django.po | 1235 ++ .../conf/locale/pa/LC_MESSAGES/django.po | 1213 ++ .../conf/locale/pl/LC_MESSAGES/django.po | 1422 ++ .../django/django/conf/locale/pl/__init__.py | 0 .../django/django/conf/locale/pl/formats.py | 30 + .../conf/locale/pt/LC_MESSAGES/django.po | 1254 ++ .../django/django/conf/locale/pt/__init__.py | 0 .../django/django/conf/locale/pt/formats.py | 39 + .../conf/locale/pt_BR/LC_MESSAGES/django.po | 1403 ++ .../django/conf/locale/pt_BR/__init__.py | 0 .../django/conf/locale/pt_BR/formats.py | 34 + .../conf/locale/ro/LC_MESSAGES/django.po | 1323 ++ .../django/django/conf/locale/ro/__init__.py | 0 .../django/django/conf/locale/ro/formats.py | 35 + .../conf/locale/ru/LC_MESSAGES/django.po | 1424 ++ .../django/django/conf/locale/ru/__init__.py | 0 .../django/django/conf/locale/ru/formats.py | 30 + .../conf/locale/sk/LC_MESSAGES/django.po | 1394 ++ .../django/django/conf/locale/sk/__init__.py | 0 .../django/django/conf/locale/sk/formats.py | 30 + .../conf/locale/sl/LC_MESSAGES/django.po | 1351 ++ .../django/django/conf/locale/sl/__init__.py | 0 .../django/django/conf/locale/sl/formats.py | 44 + .../conf/locale/sq/LC_MESSAGES/django.po | 1353 ++ .../django/django/conf/locale/sq/__init__.py | 0 .../django/django/conf/locale/sq/formats.py | 21 + .../conf/locale/sr/LC_MESSAGES/django.po | 1364 ++ .../django/django/conf/locale/sr/__init__.py | 0 .../django/django/conf/locale/sr/formats.py | 44 + .../conf/locale/sr_Latn/LC_MESSAGES/django.po | 1638 +++ .../django/conf/locale/sr_Latn/__init__.py | 0 .../django/conf/locale/sr_Latn/formats.py | 44 + .../conf/locale/sv/LC_MESSAGES/django.po | 1362 ++ .../django/django/conf/locale/sv/__init__.py | 0 .../django/django/conf/locale/sv/formats.py | 35 + .../conf/locale/sw/LC_MESSAGES/django.po | 1221 ++ .../conf/locale/ta/LC_MESSAGES/django.po | 1230 ++ .../django/django/conf/locale/ta/__init__.py | 0 .../django/django/conf/locale/ta/formats.py | 21 + .../conf/locale/te/LC_MESSAGES/django.po | 1233 ++ .../django/django/conf/locale/te/__init__.py | 0 .../django/django/conf/locale/te/formats.py | 21 + .../conf/locale/tg/LC_MESSAGES/django.po | 1299 ++ .../django/django/conf/locale/tg/__init__.py | 0 .../django/django/conf/locale/tg/formats.py | 32 + .../conf/locale/th/LC_MESSAGES/django.po | 1208 ++ .../django/django/conf/locale/th/__init__.py | 0 .../django/django/conf/locale/th/formats.py | 33 + .../conf/locale/tk/LC_MESSAGES/django.po | 1337 ++ .../django/django/conf/locale/tk/__init__.py | 0 .../django/django/conf/locale/tk/formats.py | 32 + .../conf/locale/tr/LC_MESSAGES/django.po | 1359 ++ .../django/django/conf/locale/tr/__init__.py | 0 .../django/django/conf/locale/tr/formats.py | 30 + .../conf/locale/tt/LC_MESSAGES/django.po | 1211 ++ .../conf/locale/udm/LC_MESSAGES/django.po | 1197 ++ .../conf/locale/ug/LC_MESSAGES/django.po | 1353 ++ .../django/django/conf/locale/ug/__init__.py | 0 .../django/django/conf/locale/ug/formats.py | 14 + .../conf/locale/uk/LC_MESSAGES/django.po | 1382 ++ .../django/django/conf/locale/uk/__init__.py | 0 .../django/django/conf/locale/uk/formats.py | 35 + .../conf/locale/ur/LC_MESSAGES/django.po | 1222 ++ .../conf/locale/uz/LC_MESSAGES/django.po | 1322 ++ .../django/django/conf/locale/uz/__init__.py | 0 .../django/django/conf/locale/uz/formats.py | 30 + .../conf/locale/vi/LC_MESSAGES/django.po | 1234 ++ .../django/django/conf/locale/vi/__init__.py | 0 .../django/django/conf/locale/vi/formats.py | 21 + .../conf/locale/zh_Hans/LC_MESSAGES/django.po | 1326 ++ .../django/conf/locale/zh_Hans/__init__.py | 0 .../django/conf/locale/zh_Hans/formats.py | 42 + .../conf/locale/zh_Hant/LC_MESSAGES/django.po | 1293 ++ .../django/conf/locale/zh_Hant/__init__.py | 0 .../django/conf/locale/zh_Hant/formats.py | 42 + .../conf/project_template/manage.py-tpl | 22 + .../project_name/__init__.py-tpl | 0 .../project_template/project_name/asgi.py-tpl | 16 + .../project_name/settings.py-tpl | 123 + .../project_template/project_name/urls.py-tpl | 22 + .../project_template/project_name/wsgi.py-tpl | 16 + .../django/django/conf/urls/__init__.py | 9 + .../django/django/conf/urls/i18n.py | 39 + .../django/django/conf/urls/static.py | 30 + .../django/django/contrib/__init__.py | 0 .../django/django/contrib/admin/__init__.py | 52 + .../django/django/contrib/admin/actions.py | 94 + .../django/django/contrib/admin/apps.py | 27 + .../django/django/contrib/admin/checks.py | 1359 ++ .../django/django/contrib/admin/decorators.py | 111 + .../django/django/contrib/admin/exceptions.py | 25 + .../django/django/contrib/admin/filters.py | 716 ++ .../django/django/contrib/admin/forms.py | 31 + .../django/django/contrib/admin/helpers.py | 568 + .../admin/locale/af/LC_MESSAGES/django.po | 774 ++ .../admin/locale/af/LC_MESSAGES/djangojs.po | 324 + .../admin/locale/am/LC_MESSAGES/django.po | 636 + .../admin/locale/ar/LC_MESSAGES/django.po | 731 ++ .../admin/locale/ar/LC_MESSAGES/djangojs.po | 278 + .../admin/locale/ar_DZ/LC_MESSAGES/django.po | 738 ++ .../locale/ar_DZ/LC_MESSAGES/djangojs.po | 280 + .../admin/locale/ast/LC_MESSAGES/django.po | 636 + .../admin/locale/ast/LC_MESSAGES/djangojs.po | 211 + .../admin/locale/az/LC_MESSAGES/django.po | 791 ++ .../admin/locale/az/LC_MESSAGES/djangojs.po | 272 + .../admin/locale/be/LC_MESSAGES/django.po | 791 ++ .../admin/locale/be/LC_MESSAGES/djangojs.po | 333 + .../admin/locale/bg/LC_MESSAGES/django.po | 791 ++ .../admin/locale/bg/LC_MESSAGES/djangojs.po | 320 + .../admin/locale/bn/LC_MESSAGES/django.po | 713 + .../admin/locale/bn/LC_MESSAGES/djangojs.po | 207 + .../admin/locale/br/LC_MESSAGES/django.po | 671 + .../admin/locale/br/LC_MESSAGES/djangojs.po | 217 + .../admin/locale/bs/LC_MESSAGES/django.po | 657 + .../admin/locale/bs/LC_MESSAGES/djangojs.po | 211 + .../admin/locale/ca/LC_MESSAGES/django.po | 750 ++ .../admin/locale/ca/LC_MESSAGES/djangojs.po | 330 + .../admin/locale/ckb/LC_MESSAGES/django.po | 792 ++ .../admin/locale/ckb/LC_MESSAGES/djangojs.po | 329 + .../admin/locale/cs/LC_MESSAGES/django.po | 803 ++ .../admin/locale/cs/LC_MESSAGES/djangojs.po | 332 + .../admin/locale/cy/LC_MESSAGES/django.po | 675 + .../admin/locale/cy/LC_MESSAGES/djangojs.po | 222 + .../admin/locale/da/LC_MESSAGES/django.po | 788 ++ .../admin/locale/da/LC_MESSAGES/djangojs.po | 329 + .../admin/locale/de/LC_MESSAGES/django.po | 791 ++ .../admin/locale/de/LC_MESSAGES/djangojs.po | 331 + .../admin/locale/dsb/LC_MESSAGES/django.po | 792 ++ .../admin/locale/dsb/LC_MESSAGES/djangojs.po | 335 + .../admin/locale/el/LC_MESSAGES/django.po | 737 ++ .../admin/locale/el/LC_MESSAGES/djangojs.po | 272 + .../admin/locale/en/LC_MESSAGES/django.po | 978 ++ .../admin/locale/en/LC_MESSAGES/djangojs.po | 383 + .../admin/locale/en_AU/LC_MESSAGES/django.po | 724 ++ .../locale/en_AU/LC_MESSAGES/djangojs.po | 266 + .../admin/locale/en_GB/LC_MESSAGES/django.po | 691 + .../locale/en_GB/LC_MESSAGES/djangojs.po | 218 + .../admin/locale/eo/LC_MESSAGES/django.po | 728 ++ .../admin/locale/eo/LC_MESSAGES/djangojs.po | 268 + .../admin/locale/es/LC_MESSAGES/django.po | 818 ++ .../admin/locale/es/LC_MESSAGES/djangojs.po | 336 + .../admin/locale/es_AR/LC_MESSAGES/django.po | 803 ++ .../locale/es_AR/LC_MESSAGES/djangojs.po | 343 + .../admin/locale/es_CO/LC_MESSAGES/django.po | 697 + .../locale/es_CO/LC_MESSAGES/djangojs.po | 223 + .../admin/locale/es_MX/LC_MESSAGES/django.po | 720 ++ .../locale/es_MX/LC_MESSAGES/djangojs.po | 219 + .../admin/locale/es_VE/LC_MESSAGES/django.po | 698 + .../locale/es_VE/LC_MESSAGES/djangojs.po | 222 + .../admin/locale/et/LC_MESSAGES/django.po | 784 ++ .../admin/locale/et/LC_MESSAGES/djangojs.po | 329 + .../admin/locale/eu/LC_MESSAGES/django.po | 732 ++ .../admin/locale/eu/LC_MESSAGES/djangojs.po | 267 + .../admin/locale/fa/LC_MESSAGES/django.po | 790 ++ .../admin/locale/fa/LC_MESSAGES/djangojs.po | 271 + .../admin/locale/fi/LC_MESSAGES/django.po | 772 ++ .../admin/locale/fi/LC_MESSAGES/djangojs.po | 329 + .../admin/locale/fr/LC_MESSAGES/django.po | 807 ++ .../admin/locale/fr/LC_MESSAGES/djangojs.po | 332 + .../admin/locale/fy/LC_MESSAGES/django.po | 609 + .../admin/locale/fy/LC_MESSAGES/djangojs.po | 145 + .../admin/locale/ga/LC_MESSAGES/django.po | 810 ++ .../admin/locale/ga/LC_MESSAGES/djangojs.po | 341 + .../admin/locale/gd/LC_MESSAGES/django.po | 754 ++ .../admin/locale/gd/LC_MESSAGES/djangojs.po | 286 + .../admin/locale/gl/LC_MESSAGES/django.po | 795 ++ .../admin/locale/gl/LC_MESSAGES/djangojs.po | 329 + .../admin/locale/he/LC_MESSAGES/django.po | 771 ++ .../admin/locale/he/LC_MESSAGES/djangojs.po | 334 + .../admin/locale/hi/LC_MESSAGES/django.po | 706 + .../admin/locale/hi/LC_MESSAGES/djangojs.po | 217 + .../admin/locale/hr/LC_MESSAGES/django.po | 716 ++ .../admin/locale/hr/LC_MESSAGES/djangojs.po | 223 + .../admin/locale/hsb/LC_MESSAGES/django.po | 792 ++ .../admin/locale/hsb/LC_MESSAGES/djangojs.po | 337 + .../admin/locale/hu/LC_MESSAGES/django.po | 786 ++ .../admin/locale/hu/LC_MESSAGES/djangojs.po | 329 + .../admin/locale/hy/LC_MESSAGES/django.po | 708 + .../admin/locale/hy/LC_MESSAGES/djangojs.po | 219 + .../admin/locale/ia/LC_MESSAGES/django.po | 664 + .../admin/locale/ia/LC_MESSAGES/djangojs.po | 216 + .../admin/locale/id/LC_MESSAGES/django.po | 789 ++ .../admin/locale/id/LC_MESSAGES/djangojs.po | 325 + .../admin/locale/io/LC_MESSAGES/django.po | 668 + .../admin/locale/io/LC_MESSAGES/djangojs.po | 145 + .../admin/locale/is/LC_MESSAGES/django.po | 720 ++ .../admin/locale/is/LC_MESSAGES/djangojs.po | 267 + .../admin/locale/it/LC_MESSAGES/django.po | 798 ++ .../admin/locale/it/LC_MESSAGES/djangojs.po | 287 + .../admin/locale/ja/LC_MESSAGES/django.po | 784 ++ .../admin/locale/ja/LC_MESSAGES/djangojs.po | 322 + .../admin/locale/ka/LC_MESSAGES/django.po | 699 + .../admin/locale/ka/LC_MESSAGES/djangojs.po | 218 + .../admin/locale/kab/LC_MESSAGES/django.po | 631 + .../admin/locale/kab/LC_MESSAGES/djangojs.po | 204 + .../admin/locale/kk/LC_MESSAGES/django.po | 695 + .../admin/locale/kk/LC_MESSAGES/djangojs.po | 210 + .../admin/locale/km/LC_MESSAGES/django.po | 636 + .../admin/locale/km/LC_MESSAGES/djangojs.po | 201 + .../admin/locale/kn/LC_MESSAGES/django.po | 639 + .../admin/locale/kn/LC_MESSAGES/djangojs.po | 261 + .../admin/locale/ko/LC_MESSAGES/django.po | 800 ++ .../admin/locale/ko/LC_MESSAGES/djangojs.po | 327 + .../admin/locale/ky/LC_MESSAGES/django.po | 711 + .../admin/locale/ky/LC_MESSAGES/djangojs.po | 260 + .../admin/locale/lb/LC_MESSAGES/django.po | 632 + .../admin/locale/lb/LC_MESSAGES/djangojs.po | 145 + .../admin/locale/lt/LC_MESSAGES/django.po | 720 ++ .../admin/locale/lt/LC_MESSAGES/djangojs.po | 236 + .../admin/locale/lv/LC_MESSAGES/django.po | 793 ++ .../admin/locale/lv/LC_MESSAGES/djangojs.po | 335 + .../admin/locale/mk/LC_MESSAGES/django.po | 726 ++ .../admin/locale/mk/LC_MESSAGES/djangojs.po | 262 + .../admin/locale/ml/LC_MESSAGES/django.po | 700 + .../admin/locale/ml/LC_MESSAGES/djangojs.po | 214 + .../admin/locale/mn/LC_MESSAGES/django.po | 776 ++ .../admin/locale/mn/LC_MESSAGES/djangojs.po | 218 + .../admin/locale/mr/LC_MESSAGES/django.po | 753 ++ .../admin/locale/mr/LC_MESSAGES/djangojs.po | 145 + .../admin/locale/ms/LC_MESSAGES/django.po | 721 ++ .../admin/locale/ms/LC_MESSAGES/djangojs.po | 264 + .../admin/locale/my/LC_MESSAGES/django.po | 629 + .../admin/locale/my/LC_MESSAGES/djangojs.po | 206 + .../admin/locale/nb/LC_MESSAGES/django.po | 720 ++ .../admin/locale/nb/LC_MESSAGES/djangojs.po | 269 + .../admin/locale/ne/LC_MESSAGES/django.po | 688 + .../admin/locale/ne/LC_MESSAGES/djangojs.po | 213 + .../admin/locale/nl/LC_MESSAGES/django.po | 799 ++ .../admin/locale/nl/LC_MESSAGES/djangojs.po | 334 + .../admin/locale/nn/LC_MESSAGES/django.po | 736 ++ .../admin/locale/nn/LC_MESSAGES/djangojs.po | 266 + .../admin/locale/os/LC_MESSAGES/django.po | 665 + .../admin/locale/os/LC_MESSAGES/djangojs.po | 217 + .../admin/locale/pa/LC_MESSAGES/django.po | 706 + .../admin/locale/pa/LC_MESSAGES/djangojs.po | 253 + .../admin/locale/pl/LC_MESSAGES/django.po | 816 ++ .../admin/locale/pl/LC_MESSAGES/djangojs.po | 356 + .../admin/locale/pt/LC_MESSAGES/django.po | 792 ++ .../admin/locale/pt/LC_MESSAGES/djangojs.po | 331 + .../admin/locale/pt_BR/LC_MESSAGES/django.po | 821 ++ .../locale/pt_BR/LC_MESSAGES/djangojs.po | 333 + .../admin/locale/ro/LC_MESSAGES/django.po | 758 ++ .../admin/locale/ro/LC_MESSAGES/djangojs.po | 228 + .../admin/locale/ru/LC_MESSAGES/django.po | 807 ++ .../admin/locale/ru/LC_MESSAGES/djangojs.po | 350 + .../admin/locale/sk/LC_MESSAGES/django.po | 802 ++ .../admin/locale/sk/LC_MESSAGES/djangojs.po | 337 + .../admin/locale/sl/LC_MESSAGES/django.po | 774 ++ .../admin/locale/sl/LC_MESSAGES/djangojs.po | 328 + .../admin/locale/sq/LC_MESSAGES/django.po | 790 ++ .../admin/locale/sq/LC_MESSAGES/djangojs.po | 328 + .../admin/locale/sr/LC_MESSAGES/django.po | 792 ++ .../admin/locale/sr/LC_MESSAGES/djangojs.po | 330 + .../locale/sr_Latn/LC_MESSAGES/django.po | 694 + .../locale/sr_Latn/LC_MESSAGES/djangojs.po | 392 + .../admin/locale/sv/LC_MESSAGES/django.po | 795 ++ .../admin/locale/sv/LC_MESSAGES/djangojs.po | 328 + .../admin/locale/sw/LC_MESSAGES/django.po | 779 ++ .../admin/locale/sw/LC_MESSAGES/djangojs.po | 217 + .../admin/locale/ta/LC_MESSAGES/django.po | 643 + .../admin/locale/ta/LC_MESSAGES/djangojs.po | 204 + .../admin/locale/te/LC_MESSAGES/django.po | 640 + .../admin/locale/te/LC_MESSAGES/djangojs.po | 205 + .../admin/locale/tg/LC_MESSAGES/django.po | 699 + .../admin/locale/tg/LC_MESSAGES/djangojs.po | 222 + .../admin/locale/th/LC_MESSAGES/django.po | 671 + .../admin/locale/th/LC_MESSAGES/djangojs.po | 213 + .../admin/locale/tk/LC_MESSAGES/django.po | 738 ++ .../admin/locale/tr/LC_MESSAGES/django.po | 794 ++ .../admin/locale/tr/LC_MESSAGES/djangojs.po | 328 + .../admin/locale/tt/LC_MESSAGES/django.po | 655 + .../admin/locale/tt/LC_MESSAGES/djangojs.po | 208 + .../admin/locale/udm/LC_MESSAGES/django.po | 606 + .../admin/locale/udm/LC_MESSAGES/djangojs.po | 142 + .../admin/locale/ug/LC_MESSAGES/django.po | 790 ++ .../admin/locale/ug/LC_MESSAGES/djangojs.po | 323 + .../admin/locale/uk/LC_MESSAGES/django.po | 775 ++ .../admin/locale/uk/LC_MESSAGES/djangojs.po | 275 + .../admin/locale/ur/LC_MESSAGES/django.po | 661 + .../admin/locale/ur/LC_MESSAGES/djangojs.po | 211 + .../admin/locale/uz/LC_MESSAGES/django.po | 724 ++ .../admin/locale/uz/LC_MESSAGES/djangojs.po | 261 + .../admin/locale/vi/LC_MESSAGES/django.po | 726 ++ .../admin/locale/vi/LC_MESSAGES/djangojs.po | 268 + .../locale/zh_Hans/LC_MESSAGES/django.po | 779 ++ .../locale/zh_Hans/LC_MESSAGES/djangojs.po | 332 + .../locale/zh_Hant/LC_MESSAGES/django.po | 757 ++ .../locale/zh_Hant/LC_MESSAGES/djangojs.po | 213 + .../contrib/admin/migrations/0001_initial.py | 75 + .../0002_logentry_remove_auto_add.py | 21 + .../0003_logentry_add_action_flag_choices.py | 19 + .../contrib/admin/migrations/__init__.py | 0 .../django/django/contrib/admin/models.py | 246 + .../django/django/contrib/admin/options.py | 2574 ++++ .../django/django/contrib/admin/sites.py | 616 + .../admin/static/admin/css/autocomplete.css | 279 + .../contrib/admin/static/admin/css/base.css | 1179 ++ .../admin/static/admin/css/changelists.css | 343 + .../admin/static/admin/css/dark_mode.css | 130 + .../admin/static/admin/css/dashboard.css | 29 + .../contrib/admin/static/admin/css/forms.css | 512 + .../contrib/admin/static/admin/css/login.css | 61 + .../admin/static/admin/css/nav_sidebar.css | 150 + .../admin/static/admin/css/responsive.css | 967 ++ .../admin/static/admin/css/responsive_rtl.css | 111 + .../contrib/admin/static/admin/css/rtl.css | 291 + .../admin/css/unusable_password_field.css | 19 + .../css/vendor/select2/LICENSE-SELECT2.md | 21 + .../admin/css/vendor/select2/select2.css | 481 + .../admin/css/vendor/select2/select2.min.css | 1 + .../admin/static/admin/css/widgets.css | 593 + .../contrib/admin/static/admin/img/LICENSE | 20 + .../contrib/admin/static/admin/img/README.txt | 7 + .../admin/static/admin/img/calendar-icons.svg | 63 + .../static/admin/img/gis/move_vertex_off.svg | 1 + .../static/admin/img/gis/move_vertex_on.svg | 1 + .../admin/static/admin/img/icon-addlink.svg | 3 + .../admin/static/admin/img/icon-alert.svg | 3 + .../admin/static/admin/img/icon-calendar.svg | 9 + .../static/admin/img/icon-changelink.svg | 3 + .../admin/static/admin/img/icon-clock.svg | 9 + .../static/admin/img/icon-deletelink.svg | 3 + .../admin/static/admin/img/icon-hidelink.svg | 3 + .../admin/static/admin/img/icon-no.svg | 3 + .../static/admin/img/icon-unknown-alt.svg | 3 + .../admin/static/admin/img/icon-unknown.svg | 3 + .../admin/static/admin/img/icon-viewlink.svg | 3 + .../admin/static/admin/img/icon-yes.svg | 3 + .../admin/static/admin/img/inline-delete.svg | 3 + .../contrib/admin/static/admin/img/search.svg | 3 + .../admin/static/admin/img/selector-icons.svg | 34 + .../admin/static/admin/img/sorting-icons.svg | 19 + .../admin/static/admin/img/tooltag-add.svg | 3 + .../static/admin/img/tooltag-arrowright.svg | 3 + .../admin/static/admin/js/SelectBox.js | 116 + .../admin/static/admin/js/SelectFilter2.js | 286 + .../contrib/admin/static/admin/js/actions.js | 204 + .../admin/js/admin/DateTimeShortcuts.js | 408 + .../admin/js/admin/RelatedObjectLookups.js | 240 + .../admin/static/admin/js/autocomplete.js | 33 + .../contrib/admin/static/admin/js/calendar.js | 239 + .../contrib/admin/static/admin/js/cancel.js | 29 + .../admin/static/admin/js/change_form.js | 16 + .../contrib/admin/static/admin/js/core.js | 184 + .../contrib/admin/static/admin/js/filters.js | 30 + .../contrib/admin/static/admin/js/inlines.js | 359 + .../admin/static/admin/js/jquery.init.js | 8 + .../admin/static/admin/js/nav_sidebar.js | 79 + .../admin/static/admin/js/popup_response.js | 15 + .../admin/static/admin/js/prepopulate.js | 43 + .../admin/static/admin/js/prepopulate_init.js | 15 + .../contrib/admin/static/admin/js/theme.js | 51 + .../admin/js/unusable_password_field.js | 29 + .../contrib/admin/static/admin/js/urlify.js | 169 + .../static/admin/js/vendor/jquery/LICENSE.txt | 20 + .../static/admin/js/vendor/jquery/jquery.js | 10716 ++++++++++++++++ .../admin/js/vendor/jquery/jquery.min.js | 2 + .../static/admin/js/vendor/select2/LICENSE.md | 21 + .../static/admin/js/vendor/select2/i18n/af.js | 3 + .../static/admin/js/vendor/select2/i18n/ar.js | 3 + .../static/admin/js/vendor/select2/i18n/az.js | 3 + .../static/admin/js/vendor/select2/i18n/bg.js | 3 + .../static/admin/js/vendor/select2/i18n/bn.js | 3 + .../static/admin/js/vendor/select2/i18n/bs.js | 3 + .../static/admin/js/vendor/select2/i18n/ca.js | 3 + .../static/admin/js/vendor/select2/i18n/cs.js | 3 + .../static/admin/js/vendor/select2/i18n/da.js | 3 + .../static/admin/js/vendor/select2/i18n/de.js | 3 + .../admin/js/vendor/select2/i18n/dsb.js | 3 + .../static/admin/js/vendor/select2/i18n/el.js | 3 + .../static/admin/js/vendor/select2/i18n/en.js | 3 + .../static/admin/js/vendor/select2/i18n/es.js | 3 + .../static/admin/js/vendor/select2/i18n/et.js | 3 + .../static/admin/js/vendor/select2/i18n/eu.js | 3 + .../static/admin/js/vendor/select2/i18n/fa.js | 3 + .../static/admin/js/vendor/select2/i18n/fi.js | 3 + .../static/admin/js/vendor/select2/i18n/fr.js | 3 + .../static/admin/js/vendor/select2/i18n/gl.js | 3 + .../static/admin/js/vendor/select2/i18n/he.js | 3 + .../static/admin/js/vendor/select2/i18n/hi.js | 3 + .../static/admin/js/vendor/select2/i18n/hr.js | 3 + .../admin/js/vendor/select2/i18n/hsb.js | 3 + .../static/admin/js/vendor/select2/i18n/hu.js | 3 + .../static/admin/js/vendor/select2/i18n/hy.js | 3 + .../static/admin/js/vendor/select2/i18n/id.js | 3 + .../static/admin/js/vendor/select2/i18n/is.js | 3 + .../static/admin/js/vendor/select2/i18n/it.js | 3 + .../static/admin/js/vendor/select2/i18n/ja.js | 3 + .../static/admin/js/vendor/select2/i18n/ka.js | 3 + .../static/admin/js/vendor/select2/i18n/km.js | 3 + .../static/admin/js/vendor/select2/i18n/ko.js | 3 + .../static/admin/js/vendor/select2/i18n/lt.js | 3 + .../static/admin/js/vendor/select2/i18n/lv.js | 3 + .../static/admin/js/vendor/select2/i18n/mk.js | 3 + .../static/admin/js/vendor/select2/i18n/ms.js | 3 + .../static/admin/js/vendor/select2/i18n/nb.js | 3 + .../static/admin/js/vendor/select2/i18n/ne.js | 3 + .../static/admin/js/vendor/select2/i18n/nl.js | 3 + .../static/admin/js/vendor/select2/i18n/pl.js | 3 + .../static/admin/js/vendor/select2/i18n/ps.js | 3 + .../admin/js/vendor/select2/i18n/pt-BR.js | 3 + .../static/admin/js/vendor/select2/i18n/pt.js | 3 + .../static/admin/js/vendor/select2/i18n/ro.js | 3 + .../static/admin/js/vendor/select2/i18n/ru.js | 3 + .../static/admin/js/vendor/select2/i18n/sk.js | 3 + .../static/admin/js/vendor/select2/i18n/sl.js | 3 + .../static/admin/js/vendor/select2/i18n/sq.js | 3 + .../admin/js/vendor/select2/i18n/sr-Cyrl.js | 3 + .../static/admin/js/vendor/select2/i18n/sr.js | 3 + .../static/admin/js/vendor/select2/i18n/sv.js | 3 + .../static/admin/js/vendor/select2/i18n/th.js | 3 + .../static/admin/js/vendor/select2/i18n/tk.js | 3 + .../static/admin/js/vendor/select2/i18n/tr.js | 3 + .../static/admin/js/vendor/select2/i18n/uk.js | 3 + .../static/admin/js/vendor/select2/i18n/vi.js | 3 + .../admin/js/vendor/select2/i18n/zh-CN.js | 3 + .../admin/js/vendor/select2/i18n/zh-TW.js | 3 + .../admin/js/vendor/select2/select2.full.js | 6820 ++++++++++ .../js/vendor/select2/select2.full.min.js | 2 + .../admin/js/vendor/xregexp/LICENSE.txt | 21 + .../static/admin/js/vendor/xregexp/xregexp.js | 6126 +++++++++ .../admin/js/vendor/xregexp/xregexp.min.js | 17 + .../contrib/admin/templates/admin/404.html | 12 + .../contrib/admin/templates/admin/500.html | 17 + .../admin/templates/admin/actions.html | 23 + .../admin/templates/admin/app_index.html | 20 + .../admin/templates/admin/app_list.html | 44 + .../templates/admin/auth/user/add_form.html | 18 + .../admin/auth/user/change_password.html | 80 + .../contrib/admin/templates/admin/base.html | 125 + .../admin/templates/admin/base_site.html | 12 + .../admin/templates/admin/change_form.html | 81 + .../admin/change_form_object_tools.html | 8 + .../admin/templates/admin/change_list.html | 93 + .../admin/change_list_object_tools.html | 12 + .../templates/admin/change_list_results.html | 36 + .../templates/admin/color_theme_toggle.html | 15 + .../admin/templates/admin/date_hierarchy.html | 14 + .../templates/admin/delete_confirmation.html | 50 + .../admin/delete_selected_confirmation.html | 47 + .../templates/admin/edit_inline/stacked.html | 38 + .../templates/admin/edit_inline/tabular.html | 71 + .../contrib/admin/templates/admin/filter.html | 12 + .../templates/admin/includes/fieldset.html | 41 + .../admin/includes/object_delete_summary.html | 7 + .../contrib/admin/templates/admin/index.html | 51 + .../admin/templates/admin/invalid_setup.html | 13 + .../contrib/admin/templates/admin/login.html | 68 + .../admin/templates/admin/nav_sidebar.html | 8 + .../admin/templates/admin/object_history.html | 56 + .../admin/templates/admin/pagination.html | 12 + .../admin/templates/admin/popup_response.html | 10 + .../admin/prepopulated_fields_js.html | 5 + .../admin/templates/admin/search_form.html | 20 + .../admin/templates/admin/submit_line.html | 17 + .../admin/widgets/clearable_file_input.html | 6 + .../admin/templates/admin/widgets/date.html | 3 + .../admin/widgets/foreign_key_raw_id.html | 2 + .../admin/widgets/many_to_many_raw_id.html | 1 + .../admin/templates/admin/widgets/radio.html | 1 + .../admin/widgets/related_widget_wrapper.html | 41 + .../admin/widgets/split_datetime.html | 4 + .../admin/templates/admin/widgets/time.html | 3 + .../admin/templates/admin/widgets/url.html | 1 + .../templates/registration/logged_out.html | 14 + .../registration/password_change_done.html | 20 + .../registration/password_change_form.html | 64 + .../registration/password_reset_complete.html | 17 + .../registration/password_reset_confirm.html | 47 + .../registration/password_reset_done.html | 17 + .../registration/password_reset_email.html | 14 + .../registration/password_reset_form.html | 31 + .../contrib/admin/templatetags/__init__.py | 0 .../contrib/admin/templatetags/admin_list.py | 536 + .../admin/templatetags/admin_modify.py | 150 + .../contrib/admin/templatetags/admin_urls.py | 70 + .../django/contrib/admin/templatetags/base.py | 45 + .../django/contrib/admin/templatetags/log.py | 67 + .../django/django/contrib/admin/tests.py | 233 + .../django/django/contrib/admin/utils.py | 614 + .../django/contrib/admin/views/__init__.py | 0 .../contrib/admin/views/autocomplete.py | 123 + .../django/contrib/admin/views/decorators.py | 19 + .../django/django/contrib/admin/views/main.py | 631 + .../django/django/contrib/admin/widgets.py | 605 + .../django/contrib/admindocs/__init__.py | 0 .../django/django/contrib/admindocs/apps.py | 7 + .../admindocs/locale/af/LC_MESSAGES/django.po | 271 + .../admindocs/locale/ar/LC_MESSAGES/django.po | 278 + .../locale/ar_DZ/LC_MESSAGES/django.po | 277 + .../locale/ast/LC_MESSAGES/django.po | 258 + .../admindocs/locale/az/LC_MESSAGES/django.po | 283 + .../admindocs/locale/be/LC_MESSAGES/django.po | 284 + .../admindocs/locale/bg/LC_MESSAGES/django.po | 290 + .../admindocs/locale/bn/LC_MESSAGES/django.po | 261 + .../admindocs/locale/br/LC_MESSAGES/django.po | 263 + .../admindocs/locale/bs/LC_MESSAGES/django.po | 261 + .../admindocs/locale/ca/LC_MESSAGES/django.po | 288 + .../locale/ckb/LC_MESSAGES/django.po | 286 + .../admindocs/locale/cs/LC_MESSAGES/django.po | 284 + .../admindocs/locale/cy/LC_MESSAGES/django.po | 279 + .../admindocs/locale/da/LC_MESSAGES/django.po | 285 + .../admindocs/locale/de/LC_MESSAGES/django.po | 287 + .../locale/dsb/LC_MESSAGES/django.po | 285 + .../admindocs/locale/el/LC_MESSAGES/django.po | 290 + .../admindocs/locale/en/LC_MESSAGES/django.po | 359 + .../locale/en_AU/LC_MESSAGES/django.po | 275 + .../locale/en_GB/LC_MESSAGES/django.po | 260 + .../admindocs/locale/eo/LC_MESSAGES/django.po | 279 + .../admindocs/locale/es/LC_MESSAGES/django.po | 293 + .../locale/es_AR/LC_MESSAGES/django.po | 286 + .../locale/es_CO/LC_MESSAGES/django.po | 281 + .../locale/es_MX/LC_MESSAGES/django.po | 260 + .../locale/es_VE/LC_MESSAGES/django.po | 286 + .../admindocs/locale/et/LC_MESSAGES/django.po | 286 + .../admindocs/locale/eu/LC_MESSAGES/django.po | 283 + .../admindocs/locale/fa/LC_MESSAGES/django.po | 285 + .../admindocs/locale/fi/LC_MESSAGES/django.po | 278 + .../admindocs/locale/fr/LC_MESSAGES/django.po | 285 + .../admindocs/locale/fy/LC_MESSAGES/django.po | 275 + .../admindocs/locale/ga/LC_MESSAGES/django.po | 286 + .../admindocs/locale/gd/LC_MESSAGES/django.po | 289 + .../admindocs/locale/gl/LC_MESSAGES/django.po | 285 + .../admindocs/locale/he/LC_MESSAGES/django.po | 276 + .../admindocs/locale/hi/LC_MESSAGES/django.po | 258 + .../admindocs/locale/hr/LC_MESSAGES/django.po | 264 + .../locale/hsb/LC_MESSAGES/django.po | 286 + .../admindocs/locale/hu/LC_MESSAGES/django.po | 288 + .../admindocs/locale/ia/LC_MESSAGES/django.po | 260 + .../admindocs/locale/id/LC_MESSAGES/django.po | 287 + .../admindocs/locale/io/LC_MESSAGES/django.po | 275 + .../admindocs/locale/is/LC_MESSAGES/django.po | 261 + .../admindocs/locale/it/LC_MESSAGES/django.po | 289 + .../admindocs/locale/ja/LC_MESSAGES/django.po | 284 + .../admindocs/locale/ka/LC_MESSAGES/django.po | 263 + .../locale/kab/LC_MESSAGES/django.po | 258 + .../admindocs/locale/kk/LC_MESSAGES/django.po | 258 + .../admindocs/locale/km/LC_MESSAGES/django.po | 259 + .../admindocs/locale/kn/LC_MESSAGES/django.po | 259 + .../admindocs/locale/ko/LC_MESSAGES/django.po | 280 + .../admindocs/locale/ky/LC_MESSAGES/django.po | 281 + .../admindocs/locale/lb/LC_MESSAGES/django.po | 275 + .../admindocs/locale/lt/LC_MESSAGES/django.po | 290 + .../admindocs/locale/lv/LC_MESSAGES/django.po | 284 + .../admindocs/locale/mk/LC_MESSAGES/django.po | 286 + .../admindocs/locale/ml/LC_MESSAGES/django.po | 268 + .../admindocs/locale/mn/LC_MESSAGES/django.po | 283 + .../admindocs/locale/mr/LC_MESSAGES/django.po | 275 + .../admindocs/locale/ms/LC_MESSAGES/django.po | 283 + .../admindocs/locale/my/LC_MESSAGES/django.po | 258 + .../admindocs/locale/nb/LC_MESSAGES/django.po | 284 + .../admindocs/locale/ne/LC_MESSAGES/django.po | 261 + .../admindocs/locale/nl/LC_MESSAGES/django.po | 286 + .../admindocs/locale/nn/LC_MESSAGES/django.po | 282 + .../admindocs/locale/os/LC_MESSAGES/django.po | 258 + .../admindocs/locale/pa/LC_MESSAGES/django.po | 258 + .../admindocs/locale/pl/LC_MESSAGES/django.po | 294 + .../admindocs/locale/pt/LC_MESSAGES/django.po | 286 + .../locale/pt_BR/LC_MESSAGES/django.po | 292 + .../admindocs/locale/ro/LC_MESSAGES/django.po | 288 + .../admindocs/locale/ru/LC_MESSAGES/django.po | 292 + .../admindocs/locale/sk/LC_MESSAGES/django.po | 286 + .../admindocs/locale/sl/LC_MESSAGES/django.po | 285 + .../admindocs/locale/sq/LC_MESSAGES/django.po | 283 + .../admindocs/locale/sr/LC_MESSAGES/django.po | 285 + .../locale/sr_Latn/LC_MESSAGES/django.po | 363 + .../admindocs/locale/sv/LC_MESSAGES/django.po | 288 + .../admindocs/locale/sw/LC_MESSAGES/django.po | 259 + .../admindocs/locale/ta/LC_MESSAGES/django.po | 258 + .../admindocs/locale/te/LC_MESSAGES/django.po | 258 + .../admindocs/locale/tg/LC_MESSAGES/django.po | 281 + .../admindocs/locale/th/LC_MESSAGES/django.po | 258 + .../admindocs/locale/tr/LC_MESSAGES/django.po | 287 + .../admindocs/locale/tt/LC_MESSAGES/django.po | 259 + .../locale/udm/LC_MESSAGES/django.po | 275 + .../admindocs/locale/ug/LC_MESSAGES/django.po | 280 + .../admindocs/locale/uk/LC_MESSAGES/django.po | 294 + .../admindocs/locale/ur/LC_MESSAGES/django.po | 259 + .../admindocs/locale/vi/LC_MESSAGES/django.po | 259 + .../locale/zh_Hans/LC_MESSAGES/django.po | 276 + .../locale/zh_Hant/LC_MESSAGES/django.po | 274 + .../django/contrib/admindocs/middleware.py | 33 + .../templates/admin_doc/bookmarklets.html | 26 + .../admindocs/templates/admin_doc/index.html | 34 + .../templates/admin_doc/missing_docutils.html | 22 + .../templates/admin_doc/model_detail.html | 78 + .../templates/admin_doc/model_index.html | 52 + .../templates/admin_doc/template_detail.html | 27 + .../admin_doc/template_filter_index.html | 54 + .../admin_doc/template_tag_index.html | 54 + .../templates/admin_doc/view_detail.html | 33 + .../templates/admin_doc/view_index.html | 59 + .../django/django/contrib/admindocs/urls.py | 50 + .../django/django/contrib/admindocs/utils.py | 244 + .../django/django/contrib/admindocs/views.py | 503 + .../django/django/contrib/auth/__init__.py | 274 + .../django/django/contrib/auth/admin.py | 253 + .../django/django/contrib/auth/apps.py | 31 + .../django/django/contrib/auth/backends.py | 233 + .../django/django/contrib/auth/base_user.py | 164 + .../django/django/contrib/auth/checks.py | 262 + .../contrib/auth/common-passwords.txt.gz | Bin 0 -> 82262 bytes .../django/contrib/auth/context_processors.py | 67 + .../django/django/contrib/auth/decorators.py | 136 + .../django/django/contrib/auth/forms.py | 597 + .../django/contrib/auth/handlers/__init__.py | 0 .../django/contrib/auth/handlers/modwsgi.py | 43 + .../django/django/contrib/auth/hashers.py | 688 + .../auth/locale/af/LC_MESSAGES/django.po | 307 + .../auth/locale/ar/LC_MESSAGES/django.po | 319 + .../auth/locale/ar_DZ/LC_MESSAGES/django.po | 320 + .../auth/locale/ast/LC_MESSAGES/django.po | 284 + .../auth/locale/az/LC_MESSAGES/django.po | 342 + .../auth/locale/be/LC_MESSAGES/django.po | 349 + .../auth/locale/bg/LC_MESSAGES/django.po | 343 + .../auth/locale/bn/LC_MESSAGES/django.po | 286 + .../auth/locale/br/LC_MESSAGES/django.po | 293 + .../auth/locale/bs/LC_MESSAGES/django.po | 296 + .../auth/locale/ca/LC_MESSAGES/django.po | 316 + .../auth/locale/ckb/LC_MESSAGES/django.po | 341 + .../auth/locale/cs/LC_MESSAGES/django.po | 344 + .../auth/locale/cy/LC_MESSAGES/django.po | 294 + .../auth/locale/da/LC_MESSAGES/django.po | 344 + .../auth/locale/de/LC_MESSAGES/django.po | 318 + .../auth/locale/dsb/LC_MESSAGES/django.po | 355 + .../auth/locale/el/LC_MESSAGES/django.po | 320 + .../auth/locale/en/LC_MESSAGES/django.po | 415 + .../auth/locale/en_AU/LC_MESSAGES/django.po | 306 + .../auth/locale/en_GB/LC_MESSAGES/django.po | 289 + .../auth/locale/eo/LC_MESSAGES/django.po | 310 + .../auth/locale/es/LC_MESSAGES/django.po | 365 + .../auth/locale/es_AR/LC_MESSAGES/django.po | 354 + .../auth/locale/es_CO/LC_MESSAGES/django.po | 304 + .../auth/locale/es_MX/LC_MESSAGES/django.po | 312 + .../auth/locale/es_VE/LC_MESSAGES/django.po | 304 + .../auth/locale/et/LC_MESSAGES/django.po | 339 + .../auth/locale/eu/LC_MESSAGES/django.po | 311 + .../auth/locale/fa/LC_MESSAGES/django.po | 313 + .../auth/locale/fi/LC_MESSAGES/django.po | 309 + .../auth/locale/fr/LC_MESSAGES/django.po | 362 + .../auth/locale/fy/LC_MESSAGES/django.po | 226 + .../auth/locale/ga/LC_MESSAGES/django.po | 371 + .../auth/locale/gd/LC_MESSAGES/django.po | 337 + .../auth/locale/gl/LC_MESSAGES/django.po | 349 + .../auth/locale/he/LC_MESSAGES/django.po | 307 + .../auth/locale/hi/LC_MESSAGES/django.po | 290 + .../auth/locale/hr/LC_MESSAGES/django.po | 306 + .../auth/locale/hsb/LC_MESSAGES/django.po | 352 + .../auth/locale/hu/LC_MESSAGES/django.po | 312 + .../auth/locale/hy/LC_MESSAGES/django.po | 295 + .../auth/locale/ia/LC_MESSAGES/django.po | 310 + .../auth/locale/id/LC_MESSAGES/django.po | 307 + .../auth/locale/io/LC_MESSAGES/django.po | 226 + .../auth/locale/is/LC_MESSAGES/django.po | 307 + .../auth/locale/it/LC_MESSAGES/django.po | 322 + .../auth/locale/ja/LC_MESSAGES/django.po | 335 + .../auth/locale/ka/LC_MESSAGES/django.po | 302 + .../auth/locale/kab/LC_MESSAGES/django.po | 287 + .../auth/locale/kk/LC_MESSAGES/django.po | 285 + .../auth/locale/km/LC_MESSAGES/django.po | 281 + .../auth/locale/kn/LC_MESSAGES/django.po | 285 + .../auth/locale/ko/LC_MESSAGES/django.po | 309 + .../auth/locale/ky/LC_MESSAGES/django.po | 299 + .../auth/locale/lb/LC_MESSAGES/django.po | 226 + .../auth/locale/lt/LC_MESSAGES/django.po | 320 + .../auth/locale/lv/LC_MESSAGES/django.po | 350 + .../auth/locale/mk/LC_MESSAGES/django.po | 308 + .../auth/locale/ml/LC_MESSAGES/django.po | 303 + .../auth/locale/mn/LC_MESSAGES/django.po | 310 + .../auth/locale/mr/LC_MESSAGES/django.po | 299 + .../auth/locale/ms/LC_MESSAGES/django.po | 313 + .../auth/locale/my/LC_MESSAGES/django.po | 282 + .../auth/locale/nb/LC_MESSAGES/django.po | 302 + .../auth/locale/ne/LC_MESSAGES/django.po | 286 + .../auth/locale/nl/LC_MESSAGES/django.po | 353 + .../auth/locale/nn/LC_MESSAGES/django.po | 301 + .../auth/locale/os/LC_MESSAGES/django.po | 288 + .../auth/locale/pa/LC_MESSAGES/django.po | 285 + .../auth/locale/pl/LC_MESSAGES/django.po | 363 + .../auth/locale/pt/LC_MESSAGES/django.po | 314 + .../auth/locale/pt_BR/LC_MESSAGES/django.po | 369 + .../auth/locale/ro/LC_MESSAGES/django.po | 320 + .../auth/locale/ru/LC_MESSAGES/django.po | 359 + .../auth/locale/sk/LC_MESSAGES/django.po | 349 + .../auth/locale/sl/LC_MESSAGES/django.po | 312 + .../auth/locale/sq/LC_MESSAGES/django.po | 349 + .../auth/locale/sr/LC_MESSAGES/django.po | 348 + .../auth/locale/sr_Latn/LC_MESSAGES/django.po | 422 + .../auth/locale/sv/LC_MESSAGES/django.po | 355 + .../auth/locale/sw/LC_MESSAGES/django.po | 287 + .../auth/locale/ta/LC_MESSAGES/django.po | 283 + .../auth/locale/te/LC_MESSAGES/django.po | 285 + .../auth/locale/tg/LC_MESSAGES/django.po | 299 + .../auth/locale/th/LC_MESSAGES/django.po | 282 + .../auth/locale/tk/LC_MESSAGES/django.po | 307 + .../auth/locale/tr/LC_MESSAGES/django.po | 348 + .../auth/locale/tt/LC_MESSAGES/django.po | 281 + .../auth/locale/udm/LC_MESSAGES/django.po | 226 + .../auth/locale/ug/LC_MESSAGES/django.po | 344 + .../auth/locale/uk/LC_MESSAGES/django.po | 323 + .../auth/locale/ur/LC_MESSAGES/django.po | 282 + .../auth/locale/uz/LC_MESSAGES/django.po | 287 + .../auth/locale/vi/LC_MESSAGES/django.po | 305 + .../auth/locale/zh_Hans/LC_MESSAGES/django.po | 337 + .../auth/locale/zh_Hant/LC_MESSAGES/django.po | 328 + .../contrib/auth/management/__init__.py | 172 + .../auth/management/commands/__init__.py | 0 .../management/commands/changepassword.py | 82 + .../management/commands/createsuperuser.py | 317 + .../django/django/contrib/auth/middleware.py | 191 + .../contrib/auth/migrations/0001_initial.py | 204 + .../0002_alter_permission_name_max_length.py | 15 + .../0003_alter_user_email_max_length.py | 17 + .../0004_alter_user_username_opts.py | 27 + .../0005_alter_user_last_login_null.py | 17 + .../0006_require_contenttypes_0002.py | 13 + ...007_alter_validators_add_error_messages.py | 26 + .../0008_alter_user_username_max_length.py | 26 + .../0009_alter_user_last_name_max_length.py | 17 + .../0010_alter_group_name_max_length.py | 15 + .../0011_update_proxy_permissions.py | 76 + .../0012_alter_user_first_name_max_length.py | 17 + .../contrib/auth/migrations/__init__.py | 0 .../django/django/contrib/auth/mixins.py | 135 + .../django/django/contrib/auth/models.py | 500 + .../contrib/auth/password_validation.py | 266 + .../django/django/contrib/auth/signals.py | 5 + .../auth/widgets/read_only_password_hash.html | 8 + .../registration/password_reset_subject.txt | 3 + .../django/django/contrib/auth/tokens.py | 132 + .../django/django/contrib/auth/urls.py | 36 + .../django/django/contrib/auth/validators.py | 25 + .../django/django/contrib/auth/views.py | 384 + .../django/contrib/contenttypes/__init__.py | 0 .../django/contrib/contenttypes/admin.py | 143 + .../django/contrib/contenttypes/apps.py | 22 + .../django/contrib/contenttypes/checks.py | 46 + .../django/contrib/contenttypes/fields.py | 828 ++ .../django/contrib/contenttypes/forms.py | 133 + .../locale/af/LC_MESSAGES/django.po | 42 + .../locale/ar/LC_MESSAGES/django.po | 46 + .../locale/ar_DZ/LC_MESSAGES/django.po | 43 + .../locale/ast/LC_MESSAGES/django.po | 42 + .../locale/az/LC_MESSAGES/django.po | 45 + .../locale/be/LC_MESSAGES/django.po | 45 + .../locale/bg/LC_MESSAGES/django.po | 46 + .../locale/bn/LC_MESSAGES/django.po | 43 + .../locale/br/LC_MESSAGES/django.po | 45 + .../locale/bs/LC_MESSAGES/django.po | 43 + .../locale/ca/LC_MESSAGES/django.po | 44 + .../locale/ckb/LC_MESSAGES/django.po | 42 + .../locale/cs/LC_MESSAGES/django.po | 44 + .../locale/cy/LC_MESSAGES/django.po | 43 + .../locale/da/LC_MESSAGES/django.po | 43 + .../locale/de/LC_MESSAGES/django.po | 42 + .../locale/dsb/LC_MESSAGES/django.po | 43 + .../locale/el/LC_MESSAGES/django.po | 45 + .../locale/en/LC_MESSAGES/django.po | 45 + .../locale/en_AU/LC_MESSAGES/django.po | 41 + .../locale/en_GB/LC_MESSAGES/django.po | 43 + .../locale/eo/LC_MESSAGES/django.po | 43 + .../locale/es/LC_MESSAGES/django.po | 46 + .../locale/es_AR/LC_MESSAGES/django.po | 43 + .../locale/es_CO/LC_MESSAGES/django.po | 43 + .../locale/es_MX/LC_MESSAGES/django.po | 44 + .../locale/es_VE/LC_MESSAGES/django.po | 44 + .../locale/et/LC_MESSAGES/django.po | 45 + .../locale/eu/LC_MESSAGES/django.po | 43 + .../locale/fa/LC_MESSAGES/django.po | 45 + .../locale/fi/LC_MESSAGES/django.po | 44 + .../locale/fr/LC_MESSAGES/django.po | 43 + .../locale/fy/LC_MESSAGES/django.po | 41 + .../locale/ga/LC_MESSAGES/django.po | 45 + .../locale/gd/LC_MESSAGES/django.po | 45 + .../locale/gl/LC_MESSAGES/django.po | 45 + .../locale/he/LC_MESSAGES/django.po | 43 + .../locale/hi/LC_MESSAGES/django.po | 42 + .../locale/hr/LC_MESSAGES/django.po | 45 + .../locale/hsb/LC_MESSAGES/django.po | 43 + .../locale/hu/LC_MESSAGES/django.po | 46 + .../locale/hy/LC_MESSAGES/django.po | 41 + .../locale/ia/LC_MESSAGES/django.po | 42 + .../locale/id/LC_MESSAGES/django.po | 46 + .../locale/io/LC_MESSAGES/django.po | 41 + .../locale/is/LC_MESSAGES/django.po | 44 + .../locale/it/LC_MESSAGES/django.po | 46 + .../locale/ja/LC_MESSAGES/django.po | 47 + .../locale/ka/LC_MESSAGES/django.po | 43 + .../locale/kk/LC_MESSAGES/django.po | 41 + .../locale/km/LC_MESSAGES/django.po | 41 + .../locale/kn/LC_MESSAGES/django.po | 42 + .../locale/ko/LC_MESSAGES/django.po | 43 + .../locale/ky/LC_MESSAGES/django.po | 42 + .../locale/lb/LC_MESSAGES/django.po | 41 + .../locale/lt/LC_MESSAGES/django.po | 46 + .../locale/lv/LC_MESSAGES/django.po | 45 + .../locale/mk/LC_MESSAGES/django.po | 44 + .../locale/ml/LC_MESSAGES/django.po | 43 + .../locale/mn/LC_MESSAGES/django.po | 46 + .../locale/mr/LC_MESSAGES/django.po | 42 + .../locale/ms/LC_MESSAGES/django.po | 41 + .../locale/my/LC_MESSAGES/django.po | 42 + .../locale/nb/LC_MESSAGES/django.po | 46 + .../locale/ne/LC_MESSAGES/django.po | 41 + .../locale/nl/LC_MESSAGES/django.po | 44 + .../locale/nn/LC_MESSAGES/django.po | 44 + .../locale/os/LC_MESSAGES/django.po | 42 + .../locale/pa/LC_MESSAGES/django.po | 42 + .../locale/pl/LC_MESSAGES/django.po | 47 + .../locale/pt/LC_MESSAGES/django.po | 45 + .../locale/pt_BR/LC_MESSAGES/django.po | 46 + .../locale/ro/LC_MESSAGES/django.po | 45 + .../locale/ru/LC_MESSAGES/django.po | 47 + .../locale/sk/LC_MESSAGES/django.po | 45 + .../locale/sl/LC_MESSAGES/django.po | 45 + .../locale/sq/LC_MESSAGES/django.po | 43 + .../locale/sr/LC_MESSAGES/django.po | 46 + .../locale/sr_Latn/LC_MESSAGES/django.po | 45 + .../locale/sv/LC_MESSAGES/django.po | 46 + .../locale/sw/LC_MESSAGES/django.po | 41 + .../locale/ta/LC_MESSAGES/django.po | 41 + .../locale/te/LC_MESSAGES/django.po | 41 + .../locale/tg/LC_MESSAGES/django.po | 41 + .../locale/th/LC_MESSAGES/django.po | 42 + .../locale/tk/LC_MESSAGES/django.po | 42 + .../locale/tr/LC_MESSAGES/django.po | 45 + .../locale/tt/LC_MESSAGES/django.po | 41 + .../locale/udm/LC_MESSAGES/django.po | 41 + .../locale/ug/LC_MESSAGES/django.po | 41 + .../locale/uk/LC_MESSAGES/django.po | 49 + .../locale/ur/LC_MESSAGES/django.po | 41 + .../locale/vi/LC_MESSAGES/django.po | 45 + .../locale/zh_Hans/LC_MESSAGES/django.po | 46 + .../locale/zh_Hant/LC_MESSAGES/django.po | 44 + .../contenttypes/management/__init__.py | 145 + .../management/commands/__init__.py | 0 .../commands/remove_stale_contenttypes.py | 113 + .../contenttypes/migrations/0001_initial.py | 45 + .../0002_remove_content_type_name.py | 42 + .../contenttypes/migrations/__init__.py | 0 .../django/contrib/contenttypes/models.py | 188 + .../django/contrib/contenttypes/prefetch.py | 36 + .../django/contrib/contenttypes/views.py | 88 + .../django/contrib/flatpages/__init__.py | 0 .../django/django/contrib/flatpages/admin.py | 22 + .../django/django/contrib/flatpages/apps.py | 8 + .../django/django/contrib/flatpages/forms.py | 74 + .../flatpages/locale/af/LC_MESSAGES/django.po | 89 + .../flatpages/locale/ar/LC_MESSAGES/django.po | 91 + .../locale/ar_DZ/LC_MESSAGES/django.po | 87 + .../locale/ast/LC_MESSAGES/django.po | 80 + .../flatpages/locale/az/LC_MESSAGES/django.po | 94 + .../flatpages/locale/be/LC_MESSAGES/django.po | 92 + .../flatpages/locale/bg/LC_MESSAGES/django.po | 92 + .../flatpages/locale/bn/LC_MESSAGES/django.po | 83 + .../flatpages/locale/br/LC_MESSAGES/django.po | 95 + .../flatpages/locale/bs/LC_MESSAGES/django.po | 88 + .../flatpages/locale/ca/LC_MESSAGES/django.po | 93 + .../locale/ckb/LC_MESSAGES/django.po | 88 + .../flatpages/locale/cs/LC_MESSAGES/django.po | 89 + .../flatpages/locale/cy/LC_MESSAGES/django.po | 88 + .../flatpages/locale/da/LC_MESSAGES/django.po | 92 + .../flatpages/locale/de/LC_MESSAGES/django.po | 92 + .../locale/dsb/LC_MESSAGES/django.po | 90 + .../flatpages/locale/el/LC_MESSAGES/django.po | 93 + .../flatpages/locale/en/LC_MESSAGES/django.po | 96 + .../locale/en_AU/LC_MESSAGES/django.po | 88 + .../locale/en_GB/LC_MESSAGES/django.po | 85 + .../flatpages/locale/eo/LC_MESSAGES/django.po | 93 + .../flatpages/locale/es/LC_MESSAGES/django.po | 93 + .../locale/es_AR/LC_MESSAGES/django.po | 89 + .../locale/es_CO/LC_MESSAGES/django.po | 86 + .../locale/es_MX/LC_MESSAGES/django.po | 84 + .../locale/es_VE/LC_MESSAGES/django.po | 85 + .../flatpages/locale/et/LC_MESSAGES/django.po | 89 + .../flatpages/locale/eu/LC_MESSAGES/django.po | 90 + .../flatpages/locale/fa/LC_MESSAGES/django.po | 92 + .../flatpages/locale/fi/LC_MESSAGES/django.po | 92 + .../flatpages/locale/fr/LC_MESSAGES/django.po | 93 + .../flatpages/locale/fy/LC_MESSAGES/django.po | 74 + .../flatpages/locale/ga/LC_MESSAGES/django.po | 91 + .../flatpages/locale/gd/LC_MESSAGES/django.po | 95 + .../flatpages/locale/gl/LC_MESSAGES/django.po | 89 + .../flatpages/locale/he/LC_MESSAGES/django.po | 87 + .../flatpages/locale/hi/LC_MESSAGES/django.po | 81 + .../flatpages/locale/hr/LC_MESSAGES/django.po | 88 + .../locale/hsb/LC_MESSAGES/django.po | 89 + .../flatpages/locale/hu/LC_MESSAGES/django.po | 94 + .../flatpages/locale/hy/LC_MESSAGES/django.po | 84 + .../flatpages/locale/ia/LC_MESSAGES/django.po | 77 + .../flatpages/locale/id/LC_MESSAGES/django.po | 90 + .../flatpages/locale/io/LC_MESSAGES/django.po | 74 + .../flatpages/locale/is/LC_MESSAGES/django.po | 87 + .../flatpages/locale/it/LC_MESSAGES/django.po | 92 + .../flatpages/locale/ja/LC_MESSAGES/django.po | 90 + .../flatpages/locale/ka/LC_MESSAGES/django.po | 88 + .../flatpages/locale/kk/LC_MESSAGES/django.po | 88 + .../flatpages/locale/km/LC_MESSAGES/django.po | 80 + .../flatpages/locale/kn/LC_MESSAGES/django.po | 82 + .../flatpages/locale/ko/LC_MESSAGES/django.po | 90 + .../flatpages/locale/ky/LC_MESSAGES/django.po | 89 + .../flatpages/locale/lb/LC_MESSAGES/django.po | 77 + .../flatpages/locale/lt/LC_MESSAGES/django.po | 94 + .../flatpages/locale/lv/LC_MESSAGES/django.po | 93 + .../flatpages/locale/mk/LC_MESSAGES/django.po | 90 + .../flatpages/locale/ml/LC_MESSAGES/django.po | 89 + .../flatpages/locale/mn/LC_MESSAGES/django.po | 92 + .../flatpages/locale/mr/LC_MESSAGES/django.po | 82 + .../flatpages/locale/ms/LC_MESSAGES/django.po | 87 + .../flatpages/locale/my/LC_MESSAGES/django.po | 77 + .../flatpages/locale/nb/LC_MESSAGES/django.po | 91 + .../flatpages/locale/ne/LC_MESSAGES/django.po | 77 + .../flatpages/locale/nl/LC_MESSAGES/django.po | 92 + .../flatpages/locale/nn/LC_MESSAGES/django.po | 90 + .../flatpages/locale/os/LC_MESSAGES/django.po | 86 + .../flatpages/locale/pa/LC_MESSAGES/django.po | 78 + .../flatpages/locale/pl/LC_MESSAGES/django.po | 96 + .../flatpages/locale/pt/LC_MESSAGES/django.po | 87 + .../locale/pt_BR/LC_MESSAGES/django.po | 98 + .../flatpages/locale/ro/LC_MESSAGES/django.po | 96 + .../flatpages/locale/ru/LC_MESSAGES/django.po | 95 + .../flatpages/locale/sk/LC_MESSAGES/django.po | 92 + .../flatpages/locale/sl/LC_MESSAGES/django.po | 93 + .../flatpages/locale/sq/LC_MESSAGES/django.po | 89 + .../flatpages/locale/sr/LC_MESSAGES/django.po | 92 + .../locale/sr_Latn/LC_MESSAGES/django.po | 93 + .../flatpages/locale/sv/LC_MESSAGES/django.po | 92 + .../flatpages/locale/sw/LC_MESSAGES/django.po | 83 + .../flatpages/locale/ta/LC_MESSAGES/django.po | 80 + .../flatpages/locale/te/LC_MESSAGES/django.po | 79 + .../flatpages/locale/tg/LC_MESSAGES/django.po | 86 + .../flatpages/locale/th/LC_MESSAGES/django.po | 80 + .../flatpages/locale/tk/LC_MESSAGES/django.po | 84 + .../flatpages/locale/tr/LC_MESSAGES/django.po | 94 + .../flatpages/locale/tt/LC_MESSAGES/django.po | 84 + .../locale/udm/LC_MESSAGES/django.po | 77 + .../flatpages/locale/ug/LC_MESSAGES/django.po | 85 + .../flatpages/locale/uk/LC_MESSAGES/django.po | 99 + .../flatpages/locale/ur/LC_MESSAGES/django.po | 84 + .../flatpages/locale/vi/LC_MESSAGES/django.po | 82 + .../locale/zh_Hans/LC_MESSAGES/django.po | 89 + .../locale/zh_Hant/LC_MESSAGES/django.po | 88 + .../django/contrib/flatpages/middleware.py | 20 + .../flatpages/migrations/0001_initial.py | 68 + .../contrib/flatpages/migrations/__init__.py | 0 .../django/django/contrib/flatpages/models.py | 49 + .../django/contrib/flatpages/sitemaps.py | 14 + .../flatpages/templatetags/__init__.py | 0 .../flatpages/templatetags/flatpages.py | 101 + .../django/django/contrib/flatpages/urls.py | 6 + .../django/django/contrib/flatpages/views.py | 70 + .../django/django/contrib/gis/__init__.py | 0 .../django/contrib/gis/admin/__init__.py | 29 + .../django/contrib/gis/admin/options.py | 21 + .../django/django/contrib/gis/apps.py | 14 + .../django/django/contrib/gis/db/__init__.py | 0 .../contrib/gis/db/backends/__init__.py | 0 .../contrib/gis/db/backends/base/__init__.py | 0 .../contrib/gis/db/backends/base/adapter.py | 26 + .../contrib/gis/db/backends/base/features.py | 111 + .../contrib/gis/db/backends/base/models.py | 140 + .../gis/db/backends/base/operations.py | 210 + .../contrib/gis/db/backends/mysql/__init__.py | 0 .../contrib/gis/db/backends/mysql/base.py | 14 + .../contrib/gis/db/backends/mysql/features.py | 21 + .../gis/db/backends/mysql/introspection.py | 33 + .../gis/db/backends/mysql/operations.py | 143 + .../contrib/gis/db/backends/mysql/schema.py | 83 + .../gis/db/backends/oracle/__init__.py | 0 .../contrib/gis/db/backends/oracle/adapter.py | 61 + .../contrib/gis/db/backends/oracle/base.py | 14 + .../gis/db/backends/oracle/features.py | 28 + .../gis/db/backends/oracle/introspection.py | 46 + .../contrib/gis/db/backends/oracle/models.py | 65 + .../gis/db/backends/oracle/operations.py | 247 + .../contrib/gis/db/backends/oracle/schema.py | 114 + .../gis/db/backends/postgis/__init__.py | 0 .../gis/db/backends/postgis/adapter.py | 63 + .../contrib/gis/db/backends/postgis/base.py | 161 + .../contrib/gis/db/backends/postgis/const.py | 63 + .../gis/db/backends/postgis/features.py | 13 + .../gis/db/backends/postgis/introspection.py | 71 + .../contrib/gis/db/backends/postgis/models.py | 73 + .../gis/db/backends/postgis/operations.py | 423 + .../gis/db/backends/postgis/pgraster.py | 152 + .../contrib/gis/db/backends/postgis/schema.py | 81 + .../gis/db/backends/spatialite/__init__.py | 0 .../gis/db/backends/spatialite/adapter.py | 10 + .../gis/db/backends/spatialite/base.py | 79 + .../gis/db/backends/spatialite/client.py | 5 + .../gis/db/backends/spatialite/features.py | 26 + .../db/backends/spatialite/introspection.py | 82 + .../gis/db/backends/spatialite/models.py | 71 + .../gis/db/backends/spatialite/operations.py | 231 + .../gis/db/backends/spatialite/schema.py | 194 + .../django/contrib/gis/db/backends/utils.py | 28 + .../django/contrib/gis/db/models/__init__.py | 30 + .../contrib/gis/db/models/aggregates.py | 95 + .../django/contrib/gis/db/models/fields.py | 436 + .../django/contrib/gis/db/models/functions.py | 590 + .../django/contrib/gis/db/models/lookups.py | 395 + .../django/contrib/gis/db/models/proxy.py | 84 + .../contrib/gis/db/models/sql/__init__.py | 6 + .../contrib/gis/db/models/sql/conversion.py | 74 + .../django/django/contrib/gis/feeds.py | 151 + .../django/contrib/gis/forms/__init__.py | 13 + .../django/django/contrib/gis/forms/fields.py | 144 + .../django/contrib/gis/forms/widgets.py | 125 + .../django/django/contrib/gis/gdal/LICENSE | 28 + .../django/contrib/gis/gdal/__init__.py | 59 + .../django/django/contrib/gis/gdal/base.py | 6 + .../django/contrib/gis/gdal/datasource.py | 128 + .../django/django/contrib/gis/gdal/driver.py | 94 + .../django/contrib/gis/gdal/envelope.py | 204 + .../django/django/contrib/gis/gdal/error.py | 61 + .../django/django/contrib/gis/gdal/feature.py | 120 + .../django/django/contrib/gis/gdal/field.py | 253 + .../django/contrib/gis/gdal/geometries.py | 822 ++ .../django/contrib/gis/gdal/geomtype.py | 146 + .../django/django/contrib/gis/gdal/layer.py | 234 + .../django/django/contrib/gis/gdal/libgdal.py | 140 + .../contrib/gis/gdal/prototypes/__init__.py | 0 .../django/contrib/gis/gdal/prototypes/ds.py | 110 + .../contrib/gis/gdal/prototypes/errcheck.py | 142 + .../contrib/gis/gdal/prototypes/generation.py | 178 + .../contrib/gis/gdal/prototypes/geom.py | 168 + .../contrib/gis/gdal/prototypes/raster.py | 169 + .../django/contrib/gis/gdal/prototypes/srs.py | 107 + .../contrib/gis/gdal/raster/__init__.py | 0 .../django/contrib/gis/gdal/raster/band.py | 273 + .../django/contrib/gis/gdal/raster/base.py | 77 + .../django/contrib/gis/gdal/raster/const.py | 105 + .../django/contrib/gis/gdal/raster/source.py | 541 + .../django/django/contrib/gis/gdal/srs.py | 361 + .../django/django/contrib/gis/geoip2.py | 249 + .../django/django/contrib/gis/geometry.py | 19 + .../django/django/contrib/gis/geos/LICENSE | 27 + .../django/contrib/gis/geos/__init__.py | 19 + .../django/django/contrib/gis/geos/base.py | 6 + .../django/contrib/gis/geos/collections.py | 121 + .../django/contrib/gis/geos/coordseq.py | 211 + .../django/django/contrib/gis/geos/error.py | 3 + .../django/django/contrib/gis/geos/factory.py | 33 + .../django/contrib/gis/geos/geometry.py | 780 ++ .../django/django/contrib/gis/geos/io.py | 28 + .../django/django/contrib/gis/geos/libgeos.py | 175 + .../django/contrib/gis/geos/linestring.py | 193 + .../django/contrib/gis/geos/mutable_list.py | 314 + .../django/django/contrib/gis/geos/point.py | 162 + .../django/django/contrib/gis/geos/polygon.py | 189 + .../django/contrib/gis/geos/prepared.py | 51 + .../contrib/gis/geos/prototypes/__init__.py | 67 + .../contrib/gis/geos/prototypes/coordseq.py | 95 + .../contrib/gis/geos/prototypes/errcheck.py | 96 + .../contrib/gis/geos/prototypes/geom.py | 91 + .../django/contrib/gis/geos/prototypes/io.py | 369 + .../contrib/gis/geos/prototypes/misc.py | 35 + .../contrib/gis/geos/prototypes/predicates.py | 49 + .../contrib/gis/geos/prototypes/prepared.py | 26 + .../contrib/gis/geos/prototypes/threadsafe.py | 77 + .../contrib/gis/geos/prototypes/topology.py | 73 + .../gis/locale/af/LC_MESSAGES/django.po | 82 + .../gis/locale/ar/LC_MESSAGES/django.po | 89 + .../gis/locale/ar_DZ/LC_MESSAGES/django.po | 88 + .../gis/locale/ast/LC_MESSAGES/django.po | 85 + .../gis/locale/az/LC_MESSAGES/django.po | 86 + .../gis/locale/be/LC_MESSAGES/django.po | 87 + .../gis/locale/bg/LC_MESSAGES/django.po | 87 + .../gis/locale/bn/LC_MESSAGES/django.po | 86 + .../gis/locale/br/LC_MESSAGES/django.po | 91 + .../gis/locale/bs/LC_MESSAGES/django.po | 88 + .../gis/locale/ca/LC_MESSAGES/django.po | 91 + .../gis/locale/ckb/LC_MESSAGES/django.po | 86 + .../gis/locale/cs/LC_MESSAGES/django.po | 88 + .../gis/locale/cy/LC_MESSAGES/django.po | 86 + .../gis/locale/da/LC_MESSAGES/django.po | 86 + .../gis/locale/de/LC_MESSAGES/django.po | 86 + .../gis/locale/dsb/LC_MESSAGES/django.po | 86 + .../gis/locale/el/LC_MESSAGES/django.po | 91 + .../gis/locale/en/LC_MESSAGES/django.po | 98 + .../gis/locale/en_AU/LC_MESSAGES/django.po | 80 + .../gis/locale/en_GB/LC_MESSAGES/django.po | 88 + .../gis/locale/eo/LC_MESSAGES/django.po | 86 + .../gis/locale/es/LC_MESSAGES/django.po | 92 + .../gis/locale/es_AR/LC_MESSAGES/django.po | 87 + .../gis/locale/es_CO/LC_MESSAGES/django.po | 90 + .../gis/locale/es_MX/LC_MESSAGES/django.po | 87 + .../gis/locale/es_VE/LC_MESSAGES/django.po | 80 + .../gis/locale/et/LC_MESSAGES/django.po | 88 + .../gis/locale/eu/LC_MESSAGES/django.po | 84 + .../gis/locale/fa/LC_MESSAGES/django.po | 87 + .../gis/locale/fi/LC_MESSAGES/django.po | 84 + .../gis/locale/fr/LC_MESSAGES/django.po | 87 + .../gis/locale/fy/LC_MESSAGES/django.po | 80 + .../gis/locale/ga/LC_MESSAGES/django.po | 88 + .../gis/locale/gd/LC_MESSAGES/django.po | 89 + .../gis/locale/gl/LC_MESSAGES/django.po | 89 + .../gis/locale/he/LC_MESSAGES/django.po | 83 + .../gis/locale/hi/LC_MESSAGES/django.po | 86 + .../gis/locale/hr/LC_MESSAGES/django.po | 91 + .../gis/locale/hsb/LC_MESSAGES/django.po | 87 + .../gis/locale/hu/LC_MESSAGES/django.po | 88 + .../gis/locale/hy/LC_MESSAGES/django.po | 81 + .../gis/locale/ia/LC_MESSAGES/django.po | 87 + .../gis/locale/id/LC_MESSAGES/django.po | 90 + .../gis/locale/io/LC_MESSAGES/django.po | 80 + .../gis/locale/is/LC_MESSAGES/django.po | 87 + .../gis/locale/it/LC_MESSAGES/django.po | 94 + .../gis/locale/ja/LC_MESSAGES/django.po | 87 + .../gis/locale/ka/LC_MESSAGES/django.po | 87 + .../gis/locale/kk/LC_MESSAGES/django.po | 85 + .../gis/locale/km/LC_MESSAGES/django.po | 80 + .../gis/locale/kn/LC_MESSAGES/django.po | 80 + .../gis/locale/ko/LC_MESSAGES/django.po | 88 + .../gis/locale/ky/LC_MESSAGES/django.po | 83 + .../gis/locale/lb/LC_MESSAGES/django.po | 80 + .../gis/locale/lt/LC_MESSAGES/django.po | 89 + .../gis/locale/lv/LC_MESSAGES/django.po | 87 + .../gis/locale/mk/LC_MESSAGES/django.po | 91 + .../gis/locale/ml/LC_MESSAGES/django.po | 88 + .../gis/locale/mn/LC_MESSAGES/django.po | 91 + .../gis/locale/mr/LC_MESSAGES/django.po | 82 + .../gis/locale/ms/LC_MESSAGES/django.po | 84 + .../gis/locale/my/LC_MESSAGES/django.po | 85 + .../gis/locale/nb/LC_MESSAGES/django.po | 88 + .../gis/locale/ne/LC_MESSAGES/django.po | 84 + .../gis/locale/nl/LC_MESSAGES/django.po | 91 + .../gis/locale/nn/LC_MESSAGES/django.po | 87 + .../gis/locale/os/LC_MESSAGES/django.po | 87 + .../gis/locale/pa/LC_MESSAGES/django.po | 86 + .../gis/locale/pl/LC_MESSAGES/django.po | 92 + .../gis/locale/pt/LC_MESSAGES/django.po | 95 + .../gis/locale/pt_BR/LC_MESSAGES/django.po | 94 + .../gis/locale/ro/LC_MESSAGES/django.po | 89 + .../gis/locale/ru/LC_MESSAGES/django.po | 91 + .../gis/locale/sk/LC_MESSAGES/django.po | 86 + .../gis/locale/sl/LC_MESSAGES/django.po | 89 + .../gis/locale/sq/LC_MESSAGES/django.po | 85 + .../gis/locale/sr/LC_MESSAGES/django.po | 87 + .../gis/locale/sr_Latn/LC_MESSAGES/django.po | 87 + .../gis/locale/sv/LC_MESSAGES/django.po | 90 + .../gis/locale/sw/LC_MESSAGES/django.po | 87 + .../gis/locale/ta/LC_MESSAGES/django.po | 80 + .../gis/locale/te/LC_MESSAGES/django.po | 84 + .../gis/locale/tg/LC_MESSAGES/django.po | 84 + .../gis/locale/th/LC_MESSAGES/django.po | 86 + .../gis/locale/tr/LC_MESSAGES/django.po | 88 + .../gis/locale/tt/LC_MESSAGES/django.po | 85 + .../gis/locale/udm/LC_MESSAGES/django.po | 80 + .../gis/locale/ug/LC_MESSAGES/django.po | 86 + .../gis/locale/uk/LC_MESSAGES/django.po | 93 + .../gis/locale/ur/LC_MESSAGES/django.po | 86 + .../gis/locale/vi/LC_MESSAGES/django.po | 87 + .../gis/locale/zh_Hans/LC_MESSAGES/django.po | 90 + .../gis/locale/zh_Hant/LC_MESSAGES/django.po | 87 + .../django/contrib/gis/management/__init__.py | 0 .../gis/management/commands/__init__.py | 0 .../gis/management/commands/inspectdb.py | 18 + .../gis/management/commands/ogrinspect.py | 164 + .../django/django/contrib/gis/measure.py | 373 + .../django/django/contrib/gis/ptr.py | 41 + .../contrib/gis/serializers/__init__.py | 0 .../django/contrib/gis/serializers/geojson.py | 81 + .../django/django/contrib/gis/shortcuts.py | 40 + .../django/contrib/gis/sitemaps/__init__.py | 4 + .../django/django/contrib/gis/sitemaps/kml.py | 78 + .../django/contrib/gis/sitemaps/views.py | 65 + .../django/contrib/gis/static/gis/css/ol3.css | 39 + .../gis/static/gis/img/draw_line_off.svg | 1 + .../gis/static/gis/img/draw_line_on.svg | 1 + .../gis/static/gis/img/draw_point_off.svg | 1 + .../gis/static/gis/img/draw_point_on.svg | 1 + .../gis/static/gis/img/draw_polygon_off.svg | 1 + .../gis/static/gis/img/draw_polygon_on.svg | 1 + .../contrib/gis/static/gis/js/OLMapWidget.js | 233 + .../contrib/gis/templates/gis/kml/base.kml | 6 + .../gis/templates/gis/kml/placemarks.kml | 8 + .../gis/templates/gis/openlayers-osm.html | 12 + .../contrib/gis/templates/gis/openlayers.html | 32 + .../django/contrib/gis/utils/__init__.py | 25 + .../django/contrib/gis/utils/layermapping.py | 728 ++ .../django/contrib/gis/utils/ogrinfo.py | 53 + .../django/contrib/gis/utils/ogrinspect.py | 268 + .../django/django/contrib/gis/utils/srs.py | 78 + .../django/django/contrib/gis/views.py | 22 + .../django/contrib/humanize/__init__.py | 0 .../django/django/contrib/humanize/apps.py | 7 + .../humanize/locale/af/LC_MESSAGES/django.po | 328 + .../humanize/locale/ar/LC_MESSAGES/django.po | 449 + .../locale/ar_DZ/LC_MESSAGES/django.po | 555 + .../humanize/locale/ast/LC_MESSAGES/django.po | 262 + .../humanize/locale/az/LC_MESSAGES/django.po | 333 + .../humanize/locale/be/LC_MESSAGES/django.po | 389 + .../humanize/locale/bg/LC_MESSAGES/django.po | 332 + .../humanize/locale/bn/LC_MESSAGES/django.po | 263 + .../humanize/locale/br/LC_MESSAGES/django.po | 517 + .../humanize/locale/bs/LC_MESSAGES/django.po | 292 + .../humanize/locale/ca/LC_MESSAGES/django.po | 332 + .../humanize/locale/ckb/LC_MESSAGES/django.po | 329 + .../humanize/locale/cs/LC_MESSAGES/django.po | 388 + .../humanize/locale/cy/LC_MESSAGES/django.po | 318 + .../humanize/locale/da/LC_MESSAGES/django.po | 331 + .../humanize/locale/de/LC_MESSAGES/django.po | 330 + .../humanize/locale/dsb/LC_MESSAGES/django.po | 387 + .../humanize/locale/el/LC_MESSAGES/django.po | 398 + .../humanize/locale/en/LC_MESSAGES/django.po | 378 + .../locale/en_AU/LC_MESSAGES/django.po | 328 + .../locale/en_GB/LC_MESSAGES/django.po | 263 + .../humanize/locale/eo/LC_MESSAGES/django.po | 394 + .../humanize/locale/es/LC_MESSAGES/django.po | 365 + .../locale/es_AR/LC_MESSAGES/django.po | 332 + .../locale/es_CO/LC_MESSAGES/django.po | 267 + .../locale/es_MX/LC_MESSAGES/django.po | 264 + .../locale/es_VE/LC_MESSAGES/django.po | 262 + .../humanize/locale/et/LC_MESSAGES/django.po | 334 + .../humanize/locale/eu/LC_MESSAGES/django.po | 332 + .../humanize/locale/fa/LC_MESSAGES/django.po | 335 + .../humanize/locale/fi/LC_MESSAGES/django.po | 331 + .../humanize/locale/fr/LC_MESSAGES/django.po | 360 + .../humanize/locale/fy/LC_MESSAGES/django.po | 261 + .../humanize/locale/ga/LC_MESSAGES/django.po | 418 + .../humanize/locale/gd/LC_MESSAGES/django.po | 389 + .../humanize/locale/gl/LC_MESSAGES/django.po | 332 + .../humanize/locale/he/LC_MESSAGES/django.po | 389 + .../humanize/locale/hi/LC_MESSAGES/django.po | 263 + .../humanize/locale/hr/LC_MESSAGES/django.po | 291 + .../humanize/locale/hsb/LC_MESSAGES/django.po | 387 + .../humanize/locale/hu/LC_MESSAGES/django.po | 332 + .../humanize/locale/hy/LC_MESSAGES/django.po | 330 + .../humanize/locale/ia/LC_MESSAGES/django.po | 262 + .../humanize/locale/id/LC_MESSAGES/django.po | 304 + .../humanize/locale/io/LC_MESSAGES/django.po | 261 + .../humanize/locale/is/LC_MESSAGES/django.po | 399 + .../humanize/locale/it/LC_MESSAGES/django.po | 368 + .../humanize/locale/ja/LC_MESSAGES/django.po | 301 + .../humanize/locale/ka/LC_MESSAGES/django.po | 395 + .../humanize/locale/kk/LC_MESSAGES/django.po | 394 + .../humanize/locale/km/LC_MESSAGES/django.po | 233 + .../humanize/locale/kn/LC_MESSAGES/django.po | 233 + .../humanize/locale/ko/LC_MESSAGES/django.po | 304 + .../humanize/locale/ky/LC_MESSAGES/django.po | 299 + .../humanize/locale/lb/LC_MESSAGES/django.po | 261 + .../humanize/locale/lt/LC_MESSAGES/django.po | 477 + .../humanize/locale/lv/LC_MESSAGES/django.po | 363 + .../humanize/locale/mk/LC_MESSAGES/django.po | 262 + .../humanize/locale/ml/LC_MESSAGES/django.po | 396 + .../humanize/locale/mn/LC_MESSAGES/django.po | 333 + .../humanize/locale/mr/LC_MESSAGES/django.po | 328 + .../humanize/locale/ms/LC_MESSAGES/django.po | 299 + .../humanize/locale/my/LC_MESSAGES/django.po | 234 + .../humanize/locale/nb/LC_MESSAGES/django.po | 331 + .../humanize/locale/ne/LC_MESSAGES/django.po | 395 + .../humanize/locale/nl/LC_MESSAGES/django.po | 332 + .../humanize/locale/nn/LC_MESSAGES/django.po | 330 + .../humanize/locale/os/LC_MESSAGES/django.po | 262 + .../humanize/locale/pa/LC_MESSAGES/django.po | 263 + .../humanize/locale/pl/LC_MESSAGES/django.po | 394 + .../humanize/locale/pt/LC_MESSAGES/django.po | 398 + .../locale/pt_BR/LC_MESSAGES/django.po | 367 + .../humanize/locale/ro/LC_MESSAGES/django.po | 440 + .../humanize/locale/ru/LC_MESSAGES/django.po | 396 + .../humanize/locale/sk/LC_MESSAGES/django.po | 390 + .../humanize/locale/sl/LC_MESSAGES/django.po | 392 + .../humanize/locale/sq/LC_MESSAGES/django.po | 395 + .../humanize/locale/sr/LC_MESSAGES/django.po | 359 + .../locale/sr_Latn/LC_MESSAGES/django.po | 412 + .../humanize/locale/sv/LC_MESSAGES/django.po | 335 + .../humanize/locale/sw/LC_MESSAGES/django.po | 262 + .../humanize/locale/ta/LC_MESSAGES/django.po | 261 + .../humanize/locale/te/LC_MESSAGES/django.po | 262 + .../humanize/locale/tg/LC_MESSAGES/django.po | 393 + .../humanize/locale/th/LC_MESSAGES/django.po | 357 + .../humanize/locale/tk/LC_MESSAGES/django.po | 328 + .../humanize/locale/tr/LC_MESSAGES/django.po | 333 + .../humanize/locale/tt/LC_MESSAGES/django.po | 233 + .../humanize/locale/udm/LC_MESSAGES/django.po | 233 + .../humanize/locale/ug/LC_MESSAGES/django.po | 328 + .../humanize/locale/uk/LC_MESSAGES/django.po | 395 + .../humanize/locale/ur/LC_MESSAGES/django.po | 261 + .../humanize/locale/uz/LC_MESSAGES/django.po | 353 + .../humanize/locale/vi/LC_MESSAGES/django.po | 235 + .../locale/zh_Hans/LC_MESSAGES/django.po | 308 + .../locale/zh_Hant/LC_MESSAGES/django.po | 304 + .../contrib/humanize/templatetags/__init__.py | 0 .../contrib/humanize/templatetags/humanize.py | 327 + .../django/contrib/messages/__init__.py | 3 + .../django/django/contrib/messages/api.py | 127 + .../django/django/contrib/messages/apps.py | 19 + .../django/contrib/messages/constants.py | 21 + .../contrib/messages/context_processors.py | 13 + .../django/contrib/messages/middleware.py | 26 + .../contrib/messages/storage/__init__.py | 12 + .../django/contrib/messages/storage/base.py | 183 + .../django/contrib/messages/storage/cookie.py | 248 + .../contrib/messages/storage/fallback.py | 56 + .../contrib/messages/storage/session.py | 52 + .../django/django/contrib/messages/test.py | 8 + .../django/django/contrib/messages/utils.py | 12 + .../django/django/contrib/messages/views.py | 19 + .../django/contrib/postgres/__init__.py | 0 .../contrib/postgres/aggregates/__init__.py | 2 + .../contrib/postgres/aggregates/general.py | 65 + .../contrib/postgres/aggregates/mixins.py | 47 + .../contrib/postgres/aggregates/statistics.py | 75 + .../django/django/contrib/postgres/apps.py | 84 + .../django/contrib/postgres/constraints.py | 232 + .../django/contrib/postgres/expressions.py | 14 + .../contrib/postgres/fields/__init__.py | 5 + .../django/contrib/postgres/fields/array.py | 373 + .../django/contrib/postgres/fields/citext.py | 45 + .../django/contrib/postgres/fields/hstore.py | 112 + .../django/contrib/postgres/fields/jsonb.py | 14 + .../django/contrib/postgres/fields/ranges.py | 383 + .../django/contrib/postgres/fields/utils.py | 3 + .../django/contrib/postgres/forms/__init__.py | 3 + .../django/contrib/postgres/forms/array.py | 251 + .../django/contrib/postgres/forms/hstore.py | 59 + .../django/contrib/postgres/forms/ranges.py | 119 + .../django/contrib/postgres/functions.py | 11 + .../django/django/contrib/postgres/indexes.py | 250 + .../jinja2/postgres/widgets/split_array.html | 1 + .../postgres/locale/af/LC_MESSAGES/django.po | 104 + .../postgres/locale/ar/LC_MESSAGES/django.po | 131 + .../locale/ar_DZ/LC_MESSAGES/django.po | 131 + .../postgres/locale/az/LC_MESSAGES/django.po | 104 + .../postgres/locale/be/LC_MESSAGES/django.po | 120 + .../postgres/locale/bg/LC_MESSAGES/django.po | 110 + .../postgres/locale/ca/LC_MESSAGES/django.po | 112 + .../postgres/locale/ckb/LC_MESSAGES/django.po | 101 + .../postgres/locale/cs/LC_MESSAGES/django.po | 119 + .../postgres/locale/da/LC_MESSAGES/django.po | 106 + .../postgres/locale/de/LC_MESSAGES/django.po | 111 + .../postgres/locale/dsb/LC_MESSAGES/django.po | 118 + .../postgres/locale/el/LC_MESSAGES/django.po | 111 + .../postgres/locale/en/LC_MESSAGES/django.po | 114 + .../locale/en_AU/LC_MESSAGES/django.po | 109 + .../postgres/locale/eo/LC_MESSAGES/django.po | 109 + .../postgres/locale/es/LC_MESSAGES/django.po | 121 + .../locale/es_AR/LC_MESSAGES/django.po | 115 + .../locale/es_CO/LC_MESSAGES/django.po | 112 + .../locale/es_MX/LC_MESSAGES/django.po | 98 + .../postgres/locale/et/LC_MESSAGES/django.po | 111 + .../postgres/locale/eu/LC_MESSAGES/django.po | 108 + .../postgres/locale/fa/LC_MESSAGES/django.po | 108 + .../postgres/locale/fi/LC_MESSAGES/django.po | 110 + .../postgres/locale/fr/LC_MESSAGES/django.po | 114 + .../postgres/locale/ga/LC_MESSAGES/django.po | 125 + .../postgres/locale/gd/LC_MESSAGES/django.po | 125 + .../postgres/locale/gl/LC_MESSAGES/django.po | 108 + .../postgres/locale/he/LC_MESSAGES/django.po | 110 + .../postgres/locale/hr/LC_MESSAGES/django.po | 102 + .../postgres/locale/hsb/LC_MESSAGES/django.po | 118 + .../postgres/locale/hu/LC_MESSAGES/django.po | 110 + .../postgres/locale/hy/LC_MESSAGES/django.po | 109 + .../postgres/locale/ia/LC_MESSAGES/django.po | 98 + .../postgres/locale/id/LC_MESSAGES/django.po | 105 + .../postgres/locale/is/LC_MESSAGES/django.po | 108 + .../postgres/locale/it/LC_MESSAGES/django.po | 122 + .../postgres/locale/ja/LC_MESSAGES/django.po | 100 + .../postgres/locale/ka/LC_MESSAGES/django.po | 98 + .../postgres/locale/kk/LC_MESSAGES/django.po | 97 + .../postgres/locale/ko/LC_MESSAGES/django.po | 105 + .../postgres/locale/ky/LC_MESSAGES/django.po | 100 + .../postgres/locale/lt/LC_MESSAGES/django.po | 120 + .../postgres/locale/lv/LC_MESSAGES/django.po | 118 + .../postgres/locale/mk/LC_MESSAGES/django.po | 112 + .../postgres/locale/ml/LC_MESSAGES/django.po | 98 + .../postgres/locale/mn/LC_MESSAGES/django.po | 111 + .../postgres/locale/mr/LC_MESSAGES/django.po | 97 + .../postgres/locale/ms/LC_MESSAGES/django.po | 100 + .../postgres/locale/nb/LC_MESSAGES/django.po | 107 + .../postgres/locale/ne/LC_MESSAGES/django.po | 96 + .../postgres/locale/nl/LC_MESSAGES/django.po | 112 + .../postgres/locale/nn/LC_MESSAGES/django.po | 106 + .../postgres/locale/pl/LC_MESSAGES/django.po | 127 + .../postgres/locale/pt/LC_MESSAGES/django.po | 107 + .../locale/pt_BR/LC_MESSAGES/django.po | 123 + .../postgres/locale/ro/LC_MESSAGES/django.po | 120 + .../postgres/locale/ru/LC_MESSAGES/django.po | 131 + .../postgres/locale/sk/LC_MESSAGES/django.po | 121 + .../postgres/locale/sl/LC_MESSAGES/django.po | 120 + .../postgres/locale/sq/LC_MESSAGES/django.po | 110 + .../postgres/locale/sr/LC_MESSAGES/django.po | 113 + .../locale/sr_Latn/LC_MESSAGES/django.po | 112 + .../postgres/locale/sv/LC_MESSAGES/django.po | 110 + .../postgres/locale/tg/LC_MESSAGES/django.po | 101 + .../postgres/locale/tk/LC_MESSAGES/django.po | 107 + .../postgres/locale/tr/LC_MESSAGES/django.po | 109 + .../postgres/locale/ug/LC_MESSAGES/django.po | 107 + .../postgres/locale/uk/LC_MESSAGES/django.po | 126 + .../postgres/locale/uz/LC_MESSAGES/django.po | 95 + .../locale/zh_Hans/LC_MESSAGES/django.po | 100 + .../locale/zh_Hant/LC_MESSAGES/django.po | 98 + .../django/django/contrib/postgres/lookups.py | 78 + .../django/contrib/postgres/operations.py | 344 + .../django/django/contrib/postgres/search.py | 383 + .../django/contrib/postgres/serializers.py | 10 + .../django/django/contrib/postgres/signals.py | 80 + .../postgres/widgets/split_array.html | 1 + .../django/django/contrib/postgres/utils.py | 29 + .../django/contrib/postgres/validators.py | 91 + .../django/contrib/redirects/__init__.py | 0 .../django/django/contrib/redirects/admin.py | 10 + .../django/django/contrib/redirects/apps.py | 8 + .../redirects/locale/af/LC_MESSAGES/django.po | 51 + .../redirects/locale/ar/LC_MESSAGES/django.po | 51 + .../locale/ar_DZ/LC_MESSAGES/django.po | 50 + .../locale/ast/LC_MESSAGES/django.po | 50 + .../redirects/locale/az/LC_MESSAGES/django.po | 51 + .../redirects/locale/be/LC_MESSAGES/django.po | 52 + .../redirects/locale/bg/LC_MESSAGES/django.po | 53 + .../redirects/locale/bn/LC_MESSAGES/django.po | 48 + .../redirects/locale/br/LC_MESSAGES/django.po | 54 + .../redirects/locale/bs/LC_MESSAGES/django.po | 51 + .../redirects/locale/ca/LC_MESSAGES/django.po | 54 + .../locale/ckb/LC_MESSAGES/django.po | 49 + .../redirects/locale/cs/LC_MESSAGES/django.po | 51 + .../redirects/locale/cy/LC_MESSAGES/django.po | 51 + .../redirects/locale/da/LC_MESSAGES/django.po | 50 + .../redirects/locale/de/LC_MESSAGES/django.po | 51 + .../locale/dsb/LC_MESSAGES/django.po | 51 + .../redirects/locale/el/LC_MESSAGES/django.po | 52 + .../redirects/locale/en/LC_MESSAGES/django.po | 50 + .../locale/en_AU/LC_MESSAGES/django.po | 50 + .../locale/en_GB/LC_MESSAGES/django.po | 50 + .../redirects/locale/eo/LC_MESSAGES/django.po | 49 + .../redirects/locale/es/LC_MESSAGES/django.po | 53 + .../locale/es_AR/LC_MESSAGES/django.po | 51 + .../locale/es_CO/LC_MESSAGES/django.po | 50 + .../locale/es_MX/LC_MESSAGES/django.po | 53 + .../locale/es_VE/LC_MESSAGES/django.po | 42 + .../redirects/locale/et/LC_MESSAGES/django.po | 54 + .../redirects/locale/eu/LC_MESSAGES/django.po | 51 + .../redirects/locale/fa/LC_MESSAGES/django.po | 50 + .../redirects/locale/fi/LC_MESSAGES/django.po | 52 + .../redirects/locale/fr/LC_MESSAGES/django.po | 50 + .../redirects/locale/fy/LC_MESSAGES/django.po | 42 + .../redirects/locale/ga/LC_MESSAGES/django.po | 53 + .../redirects/locale/gd/LC_MESSAGES/django.po | 52 + .../redirects/locale/gl/LC_MESSAGES/django.po | 52 + .../redirects/locale/he/LC_MESSAGES/django.po | 49 + .../redirects/locale/hi/LC_MESSAGES/django.po | 49 + .../redirects/locale/hr/LC_MESSAGES/django.po | 52 + .../locale/hsb/LC_MESSAGES/django.po | 51 + .../redirects/locale/hu/LC_MESSAGES/django.po | 51 + .../redirects/locale/hy/LC_MESSAGES/django.po | 49 + .../redirects/locale/ia/LC_MESSAGES/django.po | 50 + .../redirects/locale/id/LC_MESSAGES/django.po | 52 + .../redirects/locale/io/LC_MESSAGES/django.po | 48 + .../redirects/locale/is/LC_MESSAGES/django.po | 49 + .../redirects/locale/it/LC_MESSAGES/django.po | 53 + .../redirects/locale/ja/LC_MESSAGES/django.po | 51 + .../redirects/locale/ka/LC_MESSAGES/django.po | 50 + .../locale/kab/LC_MESSAGES/django.po | 45 + .../redirects/locale/kk/LC_MESSAGES/django.po | 48 + .../redirects/locale/km/LC_MESSAGES/django.po | 47 + .../redirects/locale/kn/LC_MESSAGES/django.po | 47 + .../redirects/locale/ko/LC_MESSAGES/django.po | 56 + .../redirects/locale/ky/LC_MESSAGES/django.po | 50 + .../redirects/locale/lb/LC_MESSAGES/django.po | 42 + .../redirects/locale/lt/LC_MESSAGES/django.po | 53 + .../redirects/locale/lv/LC_MESSAGES/django.po | 53 + .../redirects/locale/mk/LC_MESSAGES/django.po | 52 + .../redirects/locale/ml/LC_MESSAGES/django.po | 51 + .../redirects/locale/mn/LC_MESSAGES/django.po | 52 + .../redirects/locale/mr/LC_MESSAGES/django.po | 48 + .../redirects/locale/ms/LC_MESSAGES/django.po | 49 + .../redirects/locale/my/LC_MESSAGES/django.po | 46 + .../redirects/locale/nb/LC_MESSAGES/django.po | 54 + .../redirects/locale/ne/LC_MESSAGES/django.po | 47 + .../redirects/locale/nl/LC_MESSAGES/django.po | 52 + .../redirects/locale/nn/LC_MESSAGES/django.po | 50 + .../redirects/locale/os/LC_MESSAGES/django.po | 49 + .../redirects/locale/pa/LC_MESSAGES/django.po | 47 + .../redirects/locale/pl/LC_MESSAGES/django.po | 54 + .../redirects/locale/pt/LC_MESSAGES/django.po | 52 + .../locale/pt_BR/LC_MESSAGES/django.po | 57 + .../redirects/locale/ro/LC_MESSAGES/django.po | 54 + .../redirects/locale/ru/LC_MESSAGES/django.po | 53 + .../redirects/locale/sk/LC_MESSAGES/django.po | 53 + .../redirects/locale/sl/LC_MESSAGES/django.po | 52 + .../redirects/locale/sq/LC_MESSAGES/django.po | 52 + .../redirects/locale/sr/LC_MESSAGES/django.po | 53 + .../locale/sr_Latn/LC_MESSAGES/django.po | 52 + .../redirects/locale/sv/LC_MESSAGES/django.po | 53 + .../redirects/locale/sw/LC_MESSAGES/django.po | 51 + .../redirects/locale/ta/LC_MESSAGES/django.po | 49 + .../redirects/locale/te/LC_MESSAGES/django.po | 42 + .../redirects/locale/tg/LC_MESSAGES/django.po | 45 + .../redirects/locale/th/LC_MESSAGES/django.po | 46 + .../redirects/locale/tk/LC_MESSAGES/django.po | 50 + .../redirects/locale/tr/LC_MESSAGES/django.po | 53 + .../redirects/locale/tt/LC_MESSAGES/django.po | 48 + .../locale/udm/LC_MESSAGES/django.po | 42 + .../redirects/locale/ug/LC_MESSAGES/django.po | 50 + .../redirects/locale/uk/LC_MESSAGES/django.po | 56 + .../redirects/locale/ur/LC_MESSAGES/django.po | 46 + .../redirects/locale/uz/LC_MESSAGES/django.po | 48 + .../redirects/locale/vi/LC_MESSAGES/django.po | 49 + .../locale/zh_Hans/LC_MESSAGES/django.po | 53 + .../locale/zh_Hant/LC_MESSAGES/django.po | 51 + .../django/contrib/redirects/middleware.py | 50 + .../redirects/migrations/0001_initial.py | 64 + .../0002_alter_redirect_new_path_help_text.py | 23 + .../contrib/redirects/migrations/__init__.py | 0 .../django/django/contrib/redirects/models.py | 35 + .../django/contrib/sessions/__init__.py | 0 .../django/django/contrib/sessions/apps.py | 7 + .../contrib/sessions/backends/__init__.py | 0 .../django/contrib/sessions/backends/base.py | 523 + .../django/contrib/sessions/backends/cache.py | 145 + .../contrib/sessions/backends/cached_db.py | 135 + .../django/contrib/sessions/backends/db.py | 198 + .../django/contrib/sessions/backends/file.py | 226 + .../sessions/backends/signed_cookies.py | 103 + .../django/contrib/sessions/base_session.py | 48 + .../django/contrib/sessions/exceptions.py | 19 + .../sessions/locale/af/LC_MESSAGES/django.po | 36 + .../sessions/locale/ar/LC_MESSAGES/django.po | 37 + .../locale/ar_DZ/LC_MESSAGES/django.po | 37 + .../sessions/locale/ast/LC_MESSAGES/django.po | 36 + .../sessions/locale/az/LC_MESSAGES/django.po | 37 + .../sessions/locale/be/LC_MESSAGES/django.po | 38 + .../sessions/locale/bg/LC_MESSAGES/django.po | 38 + .../sessions/locale/bn/LC_MESSAGES/django.po | 36 + .../sessions/locale/br/LC_MESSAGES/django.po | 40 + .../sessions/locale/bs/LC_MESSAGES/django.po | 37 + .../sessions/locale/ca/LC_MESSAGES/django.po | 37 + .../sessions/locale/ckb/LC_MESSAGES/django.po | 36 + .../sessions/locale/cs/LC_MESSAGES/django.po | 37 + .../sessions/locale/cy/LC_MESSAGES/django.po | 37 + .../sessions/locale/da/LC_MESSAGES/django.po | 36 + .../sessions/locale/de/LC_MESSAGES/django.po | 35 + .../sessions/locale/dsb/LC_MESSAGES/django.po | 37 + .../sessions/locale/el/LC_MESSAGES/django.po | 36 + .../sessions/locale/en/LC_MESSAGES/django.po | 38 + .../locale/en_AU/LC_MESSAGES/django.po | 36 + .../locale/en_GB/LC_MESSAGES/django.po | 36 + .../sessions/locale/eo/LC_MESSAGES/django.po | 37 + .../sessions/locale/es/LC_MESSAGES/django.po | 37 + .../locale/es_AR/LC_MESSAGES/django.po | 37 + .../locale/es_CO/LC_MESSAGES/django.po | 36 + .../locale/es_MX/LC_MESSAGES/django.po | 37 + .../locale/es_VE/LC_MESSAGES/django.po | 35 + .../sessions/locale/et/LC_MESSAGES/django.po | 37 + .../sessions/locale/eu/LC_MESSAGES/django.po | 36 + .../sessions/locale/fa/LC_MESSAGES/django.po | 37 + .../sessions/locale/fi/LC_MESSAGES/django.po | 37 + .../sessions/locale/fr/LC_MESSAGES/django.po | 36 + .../sessions/locale/fy/LC_MESSAGES/django.po | 35 + .../sessions/locale/ga/LC_MESSAGES/django.po | 37 + .../sessions/locale/gd/LC_MESSAGES/django.po | 37 + .../sessions/locale/gl/LC_MESSAGES/django.po | 38 + .../sessions/locale/he/LC_MESSAGES/django.po | 37 + .../sessions/locale/hi/LC_MESSAGES/django.po | 36 + .../sessions/locale/hr/LC_MESSAGES/django.po | 38 + .../sessions/locale/hsb/LC_MESSAGES/django.po | 37 + .../sessions/locale/hu/LC_MESSAGES/django.po | 37 + .../sessions/locale/hy/LC_MESSAGES/django.po | 35 + .../sessions/locale/ia/LC_MESSAGES/django.po | 36 + .../sessions/locale/id/LC_MESSAGES/django.po | 38 + .../sessions/locale/io/LC_MESSAGES/django.po | 35 + .../sessions/locale/is/LC_MESSAGES/django.po | 36 + .../sessions/locale/it/LC_MESSAGES/django.po | 37 + .../sessions/locale/ja/LC_MESSAGES/django.po | 37 + .../sessions/locale/ka/LC_MESSAGES/django.po | 36 + .../sessions/locale/kab/LC_MESSAGES/django.po | 35 + .../sessions/locale/kk/LC_MESSAGES/django.po | 37 + .../sessions/locale/km/LC_MESSAGES/django.po | 35 + .../sessions/locale/kn/LC_MESSAGES/django.po | 37 + .../sessions/locale/ko/LC_MESSAGES/django.po | 37 + .../sessions/locale/ky/LC_MESSAGES/django.po | 35 + .../sessions/locale/lb/LC_MESSAGES/django.po | 35 + .../sessions/locale/lt/LC_MESSAGES/django.po | 39 + .../sessions/locale/lv/LC_MESSAGES/django.po | 38 + .../sessions/locale/mk/LC_MESSAGES/django.po | 37 + .../sessions/locale/ml/LC_MESSAGES/django.po | 37 + .../sessions/locale/mn/LC_MESSAGES/django.po | 38 + .../sessions/locale/mr/LC_MESSAGES/django.po | 36 + .../sessions/locale/ms/LC_MESSAGES/django.po | 35 + .../sessions/locale/my/LC_MESSAGES/django.po | 36 + .../sessions/locale/nb/LC_MESSAGES/django.po | 38 + .../sessions/locale/ne/LC_MESSAGES/django.po | 36 + .../sessions/locale/nl/LC_MESSAGES/django.po | 36 + .../sessions/locale/nn/LC_MESSAGES/django.po | 37 + .../sessions/locale/os/LC_MESSAGES/django.po | 36 + .../sessions/locale/pa/LC_MESSAGES/django.po | 36 + .../sessions/locale/pl/LC_MESSAGES/django.po | 39 + .../sessions/locale/pt/LC_MESSAGES/django.po | 37 + .../locale/pt_BR/LC_MESSAGES/django.po | 37 + .../sessions/locale/ro/LC_MESSAGES/django.po | 39 + .../sessions/locale/ru/LC_MESSAGES/django.po | 39 + .../sessions/locale/sk/LC_MESSAGES/django.po | 37 + .../sessions/locale/sl/LC_MESSAGES/django.po | 38 + .../sessions/locale/sq/LC_MESSAGES/django.po | 36 + .../sessions/locale/sr/LC_MESSAGES/django.po | 38 + .../locale/sr_Latn/LC_MESSAGES/django.po | 38 + .../sessions/locale/sv/LC_MESSAGES/django.po | 37 + .../sessions/locale/sw/LC_MESSAGES/django.po | 36 + .../sessions/locale/ta/LC_MESSAGES/django.po | 35 + .../sessions/locale/te/LC_MESSAGES/django.po | 36 + .../sessions/locale/tg/LC_MESSAGES/django.po | 35 + .../sessions/locale/th/LC_MESSAGES/django.po | 36 + .../sessions/locale/tk/LC_MESSAGES/django.po | 36 + .../sessions/locale/tr/LC_MESSAGES/django.po | 37 + .../sessions/locale/tt/LC_MESSAGES/django.po | 36 + .../sessions/locale/udm/LC_MESSAGES/django.po | 35 + .../sessions/locale/ug/LC_MESSAGES/django.po | 34 + .../sessions/locale/uk/LC_MESSAGES/django.po | 40 + .../sessions/locale/ur/LC_MESSAGES/django.po | 35 + .../sessions/locale/uz/LC_MESSAGES/django.po | 35 + .../sessions/locale/vi/LC_MESSAGES/django.po | 38 + .../locale/zh_Hans/LC_MESSAGES/django.po | 37 + .../locale/zh_Hant/LC_MESSAGES/django.po | 38 + .../contrib/sessions/management/__init__.py | 0 .../sessions/management/commands/__init__.py | 0 .../management/commands/clearsessions.py | 21 + .../django/contrib/sessions/middleware.py | 77 + .../sessions/migrations/0001_initial.py | 37 + .../contrib/sessions/migrations/__init__.py | 0 .../django/django/contrib/sessions/models.py | 35 + .../django/contrib/sessions/serializers.py | 3 + .../django/contrib/sitemaps/__init__.py | 200 + .../django/django/contrib/sitemaps/apps.py | 8 + .../contrib/sitemaps/templates/sitemap.xml | 16 + .../sitemaps/templates/sitemap_index.xml | 13 + .../django/django/contrib/sitemaps/views.py | 140 + .../django/django/contrib/sites/__init__.py | 0 .../django/django/contrib/sites/admin.py | 8 + .../django/django/contrib/sites/apps.py | 17 + .../django/django/contrib/sites/checks.py | 14 + .../sites/locale/af/LC_MESSAGES/django.po | 36 + .../sites/locale/ar/LC_MESSAGES/django.po | 38 + .../sites/locale/ar_DZ/LC_MESSAGES/django.po | 37 + .../sites/locale/ast/LC_MESSAGES/django.po | 36 + .../sites/locale/az/LC_MESSAGES/django.po | 37 + .../sites/locale/be/LC_MESSAGES/django.po | 38 + .../sites/locale/bg/LC_MESSAGES/django.po | 38 + .../sites/locale/bn/LC_MESSAGES/django.po | 37 + .../sites/locale/br/LC_MESSAGES/django.po | 40 + .../sites/locale/bs/LC_MESSAGES/django.po | 37 + .../sites/locale/ca/LC_MESSAGES/django.po | 38 + .../sites/locale/ckb/LC_MESSAGES/django.po | 36 + .../sites/locale/cs/LC_MESSAGES/django.po | 37 + .../sites/locale/cy/LC_MESSAGES/django.po | 37 + .../sites/locale/da/LC_MESSAGES/django.po | 36 + .../sites/locale/de/LC_MESSAGES/django.po | 36 + .../sites/locale/dsb/LC_MESSAGES/django.po | 37 + .../sites/locale/el/LC_MESSAGES/django.po | 38 + .../sites/locale/en/LC_MESSAGES/django.po | 38 + .../sites/locale/en_AU/LC_MESSAGES/django.po | 36 + .../sites/locale/en_GB/LC_MESSAGES/django.po | 36 + .../sites/locale/eo/LC_MESSAGES/django.po | 38 + .../sites/locale/es/LC_MESSAGES/django.po | 39 + .../sites/locale/es_AR/LC_MESSAGES/django.po | 38 + .../sites/locale/es_CO/LC_MESSAGES/django.po | 36 + .../sites/locale/es_MX/LC_MESSAGES/django.po | 38 + .../sites/locale/es_VE/LC_MESSAGES/django.po | 35 + .../sites/locale/et/LC_MESSAGES/django.po | 38 + .../sites/locale/eu/LC_MESSAGES/django.po | 37 + .../sites/locale/fa/LC_MESSAGES/django.po | 38 + .../sites/locale/fi/LC_MESSAGES/django.po | 37 + .../sites/locale/fr/LC_MESSAGES/django.po | 37 + .../sites/locale/fy/LC_MESSAGES/django.po | 35 + .../sites/locale/ga/LC_MESSAGES/django.po | 38 + .../sites/locale/gd/LC_MESSAGES/django.po | 37 + .../sites/locale/gl/LC_MESSAGES/django.po | 38 + .../sites/locale/he/LC_MESSAGES/django.po | 37 + .../sites/locale/hi/LC_MESSAGES/django.po | 35 + .../sites/locale/hr/LC_MESSAGES/django.po | 38 + .../sites/locale/hsb/LC_MESSAGES/django.po | 37 + .../sites/locale/hu/LC_MESSAGES/django.po | 37 + .../sites/locale/hy/LC_MESSAGES/django.po | 36 + .../sites/locale/ia/LC_MESSAGES/django.po | 36 + .../sites/locale/id/LC_MESSAGES/django.po | 38 + .../sites/locale/io/LC_MESSAGES/django.po | 35 + .../sites/locale/is/LC_MESSAGES/django.po | 37 + .../sites/locale/it/LC_MESSAGES/django.po | 38 + .../sites/locale/ja/LC_MESSAGES/django.po | 37 + .../sites/locale/ka/LC_MESSAGES/django.po | 37 + .../sites/locale/kab/LC_MESSAGES/django.po | 35 + .../sites/locale/kk/LC_MESSAGES/django.po | 36 + .../sites/locale/km/LC_MESSAGES/django.po | 35 + .../sites/locale/kn/LC_MESSAGES/django.po | 37 + .../sites/locale/ko/LC_MESSAGES/django.po | 39 + .../sites/locale/ky/LC_MESSAGES/django.po | 34 + .../sites/locale/lb/LC_MESSAGES/django.po | 35 + .../sites/locale/lt/LC_MESSAGES/django.po | 41 + .../sites/locale/lv/LC_MESSAGES/django.po | 39 + .../sites/locale/mk/LC_MESSAGES/django.po | 37 + .../sites/locale/ml/LC_MESSAGES/django.po | 37 + .../sites/locale/mn/LC_MESSAGES/django.po | 39 + .../sites/locale/mr/LC_MESSAGES/django.po | 36 + .../sites/locale/ms/LC_MESSAGES/django.po | 35 + .../sites/locale/my/LC_MESSAGES/django.po | 36 + .../sites/locale/nb/LC_MESSAGES/django.po | 38 + .../sites/locale/ne/LC_MESSAGES/django.po | 36 + .../sites/locale/nl/LC_MESSAGES/django.po | 38 + .../sites/locale/nn/LC_MESSAGES/django.po | 37 + .../sites/locale/os/LC_MESSAGES/django.po | 36 + .../sites/locale/pa/LC_MESSAGES/django.po | 36 + .../sites/locale/pl/LC_MESSAGES/django.po | 40 + .../sites/locale/pt/LC_MESSAGES/django.po | 38 + .../sites/locale/pt_BR/LC_MESSAGES/django.po | 38 + .../sites/locale/ro/LC_MESSAGES/django.po | 40 + .../sites/locale/ru/LC_MESSAGES/django.po | 41 + .../sites/locale/sk/LC_MESSAGES/django.po | 38 + .../sites/locale/sl/LC_MESSAGES/django.po | 39 + .../sites/locale/sq/LC_MESSAGES/django.po | 36 + .../sites/locale/sr/LC_MESSAGES/django.po | 38 + .../locale/sr_Latn/LC_MESSAGES/django.po | 38 + .../sites/locale/sv/LC_MESSAGES/django.po | 39 + .../sites/locale/sw/LC_MESSAGES/django.po | 36 + .../sites/locale/ta/LC_MESSAGES/django.po | 35 + .../sites/locale/te/LC_MESSAGES/django.po | 35 + .../sites/locale/tg/LC_MESSAGES/django.po | 35 + .../sites/locale/th/LC_MESSAGES/django.po | 36 + .../sites/locale/tk/LC_MESSAGES/django.po | 36 + .../sites/locale/tr/LC_MESSAGES/django.po | 39 + .../sites/locale/tt/LC_MESSAGES/django.po | 36 + .../sites/locale/udm/LC_MESSAGES/django.po | 35 + .../sites/locale/ug/LC_MESSAGES/django.po | 35 + .../sites/locale/uk/LC_MESSAGES/django.po | 41 + .../sites/locale/ur/LC_MESSAGES/django.po | 35 + .../sites/locale/uz/LC_MESSAGES/django.po | 35 + .../sites/locale/vi/LC_MESSAGES/django.po | 38 + .../locale/zh_Hans/LC_MESSAGES/django.po | 37 + .../locale/zh_Hant/LC_MESSAGES/django.po | 40 + .../django/django/contrib/sites/management.py | 47 + .../django/django/contrib/sites/managers.py | 65 + .../django/django/contrib/sites/middleware.py | 12 + .../contrib/sites/migrations/0001_initial.py | 43 + .../migrations/0002_alter_domain_unique.py | 21 + .../contrib/sites/migrations/__init__.py | 0 .../django/django/contrib/sites/models.py | 120 + .../django/django/contrib/sites/requests.py | 20 + .../django/django/contrib/sites/shortcuts.py | 18 + .../django/contrib/staticfiles/__init__.py | 0 .../django/django/contrib/staticfiles/apps.py | 14 + .../django/contrib/staticfiles/checks.py | 29 + .../django/contrib/staticfiles/finders.py | 326 + .../django/contrib/staticfiles/handlers.py | 115 + .../staticfiles/management/__init__.py | 0 .../management/commands/__init__.py | 0 .../management/commands/collectstatic.py | 379 + .../management/commands/findstatic.py | 48 + .../management/commands/runserver.py | 36 + .../django/contrib/staticfiles/storage.py | 543 + .../django/contrib/staticfiles/testing.py | 13 + .../django/django/contrib/staticfiles/urls.py | 19 + .../django/contrib/staticfiles/utils.py | 71 + .../django/contrib/staticfiles/views.py | 40 + .../django/contrib/syndication/__init__.py | 0 .../django/django/contrib/syndication/apps.py | 7 + .../django/contrib/syndication/views.py | 234 + .../django/django/core/__init__.py | 0 external_sources/django/django/core/asgi.py | 13 + .../django/django/core/cache/__init__.py | 67 + .../django/core/cache/backends/__init__.py | 0 .../django/django/core/cache/backends/base.py | 405 + .../django/django/core/cache/backends/db.py | 293 + .../django/core/cache/backends/dummy.py | 34 + .../django/core/cache/backends/filebased.py | 170 + .../django/core/cache/backends/locmem.py | 117 + .../django/core/cache/backends/memcached.py | 188 + .../django/core/cache/backends/redis.py | 233 + .../django/django/core/cache/utils.py | 12 + .../django/django/core/checks/__init__.py | 47 + .../django/django/core/checks/async_checks.py | 16 + .../django/django/core/checks/caches.py | 76 + .../core/checks/compatibility/__init__.py | 0 .../core/checks/compatibility/django_4_0.py | 20 + .../django/django/core/checks/database.py | 14 + .../django/django/core/checks/files.py | 19 + .../django/django/core/checks/messages.py | 81 + .../django/django/core/checks/model_checks.py | 227 + .../django/django/core/checks/registry.py | 117 + .../django/core/checks/security/__init__.py | 0 .../django/core/checks/security/base.py | 283 + .../django/core/checks/security/csrf.py | 67 + .../django/core/checks/security/sessions.py | 99 + .../django/django/core/checks/templates.py | 12 + .../django/django/core/checks/translation.py | 66 + .../django/django/core/checks/urls.py | 159 + .../django/django/core/exceptions.py | 255 + .../django/django/core/files/__init__.py | 3 + .../django/django/core/files/base.py | 161 + .../django/django/core/files/images.py | 89 + .../django/django/core/files/locks.py | 128 + .../django/django/core/files/move.py | 90 + .../django/core/files/storage/__init__.py | 27 + .../django/django/core/files/storage/base.py | 206 + .../django/core/files/storage/filesystem.py | 248 + .../django/core/files/storage/handler.py | 46 + .../django/core/files/storage/memory.py | 290 + .../django/core/files/storage/mixins.py | 15 + .../django/django/core/files/temp.py | 79 + .../django/django/core/files/uploadedfile.py | 150 + .../django/django/core/files/uploadhandler.py | 252 + .../django/django/core/files/utils.py | 77 + .../django/django/core/handlers/__init__.py | 0 .../django/django/core/handlers/asgi.py | 372 + .../django/django/core/handlers/base.py | 373 + .../django/django/core/handlers/exception.py | 185 + .../django/django/core/handlers/wsgi.py | 207 + .../django/django/core/mail/__init__.py | 155 + .../django/core/mail/backends/__init__.py | 1 + .../django/django/core/mail/backends/base.py | 62 + .../django/core/mail/backends/console.py | 45 + .../django/django/core/mail/backends/dummy.py | 10 + .../django/core/mail/backends/filebased.py | 66 + .../django/core/mail/backends/locmem.py | 33 + .../django/django/core/mail/backends/smtp.py | 162 + .../django/django/core/mail/message.py | 496 + .../django/django/core/mail/utils.py | 22 + .../django/django/core/management/__init__.py | 442 + .../django/django/core/management/base.py | 695 + .../django/django/core/management/color.py | 120 + .../core/management/commands/__init__.py | 0 .../django/core/management/commands/check.py | 88 + .../management/commands/compilemessages.py | 196 + .../management/commands/createcachetable.py | 131 + .../core/management/commands/dbshell.py | 49 + .../core/management/commands/diffsettings.py | 91 + .../core/management/commands/dumpdata.py | 285 + .../django/core/management/commands/flush.py | 93 + .../core/management/commands/inspectdb.py | 415 + .../core/management/commands/loaddata.py | 433 + .../core/management/commands/makemessages.py | 784 ++ .../management/commands/makemigrations.py | 515 + .../core/management/commands/migrate.py | 512 + .../management/commands/optimizemigration.py | 129 + .../core/management/commands/runserver.py | 190 + .../core/management/commands/sendtestemail.py | 46 + .../django/core/management/commands/shell.py | 139 + .../management/commands/showmigrations.py | 177 + .../core/management/commands/sqlflush.py | 30 + .../core/management/commands/sqlmigrate.py | 84 + .../management/commands/sqlsequencereset.py | 32 + .../management/commands/squashmigrations.py | 267 + .../core/management/commands/startapp.py | 14 + .../core/management/commands/startproject.py | 21 + .../django/core/management/commands/test.py | 66 + .../core/management/commands/testserver.py | 65 + .../django/django/core/management/sql.py | 59 + .../django/core/management/templates.py | 402 + .../django/django/core/management/utils.py | 175 + .../django/django/core/paginator.py | 238 + .../django/core/serializers/__init__.py | 254 + .../django/django/core/serializers/base.py | 387 + .../django/django/core/serializers/json.py | 106 + .../django/django/core/serializers/jsonl.py | 57 + .../django/django/core/serializers/python.py | 195 + .../django/django/core/serializers/pyyaml.py | 82 + .../django/core/serializers/xml_serializer.py | 500 + .../django/django/core/servers/__init__.py | 0 .../django/django/core/servers/basehttp.py | 282 + .../django/django/core/signals.py | 6 + .../django/django/core/signing.py | 277 + .../django/django/core/validators.py | 698 + external_sources/django/django/core/wsgi.py | 13 + external_sources/django/django/db/__init__.py | 63 + .../django/django/db/backends/__init__.py | 0 .../django/db/backends/base/__init__.py | 0 .../django/django/db/backends/base/base.py | 792 ++ .../django/django/db/backends/base/client.py | 28 + .../django/db/backends/base/creation.py | 384 + .../django/db/backends/base/features.py | 417 + .../django/db/backends/base/introspection.py | 212 + .../django/db/backends/base/operations.py | 806 ++ .../django/django/db/backends/base/schema.py | 2038 +++ .../django/db/backends/base/validation.py | 29 + .../django/db/backends/ddl_references.py | 270 + .../django/db/backends/dummy/__init__.py | 0 .../django/django/db/backends/dummy/base.py | 74 + .../django/db/backends/dummy/features.py | 6 + .../django/db/backends/mysql/__init__.py | 0 .../django/django/db/backends/mysql/base.py | 449 + .../django/django/db/backends/mysql/client.py | 72 + .../django/db/backends/mysql/compiler.py | 84 + .../django/db/backends/mysql/creation.py | 87 + .../django/db/backends/mysql/features.py | 338 + .../django/db/backends/mysql/introspection.py | 358 + .../django/db/backends/mysql/operations.py | 458 + .../django/django/db/backends/mysql/schema.py | 281 + .../django/db/backends/mysql/validation.py | 77 + .../django/db/backends/oracle/__init__.py | 0 .../django/django/db/backends/oracle/base.py | 612 + .../django/db/backends/oracle/client.py | 27 + .../django/db/backends/oracle/creation.py | 464 + .../django/db/backends/oracle/features.py | 210 + .../django/db/backends/oracle/functions.py | 26 + .../db/backends/oracle/introspection.py | 414 + .../django/db/backends/oracle/operations.py | 731 ++ .../django/db/backends/oracle/oracledb_any.py | 21 + .../django/db/backends/oracle/schema.py | 250 + .../django/django/db/backends/oracle/utils.py | 99 + .../django/db/backends/oracle/validation.py | 22 + .../django/db/backends/postgresql/__init__.py | 0 .../django/db/backends/postgresql/base.py | 611 + .../django/db/backends/postgresql/client.py | 64 + .../django/db/backends/postgresql/creation.py | 91 + .../django/db/backends/postgresql/features.py | 172 + .../db/backends/postgresql/introspection.py | 299 + .../db/backends/postgresql/operations.py | 413 + .../db/backends/postgresql/psycopg_any.py | 114 + .../django/db/backends/postgresql/schema.py | 369 + .../django/django/db/backends/signals.py | 3 + .../django/db/backends/sqlite3/__init__.py | 0 .../django/db/backends/sqlite3/_functions.py | 515 + .../django/django/db/backends/sqlite3/base.py | 373 + .../django/db/backends/sqlite3/client.py | 10 + .../django/db/backends/sqlite3/creation.py | 159 + .../django/db/backends/sqlite3/features.py | 156 + .../db/backends/sqlite3/introspection.py | 440 + .../django/db/backends/sqlite3/operations.py | 433 + .../django/db/backends/sqlite3/schema.py | 493 + .../django/django/db/backends/utils.py | 342 + .../django/django/db/migrations/__init__.py | 2 + .../django/db/migrations/autodetector.py | 1907 +++ .../django/django/db/migrations/exceptions.py | 60 + .../django/django/db/migrations/executor.py | 413 + .../django/django/db/migrations/graph.py | 333 + .../django/django/db/migrations/loader.py | 385 + .../django/django/db/migrations/migration.py | 239 + .../db/migrations/operations/__init__.py | 44 + .../django/db/migrations/operations/base.py | 166 + .../django/db/migrations/operations/fields.py | 365 + .../django/db/migrations/operations/models.py | 1244 ++ .../db/migrations/operations/special.py | 211 + .../django/django/db/migrations/optimizer.py | 69 + .../django/django/db/migrations/questioner.py | 341 + .../django/django/db/migrations/recorder.py | 111 + .../django/django/db/migrations/serializer.py | 405 + .../django/django/db/migrations/state.py | 989 ++ .../django/django/db/migrations/utils.py | 129 + .../django/django/db/migrations/writer.py | 316 + .../django/django/db/models/__init__.py | 125 + .../django/django/db/models/aggregates.py | 213 + .../django/django/db/models/base.py | 2483 ++++ .../django/django/db/models/constants.py | 13 + .../django/django/db/models/constraints.py | 683 + .../django/django/db/models/deletion.py | 518 + .../django/django/db/models/enums.py | 123 + .../django/django/db/models/expressions.py | 2085 +++ .../django/db/models/fields/__init__.py | 2885 +++++ .../django/django/db/models/fields/files.py | 538 + .../django/db/models/fields/generated.py | 197 + .../django/django/db/models/fields/json.py | 626 + .../django/django/db/models/fields/mixins.py | 81 + .../django/django/db/models/fields/proxy.py | 18 + .../django/django/db/models/fields/related.py | 1995 +++ .../db/models/fields/related_descriptors.py | 1622 +++ .../db/models/fields/related_lookups.py | 199 + .../db/models/fields/reverse_related.py | 415 + .../django/db/models/functions/__init__.py | 190 + .../django/db/models/functions/comparison.py | 230 + .../django/db/models/functions/datetime.py | 439 + .../django/django/db/models/functions/math.py | 214 + .../django/db/models/functions/mixins.py | 62 + .../django/django/db/models/functions/text.py | 376 + .../django/db/models/functions/window.py | 120 + .../django/django/db/models/indexes.py | 299 + .../django/django/db/models/lookups.py | 798 ++ .../django/django/db/models/manager.py | 213 + .../django/django/db/models/options.py | 1025 ++ .../django/django/db/models/query.py | 2732 ++++ .../django/django/db/models/query_utils.py | 486 + .../django/django/db/models/signals.py | 54 + .../django/django/db/models/sql/__init__.py | 6 + .../django/django/db/models/sql/compiler.py | 2115 +++ .../django/django/db/models/sql/constants.py | 24 + .../django/db/models/sql/datastructures.py | 238 + .../django/django/db/models/sql/query.py | 2735 ++++ .../django/django/db/models/sql/subqueries.py | 174 + .../django/django/db/models/sql/where.py | 365 + .../django/django/db/models/utils.py | 69 + .../django/django/db/transaction.py | 340 + external_sources/django/django/db/utils.py | 278 + .../django/django/dispatch/__init__.py | 9 + .../django/django/dispatch/dispatcher.py | 494 + .../django/django/dispatch/license.txt | 36 + .../django/django/forms/__init__.py | 11 + .../django/django/forms/boundfield.py | 359 + .../django/django/forms/fields.py | 1410 ++ external_sources/django/django/forms/forms.py | 426 + .../django/django/forms/formsets.py | 579 + .../forms/jinja2/django/forms/attrs.html | 1 + .../django/forms/jinja2/django/forms/div.html | 15 + .../django/forms/errors/dict/default.html | 1 + .../jinja2/django/forms/errors/dict/text.txt | 3 + .../jinja2/django/forms/errors/dict/ul.html | 1 + .../django/forms/errors/list/default.html | 1 + .../jinja2/django/forms/errors/list/text.txt | 2 + .../jinja2/django/forms/errors/list/ul.html | 1 + .../forms/jinja2/django/forms/field.html | 10 + .../jinja2/django/forms/formsets/div.html | 1 + .../forms/jinja2/django/forms/formsets/p.html | 1 + .../jinja2/django/forms/formsets/table.html | 1 + .../jinja2/django/forms/formsets/ul.html | 1 + .../forms/jinja2/django/forms/label.html | 1 + .../django/forms/jinja2/django/forms/p.html | 20 + .../forms/jinja2/django/forms/table.html | 29 + .../django/forms/jinja2/django/forms/ul.html | 24 + .../jinja2/django/forms/widgets/attrs.html | 1 + .../jinja2/django/forms/widgets/checkbox.html | 1 + .../django/forms/widgets/checkbox_option.html | 1 + .../django/forms/widgets/checkbox_select.html | 1 + .../forms/widgets/clearable_file_input.html | 5 + .../jinja2/django/forms/widgets/date.html | 1 + .../jinja2/django/forms/widgets/datetime.html | 1 + .../jinja2/django/forms/widgets/email.html | 1 + .../jinja2/django/forms/widgets/file.html | 1 + .../jinja2/django/forms/widgets/hidden.html | 1 + .../jinja2/django/forms/widgets/input.html | 1 + .../django/forms/widgets/input_option.html | 1 + .../django/forms/widgets/multiple_hidden.html | 1 + .../django/forms/widgets/multiple_input.html | 5 + .../django/forms/widgets/multiwidget.html | 1 + .../jinja2/django/forms/widgets/number.html | 1 + .../jinja2/django/forms/widgets/password.html | 1 + .../jinja2/django/forms/widgets/radio.html | 1 + .../django/forms/widgets/radio_option.html | 1 + .../jinja2/django/forms/widgets/select.html | 5 + .../django/forms/widgets/select_date.html | 1 + .../django/forms/widgets/select_option.html | 1 + .../django/forms/widgets/splitdatetime.html | 1 + .../forms/widgets/splithiddendatetime.html | 1 + .../jinja2/django/forms/widgets/text.html | 1 + .../jinja2/django/forms/widgets/textarea.html | 2 + .../jinja2/django/forms/widgets/time.html | 1 + .../jinja2/django/forms/widgets/url.html | 1 + .../django/django/forms/models.py | 1687 +++ .../django/django/forms/renderers.py | 110 + .../forms/templates/django/forms/attrs.html | 1 + .../forms/templates/django/forms/div.html | 15 + .../django/forms/errors/dict/default.html | 1 + .../django/forms/errors/dict/text.txt | 3 + .../django/forms/errors/dict/ul.html | 1 + .../django/forms/errors/list/default.html | 1 + .../django/forms/errors/list/text.txt | 2 + .../django/forms/errors/list/ul.html | 1 + .../forms/templates/django/forms/field.html | 9 + .../templates/django/forms/formsets/div.html | 1 + .../templates/django/forms/formsets/p.html | 1 + .../django/forms/formsets/table.html | 1 + .../templates/django/forms/formsets/ul.html | 1 + .../forms/templates/django/forms/label.html | 1 + .../forms/templates/django/forms/p.html | 20 + .../forms/templates/django/forms/table.html | 29 + .../forms/templates/django/forms/ul.html | 24 + .../templates/django/forms/widgets/attrs.html | 1 + .../django/forms/widgets/checkbox.html | 1 + .../django/forms/widgets/checkbox_option.html | 1 + .../django/forms/widgets/checkbox_select.html | 1 + .../forms/widgets/clearable_file_input.html | 5 + .../templates/django/forms/widgets/date.html | 1 + .../django/forms/widgets/datetime.html | 1 + .../templates/django/forms/widgets/email.html | 1 + .../templates/django/forms/widgets/file.html | 1 + .../django/forms/widgets/hidden.html | 1 + .../templates/django/forms/widgets/input.html | 1 + .../django/forms/widgets/input_option.html | 1 + .../django/forms/widgets/multiple_hidden.html | 1 + .../django/forms/widgets/multiple_input.html | 5 + .../django/forms/widgets/multiwidget.html | 1 + .../django/forms/widgets/number.html | 1 + .../django/forms/widgets/password.html | 1 + .../templates/django/forms/widgets/radio.html | 1 + .../django/forms/widgets/radio_option.html | 1 + .../django/forms/widgets/select.html | 5 + .../django/forms/widgets/select_date.html | 1 + .../django/forms/widgets/select_option.html | 1 + .../django/forms/widgets/splitdatetime.html | 1 + .../forms/widgets/splithiddendatetime.html | 1 + .../templates/django/forms/widgets/text.html | 1 + .../django/forms/widgets/textarea.html | 2 + .../templates/django/forms/widgets/time.html | 1 + .../templates/django/forms/widgets/url.html | 1 + external_sources/django/django/forms/utils.py | 244 + .../django/django/forms/widgets.py | 1210 ++ .../django/django/http/__init__.py | 52 + external_sources/django/django/http/cookie.py | 23 + .../django/django/http/multipartparser.py | 754 ++ .../django/django/http/request.py | 738 ++ .../django/django/http/response.py | 734 ++ .../django/django/middleware/__init__.py | 0 .../django/django/middleware/cache.py | 223 + .../django/django/middleware/clickjacking.py | 48 + .../django/django/middleware/common.py | 178 + .../django/django/middleware/csrf.py | 483 + .../django/django/middleware/gzip.py | 74 + .../django/django/middleware/http.py | 40 + .../django/django/middleware/locale.py | 80 + .../django/django/middleware/security.py | 66 + external_sources/django/django/shortcuts.py | 190 + .../django/django/template/__init__.py | 75 + .../django/django/template/autoreload.py | 61 + .../django/template/backends/__init__.py | 0 .../django/django/template/backends/base.py | 83 + .../django/django/template/backends/django.py | 182 + .../django/django/template/backends/dummy.py | 51 + .../django/django/template/backends/jinja2.py | 125 + .../django/django/template/backends/utils.py | 15 + .../django/django/template/base.py | 1124 ++ .../django/django/template/context.py | 300 + .../django/template/context_processors.py | 89 + .../django/django/template/defaultfilters.py | 991 ++ .../django/django/template/defaulttags.py | 1542 +++ .../django/django/template/engine.py | 214 + .../django/django/template/exceptions.py | 44 + .../django/django/template/library.py | 387 + .../django/django/template/loader.py | 66 + .../django/django/template/loader_tags.py | 354 + .../django/template/loaders/__init__.py | 0 .../template/loaders/app_directories.py | 13 + .../django/django/template/loaders/base.py | 51 + .../django/django/template/loaders/cached.py | 100 + .../django/template/loaders/filesystem.py | 45 + .../django/django/template/loaders/locmem.py | 26 + .../django/django/template/response.py | 164 + .../django/django/template/smartif.py | 214 + .../django/django/template/utils.py | 111 + .../django/django/templatetags/__init__.py | 0 .../django/django/templatetags/cache.py | 100 + .../django/django/templatetags/i18n.py | 616 + .../django/django/templatetags/l10n.py | 60 + .../django/django/templatetags/static.py | 179 + .../django/django/templatetags/tz.py | 202 + .../django/django/test/__init__.py | 38 + external_sources/django/django/test/client.py | 1756 +++ external_sources/django/django/test/html.py | 273 + external_sources/django/django/test/runner.py | 1236 ++ .../django/django/test/selenium.py | 263 + .../django/django/test/signals.py | 253 + .../django/django/test/testcases.py | 1859 +++ external_sources/django/django/test/utils.py | 994 ++ .../django/django/urls/__init__.py | 53 + external_sources/django/django/urls/base.py | 187 + external_sources/django/django/urls/conf.py | 96 + .../django/django/urls/converters.py | 78 + .../django/django/urls/exceptions.py | 9 + .../django/django/urls/resolvers.py | 831 ++ external_sources/django/django/urls/utils.py | 66 + .../django/django/utils/__init__.py | 0 external_sources/django/django/utils/_os.py | 62 + .../django/django/utils/archive.py | 258 + .../django/django/utils/asyncio.py | 39 + .../django/django/utils/autoreload.py | 676 + external_sources/django/django/utils/cache.py | 444 + .../django/django/utils/choices.py | 115 + .../django/django/utils/connection.py | 85 + .../django/django/utils/crypto.py | 77 + .../django/django/utils/datastructures.py | 345 + .../django/django/utils/dateformat.py | 331 + .../django/django/utils/dateparse.py | 154 + external_sources/django/django/utils/dates.py | 79 + .../django/django/utils/deconstruct.py | 61 + .../django/django/utils/decorators.py | 225 + .../django/django/utils/deprecation.py | 151 + .../django/django/utils/duration.py | 46 + .../django/django/utils/encoding.py | 262 + .../django/django/utils/feedgenerator.py | 448 + .../django/django/utils/formats.py | 305 + .../django/django/utils/functional.py | 451 + .../django/django/utils/hashable.py | 26 + external_sources/django/django/utils/html.py | 504 + external_sources/django/django/utils/http.py | 374 + .../django/django/utils/inspect.py | 76 + external_sources/django/django/utils/ipv6.py | 49 + .../django/django/utils/itercompat.py | 21 + external_sources/django/django/utils/jslex.py | 250 + external_sources/django/django/utils/log.py | 257 + .../django/django/utils/lorem_ipsum.py | 286 + .../django/django/utils/module_loading.py | 107 + .../django/django/utils/numberformat.py | 105 + .../django/django/utils/regex_helper.py | 354 + .../django/django/utils/safestring.py | 72 + .../django/django/utils/termcolors.py | 221 + external_sources/django/django/utils/text.py | 487 + .../django/django/utils/timesince.py | 142 + .../django/django/utils/timezone.py | 259 + .../django/utils/translation/__init__.py | 302 + .../django/utils/translation/reloader.py | 36 + .../django/utils/translation/template.py | 246 + .../django/utils/translation/trans_null.py | 67 + .../django/utils/translation/trans_real.py | 655 + external_sources/django/django/utils/tree.py | 126 + .../django/django/utils/version.py | 123 + .../django/django/utils/xmlutils.py | 35 + .../django/django/views/__init__.py | 3 + external_sources/django/django/views/csrf.py | 80 + external_sources/django/django/views/debug.py | 665 + .../django/views/decorators/__init__.py | 0 .../django/django/views/decorators/cache.py | 84 + .../django/views/decorators/clickjacking.py | 90 + .../django/django/views/decorators/common.py | 27 + .../django/django/views/decorators/csrf.py | 69 + .../django/django/views/decorators/debug.py | 147 + .../django/django/views/decorators/gzip.py | 5 + .../django/django/views/decorators/http.py | 169 + .../django/django/views/decorators/vary.py | 44 + .../django/django/views/defaults.py | 150 + .../django/django/views/generic/__init__.py | 39 + .../django/django/views/generic/base.py | 285 + .../django/django/views/generic/dates.py | 795 ++ .../django/django/views/generic/detail.py | 180 + .../django/django/views/generic/edit.py | 274 + .../django/django/views/generic/list.py | 220 + external_sources/django/django/views/i18n.py | 251 + .../django/django/views/static.py | 122 + .../django/views/templates/csrf_403.html | 84 + .../views/templates/default_urlconf.html | 241 + .../views/templates/directory_index.html | 21 + .../django/views/templates/i18n_catalog.js | 102 + .../django/views/templates/technical_404.html | 85 + .../django/views/templates/technical_500.html | 497 + .../django/views/templates/technical_500.txt | 66 + 2424 files changed, 547592 insertions(+) create mode 100644 external_sources/django/django/__init__.py create mode 100644 external_sources/django/django/__main__.py create mode 100644 external_sources/django/django/apps/__init__.py create mode 100644 external_sources/django/django/apps/config.py create mode 100644 external_sources/django/django/apps/registry.py create mode 100644 external_sources/django/django/conf/__init__.py create mode 100644 external_sources/django/django/conf/app_template/__init__.py-tpl create mode 100644 external_sources/django/django/conf/app_template/admin.py-tpl create mode 100644 external_sources/django/django/conf/app_template/apps.py-tpl create mode 100644 external_sources/django/django/conf/app_template/migrations/__init__.py-tpl create mode 100644 external_sources/django/django/conf/app_template/models.py-tpl create mode 100644 external_sources/django/django/conf/app_template/tests.py-tpl create mode 100644 external_sources/django/django/conf/app_template/views.py-tpl create mode 100644 external_sources/django/django/conf/global_settings.py create mode 100644 external_sources/django/django/conf/locale/__init__.py create mode 100644 external_sources/django/django/conf/locale/af/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/ar/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/ar/__init__.py create mode 100644 external_sources/django/django/conf/locale/ar/formats.py create mode 100644 external_sources/django/django/conf/locale/ar_DZ/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/ar_DZ/__init__.py create mode 100644 external_sources/django/django/conf/locale/ar_DZ/formats.py create mode 100644 external_sources/django/django/conf/locale/ast/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/az/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/az/__init__.py create mode 100644 external_sources/django/django/conf/locale/az/formats.py create mode 100644 external_sources/django/django/conf/locale/be/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/bg/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/bg/__init__.py create mode 100644 external_sources/django/django/conf/locale/bg/formats.py create mode 100644 external_sources/django/django/conf/locale/bn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/bn/__init__.py create mode 100644 external_sources/django/django/conf/locale/bn/formats.py create mode 100644 external_sources/django/django/conf/locale/br/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/bs/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/bs/__init__.py create mode 100644 external_sources/django/django/conf/locale/bs/formats.py create mode 100644 external_sources/django/django/conf/locale/ca/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/ca/__init__.py create mode 100644 external_sources/django/django/conf/locale/ca/formats.py create mode 100644 external_sources/django/django/conf/locale/ckb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/ckb/__init__.py create mode 100644 external_sources/django/django/conf/locale/ckb/formats.py create mode 100644 external_sources/django/django/conf/locale/cs/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/cs/__init__.py create mode 100644 external_sources/django/django/conf/locale/cs/formats.py create mode 100644 external_sources/django/django/conf/locale/cy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/cy/__init__.py create mode 100644 external_sources/django/django/conf/locale/cy/formats.py create mode 100644 external_sources/django/django/conf/locale/da/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/da/__init__.py create mode 100644 external_sources/django/django/conf/locale/da/formats.py create mode 100644 external_sources/django/django/conf/locale/de/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/de/__init__.py create mode 100644 external_sources/django/django/conf/locale/de/formats.py create mode 100644 external_sources/django/django/conf/locale/de_CH/__init__.py create mode 100644 external_sources/django/django/conf/locale/de_CH/formats.py create mode 100644 external_sources/django/django/conf/locale/dsb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/el/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/el/__init__.py create mode 100644 external_sources/django/django/conf/locale/el/formats.py create mode 100644 external_sources/django/django/conf/locale/en/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/en/__init__.py create mode 100644 external_sources/django/django/conf/locale/en/formats.py create mode 100644 external_sources/django/django/conf/locale/en_AU/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/en_AU/__init__.py create mode 100644 external_sources/django/django/conf/locale/en_AU/formats.py create mode 100644 external_sources/django/django/conf/locale/en_CA/__init__.py create mode 100644 external_sources/django/django/conf/locale/en_CA/formats.py create mode 100644 external_sources/django/django/conf/locale/en_GB/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/en_GB/__init__.py create mode 100644 external_sources/django/django/conf/locale/en_GB/formats.py create mode 100644 external_sources/django/django/conf/locale/en_IE/__init__.py create mode 100644 external_sources/django/django/conf/locale/en_IE/formats.py create mode 100644 external_sources/django/django/conf/locale/eo/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/eo/__init__.py create mode 100644 external_sources/django/django/conf/locale/eo/formats.py create mode 100644 external_sources/django/django/conf/locale/es/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/es/__init__.py create mode 100644 external_sources/django/django/conf/locale/es/formats.py create mode 100644 external_sources/django/django/conf/locale/es_AR/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/es_AR/__init__.py create mode 100644 external_sources/django/django/conf/locale/es_AR/formats.py create mode 100644 external_sources/django/django/conf/locale/es_CO/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/es_CO/__init__.py create mode 100644 external_sources/django/django/conf/locale/es_CO/formats.py create mode 100644 external_sources/django/django/conf/locale/es_MX/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/es_MX/__init__.py create mode 100644 external_sources/django/django/conf/locale/es_MX/formats.py create mode 100644 external_sources/django/django/conf/locale/es_NI/__init__.py create mode 100644 external_sources/django/django/conf/locale/es_NI/formats.py create mode 100644 external_sources/django/django/conf/locale/es_PR/__init__.py create mode 100644 external_sources/django/django/conf/locale/es_PR/formats.py create mode 100644 external_sources/django/django/conf/locale/es_VE/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/et/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/et/__init__.py create mode 100644 external_sources/django/django/conf/locale/et/formats.py create mode 100644 external_sources/django/django/conf/locale/eu/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/eu/__init__.py create mode 100644 external_sources/django/django/conf/locale/eu/formats.py create mode 100644 external_sources/django/django/conf/locale/fa/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/fa/__init__.py create mode 100644 external_sources/django/django/conf/locale/fa/formats.py create mode 100644 external_sources/django/django/conf/locale/fi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/fi/__init__.py create mode 100644 external_sources/django/django/conf/locale/fi/formats.py create mode 100644 external_sources/django/django/conf/locale/fr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/fr/__init__.py create mode 100644 external_sources/django/django/conf/locale/fr/formats.py create mode 100644 external_sources/django/django/conf/locale/fr_BE/__init__.py create mode 100644 external_sources/django/django/conf/locale/fr_BE/formats.py create mode 100644 external_sources/django/django/conf/locale/fr_CA/__init__.py create mode 100644 external_sources/django/django/conf/locale/fr_CA/formats.py create mode 100644 external_sources/django/django/conf/locale/fr_CH/__init__.py create mode 100644 external_sources/django/django/conf/locale/fr_CH/formats.py create mode 100644 external_sources/django/django/conf/locale/fy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/fy/__init__.py create mode 100644 external_sources/django/django/conf/locale/fy/formats.py create mode 100644 external_sources/django/django/conf/locale/ga/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/ga/__init__.py create mode 100644 external_sources/django/django/conf/locale/ga/formats.py create mode 100644 external_sources/django/django/conf/locale/gd/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/gd/__init__.py create mode 100644 external_sources/django/django/conf/locale/gd/formats.py create mode 100644 external_sources/django/django/conf/locale/gl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/gl/__init__.py create mode 100644 external_sources/django/django/conf/locale/gl/formats.py create mode 100644 external_sources/django/django/conf/locale/he/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/he/__init__.py create mode 100644 external_sources/django/django/conf/locale/he/formats.py create mode 100644 external_sources/django/django/conf/locale/hi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/hi/__init__.py create mode 100644 external_sources/django/django/conf/locale/hi/formats.py create mode 100644 external_sources/django/django/conf/locale/hr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/hr/__init__.py create mode 100644 external_sources/django/django/conf/locale/hr/formats.py create mode 100644 external_sources/django/django/conf/locale/hsb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/hu/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/hu/__init__.py create mode 100644 external_sources/django/django/conf/locale/hu/formats.py create mode 100644 external_sources/django/django/conf/locale/hy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/ia/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/id/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/id/__init__.py create mode 100644 external_sources/django/django/conf/locale/id/formats.py create mode 100644 external_sources/django/django/conf/locale/ig/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/ig/__init__.py create mode 100644 external_sources/django/django/conf/locale/ig/formats.py create mode 100644 external_sources/django/django/conf/locale/io/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/is/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/is/__init__.py create mode 100644 external_sources/django/django/conf/locale/is/formats.py create mode 100644 external_sources/django/django/conf/locale/it/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/it/__init__.py create mode 100644 external_sources/django/django/conf/locale/it/formats.py create mode 100644 external_sources/django/django/conf/locale/ja/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/ja/__init__.py create mode 100644 external_sources/django/django/conf/locale/ja/formats.py create mode 100644 external_sources/django/django/conf/locale/ka/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/ka/__init__.py create mode 100644 external_sources/django/django/conf/locale/ka/formats.py create mode 100644 external_sources/django/django/conf/locale/kab/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/kk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/km/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/km/__init__.py create mode 100644 external_sources/django/django/conf/locale/km/formats.py create mode 100644 external_sources/django/django/conf/locale/kn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/kn/__init__.py create mode 100644 external_sources/django/django/conf/locale/kn/formats.py create mode 100644 external_sources/django/django/conf/locale/ko/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/ko/__init__.py create mode 100644 external_sources/django/django/conf/locale/ko/formats.py create mode 100644 external_sources/django/django/conf/locale/ky/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/ky/__init__.py create mode 100644 external_sources/django/django/conf/locale/ky/formats.py create mode 100644 external_sources/django/django/conf/locale/lb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/lt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/lt/__init__.py create mode 100644 external_sources/django/django/conf/locale/lt/formats.py create mode 100644 external_sources/django/django/conf/locale/lv/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/lv/__init__.py create mode 100644 external_sources/django/django/conf/locale/lv/formats.py create mode 100644 external_sources/django/django/conf/locale/mk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/mk/__init__.py create mode 100644 external_sources/django/django/conf/locale/mk/formats.py create mode 100644 external_sources/django/django/conf/locale/ml/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/ml/__init__.py create mode 100644 external_sources/django/django/conf/locale/ml/formats.py create mode 100644 external_sources/django/django/conf/locale/mn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/mn/__init__.py create mode 100644 external_sources/django/django/conf/locale/mn/formats.py create mode 100644 external_sources/django/django/conf/locale/mr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/ms/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/ms/__init__.py create mode 100644 external_sources/django/django/conf/locale/ms/formats.py create mode 100644 external_sources/django/django/conf/locale/my/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/nb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/nb/__init__.py create mode 100644 external_sources/django/django/conf/locale/nb/formats.py create mode 100644 external_sources/django/django/conf/locale/ne/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/nl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/nl/__init__.py create mode 100644 external_sources/django/django/conf/locale/nl/formats.py create mode 100644 external_sources/django/django/conf/locale/nn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/nn/__init__.py create mode 100644 external_sources/django/django/conf/locale/nn/formats.py create mode 100644 external_sources/django/django/conf/locale/os/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/pa/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/pl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/pl/__init__.py create mode 100644 external_sources/django/django/conf/locale/pl/formats.py create mode 100644 external_sources/django/django/conf/locale/pt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/pt/__init__.py create mode 100644 external_sources/django/django/conf/locale/pt/formats.py create mode 100644 external_sources/django/django/conf/locale/pt_BR/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/pt_BR/__init__.py create mode 100644 external_sources/django/django/conf/locale/pt_BR/formats.py create mode 100644 external_sources/django/django/conf/locale/ro/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/ro/__init__.py create mode 100644 external_sources/django/django/conf/locale/ro/formats.py create mode 100644 external_sources/django/django/conf/locale/ru/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/ru/__init__.py create mode 100644 external_sources/django/django/conf/locale/ru/formats.py create mode 100644 external_sources/django/django/conf/locale/sk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/sk/__init__.py create mode 100644 external_sources/django/django/conf/locale/sk/formats.py create mode 100644 external_sources/django/django/conf/locale/sl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/sl/__init__.py create mode 100644 external_sources/django/django/conf/locale/sl/formats.py create mode 100644 external_sources/django/django/conf/locale/sq/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/sq/__init__.py create mode 100644 external_sources/django/django/conf/locale/sq/formats.py create mode 100644 external_sources/django/django/conf/locale/sr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/sr/__init__.py create mode 100644 external_sources/django/django/conf/locale/sr/formats.py create mode 100644 external_sources/django/django/conf/locale/sr_Latn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/sr_Latn/__init__.py create mode 100644 external_sources/django/django/conf/locale/sr_Latn/formats.py create mode 100644 external_sources/django/django/conf/locale/sv/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/sv/__init__.py create mode 100644 external_sources/django/django/conf/locale/sv/formats.py create mode 100644 external_sources/django/django/conf/locale/sw/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/ta/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/ta/__init__.py create mode 100644 external_sources/django/django/conf/locale/ta/formats.py create mode 100644 external_sources/django/django/conf/locale/te/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/te/__init__.py create mode 100644 external_sources/django/django/conf/locale/te/formats.py create mode 100644 external_sources/django/django/conf/locale/tg/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/tg/__init__.py create mode 100644 external_sources/django/django/conf/locale/tg/formats.py create mode 100644 external_sources/django/django/conf/locale/th/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/th/__init__.py create mode 100644 external_sources/django/django/conf/locale/th/formats.py create mode 100644 external_sources/django/django/conf/locale/tk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/tk/__init__.py create mode 100644 external_sources/django/django/conf/locale/tk/formats.py create mode 100644 external_sources/django/django/conf/locale/tr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/tr/__init__.py create mode 100644 external_sources/django/django/conf/locale/tr/formats.py create mode 100644 external_sources/django/django/conf/locale/tt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/udm/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/ug/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/ug/__init__.py create mode 100644 external_sources/django/django/conf/locale/ug/formats.py create mode 100644 external_sources/django/django/conf/locale/uk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/uk/__init__.py create mode 100644 external_sources/django/django/conf/locale/uk/formats.py create mode 100644 external_sources/django/django/conf/locale/ur/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/uz/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/uz/__init__.py create mode 100644 external_sources/django/django/conf/locale/uz/formats.py create mode 100644 external_sources/django/django/conf/locale/vi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/vi/__init__.py create mode 100644 external_sources/django/django/conf/locale/vi/formats.py create mode 100644 external_sources/django/django/conf/locale/zh_Hans/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/zh_Hans/__init__.py create mode 100644 external_sources/django/django/conf/locale/zh_Hans/formats.py create mode 100644 external_sources/django/django/conf/locale/zh_Hant/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/conf/locale/zh_Hant/__init__.py create mode 100644 external_sources/django/django/conf/locale/zh_Hant/formats.py create mode 100644 external_sources/django/django/conf/project_template/manage.py-tpl create mode 100644 external_sources/django/django/conf/project_template/project_name/__init__.py-tpl create mode 100644 external_sources/django/django/conf/project_template/project_name/asgi.py-tpl create mode 100644 external_sources/django/django/conf/project_template/project_name/settings.py-tpl create mode 100644 external_sources/django/django/conf/project_template/project_name/urls.py-tpl create mode 100644 external_sources/django/django/conf/project_template/project_name/wsgi.py-tpl create mode 100644 external_sources/django/django/conf/urls/__init__.py create mode 100644 external_sources/django/django/conf/urls/i18n.py create mode 100644 external_sources/django/django/conf/urls/static.py create mode 100644 external_sources/django/django/contrib/__init__.py create mode 100644 external_sources/django/django/contrib/admin/__init__.py create mode 100644 external_sources/django/django/contrib/admin/actions.py create mode 100644 external_sources/django/django/contrib/admin/apps.py create mode 100644 external_sources/django/django/contrib/admin/checks.py create mode 100644 external_sources/django/django/contrib/admin/decorators.py create mode 100644 external_sources/django/django/contrib/admin/exceptions.py create mode 100644 external_sources/django/django/contrib/admin/filters.py create mode 100644 external_sources/django/django/contrib/admin/forms.py create mode 100644 external_sources/django/django/contrib/admin/helpers.py create mode 100644 external_sources/django/django/contrib/admin/locale/af/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/af/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/am/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/ar/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/ar/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/ar_DZ/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/ar_DZ/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/ast/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/ast/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/az/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/az/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/be/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/be/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/bg/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/bg/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/bn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/bn/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/br/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/br/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/bs/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/bs/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/ca/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/ca/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/ckb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/ckb/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/cs/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/cs/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/cy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/cy/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/da/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/da/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/de/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/de/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/dsb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/dsb/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/el/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/el/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/en/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/en/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/en_AU/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/en_AU/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/en_GB/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/en_GB/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/eo/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/eo/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/es/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/es/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/es_AR/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/es_AR/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/es_CO/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/es_CO/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/es_MX/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/es_MX/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/es_VE/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/es_VE/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/et/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/et/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/eu/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/eu/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/fa/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/fa/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/fi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/fi/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/fr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/fr/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/fy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/fy/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/ga/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/ga/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/gd/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/gd/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/gl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/gl/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/he/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/he/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/hi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/hi/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/hr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/hr/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/hsb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/hsb/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/hu/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/hu/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/hy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/hy/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/ia/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/ia/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/id/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/id/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/io/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/io/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/is/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/is/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/it/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/it/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/ja/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/ja/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/ka/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/ka/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/kab/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/kab/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/kk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/kk/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/km/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/km/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/kn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/kn/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/ko/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/ky/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/ky/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/lb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/lb/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/lt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/lt/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/lv/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/lv/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/mk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/mk/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/ml/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/ml/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/mn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/mn/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/mr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/mr/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/ms/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/ms/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/my/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/my/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/nb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/nb/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/ne/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/ne/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/nl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/nl/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/nn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/nn/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/os/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/os/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/pa/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/pa/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/pl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/pl/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/pt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/pt/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/pt_BR/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/pt_BR/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/ro/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/ro/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/ru/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/ru/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/sk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/sk/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/sl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/sl/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/sq/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/sq/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/sr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/sr/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/sr_Latn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/sr_Latn/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/sv/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/sv/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/sw/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/sw/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/ta/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/ta/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/te/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/te/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/tg/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/tg/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/th/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/th/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/tk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/tr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/tr/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/tt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/tt/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/udm/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/udm/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/ug/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/ug/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/uk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/uk/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/ur/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/ur/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/uz/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/uz/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/vi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/vi/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/zh_Hans/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/zh_Hans/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/locale/zh_Hant/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admin/locale/zh_Hant/LC_MESSAGES/djangojs.po create mode 100644 external_sources/django/django/contrib/admin/migrations/0001_initial.py create mode 100644 external_sources/django/django/contrib/admin/migrations/0002_logentry_remove_auto_add.py create mode 100644 external_sources/django/django/contrib/admin/migrations/0003_logentry_add_action_flag_choices.py create mode 100644 external_sources/django/django/contrib/admin/migrations/__init__.py create mode 100644 external_sources/django/django/contrib/admin/models.py create mode 100644 external_sources/django/django/contrib/admin/options.py create mode 100644 external_sources/django/django/contrib/admin/sites.py create mode 100644 external_sources/django/django/contrib/admin/static/admin/css/autocomplete.css create mode 100644 external_sources/django/django/contrib/admin/static/admin/css/base.css create mode 100644 external_sources/django/django/contrib/admin/static/admin/css/changelists.css create mode 100644 external_sources/django/django/contrib/admin/static/admin/css/dark_mode.css create mode 100644 external_sources/django/django/contrib/admin/static/admin/css/dashboard.css create mode 100644 external_sources/django/django/contrib/admin/static/admin/css/forms.css create mode 100644 external_sources/django/django/contrib/admin/static/admin/css/login.css create mode 100644 external_sources/django/django/contrib/admin/static/admin/css/nav_sidebar.css create mode 100644 external_sources/django/django/contrib/admin/static/admin/css/responsive.css create mode 100644 external_sources/django/django/contrib/admin/static/admin/css/responsive_rtl.css create mode 100644 external_sources/django/django/contrib/admin/static/admin/css/rtl.css create mode 100644 external_sources/django/django/contrib/admin/static/admin/css/unusable_password_field.css create mode 100644 external_sources/django/django/contrib/admin/static/admin/css/vendor/select2/LICENSE-SELECT2.md create mode 100644 external_sources/django/django/contrib/admin/static/admin/css/vendor/select2/select2.css create mode 100644 external_sources/django/django/contrib/admin/static/admin/css/vendor/select2/select2.min.css create mode 100644 external_sources/django/django/contrib/admin/static/admin/css/widgets.css create mode 100644 external_sources/django/django/contrib/admin/static/admin/img/LICENSE create mode 100644 external_sources/django/django/contrib/admin/static/admin/img/README.txt create mode 100644 external_sources/django/django/contrib/admin/static/admin/img/calendar-icons.svg create mode 100644 external_sources/django/django/contrib/admin/static/admin/img/gis/move_vertex_off.svg create mode 100644 external_sources/django/django/contrib/admin/static/admin/img/gis/move_vertex_on.svg create mode 100644 external_sources/django/django/contrib/admin/static/admin/img/icon-addlink.svg create mode 100644 external_sources/django/django/contrib/admin/static/admin/img/icon-alert.svg create mode 100644 external_sources/django/django/contrib/admin/static/admin/img/icon-calendar.svg create mode 100644 external_sources/django/django/contrib/admin/static/admin/img/icon-changelink.svg create mode 100644 external_sources/django/django/contrib/admin/static/admin/img/icon-clock.svg create mode 100644 external_sources/django/django/contrib/admin/static/admin/img/icon-deletelink.svg create mode 100644 external_sources/django/django/contrib/admin/static/admin/img/icon-hidelink.svg create mode 100644 external_sources/django/django/contrib/admin/static/admin/img/icon-no.svg create mode 100644 external_sources/django/django/contrib/admin/static/admin/img/icon-unknown-alt.svg create mode 100644 external_sources/django/django/contrib/admin/static/admin/img/icon-unknown.svg create mode 100644 external_sources/django/django/contrib/admin/static/admin/img/icon-viewlink.svg create mode 100644 external_sources/django/django/contrib/admin/static/admin/img/icon-yes.svg create mode 100644 external_sources/django/django/contrib/admin/static/admin/img/inline-delete.svg create mode 100644 external_sources/django/django/contrib/admin/static/admin/img/search.svg create mode 100644 external_sources/django/django/contrib/admin/static/admin/img/selector-icons.svg create mode 100644 external_sources/django/django/contrib/admin/static/admin/img/sorting-icons.svg create mode 100644 external_sources/django/django/contrib/admin/static/admin/img/tooltag-add.svg create mode 100644 external_sources/django/django/contrib/admin/static/admin/img/tooltag-arrowright.svg create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/SelectBox.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/SelectFilter2.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/actions.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/autocomplete.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/calendar.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/cancel.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/change_form.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/core.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/filters.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/inlines.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/jquery.init.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/nav_sidebar.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/popup_response.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/prepopulate.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/prepopulate_init.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/theme.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/unusable_password_field.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/urlify.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/jquery/LICENSE.txt create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/jquery/jquery.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/jquery/jquery.min.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/LICENSE.md create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/af.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ar.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/az.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/bg.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/bn.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/bs.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ca.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/cs.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/da.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/de.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/dsb.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/el.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/en.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/es.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/et.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/eu.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/fa.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/fi.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/fr.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/gl.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/he.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/hi.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/hr.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/hsb.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/hu.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/hy.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/id.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/is.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/it.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ja.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ka.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/km.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ko.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/lt.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/lv.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/mk.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ms.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/nb.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ne.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/nl.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/pl.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ps.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt-BR.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ro.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ru.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/sk.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/sl.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/sq.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr-Cyrl.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/sv.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/th.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/tk.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/tr.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/uk.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/vi.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-CN.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-TW.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/select2.full.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/select2.full.min.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE.txt create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.js create mode 100644 external_sources/django/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.min.js create mode 100644 external_sources/django/django/contrib/admin/templates/admin/404.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/500.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/actions.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/app_index.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/app_list.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/auth/user/add_form.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/auth/user/change_password.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/base.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/base_site.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/change_form.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/change_form_object_tools.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/change_list.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/change_list_object_tools.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/change_list_results.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/color_theme_toggle.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/date_hierarchy.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/delete_confirmation.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/delete_selected_confirmation.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/edit_inline/stacked.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/edit_inline/tabular.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/filter.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/includes/fieldset.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/includes/object_delete_summary.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/index.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/invalid_setup.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/login.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/nav_sidebar.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/object_history.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/pagination.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/popup_response.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/prepopulated_fields_js.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/search_form.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/submit_line.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/widgets/clearable_file_input.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/widgets/date.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/widgets/foreign_key_raw_id.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/widgets/many_to_many_raw_id.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/widgets/radio.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/widgets/related_widget_wrapper.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/widgets/split_datetime.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/widgets/time.html create mode 100644 external_sources/django/django/contrib/admin/templates/admin/widgets/url.html create mode 100644 external_sources/django/django/contrib/admin/templates/registration/logged_out.html create mode 100644 external_sources/django/django/contrib/admin/templates/registration/password_change_done.html create mode 100644 external_sources/django/django/contrib/admin/templates/registration/password_change_form.html create mode 100644 external_sources/django/django/contrib/admin/templates/registration/password_reset_complete.html create mode 100644 external_sources/django/django/contrib/admin/templates/registration/password_reset_confirm.html create mode 100644 external_sources/django/django/contrib/admin/templates/registration/password_reset_done.html create mode 100644 external_sources/django/django/contrib/admin/templates/registration/password_reset_email.html create mode 100644 external_sources/django/django/contrib/admin/templates/registration/password_reset_form.html create mode 100644 external_sources/django/django/contrib/admin/templatetags/__init__.py create mode 100644 external_sources/django/django/contrib/admin/templatetags/admin_list.py create mode 100644 external_sources/django/django/contrib/admin/templatetags/admin_modify.py create mode 100644 external_sources/django/django/contrib/admin/templatetags/admin_urls.py create mode 100644 external_sources/django/django/contrib/admin/templatetags/base.py create mode 100644 external_sources/django/django/contrib/admin/templatetags/log.py create mode 100644 external_sources/django/django/contrib/admin/tests.py create mode 100644 external_sources/django/django/contrib/admin/utils.py create mode 100644 external_sources/django/django/contrib/admin/views/__init__.py create mode 100644 external_sources/django/django/contrib/admin/views/autocomplete.py create mode 100644 external_sources/django/django/contrib/admin/views/decorators.py create mode 100644 external_sources/django/django/contrib/admin/views/main.py create mode 100644 external_sources/django/django/contrib/admin/widgets.py create mode 100644 external_sources/django/django/contrib/admindocs/__init__.py create mode 100644 external_sources/django/django/contrib/admindocs/apps.py create mode 100644 external_sources/django/django/contrib/admindocs/locale/af/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/ar/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/ar_DZ/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/ast/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/az/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/be/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/bg/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/bn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/br/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/bs/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/ca/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/ckb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/cs/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/cy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/da/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/de/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/dsb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/el/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/en/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/en_AU/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/en_GB/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/eo/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/es/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/es_AR/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/es_CO/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/es_MX/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/es_VE/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/et/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/eu/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/fa/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/fi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/fr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/fy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/ga/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/gd/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/gl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/he/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/hi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/hr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/hsb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/hu/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/ia/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/id/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/io/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/is/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/it/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/ja/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/ka/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/kab/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/kk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/km/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/kn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/ko/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/ky/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/lb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/lt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/lv/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/mk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/ml/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/mn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/mr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/ms/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/my/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/nb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/ne/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/nl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/nn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/os/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/pa/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/pl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/pt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/pt_BR/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/ro/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/ru/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/sk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/sl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/sq/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/sr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/sr_Latn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/sv/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/sw/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/ta/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/te/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/tg/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/th/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/tr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/tt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/udm/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/ug/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/uk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/ur/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/vi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/zh_Hans/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/locale/zh_Hant/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/admindocs/middleware.py create mode 100644 external_sources/django/django/contrib/admindocs/templates/admin_doc/bookmarklets.html create mode 100644 external_sources/django/django/contrib/admindocs/templates/admin_doc/index.html create mode 100644 external_sources/django/django/contrib/admindocs/templates/admin_doc/missing_docutils.html create mode 100644 external_sources/django/django/contrib/admindocs/templates/admin_doc/model_detail.html create mode 100644 external_sources/django/django/contrib/admindocs/templates/admin_doc/model_index.html create mode 100644 external_sources/django/django/contrib/admindocs/templates/admin_doc/template_detail.html create mode 100644 external_sources/django/django/contrib/admindocs/templates/admin_doc/template_filter_index.html create mode 100644 external_sources/django/django/contrib/admindocs/templates/admin_doc/template_tag_index.html create mode 100644 external_sources/django/django/contrib/admindocs/templates/admin_doc/view_detail.html create mode 100644 external_sources/django/django/contrib/admindocs/templates/admin_doc/view_index.html create mode 100644 external_sources/django/django/contrib/admindocs/urls.py create mode 100644 external_sources/django/django/contrib/admindocs/utils.py create mode 100644 external_sources/django/django/contrib/admindocs/views.py create mode 100644 external_sources/django/django/contrib/auth/__init__.py create mode 100644 external_sources/django/django/contrib/auth/admin.py create mode 100644 external_sources/django/django/contrib/auth/apps.py create mode 100644 external_sources/django/django/contrib/auth/backends.py create mode 100644 external_sources/django/django/contrib/auth/base_user.py create mode 100644 external_sources/django/django/contrib/auth/checks.py create mode 100644 external_sources/django/django/contrib/auth/common-passwords.txt.gz create mode 100644 external_sources/django/django/contrib/auth/context_processors.py create mode 100644 external_sources/django/django/contrib/auth/decorators.py create mode 100644 external_sources/django/django/contrib/auth/forms.py create mode 100644 external_sources/django/django/contrib/auth/handlers/__init__.py create mode 100644 external_sources/django/django/contrib/auth/handlers/modwsgi.py create mode 100644 external_sources/django/django/contrib/auth/hashers.py create mode 100644 external_sources/django/django/contrib/auth/locale/af/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/ar/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/ar_DZ/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/ast/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/az/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/be/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/bg/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/bn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/br/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/bs/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/ca/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/ckb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/cs/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/cy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/da/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/de/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/dsb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/el/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/en/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/en_AU/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/en_GB/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/eo/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/es/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/es_AR/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/es_CO/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/es_MX/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/es_VE/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/et/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/eu/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/fa/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/fi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/fr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/fy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/ga/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/gd/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/gl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/he/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/hi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/hr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/hsb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/hu/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/hy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/ia/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/id/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/io/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/is/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/it/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/ja/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/ka/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/kab/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/kk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/km/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/kn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/ko/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/ky/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/lb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/lt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/lv/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/mk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/ml/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/mn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/mr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/ms/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/my/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/nb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/ne/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/nl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/nn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/os/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/pa/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/pl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/pt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/pt_BR/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/ro/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/ru/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/sk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/sl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/sq/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/sr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/sr_Latn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/sv/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/sw/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/ta/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/te/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/tg/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/th/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/tk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/tr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/tt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/udm/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/ug/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/uk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/ur/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/uz/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/vi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/zh_Hans/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/locale/zh_Hant/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/auth/management/__init__.py create mode 100644 external_sources/django/django/contrib/auth/management/commands/__init__.py create mode 100644 external_sources/django/django/contrib/auth/management/commands/changepassword.py create mode 100644 external_sources/django/django/contrib/auth/management/commands/createsuperuser.py create mode 100644 external_sources/django/django/contrib/auth/middleware.py create mode 100644 external_sources/django/django/contrib/auth/migrations/0001_initial.py create mode 100644 external_sources/django/django/contrib/auth/migrations/0002_alter_permission_name_max_length.py create mode 100644 external_sources/django/django/contrib/auth/migrations/0003_alter_user_email_max_length.py create mode 100644 external_sources/django/django/contrib/auth/migrations/0004_alter_user_username_opts.py create mode 100644 external_sources/django/django/contrib/auth/migrations/0005_alter_user_last_login_null.py create mode 100644 external_sources/django/django/contrib/auth/migrations/0006_require_contenttypes_0002.py create mode 100644 external_sources/django/django/contrib/auth/migrations/0007_alter_validators_add_error_messages.py create mode 100644 external_sources/django/django/contrib/auth/migrations/0008_alter_user_username_max_length.py create mode 100644 external_sources/django/django/contrib/auth/migrations/0009_alter_user_last_name_max_length.py create mode 100644 external_sources/django/django/contrib/auth/migrations/0010_alter_group_name_max_length.py create mode 100644 external_sources/django/django/contrib/auth/migrations/0011_update_proxy_permissions.py create mode 100644 external_sources/django/django/contrib/auth/migrations/0012_alter_user_first_name_max_length.py create mode 100644 external_sources/django/django/contrib/auth/migrations/__init__.py create mode 100644 external_sources/django/django/contrib/auth/mixins.py create mode 100644 external_sources/django/django/contrib/auth/models.py create mode 100644 external_sources/django/django/contrib/auth/password_validation.py create mode 100644 external_sources/django/django/contrib/auth/signals.py create mode 100644 external_sources/django/django/contrib/auth/templates/auth/widgets/read_only_password_hash.html create mode 100644 external_sources/django/django/contrib/auth/templates/registration/password_reset_subject.txt create mode 100644 external_sources/django/django/contrib/auth/tokens.py create mode 100644 external_sources/django/django/contrib/auth/urls.py create mode 100644 external_sources/django/django/contrib/auth/validators.py create mode 100644 external_sources/django/django/contrib/auth/views.py create mode 100644 external_sources/django/django/contrib/contenttypes/__init__.py create mode 100644 external_sources/django/django/contrib/contenttypes/admin.py create mode 100644 external_sources/django/django/contrib/contenttypes/apps.py create mode 100644 external_sources/django/django/contrib/contenttypes/checks.py create mode 100644 external_sources/django/django/contrib/contenttypes/fields.py create mode 100644 external_sources/django/django/contrib/contenttypes/forms.py create mode 100644 external_sources/django/django/contrib/contenttypes/locale/af/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/ar/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/ar_DZ/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/ast/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/az/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/be/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/bg/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/bn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/br/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/bs/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/ca/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/ckb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/cs/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/cy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/da/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/de/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/dsb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/el/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/en/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/en_AU/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/en_GB/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/eo/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/es/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/es_AR/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/es_CO/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/es_MX/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/es_VE/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/et/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/eu/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/fa/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/fi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/fr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/fy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/ga/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/gd/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/gl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/he/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/hi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/hr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/hsb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/hu/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/hy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/ia/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/id/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/io/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/is/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/it/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/ja/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/ka/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/kk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/km/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/kn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/ko/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/ky/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/lb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/lt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/lv/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/mk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/ml/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/mn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/mr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/ms/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/my/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/nb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/ne/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/nl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/nn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/os/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/pa/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/pl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/pt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/pt_BR/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/ro/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/ru/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/sk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/sl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/sq/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/sr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/sr_Latn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/sv/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/sw/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/ta/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/te/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/tg/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/th/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/tk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/tr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/tt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/udm/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/ug/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/uk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/ur/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/vi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/zh_Hans/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/locale/zh_Hant/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/contenttypes/management/__init__.py create mode 100644 external_sources/django/django/contrib/contenttypes/management/commands/__init__.py create mode 100644 external_sources/django/django/contrib/contenttypes/management/commands/remove_stale_contenttypes.py create mode 100644 external_sources/django/django/contrib/contenttypes/migrations/0001_initial.py create mode 100644 external_sources/django/django/contrib/contenttypes/migrations/0002_remove_content_type_name.py create mode 100644 external_sources/django/django/contrib/contenttypes/migrations/__init__.py create mode 100644 external_sources/django/django/contrib/contenttypes/models.py create mode 100644 external_sources/django/django/contrib/contenttypes/prefetch.py create mode 100644 external_sources/django/django/contrib/contenttypes/views.py create mode 100644 external_sources/django/django/contrib/flatpages/__init__.py create mode 100644 external_sources/django/django/contrib/flatpages/admin.py create mode 100644 external_sources/django/django/contrib/flatpages/apps.py create mode 100644 external_sources/django/django/contrib/flatpages/forms.py create mode 100644 external_sources/django/django/contrib/flatpages/locale/af/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/ar/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/ar_DZ/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/ast/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/az/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/be/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/bg/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/bn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/br/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/bs/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/ca/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/ckb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/cs/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/cy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/da/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/de/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/dsb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/el/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/en/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/en_AU/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/en_GB/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/eo/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/es/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/es_AR/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/es_CO/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/es_MX/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/es_VE/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/et/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/eu/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/fa/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/fi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/fr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/fy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/ga/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/gd/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/gl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/he/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/hi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/hr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/hsb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/hu/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/hy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/ia/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/id/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/io/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/is/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/it/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/ja/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/ka/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/kk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/km/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/kn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/ko/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/ky/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/lb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/lt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/lv/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/mk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/ml/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/mn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/mr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/ms/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/my/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/nb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/ne/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/nl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/nn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/os/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/pa/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/pl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/pt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/pt_BR/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/ro/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/ru/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/sk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/sl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/sq/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/sr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/sr_Latn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/sv/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/sw/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/ta/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/te/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/tg/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/th/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/tk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/tr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/tt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/udm/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/ug/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/uk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/ur/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/vi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/zh_Hans/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/locale/zh_Hant/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/flatpages/middleware.py create mode 100644 external_sources/django/django/contrib/flatpages/migrations/0001_initial.py create mode 100644 external_sources/django/django/contrib/flatpages/migrations/__init__.py create mode 100644 external_sources/django/django/contrib/flatpages/models.py create mode 100644 external_sources/django/django/contrib/flatpages/sitemaps.py create mode 100644 external_sources/django/django/contrib/flatpages/templatetags/__init__.py create mode 100644 external_sources/django/django/contrib/flatpages/templatetags/flatpages.py create mode 100644 external_sources/django/django/contrib/flatpages/urls.py create mode 100644 external_sources/django/django/contrib/flatpages/views.py create mode 100644 external_sources/django/django/contrib/gis/__init__.py create mode 100644 external_sources/django/django/contrib/gis/admin/__init__.py create mode 100644 external_sources/django/django/contrib/gis/admin/options.py create mode 100644 external_sources/django/django/contrib/gis/apps.py create mode 100644 external_sources/django/django/contrib/gis/db/__init__.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/__init__.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/base/__init__.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/base/adapter.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/base/features.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/base/models.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/base/operations.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/mysql/__init__.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/mysql/base.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/mysql/features.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/mysql/introspection.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/mysql/operations.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/mysql/schema.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/oracle/__init__.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/oracle/adapter.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/oracle/base.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/oracle/features.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/oracle/introspection.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/oracle/models.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/oracle/operations.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/oracle/schema.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/postgis/__init__.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/postgis/adapter.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/postgis/base.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/postgis/const.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/postgis/features.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/postgis/introspection.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/postgis/models.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/postgis/operations.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/postgis/pgraster.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/postgis/schema.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/spatialite/__init__.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/spatialite/adapter.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/spatialite/base.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/spatialite/client.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/spatialite/features.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/spatialite/introspection.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/spatialite/models.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/spatialite/operations.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/spatialite/schema.py create mode 100644 external_sources/django/django/contrib/gis/db/backends/utils.py create mode 100644 external_sources/django/django/contrib/gis/db/models/__init__.py create mode 100644 external_sources/django/django/contrib/gis/db/models/aggregates.py create mode 100644 external_sources/django/django/contrib/gis/db/models/fields.py create mode 100644 external_sources/django/django/contrib/gis/db/models/functions.py create mode 100644 external_sources/django/django/contrib/gis/db/models/lookups.py create mode 100644 external_sources/django/django/contrib/gis/db/models/proxy.py create mode 100644 external_sources/django/django/contrib/gis/db/models/sql/__init__.py create mode 100644 external_sources/django/django/contrib/gis/db/models/sql/conversion.py create mode 100644 external_sources/django/django/contrib/gis/feeds.py create mode 100644 external_sources/django/django/contrib/gis/forms/__init__.py create mode 100644 external_sources/django/django/contrib/gis/forms/fields.py create mode 100644 external_sources/django/django/contrib/gis/forms/widgets.py create mode 100644 external_sources/django/django/contrib/gis/gdal/LICENSE create mode 100644 external_sources/django/django/contrib/gis/gdal/__init__.py create mode 100644 external_sources/django/django/contrib/gis/gdal/base.py create mode 100644 external_sources/django/django/contrib/gis/gdal/datasource.py create mode 100644 external_sources/django/django/contrib/gis/gdal/driver.py create mode 100644 external_sources/django/django/contrib/gis/gdal/envelope.py create mode 100644 external_sources/django/django/contrib/gis/gdal/error.py create mode 100644 external_sources/django/django/contrib/gis/gdal/feature.py create mode 100644 external_sources/django/django/contrib/gis/gdal/field.py create mode 100644 external_sources/django/django/contrib/gis/gdal/geometries.py create mode 100644 external_sources/django/django/contrib/gis/gdal/geomtype.py create mode 100644 external_sources/django/django/contrib/gis/gdal/layer.py create mode 100644 external_sources/django/django/contrib/gis/gdal/libgdal.py create mode 100644 external_sources/django/django/contrib/gis/gdal/prototypes/__init__.py create mode 100644 external_sources/django/django/contrib/gis/gdal/prototypes/ds.py create mode 100644 external_sources/django/django/contrib/gis/gdal/prototypes/errcheck.py create mode 100644 external_sources/django/django/contrib/gis/gdal/prototypes/generation.py create mode 100644 external_sources/django/django/contrib/gis/gdal/prototypes/geom.py create mode 100644 external_sources/django/django/contrib/gis/gdal/prototypes/raster.py create mode 100644 external_sources/django/django/contrib/gis/gdal/prototypes/srs.py create mode 100644 external_sources/django/django/contrib/gis/gdal/raster/__init__.py create mode 100644 external_sources/django/django/contrib/gis/gdal/raster/band.py create mode 100644 external_sources/django/django/contrib/gis/gdal/raster/base.py create mode 100644 external_sources/django/django/contrib/gis/gdal/raster/const.py create mode 100644 external_sources/django/django/contrib/gis/gdal/raster/source.py create mode 100644 external_sources/django/django/contrib/gis/gdal/srs.py create mode 100644 external_sources/django/django/contrib/gis/geoip2.py create mode 100644 external_sources/django/django/contrib/gis/geometry.py create mode 100644 external_sources/django/django/contrib/gis/geos/LICENSE create mode 100644 external_sources/django/django/contrib/gis/geos/__init__.py create mode 100644 external_sources/django/django/contrib/gis/geos/base.py create mode 100644 external_sources/django/django/contrib/gis/geos/collections.py create mode 100644 external_sources/django/django/contrib/gis/geos/coordseq.py create mode 100644 external_sources/django/django/contrib/gis/geos/error.py create mode 100644 external_sources/django/django/contrib/gis/geos/factory.py create mode 100644 external_sources/django/django/contrib/gis/geos/geometry.py create mode 100644 external_sources/django/django/contrib/gis/geos/io.py create mode 100644 external_sources/django/django/contrib/gis/geos/libgeos.py create mode 100644 external_sources/django/django/contrib/gis/geos/linestring.py create mode 100644 external_sources/django/django/contrib/gis/geos/mutable_list.py create mode 100644 external_sources/django/django/contrib/gis/geos/point.py create mode 100644 external_sources/django/django/contrib/gis/geos/polygon.py create mode 100644 external_sources/django/django/contrib/gis/geos/prepared.py create mode 100644 external_sources/django/django/contrib/gis/geos/prototypes/__init__.py create mode 100644 external_sources/django/django/contrib/gis/geos/prototypes/coordseq.py create mode 100644 external_sources/django/django/contrib/gis/geos/prototypes/errcheck.py create mode 100644 external_sources/django/django/contrib/gis/geos/prototypes/geom.py create mode 100644 external_sources/django/django/contrib/gis/geos/prototypes/io.py create mode 100644 external_sources/django/django/contrib/gis/geos/prototypes/misc.py create mode 100644 external_sources/django/django/contrib/gis/geos/prototypes/predicates.py create mode 100644 external_sources/django/django/contrib/gis/geos/prototypes/prepared.py create mode 100644 external_sources/django/django/contrib/gis/geos/prototypes/threadsafe.py create mode 100644 external_sources/django/django/contrib/gis/geos/prototypes/topology.py create mode 100644 external_sources/django/django/contrib/gis/locale/af/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/ar/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/ar_DZ/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/ast/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/az/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/be/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/bg/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/bn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/br/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/bs/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/ca/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/ckb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/cs/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/cy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/da/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/de/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/dsb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/el/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/en/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/en_AU/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/en_GB/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/eo/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/es/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/es_AR/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/es_CO/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/es_MX/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/es_VE/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/et/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/eu/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/fa/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/fi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/fr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/fy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/ga/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/gd/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/gl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/he/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/hi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/hr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/hsb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/hu/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/hy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/ia/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/id/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/io/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/is/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/it/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/ja/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/ka/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/kk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/km/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/kn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/ko/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/ky/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/lb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/lt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/lv/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/mk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/ml/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/mn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/mr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/ms/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/my/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/nb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/ne/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/nl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/nn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/os/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/pa/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/pl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/pt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/pt_BR/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/ro/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/ru/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/sk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/sl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/sq/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/sr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/sr_Latn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/sv/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/sw/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/ta/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/te/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/tg/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/th/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/tr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/tt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/udm/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/ug/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/uk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/ur/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/vi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/zh_Hans/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/locale/zh_Hant/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/gis/management/__init__.py create mode 100644 external_sources/django/django/contrib/gis/management/commands/__init__.py create mode 100644 external_sources/django/django/contrib/gis/management/commands/inspectdb.py create mode 100644 external_sources/django/django/contrib/gis/management/commands/ogrinspect.py create mode 100644 external_sources/django/django/contrib/gis/measure.py create mode 100644 external_sources/django/django/contrib/gis/ptr.py create mode 100644 external_sources/django/django/contrib/gis/serializers/__init__.py create mode 100644 external_sources/django/django/contrib/gis/serializers/geojson.py create mode 100644 external_sources/django/django/contrib/gis/shortcuts.py create mode 100644 external_sources/django/django/contrib/gis/sitemaps/__init__.py create mode 100644 external_sources/django/django/contrib/gis/sitemaps/kml.py create mode 100644 external_sources/django/django/contrib/gis/sitemaps/views.py create mode 100644 external_sources/django/django/contrib/gis/static/gis/css/ol3.css create mode 100644 external_sources/django/django/contrib/gis/static/gis/img/draw_line_off.svg create mode 100644 external_sources/django/django/contrib/gis/static/gis/img/draw_line_on.svg create mode 100644 external_sources/django/django/contrib/gis/static/gis/img/draw_point_off.svg create mode 100644 external_sources/django/django/contrib/gis/static/gis/img/draw_point_on.svg create mode 100644 external_sources/django/django/contrib/gis/static/gis/img/draw_polygon_off.svg create mode 100644 external_sources/django/django/contrib/gis/static/gis/img/draw_polygon_on.svg create mode 100644 external_sources/django/django/contrib/gis/static/gis/js/OLMapWidget.js create mode 100644 external_sources/django/django/contrib/gis/templates/gis/kml/base.kml create mode 100644 external_sources/django/django/contrib/gis/templates/gis/kml/placemarks.kml create mode 100644 external_sources/django/django/contrib/gis/templates/gis/openlayers-osm.html create mode 100644 external_sources/django/django/contrib/gis/templates/gis/openlayers.html create mode 100644 external_sources/django/django/contrib/gis/utils/__init__.py create mode 100644 external_sources/django/django/contrib/gis/utils/layermapping.py create mode 100644 external_sources/django/django/contrib/gis/utils/ogrinfo.py create mode 100644 external_sources/django/django/contrib/gis/utils/ogrinspect.py create mode 100644 external_sources/django/django/contrib/gis/utils/srs.py create mode 100644 external_sources/django/django/contrib/gis/views.py create mode 100644 external_sources/django/django/contrib/humanize/__init__.py create mode 100644 external_sources/django/django/contrib/humanize/apps.py create mode 100644 external_sources/django/django/contrib/humanize/locale/af/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/ar/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/ar_DZ/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/ast/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/az/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/be/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/bg/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/bn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/br/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/bs/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/ca/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/ckb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/cs/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/cy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/da/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/de/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/dsb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/el/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/en/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/en_AU/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/en_GB/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/eo/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/es/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/es_AR/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/es_CO/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/es_MX/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/es_VE/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/et/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/eu/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/fa/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/fi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/fr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/fy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/ga/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/gd/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/gl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/he/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/hi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/hr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/hsb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/hu/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/hy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/ia/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/id/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/io/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/is/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/it/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/ja/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/ka/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/kk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/km/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/kn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/ko/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/ky/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/lb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/lt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/lv/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/mk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/ml/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/mn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/mr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/ms/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/my/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/nb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/ne/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/nl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/nn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/os/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/pa/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/pl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/pt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/pt_BR/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/ro/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/ru/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/sk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/sl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/sq/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/sr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/sr_Latn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/sv/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/sw/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/ta/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/te/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/tg/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/th/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/tk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/tr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/tt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/udm/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/ug/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/uk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/ur/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/uz/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/vi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/zh_Hans/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/locale/zh_Hant/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/humanize/templatetags/__init__.py create mode 100644 external_sources/django/django/contrib/humanize/templatetags/humanize.py create mode 100644 external_sources/django/django/contrib/messages/__init__.py create mode 100644 external_sources/django/django/contrib/messages/api.py create mode 100644 external_sources/django/django/contrib/messages/apps.py create mode 100644 external_sources/django/django/contrib/messages/constants.py create mode 100644 external_sources/django/django/contrib/messages/context_processors.py create mode 100644 external_sources/django/django/contrib/messages/middleware.py create mode 100644 external_sources/django/django/contrib/messages/storage/__init__.py create mode 100644 external_sources/django/django/contrib/messages/storage/base.py create mode 100644 external_sources/django/django/contrib/messages/storage/cookie.py create mode 100644 external_sources/django/django/contrib/messages/storage/fallback.py create mode 100644 external_sources/django/django/contrib/messages/storage/session.py create mode 100644 external_sources/django/django/contrib/messages/test.py create mode 100644 external_sources/django/django/contrib/messages/utils.py create mode 100644 external_sources/django/django/contrib/messages/views.py create mode 100644 external_sources/django/django/contrib/postgres/__init__.py create mode 100644 external_sources/django/django/contrib/postgres/aggregates/__init__.py create mode 100644 external_sources/django/django/contrib/postgres/aggregates/general.py create mode 100644 external_sources/django/django/contrib/postgres/aggregates/mixins.py create mode 100644 external_sources/django/django/contrib/postgres/aggregates/statistics.py create mode 100644 external_sources/django/django/contrib/postgres/apps.py create mode 100644 external_sources/django/django/contrib/postgres/constraints.py create mode 100644 external_sources/django/django/contrib/postgres/expressions.py create mode 100644 external_sources/django/django/contrib/postgres/fields/__init__.py create mode 100644 external_sources/django/django/contrib/postgres/fields/array.py create mode 100644 external_sources/django/django/contrib/postgres/fields/citext.py create mode 100644 external_sources/django/django/contrib/postgres/fields/hstore.py create mode 100644 external_sources/django/django/contrib/postgres/fields/jsonb.py create mode 100644 external_sources/django/django/contrib/postgres/fields/ranges.py create mode 100644 external_sources/django/django/contrib/postgres/fields/utils.py create mode 100644 external_sources/django/django/contrib/postgres/forms/__init__.py create mode 100644 external_sources/django/django/contrib/postgres/forms/array.py create mode 100644 external_sources/django/django/contrib/postgres/forms/hstore.py create mode 100644 external_sources/django/django/contrib/postgres/forms/ranges.py create mode 100644 external_sources/django/django/contrib/postgres/functions.py create mode 100644 external_sources/django/django/contrib/postgres/indexes.py create mode 100644 external_sources/django/django/contrib/postgres/jinja2/postgres/widgets/split_array.html create mode 100644 external_sources/django/django/contrib/postgres/locale/af/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/ar/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/ar_DZ/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/az/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/be/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/bg/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/ca/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/ckb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/cs/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/da/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/de/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/dsb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/el/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/en/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/en_AU/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/eo/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/es/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/es_AR/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/es_CO/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/es_MX/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/et/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/eu/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/fa/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/fi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/fr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/ga/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/gd/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/gl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/he/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/hr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/hsb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/hu/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/hy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/ia/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/id/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/is/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/it/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/ja/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/ka/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/kk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/ko/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/ky/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/lt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/lv/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/mk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/ml/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/mn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/mr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/ms/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/nb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/ne/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/nl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/nn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/pl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/pt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/pt_BR/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/ro/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/ru/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/sk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/sl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/sq/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/sr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/sr_Latn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/sv/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/tg/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/tk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/tr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/ug/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/uk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/uz/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/zh_Hans/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/locale/zh_Hant/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/postgres/lookups.py create mode 100644 external_sources/django/django/contrib/postgres/operations.py create mode 100644 external_sources/django/django/contrib/postgres/search.py create mode 100644 external_sources/django/django/contrib/postgres/serializers.py create mode 100644 external_sources/django/django/contrib/postgres/signals.py create mode 100644 external_sources/django/django/contrib/postgres/templates/postgres/widgets/split_array.html create mode 100644 external_sources/django/django/contrib/postgres/utils.py create mode 100644 external_sources/django/django/contrib/postgres/validators.py create mode 100644 external_sources/django/django/contrib/redirects/__init__.py create mode 100644 external_sources/django/django/contrib/redirects/admin.py create mode 100644 external_sources/django/django/contrib/redirects/apps.py create mode 100644 external_sources/django/django/contrib/redirects/locale/af/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/ar/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/ar_DZ/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/ast/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/az/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/be/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/bg/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/bn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/br/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/bs/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/ca/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/ckb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/cs/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/cy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/da/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/de/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/dsb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/el/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/en/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/en_AU/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/en_GB/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/eo/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/es/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/es_AR/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/es_CO/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/es_MX/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/es_VE/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/et/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/eu/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/fa/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/fi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/fr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/fy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/ga/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/gd/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/gl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/he/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/hi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/hr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/hsb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/hu/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/hy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/ia/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/id/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/io/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/is/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/it/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/ja/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/ka/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/kab/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/kk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/km/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/kn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/ko/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/ky/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/lb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/lt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/lv/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/mk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/ml/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/mn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/mr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/ms/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/my/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/nb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/ne/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/nl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/nn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/os/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/pa/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/pl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/pt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/pt_BR/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/ro/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/ru/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/sk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/sl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/sq/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/sr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/sr_Latn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/sv/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/sw/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/ta/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/te/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/tg/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/th/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/tk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/tr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/tt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/udm/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/ug/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/uk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/ur/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/uz/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/vi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/zh_Hans/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/locale/zh_Hant/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/redirects/middleware.py create mode 100644 external_sources/django/django/contrib/redirects/migrations/0001_initial.py create mode 100644 external_sources/django/django/contrib/redirects/migrations/0002_alter_redirect_new_path_help_text.py create mode 100644 external_sources/django/django/contrib/redirects/migrations/__init__.py create mode 100644 external_sources/django/django/contrib/redirects/models.py create mode 100644 external_sources/django/django/contrib/sessions/__init__.py create mode 100644 external_sources/django/django/contrib/sessions/apps.py create mode 100644 external_sources/django/django/contrib/sessions/backends/__init__.py create mode 100644 external_sources/django/django/contrib/sessions/backends/base.py create mode 100644 external_sources/django/django/contrib/sessions/backends/cache.py create mode 100644 external_sources/django/django/contrib/sessions/backends/cached_db.py create mode 100644 external_sources/django/django/contrib/sessions/backends/db.py create mode 100644 external_sources/django/django/contrib/sessions/backends/file.py create mode 100644 external_sources/django/django/contrib/sessions/backends/signed_cookies.py create mode 100644 external_sources/django/django/contrib/sessions/base_session.py create mode 100644 external_sources/django/django/contrib/sessions/exceptions.py create mode 100644 external_sources/django/django/contrib/sessions/locale/af/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/ar/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/ar_DZ/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/ast/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/az/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/be/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/bg/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/bn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/br/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/bs/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/ca/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/ckb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/cs/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/cy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/da/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/de/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/dsb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/el/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/en/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/en_AU/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/en_GB/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/eo/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/es/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/es_AR/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/es_CO/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/es_MX/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/es_VE/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/et/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/eu/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/fa/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/fi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/fr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/fy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/ga/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/gd/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/gl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/he/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/hi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/hr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/hsb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/hu/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/hy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/ia/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/id/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/io/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/is/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/it/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/ja/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/ka/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/kab/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/kk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/km/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/kn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/ko/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/ky/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/lb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/lt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/lv/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/mk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/ml/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/mn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/mr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/ms/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/my/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/nb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/ne/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/nl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/nn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/os/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/pa/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/pl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/pt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/pt_BR/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/ro/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/ru/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/sk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/sl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/sq/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/sr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/sr_Latn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/sv/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/sw/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/ta/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/te/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/tg/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/th/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/tk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/tr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/tt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/udm/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/ug/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/uk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/ur/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/uz/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/vi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/zh_Hans/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/locale/zh_Hant/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sessions/management/__init__.py create mode 100644 external_sources/django/django/contrib/sessions/management/commands/__init__.py create mode 100644 external_sources/django/django/contrib/sessions/management/commands/clearsessions.py create mode 100644 external_sources/django/django/contrib/sessions/middleware.py create mode 100644 external_sources/django/django/contrib/sessions/migrations/0001_initial.py create mode 100644 external_sources/django/django/contrib/sessions/migrations/__init__.py create mode 100644 external_sources/django/django/contrib/sessions/models.py create mode 100644 external_sources/django/django/contrib/sessions/serializers.py create mode 100644 external_sources/django/django/contrib/sitemaps/__init__.py create mode 100644 external_sources/django/django/contrib/sitemaps/apps.py create mode 100644 external_sources/django/django/contrib/sitemaps/templates/sitemap.xml create mode 100644 external_sources/django/django/contrib/sitemaps/templates/sitemap_index.xml create mode 100644 external_sources/django/django/contrib/sitemaps/views.py create mode 100644 external_sources/django/django/contrib/sites/__init__.py create mode 100644 external_sources/django/django/contrib/sites/admin.py create mode 100644 external_sources/django/django/contrib/sites/apps.py create mode 100644 external_sources/django/django/contrib/sites/checks.py create mode 100644 external_sources/django/django/contrib/sites/locale/af/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/ar/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/ar_DZ/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/ast/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/az/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/be/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/bg/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/bn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/br/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/bs/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/ca/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/ckb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/cs/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/cy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/da/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/de/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/dsb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/el/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/en/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/en_AU/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/en_GB/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/eo/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/es/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/es_AR/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/es_CO/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/es_MX/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/es_VE/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/et/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/eu/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/fa/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/fi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/fr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/fy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/ga/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/gd/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/gl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/he/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/hi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/hr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/hsb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/hu/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/hy/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/ia/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/id/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/io/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/is/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/it/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/ja/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/ka/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/kab/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/kk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/km/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/kn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/ko/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/ky/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/lb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/lt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/lv/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/mk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/ml/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/mn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/mr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/ms/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/my/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/nb/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/ne/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/nl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/nn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/os/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/pa/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/pl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/pt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/pt_BR/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/ro/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/ru/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/sk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/sl/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/sq/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/sr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/sr_Latn/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/sv/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/sw/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/ta/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/te/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/tg/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/th/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/tk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/tr/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/tt/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/udm/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/ug/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/uk/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/ur/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/uz/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/vi/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/zh_Hans/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/locale/zh_Hant/LC_MESSAGES/django.po create mode 100644 external_sources/django/django/contrib/sites/management.py create mode 100644 external_sources/django/django/contrib/sites/managers.py create mode 100644 external_sources/django/django/contrib/sites/middleware.py create mode 100644 external_sources/django/django/contrib/sites/migrations/0001_initial.py create mode 100644 external_sources/django/django/contrib/sites/migrations/0002_alter_domain_unique.py create mode 100644 external_sources/django/django/contrib/sites/migrations/__init__.py create mode 100644 external_sources/django/django/contrib/sites/models.py create mode 100644 external_sources/django/django/contrib/sites/requests.py create mode 100644 external_sources/django/django/contrib/sites/shortcuts.py create mode 100644 external_sources/django/django/contrib/staticfiles/__init__.py create mode 100644 external_sources/django/django/contrib/staticfiles/apps.py create mode 100644 external_sources/django/django/contrib/staticfiles/checks.py create mode 100644 external_sources/django/django/contrib/staticfiles/finders.py create mode 100644 external_sources/django/django/contrib/staticfiles/handlers.py create mode 100644 external_sources/django/django/contrib/staticfiles/management/__init__.py create mode 100644 external_sources/django/django/contrib/staticfiles/management/commands/__init__.py create mode 100644 external_sources/django/django/contrib/staticfiles/management/commands/collectstatic.py create mode 100644 external_sources/django/django/contrib/staticfiles/management/commands/findstatic.py create mode 100644 external_sources/django/django/contrib/staticfiles/management/commands/runserver.py create mode 100644 external_sources/django/django/contrib/staticfiles/storage.py create mode 100644 external_sources/django/django/contrib/staticfiles/testing.py create mode 100644 external_sources/django/django/contrib/staticfiles/urls.py create mode 100644 external_sources/django/django/contrib/staticfiles/utils.py create mode 100644 external_sources/django/django/contrib/staticfiles/views.py create mode 100644 external_sources/django/django/contrib/syndication/__init__.py create mode 100644 external_sources/django/django/contrib/syndication/apps.py create mode 100644 external_sources/django/django/contrib/syndication/views.py create mode 100644 external_sources/django/django/core/__init__.py create mode 100644 external_sources/django/django/core/asgi.py create mode 100644 external_sources/django/django/core/cache/__init__.py create mode 100644 external_sources/django/django/core/cache/backends/__init__.py create mode 100644 external_sources/django/django/core/cache/backends/base.py create mode 100644 external_sources/django/django/core/cache/backends/db.py create mode 100644 external_sources/django/django/core/cache/backends/dummy.py create mode 100644 external_sources/django/django/core/cache/backends/filebased.py create mode 100644 external_sources/django/django/core/cache/backends/locmem.py create mode 100644 external_sources/django/django/core/cache/backends/memcached.py create mode 100644 external_sources/django/django/core/cache/backends/redis.py create mode 100644 external_sources/django/django/core/cache/utils.py create mode 100644 external_sources/django/django/core/checks/__init__.py create mode 100644 external_sources/django/django/core/checks/async_checks.py create mode 100644 external_sources/django/django/core/checks/caches.py create mode 100644 external_sources/django/django/core/checks/compatibility/__init__.py create mode 100644 external_sources/django/django/core/checks/compatibility/django_4_0.py create mode 100644 external_sources/django/django/core/checks/database.py create mode 100644 external_sources/django/django/core/checks/files.py create mode 100644 external_sources/django/django/core/checks/messages.py create mode 100644 external_sources/django/django/core/checks/model_checks.py create mode 100644 external_sources/django/django/core/checks/registry.py create mode 100644 external_sources/django/django/core/checks/security/__init__.py create mode 100644 external_sources/django/django/core/checks/security/base.py create mode 100644 external_sources/django/django/core/checks/security/csrf.py create mode 100644 external_sources/django/django/core/checks/security/sessions.py create mode 100644 external_sources/django/django/core/checks/templates.py create mode 100644 external_sources/django/django/core/checks/translation.py create mode 100644 external_sources/django/django/core/checks/urls.py create mode 100644 external_sources/django/django/core/exceptions.py create mode 100644 external_sources/django/django/core/files/__init__.py create mode 100644 external_sources/django/django/core/files/base.py create mode 100644 external_sources/django/django/core/files/images.py create mode 100644 external_sources/django/django/core/files/locks.py create mode 100644 external_sources/django/django/core/files/move.py create mode 100644 external_sources/django/django/core/files/storage/__init__.py create mode 100644 external_sources/django/django/core/files/storage/base.py create mode 100644 external_sources/django/django/core/files/storage/filesystem.py create mode 100644 external_sources/django/django/core/files/storage/handler.py create mode 100644 external_sources/django/django/core/files/storage/memory.py create mode 100644 external_sources/django/django/core/files/storage/mixins.py create mode 100644 external_sources/django/django/core/files/temp.py create mode 100644 external_sources/django/django/core/files/uploadedfile.py create mode 100644 external_sources/django/django/core/files/uploadhandler.py create mode 100644 external_sources/django/django/core/files/utils.py create mode 100644 external_sources/django/django/core/handlers/__init__.py create mode 100644 external_sources/django/django/core/handlers/asgi.py create mode 100644 external_sources/django/django/core/handlers/base.py create mode 100644 external_sources/django/django/core/handlers/exception.py create mode 100644 external_sources/django/django/core/handlers/wsgi.py create mode 100644 external_sources/django/django/core/mail/__init__.py create mode 100644 external_sources/django/django/core/mail/backends/__init__.py create mode 100644 external_sources/django/django/core/mail/backends/base.py create mode 100644 external_sources/django/django/core/mail/backends/console.py create mode 100644 external_sources/django/django/core/mail/backends/dummy.py create mode 100644 external_sources/django/django/core/mail/backends/filebased.py create mode 100644 external_sources/django/django/core/mail/backends/locmem.py create mode 100644 external_sources/django/django/core/mail/backends/smtp.py create mode 100644 external_sources/django/django/core/mail/message.py create mode 100644 external_sources/django/django/core/mail/utils.py create mode 100644 external_sources/django/django/core/management/__init__.py create mode 100644 external_sources/django/django/core/management/base.py create mode 100644 external_sources/django/django/core/management/color.py create mode 100644 external_sources/django/django/core/management/commands/__init__.py create mode 100644 external_sources/django/django/core/management/commands/check.py create mode 100644 external_sources/django/django/core/management/commands/compilemessages.py create mode 100644 external_sources/django/django/core/management/commands/createcachetable.py create mode 100644 external_sources/django/django/core/management/commands/dbshell.py create mode 100644 external_sources/django/django/core/management/commands/diffsettings.py create mode 100644 external_sources/django/django/core/management/commands/dumpdata.py create mode 100644 external_sources/django/django/core/management/commands/flush.py create mode 100644 external_sources/django/django/core/management/commands/inspectdb.py create mode 100644 external_sources/django/django/core/management/commands/loaddata.py create mode 100644 external_sources/django/django/core/management/commands/makemessages.py create mode 100644 external_sources/django/django/core/management/commands/makemigrations.py create mode 100644 external_sources/django/django/core/management/commands/migrate.py create mode 100644 external_sources/django/django/core/management/commands/optimizemigration.py create mode 100644 external_sources/django/django/core/management/commands/runserver.py create mode 100644 external_sources/django/django/core/management/commands/sendtestemail.py create mode 100644 external_sources/django/django/core/management/commands/shell.py create mode 100644 external_sources/django/django/core/management/commands/showmigrations.py create mode 100644 external_sources/django/django/core/management/commands/sqlflush.py create mode 100644 external_sources/django/django/core/management/commands/sqlmigrate.py create mode 100644 external_sources/django/django/core/management/commands/sqlsequencereset.py create mode 100644 external_sources/django/django/core/management/commands/squashmigrations.py create mode 100644 external_sources/django/django/core/management/commands/startapp.py create mode 100644 external_sources/django/django/core/management/commands/startproject.py create mode 100644 external_sources/django/django/core/management/commands/test.py create mode 100644 external_sources/django/django/core/management/commands/testserver.py create mode 100644 external_sources/django/django/core/management/sql.py create mode 100644 external_sources/django/django/core/management/templates.py create mode 100644 external_sources/django/django/core/management/utils.py create mode 100644 external_sources/django/django/core/paginator.py create mode 100644 external_sources/django/django/core/serializers/__init__.py create mode 100644 external_sources/django/django/core/serializers/base.py create mode 100644 external_sources/django/django/core/serializers/json.py create mode 100644 external_sources/django/django/core/serializers/jsonl.py create mode 100644 external_sources/django/django/core/serializers/python.py create mode 100644 external_sources/django/django/core/serializers/pyyaml.py create mode 100644 external_sources/django/django/core/serializers/xml_serializer.py create mode 100644 external_sources/django/django/core/servers/__init__.py create mode 100644 external_sources/django/django/core/servers/basehttp.py create mode 100644 external_sources/django/django/core/signals.py create mode 100644 external_sources/django/django/core/signing.py create mode 100644 external_sources/django/django/core/validators.py create mode 100644 external_sources/django/django/core/wsgi.py create mode 100644 external_sources/django/django/db/__init__.py create mode 100644 external_sources/django/django/db/backends/__init__.py create mode 100644 external_sources/django/django/db/backends/base/__init__.py create mode 100644 external_sources/django/django/db/backends/base/base.py create mode 100644 external_sources/django/django/db/backends/base/client.py create mode 100644 external_sources/django/django/db/backends/base/creation.py create mode 100644 external_sources/django/django/db/backends/base/features.py create mode 100644 external_sources/django/django/db/backends/base/introspection.py create mode 100644 external_sources/django/django/db/backends/base/operations.py create mode 100644 external_sources/django/django/db/backends/base/schema.py create mode 100644 external_sources/django/django/db/backends/base/validation.py create mode 100644 external_sources/django/django/db/backends/ddl_references.py create mode 100644 external_sources/django/django/db/backends/dummy/__init__.py create mode 100644 external_sources/django/django/db/backends/dummy/base.py create mode 100644 external_sources/django/django/db/backends/dummy/features.py create mode 100644 external_sources/django/django/db/backends/mysql/__init__.py create mode 100644 external_sources/django/django/db/backends/mysql/base.py create mode 100644 external_sources/django/django/db/backends/mysql/client.py create mode 100644 external_sources/django/django/db/backends/mysql/compiler.py create mode 100644 external_sources/django/django/db/backends/mysql/creation.py create mode 100644 external_sources/django/django/db/backends/mysql/features.py create mode 100644 external_sources/django/django/db/backends/mysql/introspection.py create mode 100644 external_sources/django/django/db/backends/mysql/operations.py create mode 100644 external_sources/django/django/db/backends/mysql/schema.py create mode 100644 external_sources/django/django/db/backends/mysql/validation.py create mode 100644 external_sources/django/django/db/backends/oracle/__init__.py create mode 100644 external_sources/django/django/db/backends/oracle/base.py create mode 100644 external_sources/django/django/db/backends/oracle/client.py create mode 100644 external_sources/django/django/db/backends/oracle/creation.py create mode 100644 external_sources/django/django/db/backends/oracle/features.py create mode 100644 external_sources/django/django/db/backends/oracle/functions.py create mode 100644 external_sources/django/django/db/backends/oracle/introspection.py create mode 100644 external_sources/django/django/db/backends/oracle/operations.py create mode 100644 external_sources/django/django/db/backends/oracle/oracledb_any.py create mode 100644 external_sources/django/django/db/backends/oracle/schema.py create mode 100644 external_sources/django/django/db/backends/oracle/utils.py create mode 100644 external_sources/django/django/db/backends/oracle/validation.py create mode 100644 external_sources/django/django/db/backends/postgresql/__init__.py create mode 100644 external_sources/django/django/db/backends/postgresql/base.py create mode 100644 external_sources/django/django/db/backends/postgresql/client.py create mode 100644 external_sources/django/django/db/backends/postgresql/creation.py create mode 100644 external_sources/django/django/db/backends/postgresql/features.py create mode 100644 external_sources/django/django/db/backends/postgresql/introspection.py create mode 100644 external_sources/django/django/db/backends/postgresql/operations.py create mode 100644 external_sources/django/django/db/backends/postgresql/psycopg_any.py create mode 100644 external_sources/django/django/db/backends/postgresql/schema.py create mode 100644 external_sources/django/django/db/backends/signals.py create mode 100644 external_sources/django/django/db/backends/sqlite3/__init__.py create mode 100644 external_sources/django/django/db/backends/sqlite3/_functions.py create mode 100644 external_sources/django/django/db/backends/sqlite3/base.py create mode 100644 external_sources/django/django/db/backends/sqlite3/client.py create mode 100644 external_sources/django/django/db/backends/sqlite3/creation.py create mode 100644 external_sources/django/django/db/backends/sqlite3/features.py create mode 100644 external_sources/django/django/db/backends/sqlite3/introspection.py create mode 100644 external_sources/django/django/db/backends/sqlite3/operations.py create mode 100644 external_sources/django/django/db/backends/sqlite3/schema.py create mode 100644 external_sources/django/django/db/backends/utils.py create mode 100644 external_sources/django/django/db/migrations/__init__.py create mode 100644 external_sources/django/django/db/migrations/autodetector.py create mode 100644 external_sources/django/django/db/migrations/exceptions.py create mode 100644 external_sources/django/django/db/migrations/executor.py create mode 100644 external_sources/django/django/db/migrations/graph.py create mode 100644 external_sources/django/django/db/migrations/loader.py create mode 100644 external_sources/django/django/db/migrations/migration.py create mode 100644 external_sources/django/django/db/migrations/operations/__init__.py create mode 100644 external_sources/django/django/db/migrations/operations/base.py create mode 100644 external_sources/django/django/db/migrations/operations/fields.py create mode 100644 external_sources/django/django/db/migrations/operations/models.py create mode 100644 external_sources/django/django/db/migrations/operations/special.py create mode 100644 external_sources/django/django/db/migrations/optimizer.py create mode 100644 external_sources/django/django/db/migrations/questioner.py create mode 100644 external_sources/django/django/db/migrations/recorder.py create mode 100644 external_sources/django/django/db/migrations/serializer.py create mode 100644 external_sources/django/django/db/migrations/state.py create mode 100644 external_sources/django/django/db/migrations/utils.py create mode 100644 external_sources/django/django/db/migrations/writer.py create mode 100644 external_sources/django/django/db/models/__init__.py create mode 100644 external_sources/django/django/db/models/aggregates.py create mode 100644 external_sources/django/django/db/models/base.py create mode 100644 external_sources/django/django/db/models/constants.py create mode 100644 external_sources/django/django/db/models/constraints.py create mode 100644 external_sources/django/django/db/models/deletion.py create mode 100644 external_sources/django/django/db/models/enums.py create mode 100644 external_sources/django/django/db/models/expressions.py create mode 100644 external_sources/django/django/db/models/fields/__init__.py create mode 100644 external_sources/django/django/db/models/fields/files.py create mode 100644 external_sources/django/django/db/models/fields/generated.py create mode 100644 external_sources/django/django/db/models/fields/json.py create mode 100644 external_sources/django/django/db/models/fields/mixins.py create mode 100644 external_sources/django/django/db/models/fields/proxy.py create mode 100644 external_sources/django/django/db/models/fields/related.py create mode 100644 external_sources/django/django/db/models/fields/related_descriptors.py create mode 100644 external_sources/django/django/db/models/fields/related_lookups.py create mode 100644 external_sources/django/django/db/models/fields/reverse_related.py create mode 100644 external_sources/django/django/db/models/functions/__init__.py create mode 100644 external_sources/django/django/db/models/functions/comparison.py create mode 100644 external_sources/django/django/db/models/functions/datetime.py create mode 100644 external_sources/django/django/db/models/functions/math.py create mode 100644 external_sources/django/django/db/models/functions/mixins.py create mode 100644 external_sources/django/django/db/models/functions/text.py create mode 100644 external_sources/django/django/db/models/functions/window.py create mode 100644 external_sources/django/django/db/models/indexes.py create mode 100644 external_sources/django/django/db/models/lookups.py create mode 100644 external_sources/django/django/db/models/manager.py create mode 100644 external_sources/django/django/db/models/options.py create mode 100644 external_sources/django/django/db/models/query.py create mode 100644 external_sources/django/django/db/models/query_utils.py create mode 100644 external_sources/django/django/db/models/signals.py create mode 100644 external_sources/django/django/db/models/sql/__init__.py create mode 100644 external_sources/django/django/db/models/sql/compiler.py create mode 100644 external_sources/django/django/db/models/sql/constants.py create mode 100644 external_sources/django/django/db/models/sql/datastructures.py create mode 100644 external_sources/django/django/db/models/sql/query.py create mode 100644 external_sources/django/django/db/models/sql/subqueries.py create mode 100644 external_sources/django/django/db/models/sql/where.py create mode 100644 external_sources/django/django/db/models/utils.py create mode 100644 external_sources/django/django/db/transaction.py create mode 100644 external_sources/django/django/db/utils.py create mode 100644 external_sources/django/django/dispatch/__init__.py create mode 100644 external_sources/django/django/dispatch/dispatcher.py create mode 100644 external_sources/django/django/dispatch/license.txt create mode 100644 external_sources/django/django/forms/__init__.py create mode 100644 external_sources/django/django/forms/boundfield.py create mode 100644 external_sources/django/django/forms/fields.py create mode 100644 external_sources/django/django/forms/forms.py create mode 100644 external_sources/django/django/forms/formsets.py create mode 100644 external_sources/django/django/forms/jinja2/django/forms/attrs.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/div.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/errors/dict/default.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/errors/dict/text.txt create mode 100644 external_sources/django/django/forms/jinja2/django/forms/errors/dict/ul.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/errors/list/default.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/errors/list/text.txt create mode 100644 external_sources/django/django/forms/jinja2/django/forms/errors/list/ul.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/field.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/formsets/div.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/formsets/p.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/formsets/table.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/formsets/ul.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/label.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/p.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/table.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/ul.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/widgets/attrs.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/widgets/checkbox.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/widgets/checkbox_option.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/widgets/checkbox_select.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/widgets/clearable_file_input.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/widgets/date.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/widgets/datetime.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/widgets/email.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/widgets/file.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/widgets/hidden.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/widgets/input.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/widgets/input_option.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/widgets/multiple_hidden.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/widgets/multiple_input.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/widgets/multiwidget.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/widgets/number.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/widgets/password.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/widgets/radio.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/widgets/radio_option.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/widgets/select.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/widgets/select_date.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/widgets/select_option.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/widgets/splitdatetime.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/widgets/splithiddendatetime.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/widgets/text.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/widgets/textarea.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/widgets/time.html create mode 100644 external_sources/django/django/forms/jinja2/django/forms/widgets/url.html create mode 100644 external_sources/django/django/forms/models.py create mode 100644 external_sources/django/django/forms/renderers.py create mode 100644 external_sources/django/django/forms/templates/django/forms/attrs.html create mode 100644 external_sources/django/django/forms/templates/django/forms/div.html create mode 100644 external_sources/django/django/forms/templates/django/forms/errors/dict/default.html create mode 100644 external_sources/django/django/forms/templates/django/forms/errors/dict/text.txt create mode 100644 external_sources/django/django/forms/templates/django/forms/errors/dict/ul.html create mode 100644 external_sources/django/django/forms/templates/django/forms/errors/list/default.html create mode 100644 external_sources/django/django/forms/templates/django/forms/errors/list/text.txt create mode 100644 external_sources/django/django/forms/templates/django/forms/errors/list/ul.html create mode 100644 external_sources/django/django/forms/templates/django/forms/field.html create mode 100644 external_sources/django/django/forms/templates/django/forms/formsets/div.html create mode 100644 external_sources/django/django/forms/templates/django/forms/formsets/p.html create mode 100644 external_sources/django/django/forms/templates/django/forms/formsets/table.html create mode 100644 external_sources/django/django/forms/templates/django/forms/formsets/ul.html create mode 100644 external_sources/django/django/forms/templates/django/forms/label.html create mode 100644 external_sources/django/django/forms/templates/django/forms/p.html create mode 100644 external_sources/django/django/forms/templates/django/forms/table.html create mode 100644 external_sources/django/django/forms/templates/django/forms/ul.html create mode 100644 external_sources/django/django/forms/templates/django/forms/widgets/attrs.html create mode 100644 external_sources/django/django/forms/templates/django/forms/widgets/checkbox.html create mode 100644 external_sources/django/django/forms/templates/django/forms/widgets/checkbox_option.html create mode 100644 external_sources/django/django/forms/templates/django/forms/widgets/checkbox_select.html create mode 100644 external_sources/django/django/forms/templates/django/forms/widgets/clearable_file_input.html create mode 100644 external_sources/django/django/forms/templates/django/forms/widgets/date.html create mode 100644 external_sources/django/django/forms/templates/django/forms/widgets/datetime.html create mode 100644 external_sources/django/django/forms/templates/django/forms/widgets/email.html create mode 100644 external_sources/django/django/forms/templates/django/forms/widgets/file.html create mode 100644 external_sources/django/django/forms/templates/django/forms/widgets/hidden.html create mode 100644 external_sources/django/django/forms/templates/django/forms/widgets/input.html create mode 100644 external_sources/django/django/forms/templates/django/forms/widgets/input_option.html create mode 100644 external_sources/django/django/forms/templates/django/forms/widgets/multiple_hidden.html create mode 100644 external_sources/django/django/forms/templates/django/forms/widgets/multiple_input.html create mode 100644 external_sources/django/django/forms/templates/django/forms/widgets/multiwidget.html create mode 100644 external_sources/django/django/forms/templates/django/forms/widgets/number.html create mode 100644 external_sources/django/django/forms/templates/django/forms/widgets/password.html create mode 100644 external_sources/django/django/forms/templates/django/forms/widgets/radio.html create mode 100644 external_sources/django/django/forms/templates/django/forms/widgets/radio_option.html create mode 100644 external_sources/django/django/forms/templates/django/forms/widgets/select.html create mode 100644 external_sources/django/django/forms/templates/django/forms/widgets/select_date.html create mode 100644 external_sources/django/django/forms/templates/django/forms/widgets/select_option.html create mode 100644 external_sources/django/django/forms/templates/django/forms/widgets/splitdatetime.html create mode 100644 external_sources/django/django/forms/templates/django/forms/widgets/splithiddendatetime.html create mode 100644 external_sources/django/django/forms/templates/django/forms/widgets/text.html create mode 100644 external_sources/django/django/forms/templates/django/forms/widgets/textarea.html create mode 100644 external_sources/django/django/forms/templates/django/forms/widgets/time.html create mode 100644 external_sources/django/django/forms/templates/django/forms/widgets/url.html create mode 100644 external_sources/django/django/forms/utils.py create mode 100644 external_sources/django/django/forms/widgets.py create mode 100644 external_sources/django/django/http/__init__.py create mode 100644 external_sources/django/django/http/cookie.py create mode 100644 external_sources/django/django/http/multipartparser.py create mode 100644 external_sources/django/django/http/request.py create mode 100644 external_sources/django/django/http/response.py create mode 100644 external_sources/django/django/middleware/__init__.py create mode 100644 external_sources/django/django/middleware/cache.py create mode 100644 external_sources/django/django/middleware/clickjacking.py create mode 100644 external_sources/django/django/middleware/common.py create mode 100644 external_sources/django/django/middleware/csrf.py create mode 100644 external_sources/django/django/middleware/gzip.py create mode 100644 external_sources/django/django/middleware/http.py create mode 100644 external_sources/django/django/middleware/locale.py create mode 100644 external_sources/django/django/middleware/security.py create mode 100644 external_sources/django/django/shortcuts.py create mode 100644 external_sources/django/django/template/__init__.py create mode 100644 external_sources/django/django/template/autoreload.py create mode 100644 external_sources/django/django/template/backends/__init__.py create mode 100644 external_sources/django/django/template/backends/base.py create mode 100644 external_sources/django/django/template/backends/django.py create mode 100644 external_sources/django/django/template/backends/dummy.py create mode 100644 external_sources/django/django/template/backends/jinja2.py create mode 100644 external_sources/django/django/template/backends/utils.py create mode 100644 external_sources/django/django/template/base.py create mode 100644 external_sources/django/django/template/context.py create mode 100644 external_sources/django/django/template/context_processors.py create mode 100644 external_sources/django/django/template/defaultfilters.py create mode 100644 external_sources/django/django/template/defaulttags.py create mode 100644 external_sources/django/django/template/engine.py create mode 100644 external_sources/django/django/template/exceptions.py create mode 100644 external_sources/django/django/template/library.py create mode 100644 external_sources/django/django/template/loader.py create mode 100644 external_sources/django/django/template/loader_tags.py create mode 100644 external_sources/django/django/template/loaders/__init__.py create mode 100644 external_sources/django/django/template/loaders/app_directories.py create mode 100644 external_sources/django/django/template/loaders/base.py create mode 100644 external_sources/django/django/template/loaders/cached.py create mode 100644 external_sources/django/django/template/loaders/filesystem.py create mode 100644 external_sources/django/django/template/loaders/locmem.py create mode 100644 external_sources/django/django/template/response.py create mode 100644 external_sources/django/django/template/smartif.py create mode 100644 external_sources/django/django/template/utils.py create mode 100644 external_sources/django/django/templatetags/__init__.py create mode 100644 external_sources/django/django/templatetags/cache.py create mode 100644 external_sources/django/django/templatetags/i18n.py create mode 100644 external_sources/django/django/templatetags/l10n.py create mode 100644 external_sources/django/django/templatetags/static.py create mode 100644 external_sources/django/django/templatetags/tz.py create mode 100644 external_sources/django/django/test/__init__.py create mode 100644 external_sources/django/django/test/client.py create mode 100644 external_sources/django/django/test/html.py create mode 100644 external_sources/django/django/test/runner.py create mode 100644 external_sources/django/django/test/selenium.py create mode 100644 external_sources/django/django/test/signals.py create mode 100644 external_sources/django/django/test/testcases.py create mode 100644 external_sources/django/django/test/utils.py create mode 100644 external_sources/django/django/urls/__init__.py create mode 100644 external_sources/django/django/urls/base.py create mode 100644 external_sources/django/django/urls/conf.py create mode 100644 external_sources/django/django/urls/converters.py create mode 100644 external_sources/django/django/urls/exceptions.py create mode 100644 external_sources/django/django/urls/resolvers.py create mode 100644 external_sources/django/django/urls/utils.py create mode 100644 external_sources/django/django/utils/__init__.py create mode 100644 external_sources/django/django/utils/_os.py create mode 100644 external_sources/django/django/utils/archive.py create mode 100644 external_sources/django/django/utils/asyncio.py create mode 100644 external_sources/django/django/utils/autoreload.py create mode 100644 external_sources/django/django/utils/cache.py create mode 100644 external_sources/django/django/utils/choices.py create mode 100644 external_sources/django/django/utils/connection.py create mode 100644 external_sources/django/django/utils/crypto.py create mode 100644 external_sources/django/django/utils/datastructures.py create mode 100644 external_sources/django/django/utils/dateformat.py create mode 100644 external_sources/django/django/utils/dateparse.py create mode 100644 external_sources/django/django/utils/dates.py create mode 100644 external_sources/django/django/utils/deconstruct.py create mode 100644 external_sources/django/django/utils/decorators.py create mode 100644 external_sources/django/django/utils/deprecation.py create mode 100644 external_sources/django/django/utils/duration.py create mode 100644 external_sources/django/django/utils/encoding.py create mode 100644 external_sources/django/django/utils/feedgenerator.py create mode 100644 external_sources/django/django/utils/formats.py create mode 100644 external_sources/django/django/utils/functional.py create mode 100644 external_sources/django/django/utils/hashable.py create mode 100644 external_sources/django/django/utils/html.py create mode 100644 external_sources/django/django/utils/http.py create mode 100644 external_sources/django/django/utils/inspect.py create mode 100644 external_sources/django/django/utils/ipv6.py create mode 100644 external_sources/django/django/utils/itercompat.py create mode 100644 external_sources/django/django/utils/jslex.py create mode 100644 external_sources/django/django/utils/log.py create mode 100644 external_sources/django/django/utils/lorem_ipsum.py create mode 100644 external_sources/django/django/utils/module_loading.py create mode 100644 external_sources/django/django/utils/numberformat.py create mode 100644 external_sources/django/django/utils/regex_helper.py create mode 100644 external_sources/django/django/utils/safestring.py create mode 100644 external_sources/django/django/utils/termcolors.py create mode 100644 external_sources/django/django/utils/text.py create mode 100644 external_sources/django/django/utils/timesince.py create mode 100644 external_sources/django/django/utils/timezone.py create mode 100644 external_sources/django/django/utils/translation/__init__.py create mode 100644 external_sources/django/django/utils/translation/reloader.py create mode 100644 external_sources/django/django/utils/translation/template.py create mode 100644 external_sources/django/django/utils/translation/trans_null.py create mode 100644 external_sources/django/django/utils/translation/trans_real.py create mode 100644 external_sources/django/django/utils/tree.py create mode 100644 external_sources/django/django/utils/version.py create mode 100644 external_sources/django/django/utils/xmlutils.py create mode 100644 external_sources/django/django/views/__init__.py create mode 100644 external_sources/django/django/views/csrf.py create mode 100644 external_sources/django/django/views/debug.py create mode 100644 external_sources/django/django/views/decorators/__init__.py create mode 100644 external_sources/django/django/views/decorators/cache.py create mode 100644 external_sources/django/django/views/decorators/clickjacking.py create mode 100644 external_sources/django/django/views/decorators/common.py create mode 100644 external_sources/django/django/views/decorators/csrf.py create mode 100644 external_sources/django/django/views/decorators/debug.py create mode 100644 external_sources/django/django/views/decorators/gzip.py create mode 100644 external_sources/django/django/views/decorators/http.py create mode 100644 external_sources/django/django/views/decorators/vary.py create mode 100644 external_sources/django/django/views/defaults.py create mode 100644 external_sources/django/django/views/generic/__init__.py create mode 100644 external_sources/django/django/views/generic/base.py create mode 100644 external_sources/django/django/views/generic/dates.py create mode 100644 external_sources/django/django/views/generic/detail.py create mode 100644 external_sources/django/django/views/generic/edit.py create mode 100644 external_sources/django/django/views/generic/list.py create mode 100644 external_sources/django/django/views/i18n.py create mode 100644 external_sources/django/django/views/static.py create mode 100644 external_sources/django/django/views/templates/csrf_403.html create mode 100644 external_sources/django/django/views/templates/default_urlconf.html create mode 100644 external_sources/django/django/views/templates/directory_index.html create mode 100644 external_sources/django/django/views/templates/i18n_catalog.js create mode 100644 external_sources/django/django/views/templates/technical_404.html create mode 100644 external_sources/django/django/views/templates/technical_500.html create mode 100644 external_sources/django/django/views/templates/technical_500.txt diff --git a/external_sources/django/django/__init__.py b/external_sources/django/django/__init__.py new file mode 100644 index 0000000..9ec8643 --- /dev/null +++ b/external_sources/django/django/__init__.py @@ -0,0 +1,24 @@ +from django.utils.version import get_version + +VERSION = (5, 1, 3, "alpha", 0) + +__version__ = get_version(VERSION) + + +def setup(set_prefix=True): + """ + Configure the settings (this happens as a side effect of accessing the + first setting), configure logging and populate the app registry. + Set the thread-local urlresolvers script prefix if `set_prefix` is True. + """ + from django.apps import apps + from django.conf import settings + from django.urls import set_script_prefix + from django.utils.log import configure_logging + + configure_logging(settings.LOGGING_CONFIG, settings.LOGGING) + if set_prefix: + set_script_prefix( + "/" if settings.FORCE_SCRIPT_NAME is None else settings.FORCE_SCRIPT_NAME + ) + apps.populate(settings.INSTALLED_APPS) diff --git a/external_sources/django/django/__main__.py b/external_sources/django/django/__main__.py new file mode 100644 index 0000000..7415143 --- /dev/null +++ b/external_sources/django/django/__main__.py @@ -0,0 +1,10 @@ +""" +Invokes django-admin when the django module is run as a script. + +Example: python -m django check +""" + +from django.core import management + +if __name__ == "__main__": + management.execute_from_command_line() diff --git a/external_sources/django/django/apps/__init__.py b/external_sources/django/django/apps/__init__.py new file mode 100644 index 0000000..96674be --- /dev/null +++ b/external_sources/django/django/apps/__init__.py @@ -0,0 +1,4 @@ +from .config import AppConfig +from .registry import apps + +__all__ = ["AppConfig", "apps"] diff --git a/external_sources/django/django/apps/config.py b/external_sources/django/django/apps/config.py new file mode 100644 index 0000000..28e50e5 --- /dev/null +++ b/external_sources/django/django/apps/config.py @@ -0,0 +1,274 @@ +import inspect +import os +from importlib import import_module + +from django.core.exceptions import ImproperlyConfigured +from django.utils.functional import cached_property +from django.utils.module_loading import import_string, module_has_submodule + +APPS_MODULE_NAME = "apps" +MODELS_MODULE_NAME = "models" + + +class AppConfig: + """Class representing a Django application and its configuration.""" + + def __init__(self, app_name, app_module): + # Full Python path to the application e.g. 'django.contrib.admin'. + self.name = app_name + + # Root module for the application e.g. . + self.module = app_module + + # Reference to the Apps registry that holds this AppConfig. Set by the + # registry when it registers the AppConfig instance. + self.apps = None + + # The following attributes could be defined at the class level in a + # subclass, hence the test-and-set pattern. + + # Last component of the Python path to the application e.g. 'admin'. + # This value must be unique across a Django project. + if not hasattr(self, "label"): + self.label = app_name.rpartition(".")[2] + if not self.label.isidentifier(): + raise ImproperlyConfigured( + "The app label '%s' is not a valid Python identifier." % self.label + ) + + # Human-readable name for the application e.g. "Admin". + if not hasattr(self, "verbose_name"): + self.verbose_name = self.label.title() + + # Filesystem path to the application directory e.g. + # '/path/to/django/contrib/admin'. + if not hasattr(self, "path"): + self.path = self._path_from_module(app_module) + + # Module containing models e.g. . Set by import_models(). + # None if the application doesn't have a models module. + self.models_module = None + + # Mapping of lowercase model names to model classes. Initially set to + # None to prevent accidental access before import_models() runs. + self.models = None + + def __repr__(self): + return "<%s: %s>" % (self.__class__.__name__, self.label) + + @cached_property + def default_auto_field(self): + from django.conf import settings + + return settings.DEFAULT_AUTO_FIELD + + @property + def _is_default_auto_field_overridden(self): + return self.__class__.default_auto_field is not AppConfig.default_auto_field + + def _path_from_module(self, module): + """Attempt to determine app's filesystem path from its module.""" + # See #21874 for extended discussion of the behavior of this method in + # various cases. + # Convert to list because __path__ may not support indexing. + paths = list(getattr(module, "__path__", [])) + if len(paths) != 1: + filename = getattr(module, "__file__", None) + if filename is not None: + paths = [os.path.dirname(filename)] + else: + # For unknown reasons, sometimes the list returned by __path__ + # contains duplicates that must be removed (#25246). + paths = list(set(paths)) + if len(paths) > 1: + raise ImproperlyConfigured( + "The app module %r has multiple filesystem locations (%r); " + "you must configure this app with an AppConfig subclass " + "with a 'path' class attribute." % (module, paths) + ) + elif not paths: + raise ImproperlyConfigured( + "The app module %r has no filesystem location, " + "you must configure this app with an AppConfig subclass " + "with a 'path' class attribute." % module + ) + return paths[0] + + @classmethod + def create(cls, entry): + """ + Factory that creates an app config from an entry in INSTALLED_APPS. + """ + # create() eventually returns app_config_class(app_name, app_module). + app_config_class = None + app_name = None + app_module = None + + # If import_module succeeds, entry points to the app module. + try: + app_module = import_module(entry) + except Exception: + pass + else: + # If app_module has an apps submodule that defines a single + # AppConfig subclass, use it automatically. + # To prevent this, an AppConfig subclass can declare a class + # variable default = False. + # If the apps module defines more than one AppConfig subclass, + # the default one can declare default = True. + if module_has_submodule(app_module, APPS_MODULE_NAME): + mod_path = "%s.%s" % (entry, APPS_MODULE_NAME) + mod = import_module(mod_path) + # Check if there's exactly one AppConfig candidate, + # excluding those that explicitly define default = False. + app_configs = [ + (name, candidate) + for name, candidate in inspect.getmembers(mod, inspect.isclass) + if ( + issubclass(candidate, cls) + and candidate is not cls + and getattr(candidate, "default", True) + ) + ] + if len(app_configs) == 1: + app_config_class = app_configs[0][1] + else: + # Check if there's exactly one AppConfig subclass, + # among those that explicitly define default = True. + app_configs = [ + (name, candidate) + for name, candidate in app_configs + if getattr(candidate, "default", False) + ] + if len(app_configs) > 1: + candidates = [repr(name) for name, _ in app_configs] + raise RuntimeError( + "%r declares more than one default AppConfig: " + "%s." % (mod_path, ", ".join(candidates)) + ) + elif len(app_configs) == 1: + app_config_class = app_configs[0][1] + + # Use the default app config class if we didn't find anything. + if app_config_class is None: + app_config_class = cls + app_name = entry + + # If import_string succeeds, entry is an app config class. + if app_config_class is None: + try: + app_config_class = import_string(entry) + except Exception: + pass + # If both import_module and import_string failed, it means that entry + # doesn't have a valid value. + if app_module is None and app_config_class is None: + # If the last component of entry starts with an uppercase letter, + # then it was likely intended to be an app config class; if not, + # an app module. Provide a nice error message in both cases. + mod_path, _, cls_name = entry.rpartition(".") + if mod_path and cls_name[0].isupper(): + # We could simply re-trigger the string import exception, but + # we're going the extra mile and providing a better error + # message for typos in INSTALLED_APPS. + # This may raise ImportError, which is the best exception + # possible if the module at mod_path cannot be imported. + mod = import_module(mod_path) + candidates = [ + repr(name) + for name, candidate in inspect.getmembers(mod, inspect.isclass) + if issubclass(candidate, cls) and candidate is not cls + ] + msg = "Module '%s' does not contain a '%s' class." % ( + mod_path, + cls_name, + ) + if candidates: + msg += " Choices are: %s." % ", ".join(candidates) + raise ImportError(msg) + else: + # Re-trigger the module import exception. + import_module(entry) + + # Check for obvious errors. (This check prevents duck typing, but + # it could be removed if it became a problem in practice.) + if not issubclass(app_config_class, AppConfig): + raise ImproperlyConfigured("'%s' isn't a subclass of AppConfig." % entry) + + # Obtain app name here rather than in AppClass.__init__ to keep + # all error checking for entries in INSTALLED_APPS in one place. + if app_name is None: + try: + app_name = app_config_class.name + except AttributeError: + raise ImproperlyConfigured("'%s' must supply a name attribute." % entry) + + # Ensure app_name points to a valid module. + try: + app_module = import_module(app_name) + except ImportError: + raise ImproperlyConfigured( + "Cannot import '%s'. Check that '%s.%s.name' is correct." + % ( + app_name, + app_config_class.__module__, + app_config_class.__qualname__, + ) + ) + + # Entry is a path to an app config class. + return app_config_class(app_name, app_module) + + def get_model(self, model_name, require_ready=True): + """ + Return the model with the given case-insensitive model_name. + + Raise LookupError if no model exists with this name. + """ + if require_ready: + self.apps.check_models_ready() + else: + self.apps.check_apps_ready() + try: + return self.models[model_name.lower()] + except KeyError: + raise LookupError( + "App '%s' doesn't have a '%s' model." % (self.label, model_name) + ) + + def get_models(self, include_auto_created=False, include_swapped=False): + """ + Return an iterable of models. + + By default, the following models aren't included: + + - auto-created models for many-to-many relations without + an explicit intermediate table, + - models that have been swapped out. + + Set the corresponding keyword argument to True to include such models. + Keyword arguments aren't documented; they're a private API. + """ + self.apps.check_models_ready() + for model in self.models.values(): + if model._meta.auto_created and not include_auto_created: + continue + if model._meta.swapped and not include_swapped: + continue + yield model + + def import_models(self): + # Dictionary of models for this app, primarily maintained in the + # 'all_models' attribute of the Apps this AppConfig is attached to. + self.models = self.apps.all_models[self.label] + + if module_has_submodule(self.module, MODELS_MODULE_NAME): + models_module_name = "%s.%s" % (self.name, MODELS_MODULE_NAME) + self.models_module = import_module(models_module_name) + + def ready(self): + """ + Override this method in subclasses to run code when Django starts. + """ diff --git a/external_sources/django/django/apps/registry.py b/external_sources/django/django/apps/registry.py new file mode 100644 index 0000000..92de607 --- /dev/null +++ b/external_sources/django/django/apps/registry.py @@ -0,0 +1,437 @@ +import functools +import sys +import threading +import warnings +from collections import Counter, defaultdict +from functools import partial + +from django.core.exceptions import AppRegistryNotReady, ImproperlyConfigured + +from .config import AppConfig + + +class Apps: + """ + A registry that stores the configuration of installed applications. + + It also keeps track of models, e.g. to provide reverse relations. + """ + + def __init__(self, installed_apps=()): + # installed_apps is set to None when creating the main registry + # because it cannot be populated at that point. Other registries must + # provide a list of installed apps and are populated immediately. + if installed_apps is None and hasattr(sys.modules[__name__], "apps"): + raise RuntimeError("You must supply an installed_apps argument.") + + # Mapping of app labels => model names => model classes. Every time a + # model is imported, ModelBase.__new__ calls apps.register_model which + # creates an entry in all_models. All imported models are registered, + # regardless of whether they're defined in an installed application + # and whether the registry has been populated. Since it isn't possible + # to reimport a module safely (it could reexecute initialization code) + # all_models is never overridden or reset. + self.all_models = defaultdict(dict) + + # Mapping of labels to AppConfig instances for installed apps. + self.app_configs = {} + + # Stack of app_configs. Used to store the current state in + # set_available_apps and set_installed_apps. + self.stored_app_configs = [] + + # Whether the registry is populated. + self.apps_ready = self.models_ready = self.ready = False + # For the autoreloader. + self.ready_event = threading.Event() + + # Lock for thread-safe population. + self._lock = threading.RLock() + self.loading = False + + # Maps ("app_label", "modelname") tuples to lists of functions to be + # called when the corresponding model is ready. Used by this class's + # `lazy_model_operation()` and `do_pending_operations()` methods. + self._pending_operations = defaultdict(list) + + # Populate apps and models, unless it's the main registry. + if installed_apps is not None: + self.populate(installed_apps) + + def populate(self, installed_apps=None): + """ + Load application configurations and models. + + Import each application module and then each model module. + + It is thread-safe and idempotent, but not reentrant. + """ + if self.ready: + return + + # populate() might be called by two threads in parallel on servers + # that create threads before initializing the WSGI callable. + with self._lock: + if self.ready: + return + + # An RLock prevents other threads from entering this section. The + # compare and set operation below is atomic. + if self.loading: + # Prevent reentrant calls to avoid running AppConfig.ready() + # methods twice. + raise RuntimeError("populate() isn't reentrant") + self.loading = True + + # Phase 1: initialize app configs and import app modules. + for entry in installed_apps: + if isinstance(entry, AppConfig): + app_config = entry + else: + app_config = AppConfig.create(entry) + if app_config.label in self.app_configs: + raise ImproperlyConfigured( + "Application labels aren't unique, " + "duplicates: %s" % app_config.label + ) + + self.app_configs[app_config.label] = app_config + app_config.apps = self + + # Check for duplicate app names. + counts = Counter( + app_config.name for app_config in self.app_configs.values() + ) + duplicates = [name for name, count in counts.most_common() if count > 1] + if duplicates: + raise ImproperlyConfigured( + "Application names aren't unique, " + "duplicates: %s" % ", ".join(duplicates) + ) + + self.apps_ready = True + + # Phase 2: import models modules. + for app_config in self.app_configs.values(): + app_config.import_models() + + self.clear_cache() + + self.models_ready = True + + # Phase 3: run ready() methods of app configs. + for app_config in self.get_app_configs(): + app_config.ready() + + self.ready = True + self.ready_event.set() + + def check_apps_ready(self): + """Raise an exception if all apps haven't been imported yet.""" + if not self.apps_ready: + from django.conf import settings + + # If "not ready" is due to unconfigured settings, accessing + # INSTALLED_APPS raises a more helpful ImproperlyConfigured + # exception. + settings.INSTALLED_APPS + raise AppRegistryNotReady("Apps aren't loaded yet.") + + def check_models_ready(self): + """Raise an exception if all models haven't been imported yet.""" + if not self.models_ready: + raise AppRegistryNotReady("Models aren't loaded yet.") + + def get_app_configs(self): + """Import applications and return an iterable of app configs.""" + self.check_apps_ready() + return self.app_configs.values() + + def get_app_config(self, app_label): + """ + Import applications and returns an app config for the given label. + + Raise LookupError if no application exists with this label. + """ + self.check_apps_ready() + try: + return self.app_configs[app_label] + except KeyError: + message = "No installed app with label '%s'." % app_label + for app_config in self.get_app_configs(): + if app_config.name == app_label: + message += " Did you mean '%s'?" % app_config.label + break + raise LookupError(message) + + # This method is performance-critical at least for Django's test suite. + @functools.cache + def get_models(self, include_auto_created=False, include_swapped=False): + """ + Return a list of all installed models. + + By default, the following models aren't included: + + - auto-created models for many-to-many relations without + an explicit intermediate table, + - models that have been swapped out. + + Set the corresponding keyword argument to True to include such models. + """ + self.check_models_ready() + + result = [] + for app_config in self.app_configs.values(): + result.extend(app_config.get_models(include_auto_created, include_swapped)) + return result + + def get_model(self, app_label, model_name=None, require_ready=True): + """ + Return the model matching the given app_label and model_name. + + As a shortcut, app_label may be in the form .. + + model_name is case-insensitive. + + Raise LookupError if no application exists with this label, or no + model exists with this name in the application. Raise ValueError if + called with a single argument that doesn't contain exactly one dot. + """ + if require_ready: + self.check_models_ready() + else: + self.check_apps_ready() + + if model_name is None: + app_label, model_name = app_label.split(".") + + app_config = self.get_app_config(app_label) + + if not require_ready and app_config.models is None: + app_config.import_models() + + return app_config.get_model(model_name, require_ready=require_ready) + + def register_model(self, app_label, model): + # Since this method is called when models are imported, it cannot + # perform imports because of the risk of import loops. It mustn't + # call get_app_config(). + model_name = model._meta.model_name + app_models = self.all_models[app_label] + if model_name in app_models: + if ( + model.__name__ == app_models[model_name].__name__ + and model.__module__ == app_models[model_name].__module__ + ): + warnings.warn( + "Model '%s.%s' was already registered. Reloading models is not " + "advised as it can lead to inconsistencies, most notably with " + "related models." % (app_label, model_name), + RuntimeWarning, + stacklevel=2, + ) + else: + raise RuntimeError( + "Conflicting '%s' models in application '%s': %s and %s." + % (model_name, app_label, app_models[model_name], model) + ) + app_models[model_name] = model + self.do_pending_operations(model) + self.clear_cache() + + def is_installed(self, app_name): + """ + Check whether an application with this name exists in the registry. + + app_name is the full name of the app e.g. 'django.contrib.admin'. + """ + self.check_apps_ready() + return any(ac.name == app_name for ac in self.app_configs.values()) + + def get_containing_app_config(self, object_name): + """ + Look for an app config containing a given object. + + object_name is the dotted Python path to the object. + + Return the app config for the inner application in case of nesting. + Return None if the object isn't in any registered app config. + """ + self.check_apps_ready() + candidates = [] + for app_config in self.app_configs.values(): + if object_name.startswith(app_config.name): + subpath = object_name.removeprefix(app_config.name) + if subpath == "" or subpath[0] == ".": + candidates.append(app_config) + if candidates: + return sorted(candidates, key=lambda ac: -len(ac.name))[0] + + def get_registered_model(self, app_label, model_name): + """ + Similar to get_model(), but doesn't require that an app exists with + the given app_label. + + It's safe to call this method at import time, even while the registry + is being populated. + """ + model = self.all_models[app_label].get(model_name.lower()) + if model is None: + raise LookupError("Model '%s.%s' not registered." % (app_label, model_name)) + return model + + @functools.cache + def get_swappable_settings_name(self, to_string): + """ + For a given model string (e.g. "auth.User"), return the name of the + corresponding settings name if it refers to a swappable model. If the + referred model is not swappable, return None. + + This method is decorated with @functools.cache because it's performance + critical when it comes to migrations. Since the swappable settings don't + change after Django has loaded the settings, there is no reason to get + the respective settings attribute over and over again. + """ + to_string = to_string.lower() + for model in self.get_models(include_swapped=True): + swapped = model._meta.swapped + # Is this model swapped out for the model given by to_string? + if swapped and swapped.lower() == to_string: + return model._meta.swappable + # Is this model swappable and the one given by to_string? + if model._meta.swappable and model._meta.label_lower == to_string: + return model._meta.swappable + return None + + def set_available_apps(self, available): + """ + Restrict the set of installed apps used by get_app_config[s]. + + available must be an iterable of application names. + + set_available_apps() must be balanced with unset_available_apps(). + + Primarily used for performance optimization in TransactionTestCase. + + This method is safe in the sense that it doesn't trigger any imports. + """ + available = set(available) + installed = {app_config.name for app_config in self.get_app_configs()} + if not available.issubset(installed): + raise ValueError( + "Available apps isn't a subset of installed apps, extra apps: %s" + % ", ".join(available - installed) + ) + + self.stored_app_configs.append(self.app_configs) + self.app_configs = { + label: app_config + for label, app_config in self.app_configs.items() + if app_config.name in available + } + self.clear_cache() + + def unset_available_apps(self): + """Cancel a previous call to set_available_apps().""" + self.app_configs = self.stored_app_configs.pop() + self.clear_cache() + + def set_installed_apps(self, installed): + """ + Enable a different set of installed apps for get_app_config[s]. + + installed must be an iterable in the same format as INSTALLED_APPS. + + set_installed_apps() must be balanced with unset_installed_apps(), + even if it exits with an exception. + + Primarily used as a receiver of the setting_changed signal in tests. + + This method may trigger new imports, which may add new models to the + registry of all imported models. They will stay in the registry even + after unset_installed_apps(). Since it isn't possible to replay + imports safely (e.g. that could lead to registering listeners twice), + models are registered when they're imported and never removed. + """ + if not self.ready: + raise AppRegistryNotReady("App registry isn't ready yet.") + self.stored_app_configs.append(self.app_configs) + self.app_configs = {} + self.apps_ready = self.models_ready = self.loading = self.ready = False + self.clear_cache() + self.populate(installed) + + def unset_installed_apps(self): + """Cancel a previous call to set_installed_apps().""" + self.app_configs = self.stored_app_configs.pop() + self.apps_ready = self.models_ready = self.ready = True + self.clear_cache() + + def clear_cache(self): + """ + Clear all internal caches, for methods that alter the app registry. + + This is mostly used in tests. + """ + self.get_swappable_settings_name.cache_clear() + # Call expire cache on each model. This will purge + # the relation tree and the fields cache. + self.get_models.cache_clear() + if self.ready: + # Circumvent self.get_models() to prevent that the cache is refilled. + # This particularly prevents that an empty value is cached while cloning. + for app_config in self.app_configs.values(): + for model in app_config.get_models(include_auto_created=True): + model._meta._expire_cache() + + def lazy_model_operation(self, function, *model_keys): + """ + Take a function and a number of ("app_label", "modelname") tuples, and + when all the corresponding models have been imported and registered, + call the function with the model classes as its arguments. + + The function passed to this method must accept exactly n models as + arguments, where n=len(model_keys). + """ + # Base case: no arguments, just execute the function. + if not model_keys: + function() + # Recursive case: take the head of model_keys, wait for the + # corresponding model class to be imported and registered, then apply + # that argument to the supplied function. Pass the resulting partial + # to lazy_model_operation() along with the remaining model args and + # repeat until all models are loaded and all arguments are applied. + else: + next_model, *more_models = model_keys + + # This will be executed after the class corresponding to next_model + # has been imported and registered. The `func` attribute provides + # duck-type compatibility with partials. + def apply_next_model(model): + next_function = partial(apply_next_model.func, model) + self.lazy_model_operation(next_function, *more_models) + + apply_next_model.func = function + + # If the model has already been imported and registered, partially + # apply it to the function now. If not, add it to the list of + # pending operations for the model, where it will be executed with + # the model class as its sole argument once the model is ready. + try: + model_class = self.get_registered_model(*next_model) + except LookupError: + self._pending_operations[next_model].append(apply_next_model) + else: + apply_next_model(model_class) + + def do_pending_operations(self, model): + """ + Take a newly-prepared model and pass it to each function waiting for + it. This is called at the very end of Apps.register_model(). + """ + key = model._meta.app_label, model._meta.model_name + for function in self._pending_operations.pop(key, []): + function(model) + + +apps = Apps(installed_apps=None) diff --git a/external_sources/django/django/conf/__init__.py b/external_sources/django/django/conf/__init__.py new file mode 100644 index 0000000..5568d7c --- /dev/null +++ b/external_sources/django/django/conf/__init__.py @@ -0,0 +1,272 @@ +""" +Settings and configuration for Django. + +Read values from the module specified by the DJANGO_SETTINGS_MODULE environment +variable, and then from django.conf.global_settings; see the global_settings.py +for a list of all possible variables. +""" + +import importlib +import os +import time +import traceback +import warnings +from pathlib import Path + +import django +from django.conf import global_settings +from django.core.exceptions import ImproperlyConfigured +from django.utils.deprecation import RemovedInDjango60Warning +from django.utils.functional import LazyObject, empty + +ENVIRONMENT_VARIABLE = "DJANGO_SETTINGS_MODULE" +DEFAULT_STORAGE_ALIAS = "default" +STATICFILES_STORAGE_ALIAS = "staticfiles" + +# RemovedInDjango60Warning. +FORMS_URLFIELD_ASSUME_HTTPS_DEPRECATED_MSG = ( + "The FORMS_URLFIELD_ASSUME_HTTPS transitional setting is deprecated." +) + + +class SettingsReference(str): + """ + String subclass which references a current settings value. It's treated as + the value in memory but serializes to a settings.NAME attribute reference. + """ + + def __new__(self, value, setting_name): + return str.__new__(self, value) + + def __init__(self, value, setting_name): + self.setting_name = setting_name + + +class LazySettings(LazyObject): + """ + A lazy proxy for either global Django settings or a custom settings object. + The user can manually configure settings prior to using them. Otherwise, + Django uses the settings module pointed to by DJANGO_SETTINGS_MODULE. + """ + + def _setup(self, name=None): + """ + Load the settings module pointed to by the environment variable. This + is used the first time settings are needed, if the user hasn't + configured settings manually. + """ + settings_module = os.environ.get(ENVIRONMENT_VARIABLE) + if not settings_module: + desc = ("setting %s" % name) if name else "settings" + raise ImproperlyConfigured( + "Requested %s, but settings are not configured. " + "You must either define the environment variable %s " + "or call settings.configure() before accessing settings." + % (desc, ENVIRONMENT_VARIABLE) + ) + + self._wrapped = Settings(settings_module) + + def __repr__(self): + # Hardcode the class name as otherwise it yields 'Settings'. + if self._wrapped is empty: + return "" + return '' % { + "settings_module": self._wrapped.SETTINGS_MODULE, + } + + def __getattr__(self, name): + """Return the value of a setting and cache it in self.__dict__.""" + if (_wrapped := self._wrapped) is empty: + self._setup(name) + _wrapped = self._wrapped + val = getattr(_wrapped, name) + + # Special case some settings which require further modification. + # This is done here for performance reasons so the modified value is cached. + if name in {"MEDIA_URL", "STATIC_URL"} and val is not None: + val = self._add_script_prefix(val) + elif name == "SECRET_KEY" and not val: + raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.") + + self.__dict__[name] = val + return val + + def __setattr__(self, name, value): + """ + Set the value of setting. Clear all cached values if _wrapped changes + (@override_settings does this) or clear single values when set. + """ + if name == "_wrapped": + self.__dict__.clear() + else: + self.__dict__.pop(name, None) + super().__setattr__(name, value) + + def __delattr__(self, name): + """Delete a setting and clear it from cache if needed.""" + super().__delattr__(name) + self.__dict__.pop(name, None) + + def configure(self, default_settings=global_settings, **options): + """ + Called to manually configure the settings. The 'default_settings' + parameter sets where to retrieve any unspecified values from (its + argument must support attribute access (__getattr__)). + """ + if self._wrapped is not empty: + raise RuntimeError("Settings already configured.") + holder = UserSettingsHolder(default_settings) + for name, value in options.items(): + if not name.isupper(): + raise TypeError("Setting %r must be uppercase." % name) + setattr(holder, name, value) + self._wrapped = holder + + @staticmethod + def _add_script_prefix(value): + """ + Add SCRIPT_NAME prefix to relative paths. + + Useful when the app is being served at a subpath and manually prefixing + subpath to STATIC_URL and MEDIA_URL in settings is inconvenient. + """ + # Don't apply prefix to absolute paths and URLs. + if value.startswith(("http://", "https://", "/")): + return value + from django.urls import get_script_prefix + + return "%s%s" % (get_script_prefix(), value) + + @property + def configured(self): + """Return True if the settings have already been configured.""" + return self._wrapped is not empty + + def _show_deprecation_warning(self, message, category): + stack = traceback.extract_stack() + # Show a warning if the setting is used outside of Django. + # Stack index: -1 this line, -2 the property, -3 the + # LazyObject __getattribute__(), -4 the caller. + filename, _, _, _ = stack[-4] + if not filename.startswith(os.path.dirname(django.__file__)): + warnings.warn(message, category, stacklevel=2) + + +class Settings: + def __init__(self, settings_module): + # update this dict from global settings (but only for ALL_CAPS settings) + for setting in dir(global_settings): + if setting.isupper(): + setattr(self, setting, getattr(global_settings, setting)) + + # store the settings module in case someone later cares + self.SETTINGS_MODULE = settings_module + + mod = importlib.import_module(self.SETTINGS_MODULE) + + tuple_settings = ( + "ALLOWED_HOSTS", + "INSTALLED_APPS", + "TEMPLATE_DIRS", + "LOCALE_PATHS", + "SECRET_KEY_FALLBACKS", + ) + self._explicit_settings = set() + for setting in dir(mod): + if setting.isupper(): + setting_value = getattr(mod, setting) + + if setting in tuple_settings and not isinstance( + setting_value, (list, tuple) + ): + raise ImproperlyConfigured( + "The %s setting must be a list or a tuple." % setting + ) + setattr(self, setting, setting_value) + self._explicit_settings.add(setting) + + if self.is_overridden("FORMS_URLFIELD_ASSUME_HTTPS"): + warnings.warn( + FORMS_URLFIELD_ASSUME_HTTPS_DEPRECATED_MSG, + RemovedInDjango60Warning, + ) + + if hasattr(time, "tzset") and self.TIME_ZONE: + # When we can, attempt to validate the timezone. If we can't find + # this file, no check happens and it's harmless. + zoneinfo_root = Path("/usr/share/zoneinfo") + zone_info_file = zoneinfo_root.joinpath(*self.TIME_ZONE.split("/")) + if zoneinfo_root.exists() and not zone_info_file.exists(): + raise ValueError("Incorrect timezone setting: %s" % self.TIME_ZONE) + # Move the time zone info into os.environ. See ticket #2315 for why + # we don't do this unconditionally (breaks Windows). + os.environ["TZ"] = self.TIME_ZONE + time.tzset() + + def is_overridden(self, setting): + return setting in self._explicit_settings + + def __repr__(self): + return '<%(cls)s "%(settings_module)s">' % { + "cls": self.__class__.__name__, + "settings_module": self.SETTINGS_MODULE, + } + + +class UserSettingsHolder: + """Holder for user configured settings.""" + + # SETTINGS_MODULE doesn't make much sense in the manually configured + # (standalone) case. + SETTINGS_MODULE = None + + def __init__(self, default_settings): + """ + Requests for configuration variables not in this class are satisfied + from the module specified in default_settings (if possible). + """ + self.__dict__["_deleted"] = set() + self.default_settings = default_settings + + def __getattr__(self, name): + if not name.isupper() or name in self._deleted: + raise AttributeError + return getattr(self.default_settings, name) + + def __setattr__(self, name, value): + self._deleted.discard(name) + if name == "FORMS_URLFIELD_ASSUME_HTTPS": + warnings.warn( + FORMS_URLFIELD_ASSUME_HTTPS_DEPRECATED_MSG, + RemovedInDjango60Warning, + ) + super().__setattr__(name, value) + + def __delattr__(self, name): + self._deleted.add(name) + if hasattr(self, name): + super().__delattr__(name) + + def __dir__(self): + return sorted( + s + for s in [*self.__dict__, *dir(self.default_settings)] + if s not in self._deleted + ) + + def is_overridden(self, setting): + deleted = setting in self._deleted + set_locally = setting in self.__dict__ + set_on_default = getattr( + self.default_settings, "is_overridden", lambda s: False + )(setting) + return deleted or set_locally or set_on_default + + def __repr__(self): + return "<%(cls)s>" % { + "cls": self.__class__.__name__, + } + + +settings = LazySettings() diff --git a/external_sources/django/django/conf/app_template/__init__.py-tpl b/external_sources/django/django/conf/app_template/__init__.py-tpl new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/app_template/admin.py-tpl b/external_sources/django/django/conf/app_template/admin.py-tpl new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/external_sources/django/django/conf/app_template/admin.py-tpl @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/external_sources/django/django/conf/app_template/apps.py-tpl b/external_sources/django/django/conf/app_template/apps.py-tpl new file mode 100644 index 0000000..b705352 --- /dev/null +++ b/external_sources/django/django/conf/app_template/apps.py-tpl @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class {{ camel_case_app_name }}Config(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = '{{ app_name }}' diff --git a/external_sources/django/django/conf/app_template/migrations/__init__.py-tpl b/external_sources/django/django/conf/app_template/migrations/__init__.py-tpl new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/app_template/models.py-tpl b/external_sources/django/django/conf/app_template/models.py-tpl new file mode 100644 index 0000000..71a8362 --- /dev/null +++ b/external_sources/django/django/conf/app_template/models.py-tpl @@ -0,0 +1,3 @@ +from django.db import models + +# Create your models here. diff --git a/external_sources/django/django/conf/app_template/tests.py-tpl b/external_sources/django/django/conf/app_template/tests.py-tpl new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/external_sources/django/django/conf/app_template/tests.py-tpl @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/external_sources/django/django/conf/app_template/views.py-tpl b/external_sources/django/django/conf/app_template/views.py-tpl new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/external_sources/django/django/conf/app_template/views.py-tpl @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here. diff --git a/external_sources/django/django/conf/global_settings.py b/external_sources/django/django/conf/global_settings.py new file mode 100644 index 0000000..8e1d2ac --- /dev/null +++ b/external_sources/django/django/conf/global_settings.py @@ -0,0 +1,667 @@ +""" +Default Django settings. Override these with settings in the module pointed to +by the DJANGO_SETTINGS_MODULE environment variable. +""" + + +# This is defined here as a do-nothing function because we can't import +# django.utils.translation -- that module depends on the settings. +def gettext_noop(s): + return s + + +#################### +# CORE # +#################### + +DEBUG = False + +# Whether the framework should propagate raw exceptions rather than catching +# them. This is useful under some testing situations and should never be used +# on a live site. +DEBUG_PROPAGATE_EXCEPTIONS = False + +# People who get code error notifications. In the format +# [('Full Name', 'email@example.com'), ('Full Name', 'anotheremail@example.com')] +ADMINS = [] + +# List of IP addresses, as strings, that: +# * See debug comments, when DEBUG is true +# * Receive x-headers +INTERNAL_IPS = [] + +# Hosts/domain names that are valid for this site. +# "*" matches anything, ".example.com" matches example.com and all subdomains +ALLOWED_HOSTS = [] + +# Local time zone for this installation. All choices can be found here: +# https://en.wikipedia.org/wiki/List_of_tz_zones_by_name (although not all +# systems may support all possibilities). When USE_TZ is True, this is +# interpreted as the default user time zone. +TIME_ZONE = "America/Chicago" + +# If you set this to True, Django will use timezone-aware datetimes. +USE_TZ = True + +# Language code for this installation. All choices can be found here: +# http://www.i18nguy.com/unicode/language-identifiers.html +LANGUAGE_CODE = "en-us" + +# Languages we provide translations for, out of the box. +LANGUAGES = [ + ("af", gettext_noop("Afrikaans")), + ("ar", gettext_noop("Arabic")), + ("ar-dz", gettext_noop("Algerian Arabic")), + ("ast", gettext_noop("Asturian")), + ("az", gettext_noop("Azerbaijani")), + ("bg", gettext_noop("Bulgarian")), + ("be", gettext_noop("Belarusian")), + ("bn", gettext_noop("Bengali")), + ("br", gettext_noop("Breton")), + ("bs", gettext_noop("Bosnian")), + ("ca", gettext_noop("Catalan")), + ("ckb", gettext_noop("Central Kurdish (Sorani)")), + ("cs", gettext_noop("Czech")), + ("cy", gettext_noop("Welsh")), + ("da", gettext_noop("Danish")), + ("de", gettext_noop("German")), + ("dsb", gettext_noop("Lower Sorbian")), + ("el", gettext_noop("Greek")), + ("en", gettext_noop("English")), + ("en-au", gettext_noop("Australian English")), + ("en-gb", gettext_noop("British English")), + ("eo", gettext_noop("Esperanto")), + ("es", gettext_noop("Spanish")), + ("es-ar", gettext_noop("Argentinian Spanish")), + ("es-co", gettext_noop("Colombian Spanish")), + ("es-mx", gettext_noop("Mexican Spanish")), + ("es-ni", gettext_noop("Nicaraguan Spanish")), + ("es-ve", gettext_noop("Venezuelan Spanish")), + ("et", gettext_noop("Estonian")), + ("eu", gettext_noop("Basque")), + ("fa", gettext_noop("Persian")), + ("fi", gettext_noop("Finnish")), + ("fr", gettext_noop("French")), + ("fy", gettext_noop("Frisian")), + ("ga", gettext_noop("Irish")), + ("gd", gettext_noop("Scottish Gaelic")), + ("gl", gettext_noop("Galician")), + ("he", gettext_noop("Hebrew")), + ("hi", gettext_noop("Hindi")), + ("hr", gettext_noop("Croatian")), + ("hsb", gettext_noop("Upper Sorbian")), + ("hu", gettext_noop("Hungarian")), + ("hy", gettext_noop("Armenian")), + ("ia", gettext_noop("Interlingua")), + ("id", gettext_noop("Indonesian")), + ("ig", gettext_noop("Igbo")), + ("io", gettext_noop("Ido")), + ("is", gettext_noop("Icelandic")), + ("it", gettext_noop("Italian")), + ("ja", gettext_noop("Japanese")), + ("ka", gettext_noop("Georgian")), + ("kab", gettext_noop("Kabyle")), + ("kk", gettext_noop("Kazakh")), + ("km", gettext_noop("Khmer")), + ("kn", gettext_noop("Kannada")), + ("ko", gettext_noop("Korean")), + ("ky", gettext_noop("Kyrgyz")), + ("lb", gettext_noop("Luxembourgish")), + ("lt", gettext_noop("Lithuanian")), + ("lv", gettext_noop("Latvian")), + ("mk", gettext_noop("Macedonian")), + ("ml", gettext_noop("Malayalam")), + ("mn", gettext_noop("Mongolian")), + ("mr", gettext_noop("Marathi")), + ("ms", gettext_noop("Malay")), + ("my", gettext_noop("Burmese")), + ("nb", gettext_noop("Norwegian Bokmål")), + ("ne", gettext_noop("Nepali")), + ("nl", gettext_noop("Dutch")), + ("nn", gettext_noop("Norwegian Nynorsk")), + ("os", gettext_noop("Ossetic")), + ("pa", gettext_noop("Punjabi")), + ("pl", gettext_noop("Polish")), + ("pt", gettext_noop("Portuguese")), + ("pt-br", gettext_noop("Brazilian Portuguese")), + ("ro", gettext_noop("Romanian")), + ("ru", gettext_noop("Russian")), + ("sk", gettext_noop("Slovak")), + ("sl", gettext_noop("Slovenian")), + ("sq", gettext_noop("Albanian")), + ("sr", gettext_noop("Serbian")), + ("sr-latn", gettext_noop("Serbian Latin")), + ("sv", gettext_noop("Swedish")), + ("sw", gettext_noop("Swahili")), + ("ta", gettext_noop("Tamil")), + ("te", gettext_noop("Telugu")), + ("tg", gettext_noop("Tajik")), + ("th", gettext_noop("Thai")), + ("tk", gettext_noop("Turkmen")), + ("tr", gettext_noop("Turkish")), + ("tt", gettext_noop("Tatar")), + ("udm", gettext_noop("Udmurt")), + ("ug", gettext_noop("Uyghur")), + ("uk", gettext_noop("Ukrainian")), + ("ur", gettext_noop("Urdu")), + ("uz", gettext_noop("Uzbek")), + ("vi", gettext_noop("Vietnamese")), + ("zh-hans", gettext_noop("Simplified Chinese")), + ("zh-hant", gettext_noop("Traditional Chinese")), +] + +# Languages using BiDi (right-to-left) layout +LANGUAGES_BIDI = ["he", "ar", "ar-dz", "ckb", "fa", "ug", "ur"] + +# If you set this to False, Django will make some optimizations so as not +# to load the internationalization machinery. +USE_I18N = True +LOCALE_PATHS = [] + +# Settings for language cookie +LANGUAGE_COOKIE_NAME = "django_language" +LANGUAGE_COOKIE_AGE = None +LANGUAGE_COOKIE_DOMAIN = None +LANGUAGE_COOKIE_PATH = "/" +LANGUAGE_COOKIE_SECURE = False +LANGUAGE_COOKIE_HTTPONLY = False +LANGUAGE_COOKIE_SAMESITE = None + +# Not-necessarily-technical managers of the site. They get broken link +# notifications and other various emails. +MANAGERS = ADMINS + +# Default charset to use for all HttpResponse objects, if a MIME type isn't +# manually specified. It's used to construct the Content-Type header. +DEFAULT_CHARSET = "utf-8" + +# Email address that error messages come from. +SERVER_EMAIL = "root@localhost" + +# Database connection info. If left empty, will default to the dummy backend. +DATABASES = {} + +# Classes used to implement DB routing behavior. +DATABASE_ROUTERS = [] + +# The email backend to use. For possible shortcuts see django.core.mail. +# The default is to use the SMTP backend. +# Third-party backends can be specified by providing a Python path +# to a module that defines an EmailBackend class. +EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend" + +# Host for sending email. +EMAIL_HOST = "localhost" + +# Port for sending email. +EMAIL_PORT = 25 + +# Whether to send SMTP 'Date' header in the local time zone or in UTC. +EMAIL_USE_LOCALTIME = False + +# Optional SMTP authentication information for EMAIL_HOST. +EMAIL_HOST_USER = "" +EMAIL_HOST_PASSWORD = "" +EMAIL_USE_TLS = False +EMAIL_USE_SSL = False +EMAIL_SSL_CERTFILE = None +EMAIL_SSL_KEYFILE = None +EMAIL_TIMEOUT = None + +# List of strings representing installed apps. +INSTALLED_APPS = [] + +TEMPLATES = [] + +# Default form rendering class. +FORM_RENDERER = "django.forms.renderers.DjangoTemplates" + +# RemovedInDjango60Warning: It's a transitional setting helpful in early +# adoption of "https" as the new default value of forms.URLField.assume_scheme. +# Set to True to assume "https" during the Django 5.x release cycle. +FORMS_URLFIELD_ASSUME_HTTPS = False + +# Default email address to use for various automated correspondence from +# the site managers. +DEFAULT_FROM_EMAIL = "webmaster@localhost" + +# Subject-line prefix for email messages send with django.core.mail.mail_admins +# or ...mail_managers. Make sure to include the trailing space. +EMAIL_SUBJECT_PREFIX = "[Django] " + +# Whether to append trailing slashes to URLs. +APPEND_SLASH = True + +# Whether to prepend the "www." subdomain to URLs that don't have it. +PREPEND_WWW = False + +# Override the server-derived value of SCRIPT_NAME +FORCE_SCRIPT_NAME = None + +# List of compiled regular expression objects representing User-Agent strings +# that are not allowed to visit any page, systemwide. Use this for bad +# robots/crawlers. Here are a few examples: +# import re +# DISALLOWED_USER_AGENTS = [ +# re.compile(r'^NaverBot.*'), +# re.compile(r'^EmailSiphon.*'), +# re.compile(r'^SiteSucker.*'), +# re.compile(r'^sohu-search'), +# ] +DISALLOWED_USER_AGENTS = [] + +ABSOLUTE_URL_OVERRIDES = {} + +# List of compiled regular expression objects representing URLs that need not +# be reported by BrokenLinkEmailsMiddleware. Here are a few examples: +# import re +# IGNORABLE_404_URLS = [ +# re.compile(r'^/apple-touch-icon.*\.png$'), +# re.compile(r'^/favicon.ico$'), +# re.compile(r'^/robots.txt$'), +# re.compile(r'^/phpmyadmin/'), +# re.compile(r'\.(cgi|php|pl)$'), +# ] +IGNORABLE_404_URLS = [] + +# A secret key for this particular Django installation. Used in secret-key +# hashing algorithms. Set this in your settings, or Django will complain +# loudly. +SECRET_KEY = "" + +# List of secret keys used to verify the validity of signatures. This allows +# secret key rotation. +SECRET_KEY_FALLBACKS = [] + +STORAGES = { + "default": { + "BACKEND": "django.core.files.storage.FileSystemStorage", + }, + "staticfiles": { + "BACKEND": "django.contrib.staticfiles.storage.StaticFilesStorage", + }, +} + +# Absolute filesystem path to the directory that will hold user-uploaded files. +# Example: "/var/www/example.com/media/" +MEDIA_ROOT = "" + +# URL that handles the media served from MEDIA_ROOT. +# Examples: "http://example.com/media/", "http://media.example.com/" +MEDIA_URL = "" + +# Absolute path to the directory static files should be collected to. +# Example: "/var/www/example.com/static/" +STATIC_ROOT = None + +# URL that handles the static files served from STATIC_ROOT. +# Example: "http://example.com/static/", "http://static.example.com/" +STATIC_URL = None + +# List of upload handler classes to be applied in order. +FILE_UPLOAD_HANDLERS = [ + "django.core.files.uploadhandler.MemoryFileUploadHandler", + "django.core.files.uploadhandler.TemporaryFileUploadHandler", +] + +# Maximum size, in bytes, of a request before it will be streamed to the +# file system instead of into memory. +FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440 # i.e. 2.5 MB + +# Maximum size in bytes of request data (excluding file uploads) that will be +# read before a SuspiciousOperation (RequestDataTooBig) is raised. +DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440 # i.e. 2.5 MB + +# Maximum number of GET/POST parameters that will be read before a +# SuspiciousOperation (TooManyFieldsSent) is raised. +DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000 + +# Maximum number of files encoded in a multipart upload that will be read +# before a SuspiciousOperation (TooManyFilesSent) is raised. +DATA_UPLOAD_MAX_NUMBER_FILES = 100 + +# Directory in which upload streamed files will be temporarily saved. A value of +# `None` will make Django use the operating system's default temporary directory +# (i.e. "/tmp" on *nix systems). +FILE_UPLOAD_TEMP_DIR = None + +# The numeric mode to set newly-uploaded files to. The value should be a mode +# you'd pass directly to os.chmod; see +# https://docs.python.org/library/os.html#files-and-directories. +FILE_UPLOAD_PERMISSIONS = 0o644 + +# The numeric mode to assign to newly-created directories, when uploading files. +# The value should be a mode as you'd pass to os.chmod; +# see https://docs.python.org/library/os.html#files-and-directories. +FILE_UPLOAD_DIRECTORY_PERMISSIONS = None + +# Python module path where user will place custom format definition. +# The directory where this setting is pointing should contain subdirectories +# named as the locales, containing a formats.py file +# (i.e. "myproject.locale" for myproject/locale/en/formats.py etc. use) +FORMAT_MODULE_PATH = None + +# Default formatting for date objects. See all available format strings here: +# https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "N j, Y" + +# Default formatting for datetime objects. See all available format strings here: +# https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATETIME_FORMAT = "N j, Y, P" + +# Default formatting for time objects. See all available format strings here: +# https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +TIME_FORMAT = "P" + +# Default formatting for date objects when only the year and month are relevant. +# See all available format strings here: +# https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +YEAR_MONTH_FORMAT = "F Y" + +# Default formatting for date objects when only the month and day are relevant. +# See all available format strings here: +# https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +MONTH_DAY_FORMAT = "F j" + +# Default short formatting for date objects. See all available format strings here: +# https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +SHORT_DATE_FORMAT = "m/d/Y" + +# Default short formatting for datetime objects. +# See all available format strings here: +# https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +SHORT_DATETIME_FORMAT = "m/d/Y P" + +# Default formats to be used when parsing dates from input boxes, in order +# See all available format string here: +# https://docs.python.org/library/datetime.html#strftime-behavior +# * Note that these format strings are different from the ones to display dates +DATE_INPUT_FORMATS = [ + "%Y-%m-%d", # '2006-10-25' + "%m/%d/%Y", # '10/25/2006' + "%m/%d/%y", # '10/25/06' + "%b %d %Y", # 'Oct 25 2006' + "%b %d, %Y", # 'Oct 25, 2006' + "%d %b %Y", # '25 Oct 2006' + "%d %b, %Y", # '25 Oct, 2006' + "%B %d %Y", # 'October 25 2006' + "%B %d, %Y", # 'October 25, 2006' + "%d %B %Y", # '25 October 2006' + "%d %B, %Y", # '25 October, 2006' +] + +# Default formats to be used when parsing times from input boxes, in order +# See all available format string here: +# https://docs.python.org/library/datetime.html#strftime-behavior +# * Note that these format strings are different from the ones to display dates +TIME_INPUT_FORMATS = [ + "%H:%M:%S", # '14:30:59' + "%H:%M:%S.%f", # '14:30:59.000200' + "%H:%M", # '14:30' +] + +# Default formats to be used when parsing dates and times from input boxes, +# in order +# See all available format string here: +# https://docs.python.org/library/datetime.html#strftime-behavior +# * Note that these format strings are different from the ones to display dates +DATETIME_INPUT_FORMATS = [ + "%Y-%m-%d %H:%M:%S", # '2006-10-25 14:30:59' + "%Y-%m-%d %H:%M:%S.%f", # '2006-10-25 14:30:59.000200' + "%Y-%m-%d %H:%M", # '2006-10-25 14:30' + "%m/%d/%Y %H:%M:%S", # '10/25/2006 14:30:59' + "%m/%d/%Y %H:%M:%S.%f", # '10/25/2006 14:30:59.000200' + "%m/%d/%Y %H:%M", # '10/25/2006 14:30' + "%m/%d/%y %H:%M:%S", # '10/25/06 14:30:59' + "%m/%d/%y %H:%M:%S.%f", # '10/25/06 14:30:59.000200' + "%m/%d/%y %H:%M", # '10/25/06 14:30' +] + +# First day of week, to be used on calendars +# 0 means Sunday, 1 means Monday... +FIRST_DAY_OF_WEEK = 0 + +# Decimal separator symbol +DECIMAL_SEPARATOR = "." + +# Boolean that sets whether to add thousand separator when formatting numbers +USE_THOUSAND_SEPARATOR = False + +# Number of digits that will be together, when splitting them by +# THOUSAND_SEPARATOR. 0 means no grouping, 3 means splitting by thousands... +NUMBER_GROUPING = 0 + +# Thousand separator symbol +THOUSAND_SEPARATOR = "," + +# The tablespaces to use for each model when not specified otherwise. +DEFAULT_TABLESPACE = "" +DEFAULT_INDEX_TABLESPACE = "" + +# Default primary key field type. +DEFAULT_AUTO_FIELD = "django.db.models.AutoField" + +# Default X-Frame-Options header value +X_FRAME_OPTIONS = "DENY" + +USE_X_FORWARDED_HOST = False +USE_X_FORWARDED_PORT = False + +# The Python dotted path to the WSGI application that Django's internal server +# (runserver) will use. If `None`, the return value of +# 'django.core.wsgi.get_wsgi_application' is used, thus preserving the same +# behavior as previous versions of Django. Otherwise this should point to an +# actual WSGI application object. +WSGI_APPLICATION = None + +# If your Django app is behind a proxy that sets a header to specify secure +# connections, AND that proxy ensures that user-submitted headers with the +# same name are ignored (so that people can't spoof it), set this value to +# a tuple of (header_name, header_value). For any requests that come in with +# that header/value, request.is_secure() will return True. +# WARNING! Only set this if you fully understand what you're doing. Otherwise, +# you may be opening yourself up to a security risk. +SECURE_PROXY_SSL_HEADER = None + +############## +# MIDDLEWARE # +############## + +# List of middleware to use. Order is important; in the request phase, these +# middleware will be applied in the order given, and in the response +# phase the middleware will be applied in reverse order. +MIDDLEWARE = [] + +############ +# SESSIONS # +############ + +# Cache to store session data if using the cache session backend. +SESSION_CACHE_ALIAS = "default" +# Cookie name. This can be whatever you want. +SESSION_COOKIE_NAME = "sessionid" +# Age of cookie, in seconds (default: 2 weeks). +SESSION_COOKIE_AGE = 60 * 60 * 24 * 7 * 2 +# A string like "example.com", or None for standard domain cookie. +SESSION_COOKIE_DOMAIN = None +# Whether the session cookie should be secure (https:// only). +SESSION_COOKIE_SECURE = False +# The path of the session cookie. +SESSION_COOKIE_PATH = "/" +# Whether to use the HttpOnly flag. +SESSION_COOKIE_HTTPONLY = True +# Whether to set the flag restricting cookie leaks on cross-site requests. +# This can be 'Lax', 'Strict', 'None', or False to disable the flag. +SESSION_COOKIE_SAMESITE = "Lax" +# Whether to save the session data on every request. +SESSION_SAVE_EVERY_REQUEST = False +# Whether a user's session cookie expires when the web browser is closed. +SESSION_EXPIRE_AT_BROWSER_CLOSE = False +# The module to store session data +SESSION_ENGINE = "django.contrib.sessions.backends.db" +# Directory to store session files if using the file session module. If None, +# the backend will use a sensible default. +SESSION_FILE_PATH = None +# class to serialize session data +SESSION_SERIALIZER = "django.contrib.sessions.serializers.JSONSerializer" + +######### +# CACHE # +######### + +# The cache backends to use. +CACHES = { + "default": { + "BACKEND": "django.core.cache.backends.locmem.LocMemCache", + } +} +CACHE_MIDDLEWARE_KEY_PREFIX = "" +CACHE_MIDDLEWARE_SECONDS = 600 +CACHE_MIDDLEWARE_ALIAS = "default" + +################## +# AUTHENTICATION # +################## + +AUTH_USER_MODEL = "auth.User" + +AUTHENTICATION_BACKENDS = ["django.contrib.auth.backends.ModelBackend"] + +LOGIN_URL = "/accounts/login/" + +LOGIN_REDIRECT_URL = "/accounts/profile/" + +LOGOUT_REDIRECT_URL = None + +# The number of seconds a password reset link is valid for (default: 3 days). +PASSWORD_RESET_TIMEOUT = 60 * 60 * 24 * 3 + +# the first hasher in this list is the preferred algorithm. any +# password using different algorithms will be converted automatically +# upon login +PASSWORD_HASHERS = [ + "django.contrib.auth.hashers.PBKDF2PasswordHasher", + "django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher", + "django.contrib.auth.hashers.Argon2PasswordHasher", + "django.contrib.auth.hashers.BCryptSHA256PasswordHasher", + "django.contrib.auth.hashers.ScryptPasswordHasher", +] + +AUTH_PASSWORD_VALIDATORS = [] + +########### +# SIGNING # +########### + +SIGNING_BACKEND = "django.core.signing.TimestampSigner" + +######## +# CSRF # +######## + +# Dotted path to callable to be used as view when a request is +# rejected by the CSRF middleware. +CSRF_FAILURE_VIEW = "django.views.csrf.csrf_failure" + +# Settings for CSRF cookie. +CSRF_COOKIE_NAME = "csrftoken" +CSRF_COOKIE_AGE = 60 * 60 * 24 * 7 * 52 +CSRF_COOKIE_DOMAIN = None +CSRF_COOKIE_PATH = "/" +CSRF_COOKIE_SECURE = False +CSRF_COOKIE_HTTPONLY = False +CSRF_COOKIE_SAMESITE = "Lax" +CSRF_HEADER_NAME = "HTTP_X_CSRFTOKEN" +CSRF_TRUSTED_ORIGINS = [] +CSRF_USE_SESSIONS = False + +############ +# MESSAGES # +############ + +# Class to use as messages backend +MESSAGE_STORAGE = "django.contrib.messages.storage.fallback.FallbackStorage" + +# Default values of MESSAGE_LEVEL and MESSAGE_TAGS are defined within +# django.contrib.messages to avoid imports in this settings file. + +########### +# LOGGING # +########### + +# The callable to use to configure logging +LOGGING_CONFIG = "logging.config.dictConfig" + +# Custom logging configuration. +LOGGING = {} + +# Default exception reporter class used in case none has been +# specifically assigned to the HttpRequest instance. +DEFAULT_EXCEPTION_REPORTER = "django.views.debug.ExceptionReporter" + +# Default exception reporter filter class used in case none has been +# specifically assigned to the HttpRequest instance. +DEFAULT_EXCEPTION_REPORTER_FILTER = "django.views.debug.SafeExceptionReporterFilter" + +########### +# TESTING # +########### + +# The name of the class to use to run the test suite +TEST_RUNNER = "django.test.runner.DiscoverRunner" + +# Apps that don't need to be serialized at test database creation time +# (only apps with migrations are to start with) +TEST_NON_SERIALIZED_APPS = [] + +############ +# FIXTURES # +############ + +# The list of directories to search for fixtures +FIXTURE_DIRS = [] + +############### +# STATICFILES # +############### + +# A list of locations of additional static files +STATICFILES_DIRS = [] + +# List of finder classes that know how to find static files in +# various locations. +STATICFILES_FINDERS = [ + "django.contrib.staticfiles.finders.FileSystemFinder", + "django.contrib.staticfiles.finders.AppDirectoriesFinder", + # 'django.contrib.staticfiles.finders.DefaultStorageFinder', +] + +############## +# MIGRATIONS # +############## + +# Migration module overrides for apps, by app label. +MIGRATION_MODULES = {} + +################# +# SYSTEM CHECKS # +################# + +# List of all issues generated by system checks that should be silenced. Light +# issues like warnings, infos or debugs will not generate a message. Silencing +# serious issues like errors and criticals does not result in hiding the +# message, but Django will not stop you from e.g. running server. +SILENCED_SYSTEM_CHECKS = [] + +####################### +# SECURITY MIDDLEWARE # +####################### +SECURE_CONTENT_TYPE_NOSNIFF = True +SECURE_CROSS_ORIGIN_OPENER_POLICY = "same-origin" +SECURE_HSTS_INCLUDE_SUBDOMAINS = False +SECURE_HSTS_PRELOAD = False +SECURE_HSTS_SECONDS = 0 +SECURE_REDIRECT_EXEMPT = [] +SECURE_REFERRER_POLICY = "same-origin" +SECURE_SSL_HOST = None +SECURE_SSL_REDIRECT = False diff --git a/external_sources/django/django/conf/locale/__init__.py b/external_sources/django/django/conf/locale/__init__.py new file mode 100644 index 0000000..6ac7bd3 --- /dev/null +++ b/external_sources/django/django/conf/locale/__init__.py @@ -0,0 +1,629 @@ +""" +LANG_INFO is a dictionary structure to provide meta information about languages. + +About name_local: capitalize it as if your language name was appearing +inside a sentence in your language. +The 'fallback' key can be used to specify a special fallback logic which doesn't +follow the traditional 'fr-ca' -> 'fr' fallback logic. +""" + +LANG_INFO = { + "af": { + "bidi": False, + "code": "af", + "name": "Afrikaans", + "name_local": "Afrikaans", + }, + "ar": { + "bidi": True, + "code": "ar", + "name": "Arabic", + "name_local": "العربيّة", + }, + "ar-dz": { + "bidi": True, + "code": "ar-dz", + "name": "Algerian Arabic", + "name_local": "العربية الجزائرية", + }, + "ast": { + "bidi": False, + "code": "ast", + "name": "Asturian", + "name_local": "asturianu", + }, + "az": { + "bidi": True, + "code": "az", + "name": "Azerbaijani", + "name_local": "Azərbaycanca", + }, + "be": { + "bidi": False, + "code": "be", + "name": "Belarusian", + "name_local": "беларуская", + }, + "bg": { + "bidi": False, + "code": "bg", + "name": "Bulgarian", + "name_local": "български", + }, + "bn": { + "bidi": False, + "code": "bn", + "name": "Bengali", + "name_local": "বাংলা", + }, + "br": { + "bidi": False, + "code": "br", + "name": "Breton", + "name_local": "brezhoneg", + }, + "bs": { + "bidi": False, + "code": "bs", + "name": "Bosnian", + "name_local": "bosanski", + }, + "ca": { + "bidi": False, + "code": "ca", + "name": "Catalan", + "name_local": "català", + }, + "ckb": { + "bidi": True, + "code": "ckb", + "name": "Central Kurdish (Sorani)", + "name_local": "کوردی", + }, + "cs": { + "bidi": False, + "code": "cs", + "name": "Czech", + "name_local": "česky", + }, + "cy": { + "bidi": False, + "code": "cy", + "name": "Welsh", + "name_local": "Cymraeg", + }, + "da": { + "bidi": False, + "code": "da", + "name": "Danish", + "name_local": "dansk", + }, + "de": { + "bidi": False, + "code": "de", + "name": "German", + "name_local": "Deutsch", + }, + "dsb": { + "bidi": False, + "code": "dsb", + "name": "Lower Sorbian", + "name_local": "dolnoserbski", + }, + "el": { + "bidi": False, + "code": "el", + "name": "Greek", + "name_local": "Ελληνικά", + }, + "en": { + "bidi": False, + "code": "en", + "name": "English", + "name_local": "English", + }, + "en-au": { + "bidi": False, + "code": "en-au", + "name": "Australian English", + "name_local": "Australian English", + }, + "en-gb": { + "bidi": False, + "code": "en-gb", + "name": "British English", + "name_local": "British English", + }, + "eo": { + "bidi": False, + "code": "eo", + "name": "Esperanto", + "name_local": "Esperanto", + }, + "es": { + "bidi": False, + "code": "es", + "name": "Spanish", + "name_local": "español", + }, + "es-ar": { + "bidi": False, + "code": "es-ar", + "name": "Argentinian Spanish", + "name_local": "español de Argentina", + }, + "es-co": { + "bidi": False, + "code": "es-co", + "name": "Colombian Spanish", + "name_local": "español de Colombia", + }, + "es-mx": { + "bidi": False, + "code": "es-mx", + "name": "Mexican Spanish", + "name_local": "español de Mexico", + }, + "es-ni": { + "bidi": False, + "code": "es-ni", + "name": "Nicaraguan Spanish", + "name_local": "español de Nicaragua", + }, + "es-ve": { + "bidi": False, + "code": "es-ve", + "name": "Venezuelan Spanish", + "name_local": "español de Venezuela", + }, + "et": { + "bidi": False, + "code": "et", + "name": "Estonian", + "name_local": "eesti", + }, + "eu": { + "bidi": False, + "code": "eu", + "name": "Basque", + "name_local": "Basque", + }, + "fa": { + "bidi": True, + "code": "fa", + "name": "Persian", + "name_local": "فارسی", + }, + "fi": { + "bidi": False, + "code": "fi", + "name": "Finnish", + "name_local": "suomi", + }, + "fr": { + "bidi": False, + "code": "fr", + "name": "French", + "name_local": "français", + }, + "fy": { + "bidi": False, + "code": "fy", + "name": "Frisian", + "name_local": "frysk", + }, + "ga": { + "bidi": False, + "code": "ga", + "name": "Irish", + "name_local": "Gaeilge", + }, + "gd": { + "bidi": False, + "code": "gd", + "name": "Scottish Gaelic", + "name_local": "Gàidhlig", + }, + "gl": { + "bidi": False, + "code": "gl", + "name": "Galician", + "name_local": "galego", + }, + "he": { + "bidi": True, + "code": "he", + "name": "Hebrew", + "name_local": "עברית", + }, + "hi": { + "bidi": False, + "code": "hi", + "name": "Hindi", + "name_local": "हिंदी", + }, + "hr": { + "bidi": False, + "code": "hr", + "name": "Croatian", + "name_local": "Hrvatski", + }, + "hsb": { + "bidi": False, + "code": "hsb", + "name": "Upper Sorbian", + "name_local": "hornjoserbsce", + }, + "hu": { + "bidi": False, + "code": "hu", + "name": "Hungarian", + "name_local": "Magyar", + }, + "hy": { + "bidi": False, + "code": "hy", + "name": "Armenian", + "name_local": "հայերեն", + }, + "ia": { + "bidi": False, + "code": "ia", + "name": "Interlingua", + "name_local": "Interlingua", + }, + "io": { + "bidi": False, + "code": "io", + "name": "Ido", + "name_local": "ido", + }, + "id": { + "bidi": False, + "code": "id", + "name": "Indonesian", + "name_local": "Bahasa Indonesia", + }, + "ig": { + "bidi": False, + "code": "ig", + "name": "Igbo", + "name_local": "Asụsụ Ìgbò", + }, + "is": { + "bidi": False, + "code": "is", + "name": "Icelandic", + "name_local": "Íslenska", + }, + "it": { + "bidi": False, + "code": "it", + "name": "Italian", + "name_local": "italiano", + }, + "ja": { + "bidi": False, + "code": "ja", + "name": "Japanese", + "name_local": "日本語", + }, + "ka": { + "bidi": False, + "code": "ka", + "name": "Georgian", + "name_local": "ქართული", + }, + "kab": { + "bidi": False, + "code": "kab", + "name": "Kabyle", + "name_local": "taqbaylit", + }, + "kk": { + "bidi": False, + "code": "kk", + "name": "Kazakh", + "name_local": "Қазақ", + }, + "km": { + "bidi": False, + "code": "km", + "name": "Khmer", + "name_local": "Khmer", + }, + "kn": { + "bidi": False, + "code": "kn", + "name": "Kannada", + "name_local": "Kannada", + }, + "ko": { + "bidi": False, + "code": "ko", + "name": "Korean", + "name_local": "한국어", + }, + "ky": { + "bidi": False, + "code": "ky", + "name": "Kyrgyz", + "name_local": "Кыргызча", + }, + "lb": { + "bidi": False, + "code": "lb", + "name": "Luxembourgish", + "name_local": "Lëtzebuergesch", + }, + "lt": { + "bidi": False, + "code": "lt", + "name": "Lithuanian", + "name_local": "Lietuviškai", + }, + "lv": { + "bidi": False, + "code": "lv", + "name": "Latvian", + "name_local": "latviešu", + }, + "mk": { + "bidi": False, + "code": "mk", + "name": "Macedonian", + "name_local": "Македонски", + }, + "ml": { + "bidi": False, + "code": "ml", + "name": "Malayalam", + "name_local": "മലയാളം", + }, + "mn": { + "bidi": False, + "code": "mn", + "name": "Mongolian", + "name_local": "Mongolian", + }, + "mr": { + "bidi": False, + "code": "mr", + "name": "Marathi", + "name_local": "मराठी", + }, + "ms": { + "bidi": False, + "code": "ms", + "name": "Malay", + "name_local": "Bahasa Melayu", + }, + "my": { + "bidi": False, + "code": "my", + "name": "Burmese", + "name_local": "မြန်မာဘာသာ", + }, + "nb": { + "bidi": False, + "code": "nb", + "name": "Norwegian Bokmal", + "name_local": "norsk (bokmål)", + }, + "ne": { + "bidi": False, + "code": "ne", + "name": "Nepali", + "name_local": "नेपाली", + }, + "nl": { + "bidi": False, + "code": "nl", + "name": "Dutch", + "name_local": "Nederlands", + }, + "nn": { + "bidi": False, + "code": "nn", + "name": "Norwegian Nynorsk", + "name_local": "norsk (nynorsk)", + }, + "no": { + "bidi": False, + "code": "no", + "name": "Norwegian", + "name_local": "norsk", + }, + "os": { + "bidi": False, + "code": "os", + "name": "Ossetic", + "name_local": "Ирон", + }, + "pa": { + "bidi": False, + "code": "pa", + "name": "Punjabi", + "name_local": "Punjabi", + }, + "pl": { + "bidi": False, + "code": "pl", + "name": "Polish", + "name_local": "polski", + }, + "pt": { + "bidi": False, + "code": "pt", + "name": "Portuguese", + "name_local": "Português", + }, + "pt-br": { + "bidi": False, + "code": "pt-br", + "name": "Brazilian Portuguese", + "name_local": "Português Brasileiro", + }, + "ro": { + "bidi": False, + "code": "ro", + "name": "Romanian", + "name_local": "Română", + }, + "ru": { + "bidi": False, + "code": "ru", + "name": "Russian", + "name_local": "Русский", + }, + "sk": { + "bidi": False, + "code": "sk", + "name": "Slovak", + "name_local": "slovensky", + }, + "sl": { + "bidi": False, + "code": "sl", + "name": "Slovenian", + "name_local": "Slovenščina", + }, + "sq": { + "bidi": False, + "code": "sq", + "name": "Albanian", + "name_local": "shqip", + }, + "sr": { + "bidi": False, + "code": "sr", + "name": "Serbian", + "name_local": "српски", + }, + "sr-latn": { + "bidi": False, + "code": "sr-latn", + "name": "Serbian Latin", + "name_local": "srpski (latinica)", + }, + "sv": { + "bidi": False, + "code": "sv", + "name": "Swedish", + "name_local": "svenska", + }, + "sw": { + "bidi": False, + "code": "sw", + "name": "Swahili", + "name_local": "Kiswahili", + }, + "ta": { + "bidi": False, + "code": "ta", + "name": "Tamil", + "name_local": "தமிழ்", + }, + "te": { + "bidi": False, + "code": "te", + "name": "Telugu", + "name_local": "తెలుగు", + }, + "tg": { + "bidi": False, + "code": "tg", + "name": "Tajik", + "name_local": "тоҷикӣ", + }, + "th": { + "bidi": False, + "code": "th", + "name": "Thai", + "name_local": "ภาษาไทย", + }, + "tk": { + "bidi": False, + "code": "tk", + "name": "Turkmen", + "name_local": "Türkmençe", + }, + "tr": { + "bidi": False, + "code": "tr", + "name": "Turkish", + "name_local": "Türkçe", + }, + "tt": { + "bidi": False, + "code": "tt", + "name": "Tatar", + "name_local": "Татарча", + }, + "udm": { + "bidi": False, + "code": "udm", + "name": "Udmurt", + "name_local": "Удмурт", + }, + "ug": { + "bidi": True, + "code": "ug", + "name": "Uyghur", + "name_local": "ئۇيغۇرچە", + }, + "uk": { + "bidi": False, + "code": "uk", + "name": "Ukrainian", + "name_local": "Українська", + }, + "ur": { + "bidi": True, + "code": "ur", + "name": "Urdu", + "name_local": "اردو", + }, + "uz": { + "bidi": False, + "code": "uz", + "name": "Uzbek", + "name_local": "oʻzbek tili", + }, + "vi": { + "bidi": False, + "code": "vi", + "name": "Vietnamese", + "name_local": "Tiếng Việt", + }, + "zh-cn": { + "fallback": ["zh-hans"], + }, + "zh-hans": { + "bidi": False, + "code": "zh-hans", + "name": "Simplified Chinese", + "name_local": "简体中文", + }, + "zh-hant": { + "bidi": False, + "code": "zh-hant", + "name": "Traditional Chinese", + "name_local": "繁體中文", + }, + "zh-hk": { + "fallback": ["zh-hant"], + }, + "zh-mo": { + "fallback": ["zh-hant"], + }, + "zh-my": { + "fallback": ["zh-hans"], + }, + "zh-sg": { + "fallback": ["zh-hans"], + }, + "zh-tw": { + "fallback": ["zh-hant"], + }, +} diff --git a/external_sources/django/django/conf/locale/af/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/af/LC_MESSAGES/django.po new file mode 100644 index 0000000..cbd7abf --- /dev/null +++ b/external_sources/django/django/conf/locale/af/LC_MESSAGES/django.po @@ -0,0 +1,1335 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# F Wolff , 2019-2020,2022-2023 +# Stephen Cox , 2011-2012 +# unklphil , 2014,2019 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 11:41-0300\n" +"PO-Revision-Date: 2023-12-04 06:49+0000\n" +"Last-Translator: F Wolff , 2019-2020,2022-2023\n" +"Language-Team: Afrikaans (http://app.transifex.com/django/django/language/" +"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" + +msgid "Afrikaans" +msgstr "Afrikaans" + +msgid "Arabic" +msgstr "Arabies" + +msgid "Algerian Arabic" +msgstr "Algeriese Arabies" + +msgid "Asturian" +msgstr "Asturies" + +msgid "Azerbaijani" +msgstr "Aserbeidjans" + +msgid "Bulgarian" +msgstr "Bulgaars" + +msgid "Belarusian" +msgstr "Wit-Russies" + +msgid "Bengali" +msgstr "Bengali" + +msgid "Breton" +msgstr "Bretons" + +msgid "Bosnian" +msgstr "Bosnies" + +msgid "Catalan" +msgstr "Katalaans" + +msgid "Central Kurdish (Sorani)" +msgstr "" + +msgid "Czech" +msgstr "Tsjeggies" + +msgid "Welsh" +msgstr "Wallies" + +msgid "Danish" +msgstr "Deens" + +msgid "German" +msgstr "Duits" + +msgid "Lower Sorbian" +msgstr "Neder-Sorbies" + +msgid "Greek" +msgstr "Grieks" + +msgid "English" +msgstr "Engels" + +msgid "Australian English" +msgstr "Australiese Engels" + +msgid "British English" +msgstr "Britse Engels" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Spaans" + +msgid "Argentinian Spanish" +msgstr "Argentynse Spaans" + +msgid "Colombian Spanish" +msgstr "Kolombiaanse Spaans" + +msgid "Mexican Spanish" +msgstr "Meksikaanse Spaans" + +msgid "Nicaraguan Spanish" +msgstr "Nicaraguaanse Spaans" + +msgid "Venezuelan Spanish" +msgstr "Venezolaanse Spaans" + +msgid "Estonian" +msgstr "Estnies" + +msgid "Basque" +msgstr "Baskies" + +msgid "Persian" +msgstr "Persies" + +msgid "Finnish" +msgstr "Fins" + +msgid "French" +msgstr "Fraans" + +msgid "Frisian" +msgstr "Fries" + +msgid "Irish" +msgstr "Iers" + +msgid "Scottish Gaelic" +msgstr "Skots-Gaelies" + +msgid "Galician" +msgstr "Galicies" + +msgid "Hebrew" +msgstr "Hebreeus" + +msgid "Hindi" +msgstr "Hindoe" + +msgid "Croatian" +msgstr "Kroaties" + +msgid "Upper Sorbian" +msgstr "Opper-Sorbies" + +msgid "Hungarian" +msgstr "Hongaars" + +msgid "Armenian" +msgstr "Armeens" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indonesies" + +msgid "Igbo" +msgstr "" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Yslands" + +msgid "Italian" +msgstr "Italiaans" + +msgid "Japanese" +msgstr "Japannees" + +msgid "Georgian" +msgstr "Georgian" + +msgid "Kabyle" +msgstr "Kabilies" + +msgid "Kazakh" +msgstr "Kazakh" + +msgid "Khmer" +msgstr "Khmer" + +msgid "Kannada" +msgstr "Kannada" + +msgid "Korean" +msgstr "Koreaans" + +msgid "Kyrgyz" +msgstr "" + +msgid "Luxembourgish" +msgstr "Luxemburgs" + +msgid "Lithuanian" +msgstr "Litaus" + +msgid "Latvian" +msgstr "Lets" + +msgid "Macedonian" +msgstr "Macedonies" + +msgid "Malayalam" +msgstr "Malabaars" + +msgid "Mongolian" +msgstr "Mongools" + +msgid "Marathi" +msgstr "Marathi" + +msgid "Malay" +msgstr "Maleisies" + +msgid "Burmese" +msgstr "Birmaans" + +msgid "Norwegian Bokmål" +msgstr "Noorweegse Bokmål" + +msgid "Nepali" +msgstr "Nepalees" + +msgid "Dutch" +msgstr "Nederlands" + +msgid "Norwegian Nynorsk" +msgstr "Noorweegse Nynorsk" + +msgid "Ossetic" +msgstr "Osseties" + +msgid "Punjabi" +msgstr "Punjabi" + +msgid "Polish" +msgstr "Pools" + +msgid "Portuguese" +msgstr "Portugees" + +msgid "Brazilian Portuguese" +msgstr "Brasiliaanse Portugees" + +msgid "Romanian" +msgstr "Roemeens" + +msgid "Russian" +msgstr "Russiese" + +msgid "Slovak" +msgstr "Slowaaks" + +msgid "Slovenian" +msgstr "Sloweens" + +msgid "Albanian" +msgstr "Albanees" + +msgid "Serbian" +msgstr "Serwies" + +msgid "Serbian Latin" +msgstr "Serwies Latyns" + +msgid "Swedish" +msgstr "Sweeds" + +msgid "Swahili" +msgstr "Swahili" + +msgid "Tamil" +msgstr "Tamil" + +msgid "Telugu" +msgstr "Teloegoe" + +msgid "Tajik" +msgstr "" + +msgid "Thai" +msgstr "Thai" + +msgid "Turkmen" +msgstr "" + +msgid "Turkish" +msgstr "Turks" + +msgid "Tatar" +msgstr "Tataars" + +msgid "Udmurt" +msgstr "Oedmoerts" + +msgid "Uyghur" +msgstr "" + +msgid "Ukrainian" +msgstr "Oekraïens" + +msgid "Urdu" +msgstr "Oerdoe" + +msgid "Uzbek" +msgstr "Oesbekies " + +msgid "Vietnamese" +msgstr "Viëtnamees" + +msgid "Simplified Chinese" +msgstr "Vereenvoudigde Sjinees" + +msgid "Traditional Chinese" +msgstr "Tradisionele Sjinees" + +msgid "Messages" +msgstr "Boodskappe" + +msgid "Site Maps" +msgstr "Werfkaarte" + +msgid "Static Files" +msgstr "Statiese lêers" + +msgid "Syndication" +msgstr "Sindikasie" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "Daai bladsynommer is nie ’n heelgetal nie" + +msgid "That page number is less than 1" +msgstr "Daai bladsynommer is minder as 1" + +msgid "That page contains no results" +msgstr "Daai bladsy bevat geen resultate nie" + +msgid "Enter a valid value." +msgstr "Gee ’n geldige waarde." + +msgid "Enter a valid URL." +msgstr "Gee ’n geldige URL." + +msgid "Enter a valid integer." +msgstr "Gee ’n geldige heelgetal." + +msgid "Enter a valid email address." +msgstr "Gee ’n geldige e-posadres." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Gee ’n geldige “slak” wat bestaan ​​uit letters, syfers, onderstreep of " +"koppelteken." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Gee ’n geldige “slak” wat bestaan ​​uit Unicode-letters, syfers, onderstreep " +"of koppelteken." + +msgid "Enter a valid IPv4 address." +msgstr "Gee ’n geldige IPv4-adres." + +msgid "Enter a valid IPv6 address." +msgstr "Gee ’n geldige IPv6-adres." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Gee ’n geldige IPv4- of IPv6-adres." + +msgid "Enter only digits separated by commas." +msgstr "Gee slegs syfers wat deur kommas geskei is." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Maak seker dat hierdie waarde %(limit_value)s is (dit is %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Maak seker dat hierdie waarde kleiner of gelyk is aan %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Maak seker dat hierdie waarde groter of gelyk is aan %(limit_value)s." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "" +"Maak seker dat hierdie waarde ’n veelvoud is van stapgrootte %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Maak seker hierdie waarde het ten minste %(limit_value)d karakter (dit het " +"%(show_value)d)." +msgstr[1] "" +"Maak seker hierdie waarde het ten minste %(limit_value)d karakters (dit het " +"%(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Maak seker hierdie waarde het op die meeste %(limit_value)d karakter (dit " +"het %(show_value)d)." +msgstr[1] "" +"Maak seker hierdie waarde het op die meeste %(limit_value)d karakters (dit " +"het %(show_value)d)." + +msgid "Enter a number." +msgstr "Gee ’n getal." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Maak seker dat daar nie meer as %(max)s syfer in totaal is nie." +msgstr[1] "Maak seker dat daar nie meer as %(max)s syfers in totaal is nie." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Maak seker dat daar nie meer as %(max)s desimale plek is nie." +msgstr[1] "Maak seker dat daar nie meer as %(max)s desimale plekke is nie." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Maak seker dat daar nie meer as %(max)s syfer voor die desimale punt is nie." +msgstr[1] "" +"Maak seker dat daar nie meer as %(max)s syfers voor die desimale punt is nie." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Lêeruitbreiding “%(extension)s” word nie toegelaat nie. Toegelate " +"uitbreidings is: %(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Nul-karakters word nie toegelaat nie." + +msgid "and" +msgstr "en" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s met hierdie %(field_labels)s bestaan alreeds." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "Beperking “%(name)s” word verbreek." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Waarde %(value)r is nie ’n geldige keuse nie." + +msgid "This field cannot be null." +msgstr "Hierdie veld kan nie nil wees nie." + +msgid "This field cannot be blank." +msgstr "Hierdie veld kan nie leeg wees nie." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s met hierdie %(field_label)s bestaan ​​alreeds." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s moet uniek wees per %(date_field_label)s %(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Veld van tipe: %(field_type)s " + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "“%(value)s” waarde moet óf True óf False wees." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "Die waarde “%(value)s” moet True, False of None wees." + +msgid "Boolean (Either True or False)" +msgstr "Boole (True of False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "String (hoogstens %(max_length)s karakters)" + +msgid "String (unlimited)" +msgstr "String (onbeperk)" + +msgid "Comma-separated integers" +msgstr "Heelgetalle geskei met kommas" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"Die waarde “%(value)s” het ’n ongeldige datumformaat. Dit moet in die " +"formaat JJJJ-MM-DD wees." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"Die waarde “%(value)s” het die korrekte formaat (JJJJ-MM-DD), maar dit is ’n " +"ongeldige datum." + +msgid "Date (without time)" +msgstr "Datum (sonder die tyd)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"Die waarde “%(value)s” se formaat is ongeldig. Dit moet in die formaat JJJJ-" +"MM-DD HH:MM[:ss[.uuuuuu]][TZ] wees." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"Die waarde “%(value)s” het die korrekte formaat (JJJJ-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ]) maar dit is ’n ongeldige datum/tyd." + +msgid "Date (with time)" +msgstr "Datum (met die tyd)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "“%(value)s”-waarde moet ’n desimale getal wees." + +msgid "Decimal number" +msgstr "Desimale getal" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"Die waarde “%(value)s” het ’n ongeldige formaat. Dit moet in die formaat " +"[DD] [HH:[MM:]]ss[.uuuuuu] wees." + +msgid "Duration" +msgstr "Duur" + +msgid "Email address" +msgstr "E-posadres" + +msgid "File path" +msgstr "Lêerpad" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "Die waarde “%(value)s” moet ’n dryfpuntgetal wees." + +msgid "Floating point number" +msgstr "Dryfpuntgetal" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "Die waarde “%(value)s” moet ’n heelgetal wees." + +msgid "Integer" +msgstr "Heelgetal" + +msgid "Big (8 byte) integer" +msgstr "Groot (8 greep) heelgetal" + +msgid "Small integer" +msgstr "Klein heelgetal" + +msgid "IPv4 address" +msgstr "IPv4-adres" + +msgid "IP address" +msgstr "IP-adres" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "“%(value)s”-waarde moet een wees uit None, True of False." + +msgid "Boolean (Either True, False or None)" +msgstr "Boole (True, False, of None)" + +msgid "Positive big integer" +msgstr "Positiewe groot heelgetal" + +msgid "Positive integer" +msgstr "Positiewe heelgetal" + +msgid "Positive small integer" +msgstr "Klein positiewe heelgetal" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (tot en met %(max_length)s karakters)" + +msgid "Text" +msgstr "Teks" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"“%(value)s”-waarde het ’n ongeldige formaat. Dit moet geformateer word as HH:" +"MM[:ss[.uuuuuu]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"Die waarde “%(value)s” het die regte formaat (HH:MM[:ss[.uuuuuu]]) maar is " +"nie ’n geldige tyd nie." + +msgid "Time" +msgstr "Tyd" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Rou binêre data" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "“%(value)s” is nie ’n geldige UUID nie." + +msgid "Universally unique identifier" +msgstr "Universeel unieke identifiseerder" + +msgid "File" +msgstr "Lêer" + +msgid "Image" +msgstr "Prent" + +msgid "A JSON object" +msgstr "’n JSON-objek" + +msgid "Value must be valid JSON." +msgstr "Waarde moet geldige JSON wees." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "%(model)s-objek met %(field)s %(value)r bestaan nie." + +msgid "Foreign Key (type determined by related field)" +msgstr "Vreemde sleutel (tipe bepaal deur verwante veld)" + +msgid "One-to-one relationship" +msgstr "Een-tot-een-verhouding" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s-verwantskap" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s-verwantskappe" + +msgid "Many-to-many relationship" +msgstr "Baie-tot-baie-verwantskap" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Dié veld is verpligtend." + +msgid "Enter a whole number." +msgstr "Tik ’n heelgetal in." + +msgid "Enter a valid date." +msgstr "Tik ’n geldige datum in." + +msgid "Enter a valid time." +msgstr "Tik ’n geldige tyd in." + +msgid "Enter a valid date/time." +msgstr "Tik ’n geldige datum/tyd in." + +msgid "Enter a valid duration." +msgstr "Tik ’n geldige tydsduur in." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Die aantal dae moet tussen {min_days} en {max_days} wees." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"Geen lêer is ingedien nie. Maak seker die koderingtipe op die vorm is reg." + +msgid "No file was submitted." +msgstr "Geen lêer is ingedien nie." + +msgid "The submitted file is empty." +msgstr "Die ingediende lêer is leeg." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Maak seker hierdie lêernaam het hoogstens %(max)d karakter (dit het " +"%(length)d)." +msgstr[1] "" +"Maak seker hierdie lêernaam het hoogstens %(max)d karakters (dit het " +"%(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Dien die lêer in óf merk die Maak skoon-boksie, nie altwee nie." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Laai ’n geldige prent. Die lêer wat jy opgelaai het, is nie ’n prent nie of " +"dit is ’n korrupte prent." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Kies ’n geldige keuse. %(value)s is nie een van die beskikbare keuses nie." + +msgid "Enter a list of values." +msgstr "Tik ’n lys waardes in." + +msgid "Enter a complete value." +msgstr "Tik ’n volledige waarde in." + +msgid "Enter a valid UUID." +msgstr "Tik ’n geldig UUID in." + +msgid "Enter a valid JSON." +msgstr "Gee geldige JSON." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Versteekte veld %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Dien asseblief hoogstens %(num)d vorm in." +msgstr[1] "Dien asseblief hoogstens %(num)d vorms in." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Dien asseblief ten minste %(num)d vorm in." +msgstr[1] "Dien asseblief ten minste %(num)d vorms in." + +msgid "Order" +msgstr "Orde" + +msgid "Delete" +msgstr "Verwyder" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Korrigeer die dubbele data vir %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "Korrigeer die dubbele data vir %(field)s, dit moet uniek wees." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Korrigeer die dubbele data vir %(field_name)s, dit moet uniek wees vir die " +"%(lookup)s in %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Korrigeer die dubbele waardes hieronder." + +msgid "The inline value did not match the parent instance." +msgstr "Die waarde inlyn pas nie by die ouerobjek nie." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Kies ’n geldige keuse. Daardie keuse is nie een van die beskikbare keuses " +"nie." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "“%(pk)s” is nie ’n geldige waarde nie." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s kon nie in die tydsone %(current_timezone)s vertolk word nie; " +"dit is dalk dubbelsinnig, of bestaan dalk nie." + +msgid "Clear" +msgstr "Maak skoon" + +msgid "Currently" +msgstr "Tans" + +msgid "Change" +msgstr "Verander" + +msgid "Unknown" +msgstr "Onbekend" + +msgid "Yes" +msgstr "Ja" + +msgid "No" +msgstr "Nee" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "ja,nee,miskien" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d greep" +msgstr[1] "%(size)d grepe" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "nm." + +msgid "a.m." +msgstr "vm." + +msgid "PM" +msgstr "NM" + +msgid "AM" +msgstr "VM" + +msgid "midnight" +msgstr "middernag" + +msgid "noon" +msgstr "middag" + +msgid "Monday" +msgstr "Maandag" + +msgid "Tuesday" +msgstr "Dinsdag" + +msgid "Wednesday" +msgstr "Woensdag" + +msgid "Thursday" +msgstr "Donderdag" + +msgid "Friday" +msgstr "Vrydag" + +msgid "Saturday" +msgstr "Saterdag" + +msgid "Sunday" +msgstr "Sondag" + +msgid "Mon" +msgstr "Ma" + +msgid "Tue" +msgstr "Di" + +msgid "Wed" +msgstr "Wo" + +msgid "Thu" +msgstr "Do" + +msgid "Fri" +msgstr "Vr" + +msgid "Sat" +msgstr "Sa" + +msgid "Sun" +msgstr "So" + +msgid "January" +msgstr "Januarie" + +msgid "February" +msgstr "Februarie" + +msgid "March" +msgstr "Maart" + +msgid "April" +msgstr "April" + +msgid "May" +msgstr "Mei" + +msgid "June" +msgstr "Junie" + +msgid "July" +msgstr "Julie" + +msgid "August" +msgstr "Augustus" + +msgid "September" +msgstr "September" + +msgid "October" +msgstr "Oktober" + +msgid "November" +msgstr "November" + +msgid "December" +msgstr "Desember" + +msgid "jan" +msgstr "jan" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "mrt" + +msgid "apr" +msgstr "apr" + +msgid "may" +msgstr "mei" + +msgid "jun" +msgstr "jun" + +msgid "jul" +msgstr "jul" + +msgid "aug" +msgstr "aug" + +msgid "sep" +msgstr "sept" + +msgid "oct" +msgstr "okt" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "des" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Jan." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Maart" + +msgctxt "abbrev. month" +msgid "April" +msgstr "April" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Mei" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Junie" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Julie" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Aug." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Sept." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Okt." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Des." + +msgctxt "alt. month" +msgid "January" +msgstr "Januarie" + +msgctxt "alt. month" +msgid "February" +msgstr "Februarie" + +msgctxt "alt. month" +msgid "March" +msgstr "Maart" + +msgctxt "alt. month" +msgid "April" +msgstr "April" + +msgctxt "alt. month" +msgid "May" +msgstr "Mei" + +msgctxt "alt. month" +msgid "June" +msgstr "Junie" + +msgctxt "alt. month" +msgid "July" +msgstr "Julie" + +msgctxt "alt. month" +msgid "August" +msgstr "Augustus" + +msgctxt "alt. month" +msgid "September" +msgstr "September" + +msgctxt "alt. month" +msgid "October" +msgstr "Oktober" + +msgctxt "alt. month" +msgid "November" +msgstr "November" + +msgctxt "alt. month" +msgid "December" +msgstr "Desember" + +msgid "This is not a valid IPv6 address." +msgstr "Hierdie is nie ’n geldige IPv6-adres nie." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "of" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d jaar" +msgstr[1] "%(num)d jaar" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d maand" +msgstr[1] "%(num)d maande" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d week" +msgstr[1] "%(num)d weke" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d dag" +msgstr[1] "%(num)d dae" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d uur" +msgstr[1] "%(num)d uur" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d minuut" +msgstr[1] "%(num)d minute" + +msgid "Forbidden" +msgstr "Verbode" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF-verifikasie het misluk. Versoek is laat val." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"U sien hierdie boodskap omdat dié HTTPS-werf vereis dat u webblaaier ’n " +"“Referer header” moet stuur, maar dit is nie gestuur nie. Hierdie header is " +"vir sekuriteitsredes nodig om te verseker dat u blaaier nie deur derde " +"partye gekaap is nie." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"As “Referer headers” in u blaaier gedeaktiveer is, heraktiveer hulle asb. " +"ten minste vir dié werf, of vir HTTPS-verbindings, of vir “same-origin”-" +"versoeke." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Indien u die -etiket gebruik " +"of die “Referrer-Policy: no-referrer” header gebruik, verwyder hulle asb. " +"Die CSRF-beskerming vereis die “Referer” header om streng kontrole van die " +"verwysende bladsy te doen. Indien u besorg is oor privaatheid, gebruik " +"alternatiewe soos vir skakels na derdepartywebwerwe." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"U sien hierdie boodskap omdat dié werf ’n CSRF-koekie benodig wanneer vorms " +"ingedien word. Dié koekie word vir sekuriteitsredes benodig om te te " +"verseker dat u blaaier nie deur derde partye gekaap word nie." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Indien koekies in u blaaier gedeaktiveer is, aktiveerder hulle asb. ten " +"minste vir dié werf, of vir “same-origin”-versoeke." + +msgid "More information is available with DEBUG=True." +msgstr "Meer inligting is beskikbaar met DEBUG=True." + +msgid "No year specified" +msgstr "Geen jaar gespesifiseer nie" + +msgid "Date out of range" +msgstr "Datum buite omvang" + +msgid "No month specified" +msgstr "Geen maand gespesifiseer nie" + +msgid "No day specified" +msgstr "Geen dag gespesifiseer nie" + +msgid "No week specified" +msgstr "Geen week gespesifiseer nie" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Geen %(verbose_name_plural)s beskikbaar nie" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Toekomstige %(verbose_name_plural)s is nie beskikbaar nie, omdat " +"%(class_name)s.allow_future vals is." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "Ongeldige datumstring “%(datestr)s” gegewe die formaat “%(format)s”" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Geen %(verbose_name)s gevind vir die soektog" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" +"Bladsy is nie “last” nie, en dit kan nie omgeskakel word na ’n heelgetal nie." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Ongeldige bladsy (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Leë lys en “%(class_name)s.allow_empty” is vals." + +msgid "Directory indexes are not allowed here." +msgstr "Gidsindekse word nie hier toegelaat nie." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "“%(path)s” bestaan nie." + +#, python-format +msgid "Index of %(directory)s" +msgstr "Indeks van %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "Die installasie was suksesvol! Geluk!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Sien die vrystellingsnotas vir Django " +"%(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"U sien dié bladsy omdat DEBUG=True in die settings-lêer is en geen URL’e " +"opgestel is nie." + +msgid "Django Documentation" +msgstr "Django-dokumentasie" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "Kom aan die gang met Django" + +msgid "Django Community" +msgstr "Django-gemeenskap" + +msgid "Connect, get help, or contribute" +msgstr "Kontak, kry hulp om dra by" diff --git a/external_sources/django/django/conf/locale/ar/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/ar/LC_MESSAGES/django.po new file mode 100644 index 0000000..25a491b --- /dev/null +++ b/external_sources/django/django/conf/locale/ar/LC_MESSAGES/django.po @@ -0,0 +1,1389 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Bashar Al-Abdulhadi, 2015-2016,2020-2021 +# Bashar Al-Abdulhadi, 2014 +# Eyad Toma , 2013-2014 +# Jannis Leidel , 2011 +# Mariusz Felisiak , 2021 +# Muaaz Alsaied, 2020 +# Omar Al-Ithawi , 2020 +# Ossama Khayat , 2011 +# Tony xD , 2020 +# صفا الفليج , 2020 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-09-21 10:22+0200\n" +"PO-Revision-Date: 2021-11-24 16:27+0000\n" +"Last-Translator: Mariusz Felisiak \n" +"Language-Team: Arabic (http://www.transifex.com/django/django/language/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" + +msgid "Afrikaans" +msgstr "الإفريقية" + +msgid "Arabic" +msgstr "العربيّة" + +msgid "Algerian Arabic" +msgstr "عربي جزائري" + +msgid "Asturian" +msgstr "الأسترية" + +msgid "Azerbaijani" +msgstr "الأذربيجانية" + +msgid "Bulgarian" +msgstr "البلغاريّة" + +msgid "Belarusian" +msgstr "البيلاروسية" + +msgid "Bengali" +msgstr "البنغاليّة" + +msgid "Breton" +msgstr "البريتونية" + +msgid "Bosnian" +msgstr "البوسنيّة" + +msgid "Catalan" +msgstr "الكتلانيّة" + +msgid "Czech" +msgstr "التشيكيّة" + +msgid "Welsh" +msgstr "الويلز" + +msgid "Danish" +msgstr "الدنماركيّة" + +msgid "German" +msgstr "الألمانيّة" + +msgid "Lower Sorbian" +msgstr "الصربية السفلى" + +msgid "Greek" +msgstr "اليونانيّة" + +msgid "English" +msgstr "الإنجليزيّة" + +msgid "Australian English" +msgstr "الإنجليزية الإسترالية" + +msgid "British English" +msgstr "الإنجليزيّة البريطانيّة" + +msgid "Esperanto" +msgstr "الاسبرانتو" + +msgid "Spanish" +msgstr "الإسبانيّة" + +msgid "Argentinian Spanish" +msgstr "الأسبانية الأرجنتينية" + +msgid "Colombian Spanish" +msgstr "الكولومبية الإسبانية" + +msgid "Mexican Spanish" +msgstr "الأسبانية المكسيكية" + +msgid "Nicaraguan Spanish" +msgstr "الإسبانية النيكاراغوية" + +msgid "Venezuelan Spanish" +msgstr "الإسبانية الفنزويلية" + +msgid "Estonian" +msgstr "الإستونيّة" + +msgid "Basque" +msgstr "الباسك" + +msgid "Persian" +msgstr "الفارسيّة" + +msgid "Finnish" +msgstr "الفنلنديّة" + +msgid "French" +msgstr "الفرنسيّة" + +msgid "Frisian" +msgstr "الفريزيّة" + +msgid "Irish" +msgstr "الإيرلنديّة" + +msgid "Scottish Gaelic" +msgstr "الغيلية الأسكتلندية" + +msgid "Galician" +msgstr "الجليقيّة" + +msgid "Hebrew" +msgstr "العبريّة" + +msgid "Hindi" +msgstr "الهندية" + +msgid "Croatian" +msgstr "الكرواتيّة" + +msgid "Upper Sorbian" +msgstr "الصربية العليا" + +msgid "Hungarian" +msgstr "الهنغاريّة" + +msgid "Armenian" +msgstr "الأرمنية" + +msgid "Interlingua" +msgstr "اللغة الوسيطة" + +msgid "Indonesian" +msgstr "الإندونيسيّة" + +msgid "Igbo" +msgstr "الإيبو" + +msgid "Ido" +msgstr "ايدو" + +msgid "Icelandic" +msgstr "الآيسلنديّة" + +msgid "Italian" +msgstr "الإيطاليّة" + +msgid "Japanese" +msgstr "اليابانيّة" + +msgid "Georgian" +msgstr "الجورجيّة" + +msgid "Kabyle" +msgstr "القبائل" + +msgid "Kazakh" +msgstr "الكازاخستانية" + +msgid "Khmer" +msgstr "الخمر" + +msgid "Kannada" +msgstr "الهنديّة (كنّادا)" + +msgid "Korean" +msgstr "الكوريّة" + +msgid "Kyrgyz" +msgstr "قيرغيز" + +msgid "Luxembourgish" +msgstr "اللوكسمبرجية" + +msgid "Lithuanian" +msgstr "اللتوانيّة" + +msgid "Latvian" +msgstr "اللاتفيّة" + +msgid "Macedonian" +msgstr "المقدونيّة" + +msgid "Malayalam" +msgstr "المايالام" + +msgid "Mongolian" +msgstr "المنغوليّة" + +msgid "Marathi" +msgstr "المهاراتية" + +msgid "Malay" +msgstr "" + +msgid "Burmese" +msgstr "البورمية" + +msgid "Norwegian Bokmål" +msgstr "النرويجية" + +msgid "Nepali" +msgstr "النيبالية" + +msgid "Dutch" +msgstr "الهولنديّة" + +msgid "Norwegian Nynorsk" +msgstr "النينورسك نرويجيّة" + +msgid "Ossetic" +msgstr "الأوسيتيكية" + +msgid "Punjabi" +msgstr "البنجابيّة" + +msgid "Polish" +msgstr "البولنديّة" + +msgid "Portuguese" +msgstr "البرتغاليّة" + +msgid "Brazilian Portuguese" +msgstr "البرتغاليّة البرازيليّة" + +msgid "Romanian" +msgstr "الرومانيّة" + +msgid "Russian" +msgstr "الروسيّة" + +msgid "Slovak" +msgstr "السلوفاكيّة" + +msgid "Slovenian" +msgstr "السلوفانيّة" + +msgid "Albanian" +msgstr "الألبانيّة" + +msgid "Serbian" +msgstr "الصربيّة" + +msgid "Serbian Latin" +msgstr "اللاتينيّة الصربيّة" + +msgid "Swedish" +msgstr "السويديّة" + +msgid "Swahili" +msgstr "السواحلية" + +msgid "Tamil" +msgstr "التاميل" + +msgid "Telugu" +msgstr "التيلوغو" + +msgid "Tajik" +msgstr "طاجيك" + +msgid "Thai" +msgstr "التايلنديّة" + +msgid "Turkmen" +msgstr "تركمان" + +msgid "Turkish" +msgstr "التركيّة" + +msgid "Tatar" +msgstr "التتاريية" + +msgid "Udmurt" +msgstr "الأدمرتية" + +msgid "Ukrainian" +msgstr "الأكرانيّة" + +msgid "Urdu" +msgstr "الأوردو" + +msgid "Uzbek" +msgstr "الأوزبكي" + +msgid "Vietnamese" +msgstr "الفيتناميّة" + +msgid "Simplified Chinese" +msgstr "الصينيّة المبسطة" + +msgid "Traditional Chinese" +msgstr "الصينيّة التقليدية" + +msgid "Messages" +msgstr "الرسائل" + +msgid "Site Maps" +msgstr "خرائط الموقع" + +msgid "Static Files" +msgstr "الملفات الثابتة" + +msgid "Syndication" +msgstr "توظيف النشر" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "..." + +msgid "That page number is not an integer" +msgstr "رقم الصفحة هذا ليس عدداً طبيعياً" + +msgid "That page number is less than 1" +msgstr "رقم الصفحة أقل من 1" + +msgid "That page contains no results" +msgstr "هذه الصفحة لا تحتوي على نتائج" + +msgid "Enter a valid value." +msgstr "أدخِل قيمة صحيحة." + +msgid "Enter a valid URL." +msgstr "أدخِل رابطًا صحيحًا." + +msgid "Enter a valid integer." +msgstr "أدخِل عدداً طبيعياً." + +msgid "Enter a valid email address." +msgstr "أدخِل عنوان بريد إلكتروني صحيح." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "أدخل اختصار 'slug' صحيح يتكوّن من أحرف، أرقام، شرطات سفلية وعاديّة." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"أدخل اختصار 'slug' صحيح يتكون من أحرف Unicode أو أرقام أو شرطات سفلية أو " +"واصلات." + +msgid "Enter a valid IPv4 address." +msgstr "أدخِل عنوان IPv4 صحيح." + +msgid "Enter a valid IPv6 address." +msgstr "أدخِل عنوان IPv6 صحيح." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "أدخِل عنوان IPv4 أو عنوان IPv6 صحيح." + +msgid "Enter only digits separated by commas." +msgstr "أدخِل فقط أرقامًا تفصلها الفواصل." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "تحقق من أن هذه القيمة هي %(limit_value)s (إنها %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "تحقق من أن تكون هذه القيمة أقل من %(limit_value)s أو مساوية لها." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "تحقق من أن تكون هذه القيمة أكثر من %(limit_value)s أو مساوية لها." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأقل (هي تحتوي " +"حالياً على %(show_value)d)." +msgstr[1] "" +"تأكد أن هذه القيمة تحتوي على حرف أو رمز %(limit_value)d على الأقل (هي تحتوي " +"حالياً على %(show_value)d)." +msgstr[2] "" +"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف و رمز على الأقل (هي تحتوي " +"حالياً على %(show_value)d)." +msgstr[3] "" +"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأقل (هي تحتوي " +"حالياً على %(show_value)d)." +msgstr[4] "" +"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأقل (هي تحتوي " +"حالياً على %(show_value)d)." +msgstr[5] "" +"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأقل (هي تحتوي " +"حالياً على %(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأكثر (هي تحتوي " +"حالياً على %(show_value)d)." +msgstr[1] "" +"تأكد أن هذه القيمة تحتوي على حرف أو رمز %(limit_value)d على الأكثر (هي تحتوي " +"حالياً على %(show_value)d)." +msgstr[2] "" +"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف و رمز على الأكثر (هي تحتوي " +"حالياً على %(show_value)d)." +msgstr[3] "" +"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأكثر (هي تحتوي " +"حالياً على %(show_value)d)." +msgstr[4] "" +"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأكثر (هي تحتوي " +"حالياً على %(show_value)d)." +msgstr[5] "" +"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأكثر (هي تحتوي " +"حالياً على %(show_value)d)." + +msgid "Enter a number." +msgstr "أدخل رقماً." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "تحقق من أن تدخل %(max)s أرقام لا أكثر." +msgstr[1] "تحقق من أن تدخل رقم %(max)s لا أكثر." +msgstr[2] "تحقق من أن تدخل %(max)s رقمين لا أكثر." +msgstr[3] "تحقق من أن تدخل %(max)s أرقام لا أكثر." +msgstr[4] "تحقق من أن تدخل %(max)s أرقام لا أكثر." +msgstr[5] "تحقق من أن تدخل %(max)s أرقام لا أكثر." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "تحقق من أن تدخل %(max)s خانات عشرية لا أكثر." +msgstr[1] "تحقق من أن تدخل خانة %(max)s عشرية لا أكثر." +msgstr[2] "تحقق من أن تدخل %(max)s خانتين عشريتين لا أكثر." +msgstr[3] "تحقق من أن تدخل %(max)s خانات عشرية لا أكثر." +msgstr[4] "تحقق من أن تدخل %(max)s خانات عشرية لا أكثر." +msgstr[5] "تحقق من أن تدخل %(max)s خانات عشرية لا أكثر." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "تحقق من أن تدخل %(max)s أرقام قبل الفاصل العشري لا أكثر." +msgstr[1] "تحقق من أن تدخل رقم %(max)s قبل الفاصل العشري لا أكثر." +msgstr[2] "تحقق من أن تدخل %(max)s رقمين قبل الفاصل العشري لا أكثر." +msgstr[3] "تحقق من أن تدخل %(max)s أرقام قبل الفاصل العشري لا أكثر." +msgstr[4] "تحقق من أن تدخل %(max)s أرقام قبل الفاصل العشري لا أكثر." +msgstr[5] "تحقق من أن تدخل %(max)s أرقام قبل الفاصل العشري لا أكثر." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"امتداد الملف “%(extension)s” غير مسموح به. الامتدادات المسموح بها هي:" +"%(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "الأحرف الخالية غير مسموح بها." + +msgid "and" +msgstr "و" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s بهذا %(field_labels)s موجود سلفاً." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "القيمة %(value)r ليست خيارا صحيحاً." + +msgid "This field cannot be null." +msgstr "لا يمكن تعيين null كقيمة لهذا الحقل." + +msgid "This field cannot be blank." +msgstr "لا يمكن ترك هذا الحقل فارغاً." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "النموذج %(model_name)s والحقل %(field_label)s موجود مسبقاً." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s يجب أن يكون فريد لـ %(date_field_label)s %(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "حقل نوع: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "قيمة '%(value)s' يجب أن تكون True أو False." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "قيمة “%(value)s” يجب أن تكون True , False أو None." + +msgid "Boolean (Either True or False)" +msgstr "ثنائي (إما True أو False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "سلسلة نص (%(max_length)s كحد أقصى)" + +msgid "Comma-separated integers" +msgstr "أرقام صحيحة مفصولة بفواصل" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"قيمة '%(value)s' ليست من بُنية تاريخ صحيحة. القيمة يجب ان تكون من البُنية YYYY-" +"MM-DD." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "قيمة '%(value)s' من بُنية صحيحة (YYYY-MM-DD) لكنها تحوي تاريخ غير صحيح." + +msgid "Date (without time)" +msgstr "التاريخ (دون الوقت)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"قيمة '%(value)s' ليست من بُنية صحيحة. القيمة يجب ان تكون من البُنية YYYY-MM-DD " +"HH:MM[:ss[.uuuuuu]][TZ] ." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"قيمة '%(value)s' من بُنية صحيحة (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]) لكنها " +"تحوي وقت و تاريخ غير صحيحين." + +msgid "Date (with time)" +msgstr "التاريخ (مع الوقت)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "قيمة '%(value)s' يجب ان تكون عدد عشري." + +msgid "Decimal number" +msgstr "رقم عشري" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"قيمة '%(value)s' ليست بنسق صحيح. القيمة يجب ان تكون من التنسيق ([DD] " +"[[HH:]MM:]ss[.uuuuuu])" + +msgid "Duration" +msgstr "المدّة" + +msgid "Email address" +msgstr "عنوان بريد إلكتروني" + +msgid "File path" +msgstr "مسار الملف" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "قيمة '%(value)s' يجب ان تكون عدد تعويم." + +msgid "Floating point number" +msgstr "رقم فاصلة عائمة" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "قيمة '%(value)s' يجب ان تكون عدد طبيعي." + +msgid "Integer" +msgstr "عدد صحيح" + +msgid "Big (8 byte) integer" +msgstr "عدد صحيح كبير (8 بايت)" + +msgid "Small integer" +msgstr "عدد صحيح صغير" + +msgid "IPv4 address" +msgstr "عنوان IPv4" + +msgid "IP address" +msgstr "عنوان IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "قيمة '%(value)s' يجب ان تكون None أو True أو False." + +msgid "Boolean (Either True, False or None)" +msgstr "ثنائي (إما True أو False أو None)" + +msgid "Positive big integer" +msgstr "عدد صحيح موجب كبير" + +msgid "Positive integer" +msgstr "عدد صحيح موجب" + +msgid "Positive small integer" +msgstr "عدد صحيح صغير موجب" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (حتى %(max_length)s)" + +msgid "Text" +msgstr "نص" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"قيمة '%(value)s' ليست بنسق صحيح. القيمة يجب ان تكون من التنسيق\n" +"HH:MM[:ss[.uuuuuu]]" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"قيمة '%(value)s' من بُنية صحيحة (HH:MM[:ss[.uuuuuu]]) لكنها تحوي وقت غير صحيح." + +msgid "Time" +msgstr "وقت" + +msgid "URL" +msgstr "رابط" + +msgid "Raw binary data" +msgstr "البيانات الثنائية الخام" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "القيمة \"%(value)s\" ليست UUID صالح." + +msgid "Universally unique identifier" +msgstr "معرّف فريد عالمياً" + +msgid "File" +msgstr "ملف" + +msgid "Image" +msgstr "صورة" + +msgid "A JSON object" +msgstr "كائن JSON" + +msgid "Value must be valid JSON." +msgstr "يجب أن تكون قيمة JSON صالحة." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "النموذج %(model)s ذو الحقل و القيمة %(field)s %(value)r غير موجود." + +msgid "Foreign Key (type determined by related field)" +msgstr "الحقل المرتبط (تم تحديد النوع وفقاً للحقل المرتبط)" + +msgid "One-to-one relationship" +msgstr "علاقة واحد إلى واحد" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s علاقة" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s علاقات" + +msgid "Many-to-many relationship" +msgstr "علاقة متعدد إلى متعدد" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "هذا الحقل مطلوب." + +msgid "Enter a whole number." +msgstr "أدخل رقما صحيحا." + +msgid "Enter a valid date." +msgstr "أدخل تاريخاً صحيحاً." + +msgid "Enter a valid time." +msgstr "أدخل وقتاً صحيحاً." + +msgid "Enter a valid date/time." +msgstr "أدخل تاريخاً/وقتاً صحيحاً." + +msgid "Enter a valid duration." +msgstr "أدخل مدّة صحيحة" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "يجب أن يكون عدد الأيام بين {min_days} و {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "لم يتم ارسال ملف، الرجاء التأكد من نوع ترميز الاستمارة." + +msgid "No file was submitted." +msgstr "لم يتم إرسال اي ملف." + +msgid "The submitted file is empty." +msgstr "الملف الذي قمت بإرساله فارغ." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"تأكد أن إسم هذا الملف يحتوي على %(max)d حرف على الأكثر (هو يحتوي الآن على " +"%(length)d حرف)." +msgstr[1] "" +"تأكد أن إسم هذا الملف يحتوي على حرف %(max)d على الأكثر (هو يحتوي الآن على " +"%(length)d حرف)." +msgstr[2] "" +"تأكد أن إسم هذا الملف يحتوي على %(max)d حرفين على الأكثر (هو يحتوي الآن على " +"%(length)d حرف)." +msgstr[3] "" +"تأكد أن إسم هذا الملف يحتوي على %(max)d حرف على الأكثر (هو يحتوي الآن على " +"%(length)d حرف)." +msgstr[4] "" +"تأكد أن إسم هذا الملف يحتوي على %(max)d حرف على الأكثر (هو يحتوي الآن على " +"%(length)d حرف)." +msgstr[5] "" +"تأكد أن إسم هذا الملف يحتوي على %(max)d حرف على الأكثر (هو يحتوي الآن على " +"%(length)d حرف)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "رجاءً أرسل ملف أو صح علامة صح عند مربع اختيار \"فارغ\"، وليس كلاهما." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"قم برفع صورة صحيحة، الملف الذي قمت برفعه إما أنه ليس ملفا لصورة أو أنه ملف " +"معطوب." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "انتق خياراً صحيحاً. %(value)s ليس أحد الخيارات المتاحة." + +msgid "Enter a list of values." +msgstr "أدخل قائمة من القيم." + +msgid "Enter a complete value." +msgstr "إدخال قيمة كاملة." + +msgid "Enter a valid UUID." +msgstr "أدخل قيمة UUID صحيحة." + +msgid "Enter a valid JSON." +msgstr "أدخل مدخل JSON صالح." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(الحقل الخفي %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"بيانات نموذج الإدارة مفقودة أو تم العبث بها. الحقول المفقودة: " +"%(field_names)s. قد تحتاج إلى تقديم تقرير خطأ إذا استمرت المشكلة." + +#, python-format +msgid "Please submit at most %d form." +msgid_plural "Please submit at most %d forms." +msgstr[0] "الرجاء إرسال %d إستمارة على الأكثر." +msgstr[1] "الرجاء إرسال %d إستمارة على الأكثر." +msgstr[2] "الرجاء إرسال %d إستمارة على الأكثر." +msgstr[3] "الرجاء إرسال %d إستمارة على الأكثر." +msgstr[4] "الرجاء إرسال %d إستمارة على الأكثر." +msgstr[5] "الرجاء إرسال %d إستمارة على الأكثر." + +#, python-format +msgid "Please submit at least %d form." +msgid_plural "Please submit at least %d forms." +msgstr[0] "الرجاء إرسال %d إستمارة على الأقل." +msgstr[1] "الرجاء إرسال %d إستمارة على الأقل." +msgstr[2] "الرجاء إرسال %d إستمارة على الأقل." +msgstr[3] "الرجاء إرسال %d إستمارة على الأقل." +msgstr[4] "الرجاء إرسال %d إستمارة على الأقل." +msgstr[5] "الرجاء إرسال %d إستمارة على الأقل." + +msgid "Order" +msgstr "الترتيب" + +msgid "Delete" +msgstr "احذف" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "رجاء صحّح بيانات %(field)s المتكررة." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "رجاء صحّح بيانات %(field)s المتكررة والتي يجب أن تكون مُميّزة." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"رجاء صحّح بيانات %(field_name)s المتكررة والتي يجب أن تكون مُميّزة لـ%(lookup)s " +"في %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "رجاءً صحّح القيم المُكرّرة أدناه." + +msgid "The inline value did not match the parent instance." +msgstr "لا تتطابق القيمة المضمنة مع المثيل الأصلي." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "انتق خياراً صحيحاً. اختيارك ليس أحد الخيارات المتاحة." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "\"%(pk)s\" ليست قيمة صالحة." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s لا يمكن تفسيرها في المنطقة الزمنية %(current_timezone)s; قد " +"تكون غامضة أو أنها غير موجودة." + +msgid "Clear" +msgstr "تفريغ" + +msgid "Currently" +msgstr "حالياً" + +msgid "Change" +msgstr "عدّل" + +msgid "Unknown" +msgstr "مجهول" + +msgid "Yes" +msgstr "نعم" + +msgid "No" +msgstr "لا" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "نعم,لا,ربما" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d بايت" +msgstr[1] "بايت واحد" +msgstr[2] "بايتان" +msgstr[3] "%(size)d بايتان" +msgstr[4] "%(size)d بايت" +msgstr[5] "%(size)d بايت" + +#, python-format +msgid "%s KB" +msgstr "%s ك.ب" + +#, python-format +msgid "%s MB" +msgstr "%s م.ب" + +#, python-format +msgid "%s GB" +msgstr "%s ج.ب" + +#, python-format +msgid "%s TB" +msgstr "%s ت.ب" + +#, python-format +msgid "%s PB" +msgstr "%s ب.ب" + +msgid "p.m." +msgstr "م" + +msgid "a.m." +msgstr "ص" + +msgid "PM" +msgstr "م" + +msgid "AM" +msgstr "ص" + +msgid "midnight" +msgstr "منتصف الليل" + +msgid "noon" +msgstr "ظهراً" + +msgid "Monday" +msgstr "الاثنين" + +msgid "Tuesday" +msgstr "الثلاثاء" + +msgid "Wednesday" +msgstr "الأربعاء" + +msgid "Thursday" +msgstr "الخميس" + +msgid "Friday" +msgstr "الجمعة" + +msgid "Saturday" +msgstr "السبت" + +msgid "Sunday" +msgstr "الأحد" + +msgid "Mon" +msgstr "إثنين" + +msgid "Tue" +msgstr "ثلاثاء" + +msgid "Wed" +msgstr "أربعاء" + +msgid "Thu" +msgstr "خميس" + +msgid "Fri" +msgstr "جمعة" + +msgid "Sat" +msgstr "سبت" + +msgid "Sun" +msgstr "أحد" + +msgid "January" +msgstr "يناير" + +msgid "February" +msgstr "فبراير" + +msgid "March" +msgstr "مارس" + +msgid "April" +msgstr "إبريل" + +msgid "May" +msgstr "مايو" + +msgid "June" +msgstr "يونيو" + +msgid "July" +msgstr "يوليو" + +msgid "August" +msgstr "أغسطس" + +msgid "September" +msgstr "سبتمبر" + +msgid "October" +msgstr "أكتوبر" + +msgid "November" +msgstr "نوفمبر" + +msgid "December" +msgstr "ديسمبر" + +msgid "jan" +msgstr "يناير" + +msgid "feb" +msgstr "فبراير" + +msgid "mar" +msgstr "مارس" + +msgid "apr" +msgstr "إبريل" + +msgid "may" +msgstr "مايو" + +msgid "jun" +msgstr "يونيو" + +msgid "jul" +msgstr "يوليو" + +msgid "aug" +msgstr "أغسطس" + +msgid "sep" +msgstr "سبتمبر" + +msgid "oct" +msgstr "أكتوبر" + +msgid "nov" +msgstr "نوفمبر" + +msgid "dec" +msgstr "ديسمبر" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "يناير" + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "فبراير" + +msgctxt "abbrev. month" +msgid "March" +msgstr "مارس" + +msgctxt "abbrev. month" +msgid "April" +msgstr "إبريل" + +msgctxt "abbrev. month" +msgid "May" +msgstr "مايو" + +msgctxt "abbrev. month" +msgid "June" +msgstr "يونيو" + +msgctxt "abbrev. month" +msgid "July" +msgstr "يوليو" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "أغسطس" + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "سبتمبر" + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "أكتوبر" + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "نوفمبر" + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "ديسمبر" + +msgctxt "alt. month" +msgid "January" +msgstr "يناير" + +msgctxt "alt. month" +msgid "February" +msgstr "فبراير" + +msgctxt "alt. month" +msgid "March" +msgstr "مارس" + +msgctxt "alt. month" +msgid "April" +msgstr "أبريل" + +msgctxt "alt. month" +msgid "May" +msgstr "مايو" + +msgctxt "alt. month" +msgid "June" +msgstr "يونيو" + +msgctxt "alt. month" +msgid "July" +msgstr "يوليو" + +msgctxt "alt. month" +msgid "August" +msgstr "أغسطس" + +msgctxt "alt. month" +msgid "September" +msgstr "سبتمبر" + +msgctxt "alt. month" +msgid "October" +msgstr "أكتوبر" + +msgctxt "alt. month" +msgid "November" +msgstr "نوفمبر" + +msgctxt "alt. month" +msgid "December" +msgstr "ديسمبر" + +msgid "This is not a valid IPv6 address." +msgstr "هذا ليس عنوان IPv6 صحيح." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "أو" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr "، " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d سنة" +msgstr[1] "%(num)d سنة" +msgstr[2] "%(num)d سنتين" +msgstr[3] "%(num)d سنوات" +msgstr[4] "%(num)d سنوات" +msgstr[5] "%(num)d سنوات" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d شهر" +msgstr[1] "%(num)d شهر" +msgstr[2] "%(num)d شهرين" +msgstr[3] "%(num)d أشهر" +msgstr[4] "%(num)d أشهر" +msgstr[5] "%(num)d أشهر" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d أسبوع" +msgstr[1] "%(num)d أسبوع" +msgstr[2] "%(num)d أسبوعين" +msgstr[3] "%(num)d أسابيع" +msgstr[4] "%(num)d أسابيع" +msgstr[5] "%(num)d أسابيع" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d يوم" +msgstr[1] "%(num)d يوم" +msgstr[2] "%(num)d يومين" +msgstr[3] "%(num)d أيام" +msgstr[4] "%(num)d يوم" +msgstr[5] "%(num)d أيام" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d ساعة" +msgstr[1] "%(num)d ساعة" +msgstr[2] "%(num)d ساعتين" +msgstr[3] "%(num)d ساعات" +msgstr[4] "%(num)d ساعة" +msgstr[5] "%(num)d ساعات" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d دقيقة" +msgstr[1] "%(num)d دقيقة" +msgstr[2] "%(num)d دقيقتين" +msgstr[3] "%(num)d دقائق" +msgstr[4] "%(num)d دقيقة" +msgstr[5] "%(num)d دقيقة" + +msgid "Forbidden" +msgstr "ممنوع" + +msgid "CSRF verification failed. Request aborted." +msgstr "تم الفشل للتحقق من CSRF. تم إنهاء الطلب." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"أنت ترى هذه الرسالة لأن موقع HTTPS هذا يتطلب إرسال “Referer header” بواسطة " +"متصفح الويب الخاص بك، ولكن لم يتم إرسال أي منها. هذا مطلوب لأسباب أمنية، " +"لضمان عدم اختطاف متصفحك من قبل أطراف ثالثة." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"إذا قمت بتكوين المستعرض لتعطيل رؤوس “Referer” ، فيرجى إعادة تمكينها ، على " +"الأقل لهذا الموقع ، أو لاتصالات HTTPS ، أو لطلبات “same-origin”." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"إذا كنت تستخدم العلامة أو " +"تضمين رأس “Referrer-Policy: no-referrer”، يرجى إزالتها. تتطلب حماية CSRF أن " +"يقوم رأس “Referer” بإجراء فحص صارم للمراجع. إذا كنت قلقًا بشأن الخصوصية ، " +"فاستخدم بدائل مثل للروابط إلى مواقع الجهات الخارجية." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"أنت ترى هذه الرسالة لأن هذا الموقع يتطلب كعكة CSRF عند تقديم النماذج. ملف " +"الكعكة هذا مطلوب لأسباب أمنية في تعريف الإرتباط، لضمان أنه لم يتم اختطاف " +"المتصفح من قبل أطراف أخرى." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"إذا قمت بضبط المتصفح لتعطيل الكوكيز الرجاء إعادة تغعيلها، على الأقل بالنسبة " +"لهذا الموقع، أو للطلبات من “same-origin”." + +msgid "More information is available with DEBUG=True." +msgstr "يتوفر مزيد من المعلومات عند ضبط الخيار DEBUG=True." + +msgid "No year specified" +msgstr "لم تحدد السنة" + +msgid "Date out of range" +msgstr "التاريخ خارج النطاق" + +msgid "No month specified" +msgstr "لم تحدد الشهر" + +msgid "No day specified" +msgstr "لم تحدد اليوم" + +msgid "No week specified" +msgstr "لم تحدد الأسبوع" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "لا يوجد %(verbose_name_plural)s" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"التاريخ بالمستقبل %(verbose_name_plural)s غير متوفر لأن قيمة %(class_name)s." +"allow_future هي False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "نسق تاريخ غير صحيح \"%(datestr)s\" محدد بالشكل ''%(format)s\"" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "لم يعثر على أي %(verbose_name)s مطابقة لهذا الإستعلام" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "الصفحة ليست \"الأخيرة\"، كما لا يمكن تحويل القيمة إلى رقم طبيعي." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "صفحة خاطئة (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" +"قائمة فارغة و\n" +"\"%(class_name)s.allow_empty\"\n" +"قيمته False." + +msgid "Directory indexes are not allowed here." +msgstr "لا يسمح لفهارس الدليل هنا." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "”%(path)s“ غير موجود" + +#, python-format +msgid "Index of %(directory)s" +msgstr "فهرس لـ %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "تمت عملية التنصيب بنجاح! تهانينا!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"استعراض ملاحظات الإصدار لجانغو %(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" +"تظهر لك هذه الصفحة لأن DEBUG=True في ملف settings خاصتك كما أنك لم تقم بإعداد الروابط URLs." + +msgid "Django Documentation" +msgstr "وثائق تعليمات جانغو" + +msgid "Topics, references, & how-to’s" +msgstr "المواضيع و المراجع و التعليمات" + +msgid "Tutorial: A Polling App" +msgstr "برنامج تعليمي: تطبيق تصويت" + +msgid "Get started with Django" +msgstr "إبدأ مع جانغو" + +msgid "Django Community" +msgstr "مجتمع جانغو" + +msgid "Connect, get help, or contribute" +msgstr "اتصل بنا أو احصل على مساعدة أو ساهم" diff --git a/external_sources/django/django/conf/locale/ar/__init__.py b/external_sources/django/django/conf/locale/ar/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/ar/formats.py b/external_sources/django/django/conf/locale/ar/formats.py new file mode 100644 index 0000000..8008ce6 --- /dev/null +++ b/external_sources/django/django/conf/locale/ar/formats.py @@ -0,0 +1,21 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j F، Y" +TIME_FORMAT = "g:i A" +# DATETIME_FORMAT = +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "d‏/m‏/Y" +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "." +# NUMBER_GROUPING = diff --git a/external_sources/django/django/conf/locale/ar_DZ/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/ar_DZ/LC_MESSAGES/django.po new file mode 100644 index 0000000..b32da34 --- /dev/null +++ b/external_sources/django/django/conf/locale/ar_DZ/LC_MESSAGES/django.po @@ -0,0 +1,1397 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jihad Bahmaid Al-Halki, 2022 +# Riterix , 2019-2020 +# Riterix , 2019 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-05-17 05:23-0500\n" +"PO-Revision-Date: 2022-07-25 06:49+0000\n" +"Last-Translator: Jihad Bahmaid Al-Halki\n" +"Language-Team: Arabic (Algeria) (http://www.transifex.com/django/django/" +"language/ar_DZ/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar_DZ\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" + +msgid "Afrikaans" +msgstr "الإفريقية" + +msgid "Arabic" +msgstr "العربية" + +msgid "Algerian Arabic" +msgstr "العربية الجزائرية" + +msgid "Asturian" +msgstr "الأسترية" + +msgid "Azerbaijani" +msgstr "الأذربيجانية" + +msgid "Bulgarian" +msgstr "البلغارية" + +msgid "Belarusian" +msgstr "البيلاروسية" + +msgid "Bengali" +msgstr "البنغالية" + +msgid "Breton" +msgstr "البريتونية" + +msgid "Bosnian" +msgstr "البوسنية" + +msgid "Catalan" +msgstr "الكتلانية" + +msgid "Czech" +msgstr "التشيكية" + +msgid "Welsh" +msgstr "الويلز" + +msgid "Danish" +msgstr "الدنماركية" + +msgid "German" +msgstr "الألمانية" + +msgid "Lower Sorbian" +msgstr "الصربية السفلى" + +msgid "Greek" +msgstr "اليونانية" + +msgid "English" +msgstr "الإنجليزية" + +msgid "Australian English" +msgstr "الإنجليزية الإسترالية" + +msgid "British English" +msgstr "الإنجليزية البريطانية" + +msgid "Esperanto" +msgstr "الاسبرانتو" + +msgid "Spanish" +msgstr "الإسبانية" + +msgid "Argentinian Spanish" +msgstr "الأسبانية الأرجنتينية" + +msgid "Colombian Spanish" +msgstr "الكولومبية الإسبانية" + +msgid "Mexican Spanish" +msgstr "الأسبانية المكسيكية" + +msgid "Nicaraguan Spanish" +msgstr "الإسبانية النيكاراغوية" + +msgid "Venezuelan Spanish" +msgstr "الإسبانية الفنزويلية" + +msgid "Estonian" +msgstr "الإستونية" + +msgid "Basque" +msgstr "الباسك" + +msgid "Persian" +msgstr "الفارسية" + +msgid "Finnish" +msgstr "الفنلندية" + +msgid "French" +msgstr "الفرنسية" + +msgid "Frisian" +msgstr "الفريزية" + +msgid "Irish" +msgstr "الإيرلندية" + +msgid "Scottish Gaelic" +msgstr "الغيلية الأسكتلندية" + +msgid "Galician" +msgstr "الجليقية" + +msgid "Hebrew" +msgstr "العبرية" + +msgid "Hindi" +msgstr "الهندية" + +msgid "Croatian" +msgstr "الكرواتية" + +msgid "Upper Sorbian" +msgstr "الصربية العليا" + +msgid "Hungarian" +msgstr "الهنغارية" + +msgid "Armenian" +msgstr "الأرمنية" + +msgid "Interlingua" +msgstr "اللغة الوسيطة" + +msgid "Indonesian" +msgstr "الإندونيسية" + +msgid "Igbo" +msgstr "إيبو" + +msgid "Ido" +msgstr "ايدو" + +msgid "Icelandic" +msgstr "الآيسلندية" + +msgid "Italian" +msgstr "الإيطالية" + +msgid "Japanese" +msgstr "اليابانية" + +msgid "Georgian" +msgstr "الجورجية" + +msgid "Kabyle" +msgstr "القبائلية" + +msgid "Kazakh" +msgstr "الكازاخستانية" + +msgid "Khmer" +msgstr "الخمر" + +msgid "Kannada" +msgstr "الهندية (كنّادا)" + +msgid "Korean" +msgstr "الكورية" + +msgid "Kyrgyz" +msgstr "القيرغيزية" + +msgid "Luxembourgish" +msgstr "اللوكسمبرجية" + +msgid "Lithuanian" +msgstr "اللتوانية" + +msgid "Latvian" +msgstr "اللاتفية" + +msgid "Macedonian" +msgstr "المقدونية" + +msgid "Malayalam" +msgstr "المايالام" + +msgid "Mongolian" +msgstr "المنغولية" + +msgid "Marathi" +msgstr "المهاراتية" + +msgid "Malay" +msgstr "ملاي" + +msgid "Burmese" +msgstr "البورمية" + +msgid "Norwegian Bokmål" +msgstr "النرويجية" + +msgid "Nepali" +msgstr "النيبالية" + +msgid "Dutch" +msgstr "الهولندية" + +msgid "Norwegian Nynorsk" +msgstr "النينورسك نرويجية" + +msgid "Ossetic" +msgstr "الأوسيتيكية" + +msgid "Punjabi" +msgstr "البنجابية" + +msgid "Polish" +msgstr "البولندية" + +msgid "Portuguese" +msgstr "البرتغالية" + +msgid "Brazilian Portuguese" +msgstr "البرتغالية البرازيلية" + +msgid "Romanian" +msgstr "الرومانية" + +msgid "Russian" +msgstr "الروسية" + +msgid "Slovak" +msgstr "السلوفاكية" + +msgid "Slovenian" +msgstr "السلوفانية" + +msgid "Albanian" +msgstr "الألبانية" + +msgid "Serbian" +msgstr "الصربية" + +msgid "Serbian Latin" +msgstr "اللاتينية الصربية" + +msgid "Swedish" +msgstr "السويدية" + +msgid "Swahili" +msgstr "السواحلية" + +msgid "Tamil" +msgstr "التاميل" + +msgid "Telugu" +msgstr "التيلوغو" + +msgid "Tajik" +msgstr "الطاجيكية" + +msgid "Thai" +msgstr "التايلندية" + +msgid "Turkmen" +msgstr "" + +msgid "Turkish" +msgstr "التركية" + +msgid "Tatar" +msgstr "التتاريية" + +msgid "Udmurt" +msgstr "الأدمرتية" + +msgid "Ukrainian" +msgstr "الأكرانية" + +msgid "Urdu" +msgstr "الأوردو" + +msgid "Uzbek" +msgstr "الأوزبكية" + +msgid "Vietnamese" +msgstr "الفيتنامية" + +msgid "Simplified Chinese" +msgstr "الصينية المبسطة" + +msgid "Traditional Chinese" +msgstr "الصينية التقليدية" + +msgid "Messages" +msgstr "الرسائل" + +msgid "Site Maps" +msgstr "خرائط الموقع" + +msgid "Static Files" +msgstr "الملفات الثابتة" + +msgid "Syndication" +msgstr "توظيف النشر" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "" + +msgid "That page number is not an integer" +msgstr "رقم الصفحة ليس عددًا صحيحًا" + +msgid "That page number is less than 1" +msgstr "رقم الصفحة أقل من 1" + +msgid "That page contains no results" +msgstr "هذه الصفحة لا تحتوي على نتائج" + +msgid "Enter a valid value." +msgstr "أدخل قيمة صحيحة." + +msgid "Enter a valid URL." +msgstr "أدخل رابطاً صحيحاً." + +msgid "Enter a valid integer." +msgstr "أدخل رقم صالح." + +msgid "Enter a valid email address." +msgstr "أدخل عنوان بريد إلكتروني صحيح." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"أدخل “slug” صالحة تتكون من أحرف أو أرقام أو الشرطة السفلية أو الواصلات." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"أدخل “slug” صالحة تتكون من أحرف Unicode أو الأرقام أو الشرطة السفلية أو " +"الواصلات." + +msgid "Enter a valid IPv4 address." +msgstr "أدخل عنوان IPv4 صحيح." + +msgid "Enter a valid IPv6 address." +msgstr "أدخل عنوان IPv6 صحيح." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "أدخل عنوان IPv4 أو عنوان IPv6 صحيح." + +msgid "Enter only digits separated by commas." +msgstr "أدخل أرقاما فقط مفصول بينها بفواصل." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "تحقق من أن هذه القيمة هي %(limit_value)s (إنها %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "تحقق من أن تكون هذه القيمة أقل من %(limit_value)s أو مساوية لها." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "تحقق من أن تكون هذه القيمة أكثر من %(limit_value)s أو مساوية لها." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأقل (هي تحتوي " +"حالياً على %(show_value)d)." +msgstr[1] "" +"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأقل (هي تحتوي " +"حالياً على %(show_value)d)." +msgstr[2] "" +"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأقل (هي تحتوي " +"حالياً على %(show_value)d)." +msgstr[3] "" +"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأقل (هي تحتوي " +"حالياً على %(show_value)d)." +msgstr[4] "" +"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأقل (هي تحتوي " +"حالياً على %(show_value)d)." +msgstr[5] "" +"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأقل (هي تحتوي " +"حالياً على %(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأكثر (هي تحتوي " +"حالياً على %(show_value)d)." +msgstr[1] "" +"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأكثر (هي تحتوي " +"حالياً على %(show_value)d)." +msgstr[2] "" +"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأكثر (هي تحتوي " +"حالياً على %(show_value)d)." +msgstr[3] "" +"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأكثر (هي تحتوي " +"حالياً على %(show_value)d)." +msgstr[4] "" +"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأكثر (هي تحتوي " +"حالياً على %(show_value)d)." +msgstr[5] "" +"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأكثر (هي تحتوي " +"حالياً على %(show_value)d)." + +msgid "Enter a number." +msgstr "أدخل رقماً." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "تحقق من أن تدخل %(max)s أرقام لا أكثر." +msgstr[1] "تحقق من أن تدخل رقم %(max)s لا أكثر." +msgstr[2] "تحقق من أن تدخل %(max)s رقمين لا أكثر." +msgstr[3] "تحقق من أن تدخل %(max)s أرقام لا أكثر." +msgstr[4] "تحقق من أن تدخل %(max)s أرقام لا أكثر." +msgstr[5] "تحقق من أن تدخل %(max)s أرقام لا أكثر." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "تحقق من أن تدخل %(max)s خانات عشرية لا أكثر." +msgstr[1] "تحقق من أن تدخل %(max)s خانات عشرية لا أكثر." +msgstr[2] "تحقق من أن تدخل %(max)s خانات عشرية لا أكثر." +msgstr[3] "تحقق من أن تدخل %(max)s خانات عشرية لا أكثر." +msgstr[4] "تحقق من أن تدخل %(max)s خانات عشرية لا أكثر." +msgstr[5] "تحقق من أن تدخل %(max)s خانات عشرية لا أكثر." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "تحقق من أن تدخل %(max)s أرقام قبل الفاصل العشري لا أكثر." +msgstr[1] "تحقق من أن تدخل %(max)s أرقام قبل الفاصل العشري لا أكثر." +msgstr[2] "تحقق من أن تدخل %(max)s أرقام قبل الفاصل العشري لا أكثر." +msgstr[3] "تحقق من أن تدخل %(max)s أرقام قبل الفاصل العشري لا أكثر." +msgstr[4] "تحقق من أن تدخل %(max)s أرقام قبل الفاصل العشري لا أكثر." +msgstr[5] "تحقق من أن تدخل %(max)s أرقام قبل الفاصل العشري لا أكثر." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"امتداد الملف “%(extension)s” غير مسموح به. الامتدادات المسموح بها هي:" +"%(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "لا يُسمح بالأحرف الخالية." + +msgid "and" +msgstr "و" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s بهذا %(field_labels)s موجود سلفاً." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "القيمة %(value)r ليست خيارا صحيحاً." + +msgid "This field cannot be null." +msgstr "لا يمكن ترك هذا الحقل خالي." + +msgid "This field cannot be blank." +msgstr "لا يمكن ترك هذا الحقل فارغاً." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "النموذج %(model_name)s والحقل %(field_label)s موجود مسبقاً." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s يجب أن يكون فريد لـ %(date_field_label)s %(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "حقل نوع: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "يجب أن تكون القيمة “%(value)s” إما True أو False." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "يجب أن تكون القيمة “%(value)s” إما True أو False أو None." + +msgid "Boolean (Either True or False)" +msgstr "ثنائي (إما True أو False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "سلسلة نص (%(max_length)s كحد أقصى)" + +msgid "Comma-separated integers" +msgstr "أرقام صحيحة مفصولة بفواصل" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"تحتوي القيمة “%(value)s” على تنسيق تاريخ غير صالح. يجب أن يكون بتنسيق YYYY-" +"MM-DD." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"تحتوي القيمة “%(value)s” على التنسيق الصحيح (YYYY-MM-DD) ولكنه تاريخ غير " +"صالح." + +msgid "Date (without time)" +msgstr "التاريخ (دون الوقت)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"تحتوي القيمة “%(value)s” على تنسيق غير صالح. يجب أن يكون بتنسيق YYYY-MM-DD " +"HH: MM [: ss [.uuuuuu]] [TZ]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"تحتوي القيمة “%(value)s” على التنسيق الصحيح (YYYY-MM-DD HH: MM [: ss [." +"uuuuuu]] [TZ]) ولكنها تعد تاريخًا / وقتًا غير صالحين." + +msgid "Date (with time)" +msgstr "التاريخ (مع الوقت)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "يجب أن تكون القيمة “%(value)s” رقمًا عشريًا." + +msgid "Decimal number" +msgstr "رقم عشري" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"تحتوي القيمة “%(value)s” على تنسيق غير صالح. يجب أن يكون بتنسيق [DD] [[HH:] " +"MM:] ss [.uuuuuu]." + +msgid "Duration" +msgstr "المدّة" + +msgid "Email address" +msgstr "عنوان بريد إلكتروني" + +msgid "File path" +msgstr "مسار الملف" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "يجب أن تكون القيمة “%(value)s” قيمة عائمة." + +msgid "Floating point number" +msgstr "رقم فاصلة عائمة" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "يجب أن تكون القيمة “%(value)s” عددًا صحيحًا." + +msgid "Integer" +msgstr "عدد صحيح" + +msgid "Big (8 byte) integer" +msgstr "عدد صحيح كبير (8 بايت)" + +msgid "Small integer" +msgstr "عدد صحيح صغير" + +msgid "IPv4 address" +msgstr "عنوان IPv4" + +msgid "IP address" +msgstr "عنوان IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "يجب أن تكون القيمة “%(value)s” إما None أو True أو False." + +msgid "Boolean (Either True, False or None)" +msgstr "ثنائي (إما True أو False أو None)" + +msgid "Positive big integer" +msgstr "عدد صحيح كبير موجب" + +msgid "Positive integer" +msgstr "عدد صحيح موجب" + +msgid "Positive small integer" +msgstr "عدد صحيح صغير موجب" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (حتى %(max_length)s)" + +msgid "Text" +msgstr "نص" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"تحتوي القيمة “%(value)s” على تنسيق غير صالح. يجب أن يكون بتنسيق HH: MM [: ss " +"[.uuuuuu]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"تحتوي القيمة “%(value)s” على التنسيق الصحيح (HH: MM [: ss [.uuuuuu]]) ولكنه " +"وقت غير صالح." + +msgid "Time" +msgstr "وقت" + +msgid "URL" +msgstr "رابط" + +msgid "Raw binary data" +msgstr "البيانات الثنائية الخام" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "“%(value)s” ليس UUID صالحًا." + +msgid "Universally unique identifier" +msgstr "المعرف الفريد العالمي (UUID)" + +msgid "File" +msgstr "ملف" + +msgid "Image" +msgstr "صورة" + +msgid "A JSON object" +msgstr "كائن JSON" + +msgid "Value must be valid JSON." +msgstr "يجب أن تكون قيمة JSON صالحة." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "النموذج %(model)s ذو الحقل و القيمة %(field)s %(value)r غير موجود." + +msgid "Foreign Key (type determined by related field)" +msgstr "الحقل المرتبط (تم تحديد النوع وفقاً للحقل المرتبط)" + +msgid "One-to-one relationship" +msgstr "علاقة واحد إلى واحد" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s علاقة" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s علاقات" + +msgid "Many-to-many relationship" +msgstr "علاقة متعدد إلى متعدد" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "هذا الحقل مطلوب." + +msgid "Enter a whole number." +msgstr "أدخل رقما صحيحا." + +msgid "Enter a valid date." +msgstr "أدخل تاريخاً صحيحاً." + +msgid "Enter a valid time." +msgstr "أدخل وقتاً صحيحاً." + +msgid "Enter a valid date/time." +msgstr "أدخل تاريخاً/وقتاً صحيحاً." + +msgid "Enter a valid duration." +msgstr "أدخل مدّة صحيحة" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "يجب أن يتراوح عدد الأيام بين {min_days} و {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "لم يتم ارسال ملف، الرجاء التأكد من نوع ترميز الاستمارة." + +msgid "No file was submitted." +msgstr "لم يتم إرسال اي ملف." + +msgid "The submitted file is empty." +msgstr "الملف الذي قمت بإرساله فارغ." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"تأكد أن إسم هذا الملف يحتوي على %(max)d حرف على الأكثر (هو يحتوي الآن على " +"%(length)d حرف)." +msgstr[1] "" +"تأكد أن إسم هذا الملف يحتوي على %(max)d حرف على الأكثر (هو يحتوي الآن على " +"%(length)d حرف)." +msgstr[2] "" +"تأكد أن إسم هذا الملف يحتوي على %(max)d حرف على الأكثر (هو يحتوي الآن على " +"%(length)d حرف)." +msgstr[3] "" +"تأكد أن إسم هذا الملف يحتوي على %(max)d حرف على الأكثر (هو يحتوي الآن على " +"%(length)d حرف)." +msgstr[4] "" +"تأكد أن إسم هذا الملف يحتوي على %(max)d حرف على الأكثر (هو يحتوي الآن على " +"%(length)d حرف)." +msgstr[5] "" +"تأكد أن إسم هذا الملف يحتوي على %(max)d حرف على الأكثر (هو يحتوي الآن على " +"%(length)d حرف)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"رجاءً أرسل ملف أو صح علامة صح عند مربع اختيار \\\"فارغ\\\"، وليس كلاهما." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"قم برفع صورة صحيحة، الملف الذي قمت برفعه إما أنه ليس ملفا لصورة أو أنه ملف " +"معطوب." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "انتق خياراً صحيحاً. %(value)s ليس أحد الخيارات المتاحة." + +msgid "Enter a list of values." +msgstr "أدخل قائمة من القيم." + +msgid "Enter a complete value." +msgstr "إدخال قيمة كاملة." + +msgid "Enter a valid UUID." +msgstr "أدخل قيمة UUID صحيحة." + +msgid "Enter a valid JSON." +msgstr "ادخل كائن JSON صالح." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(الحقل الخفي %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"نموذج بيانات الإدارة مفقود أو تم العبث به. %(field_names)sمن الحقول مفقود. " +"قد تحتاج إلى رفع تقرير بالمشكلة إن استمرت الحالة." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +msgid "Order" +msgstr "الترتيب" + +msgid "Delete" +msgstr "احذف" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "رجاء صحّح بيانات %(field)s المتكررة." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "رجاء صحّح بيانات %(field)s المتكررة والتي يجب أن تكون مُميّزة." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"رجاء صحّح بيانات %(field_name)s المتكررة والتي يجب أن تكون مُميّزة لـ%(lookup)s " +"في %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "رجاءً صحّح القيم المُكرّرة أدناه." + +msgid "The inline value did not match the parent instance." +msgstr "القيمة المضمنة لا تتطابق مع المثيل الأصلي." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "انتق خياراً صحيحاً. اختيارك ليس أحد الخيارات المتاحة." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "“%(pk)s” ليست قيمة صالحة." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"لا يمكن تفسير٪ %(datetime)s في المنطقة الزمنية٪ %(current_timezone)s؛ قد " +"تكون غامضة أو غير موجودة." + +msgid "Clear" +msgstr "تفريغ" + +msgid "Currently" +msgstr "حالياً" + +msgid "Change" +msgstr "عدّل" + +msgid "Unknown" +msgstr "مجهول" + +msgid "Yes" +msgstr "نعم" + +msgid "No" +msgstr "لا" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "نعم,لا,ربما" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d بايت" +msgstr[1] "%(size)d بايت واحد " +msgstr[2] "%(size)d بايتان" +msgstr[3] "%(size)d بايت" +msgstr[4] "%(size)d بايت" +msgstr[5] "%(size)d بايت" + +#, python-format +msgid "%s KB" +msgstr "%s ك.ب" + +#, python-format +msgid "%s MB" +msgstr "%s م.ب" + +#, python-format +msgid "%s GB" +msgstr "%s ج.ب" + +#, python-format +msgid "%s TB" +msgstr "%s ت.ب" + +#, python-format +msgid "%s PB" +msgstr "%s ب.ب" + +msgid "p.m." +msgstr "م" + +msgid "a.m." +msgstr "ص" + +msgid "PM" +msgstr "م" + +msgid "AM" +msgstr "ص" + +msgid "midnight" +msgstr "منتصف الليل" + +msgid "noon" +msgstr "ظهراً" + +msgid "Monday" +msgstr "الاثنين" + +msgid "Tuesday" +msgstr "الثلاثاء" + +msgid "Wednesday" +msgstr "الأربعاء" + +msgid "Thursday" +msgstr "الخميس" + +msgid "Friday" +msgstr "الجمعة" + +msgid "Saturday" +msgstr "السبت" + +msgid "Sunday" +msgstr "الأحد" + +msgid "Mon" +msgstr "إثنين" + +msgid "Tue" +msgstr "ثلاثاء" + +msgid "Wed" +msgstr "أربعاء" + +msgid "Thu" +msgstr "خميس" + +msgid "Fri" +msgstr "جمعة" + +msgid "Sat" +msgstr "سبت" + +msgid "Sun" +msgstr "أحد" + +msgid "January" +msgstr "جانفي" + +msgid "February" +msgstr "فيفري" + +msgid "March" +msgstr "مارس" + +msgid "April" +msgstr "أفريل" + +msgid "May" +msgstr "ماي" + +msgid "June" +msgstr "جوان" + +msgid "July" +msgstr "جويليه" + +msgid "August" +msgstr "أوت" + +msgid "September" +msgstr "سبتمبر" + +msgid "October" +msgstr "أكتوبر" + +msgid "November" +msgstr "نوفمبر" + +msgid "December" +msgstr "ديسمبر" + +msgid "jan" +msgstr "جانفي" + +msgid "feb" +msgstr "فيفري" + +msgid "mar" +msgstr "مارس" + +msgid "apr" +msgstr "أفريل" + +msgid "may" +msgstr "ماي" + +msgid "jun" +msgstr "جوان" + +msgid "jul" +msgstr "جويليه" + +msgid "aug" +msgstr "أوت" + +msgid "sep" +msgstr "سبتمبر" + +msgid "oct" +msgstr "أكتوبر" + +msgid "nov" +msgstr "نوفمبر" + +msgid "dec" +msgstr "ديسمبر" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "جانفي" + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "فيفري" + +msgctxt "abbrev. month" +msgid "March" +msgstr "مارس" + +msgctxt "abbrev. month" +msgid "April" +msgstr "أفريل" + +msgctxt "abbrev. month" +msgid "May" +msgstr "ماي" + +msgctxt "abbrev. month" +msgid "June" +msgstr "جوان" + +msgctxt "abbrev. month" +msgid "July" +msgstr "جويليه" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "أوت" + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "سبتمبر" + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "أكتوبر" + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "نوفمبر" + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "ديسمبر" + +msgctxt "alt. month" +msgid "January" +msgstr "جانفي" + +msgctxt "alt. month" +msgid "February" +msgstr "فيفري" + +msgctxt "alt. month" +msgid "March" +msgstr "مارس" + +msgctxt "alt. month" +msgid "April" +msgstr "أفريل" + +msgctxt "alt. month" +msgid "May" +msgstr "ماي" + +msgctxt "alt. month" +msgid "June" +msgstr "جوان" + +msgctxt "alt. month" +msgid "July" +msgstr "جويليه" + +msgctxt "alt. month" +msgid "August" +msgstr "أوت" + +msgctxt "alt. month" +msgid "September" +msgstr "سبتمبر" + +msgctxt "alt. month" +msgid "October" +msgstr "أكتوبر" + +msgctxt "alt. month" +msgid "November" +msgstr "نوفمبر" + +msgctxt "alt. month" +msgid "December" +msgstr "ديسمبر" + +msgid "This is not a valid IPv6 address." +msgstr "هذا ليس عنوان IPv6 صحيح." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "أو" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr "، " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +msgid "Forbidden" +msgstr "ممنوع" + +msgid "CSRF verification failed. Request aborted." +msgstr "تم الفشل للتحقق من CSRF. تم إنهاء الطلب." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"أنت ترى هذه الرسالة لأن موقع HTTPS هذا يتطلب \"عنوان مرجعي\" ليتم إرساله " +"بواسطة متصفح الويب الخاص بك ، ولكن لم يتم إرسال أي شيء. هذا العنوان مطلوب " +"لأسباب أمنية ، لضمان عدم اختراق متصفحك من قبل أطراف أخرى." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"إذا قمت بتكوين المستعرض الخاص بك لتعطيل رؤوس “Referer” ، فالرجاء إعادة " +"تمكينها ، على الأقل لهذا الموقع ، أو لاتصالات HTTPS ، أو لطلبات “same-" +"origin”." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"إذا كنت تستخدم العلامة أو تتضمن رأس “Referrer-Policy: no-referrer” ، فيرجى إزالتها. تتطلب حماية " +"CSRF رأس “Referer” القيام بالتحقق من “strict referer”. إذا كنت مهتمًا " +"بالخصوصية ، فاستخدم بدائل مثل للروابط إلى مواقع " +"الجهات الخارجية." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"تشاهد هذه الرسالة لأن هذا الموقع يتطلب ملف تعريف ارتباط CSRF Cookie عند " +"إرسال النماذج. ملف تعريف ارتباط Cookie هذا مطلوب لأسباب أمنية ، لضمان عدم " +"اختطاف متصفحك من قبل أطراف ثالثة." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"إذا قمت بتكوين المستعرض الخاص بك لتعطيل ملفات تعريف الارتباط Cookies ، يرجى " +"إعادة تمكينها ، على الأقل لهذا الموقع ، أو لطلبات “same-origin”." + +msgid "More information is available with DEBUG=True." +msgstr "يتوفر مزيد من المعلومات عند ضبط الخيار DEBUG=True." + +msgid "No year specified" +msgstr "لم تحدد السنة" + +msgid "Date out of range" +msgstr "تاريخ خارج النطاق" + +msgid "No month specified" +msgstr "لم تحدد الشهر" + +msgid "No day specified" +msgstr "لم تحدد اليوم" + +msgid "No week specified" +msgstr "لم تحدد الأسبوع" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "لا يوجد %(verbose_name_plural)s" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"التاريخ بالمستقبل %(verbose_name_plural)s غير متوفر لأن قيمة %(class_name)s." +"allow_future هي False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "سلسلة تاريخ غير صالحة “%(datestr)s” شكل معين “%(format)s”" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "لم يعثر على أي %(verbose_name)s مطابقة لهذا الإستعلام" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "الصفحة ليست \"الأخيرة\" ، ولا يمكن تحويلها إلى عدد صحيح." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "صفحة خاطئة (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "القائمة فارغة و “%(class_name)s.allow_empty” هي False." + +msgid "Directory indexes are not allowed here." +msgstr "لا يسمح لفهارس الدليل هنا." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "“%(path)s” غير موجود" + +#, python-format +msgid "Index of %(directory)s" +msgstr "فهرس لـ %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "تمَّت عملية التثبيت بنجاح! تهانينا!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"عرض ملاحظات الإصدار ل جانغو " +"%(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" +"تشاهد هذه الصفحة لأن DEBUG = True موجود في ملف الإعدادات الخاص بك ولم تقم بتكوين أي " +"عناوين URL." + +msgid "Django Documentation" +msgstr "توثيق جانغو" + +msgid "Topics, references, & how-to’s" +msgstr "الموضوعات ، المراجع، & الكيفية" + +msgid "Tutorial: A Polling App" +msgstr "البرنامج التعليمي: تطبيق الاقتراع" + +msgid "Get started with Django" +msgstr "الخطوات الأولى مع جانغو" + +msgid "Django Community" +msgstr "مجتمع جانغو" + +msgid "Connect, get help, or contribute" +msgstr "الاتصال، الحصول على المساعدة أو المساهمة" diff --git a/external_sources/django/django/conf/locale/ar_DZ/__init__.py b/external_sources/django/django/conf/locale/ar_DZ/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/ar_DZ/formats.py b/external_sources/django/django/conf/locale/ar_DZ/formats.py new file mode 100644 index 0000000..cbd361d --- /dev/null +++ b/external_sources/django/django/conf/locale/ar_DZ/formats.py @@ -0,0 +1,29 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j F Y" +TIME_FORMAT = "H:i" +DATETIME_FORMAT = "j F Y H:i" +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "j F Y" +SHORT_DATETIME_FORMAT = "j F Y H:i" +FIRST_DAY_OF_WEEK = 0 # Sunday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%Y/%m/%d", # '2006/10/25' +] +TIME_INPUT_FORMATS = [ + "%H:%M", # '14:30 + "%H:%M:%S", # '14:30:59' +] +DATETIME_INPUT_FORMATS = [ + "%Y/%m/%d %H:%M", # '2006/10/25 14:30' + "%Y/%m/%d %H:%M:%S", # '2006/10/25 14:30:59' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "." +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/ast/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/ast/LC_MESSAGES/django.po new file mode 100644 index 0000000..417f18d --- /dev/null +++ b/external_sources/django/django/conf/locale/ast/LC_MESSAGES/django.po @@ -0,0 +1,1237 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Ḷḷumex03 , 2014 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-27 22:40+0200\n" +"PO-Revision-Date: 2019-11-05 00:38+0000\n" +"Last-Translator: Ramiro Morales\n" +"Language-Team: Asturian (http://www.transifex.com/django/django/language/" +"ast/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ast\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "Afrikáans" + +msgid "Arabic" +msgstr "Árabe" + +msgid "Asturian" +msgstr "" + +msgid "Azerbaijani" +msgstr "Azerbaixanu" + +msgid "Bulgarian" +msgstr "Búlgaru" + +msgid "Belarusian" +msgstr "Bielorrusu" + +msgid "Bengali" +msgstr "Bengalí" + +msgid "Breton" +msgstr "Bretón" + +msgid "Bosnian" +msgstr "Bosniu" + +msgid "Catalan" +msgstr "Catalán" + +msgid "Czech" +msgstr "Checu" + +msgid "Welsh" +msgstr "Galés" + +msgid "Danish" +msgstr "Danés" + +msgid "German" +msgstr "Alemán" + +msgid "Lower Sorbian" +msgstr "" + +msgid "Greek" +msgstr "Griegu" + +msgid "English" +msgstr "Inglés" + +msgid "Australian English" +msgstr "" + +msgid "British English" +msgstr "Inglés británicu" + +msgid "Esperanto" +msgstr "Esperantu" + +msgid "Spanish" +msgstr "Castellán" + +msgid "Argentinian Spanish" +msgstr "Español arxentín" + +msgid "Colombian Spanish" +msgstr "" + +msgid "Mexican Spanish" +msgstr "Español mexicanu" + +msgid "Nicaraguan Spanish" +msgstr "Español nicaraguanu" + +msgid "Venezuelan Spanish" +msgstr "Español venezolanu" + +msgid "Estonian" +msgstr "Estoniu" + +msgid "Basque" +msgstr "Vascu" + +msgid "Persian" +msgstr "Persa" + +msgid "Finnish" +msgstr "Finés" + +msgid "French" +msgstr "Francés" + +msgid "Frisian" +msgstr "Frisón" + +msgid "Irish" +msgstr "Irlandés" + +msgid "Scottish Gaelic" +msgstr "" + +msgid "Galician" +msgstr "Gallegu" + +msgid "Hebrew" +msgstr "Hebréu" + +msgid "Hindi" +msgstr "Hindi" + +msgid "Croatian" +msgstr "Croata" + +msgid "Upper Sorbian" +msgstr "" + +msgid "Hungarian" +msgstr "Húngaru" + +msgid "Armenian" +msgstr "" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indonesiu" + +msgid "Ido" +msgstr "" + +msgid "Icelandic" +msgstr "Islandés" + +msgid "Italian" +msgstr "Italianu" + +msgid "Japanese" +msgstr "Xaponés" + +msgid "Georgian" +msgstr "Xeorxanu" + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "Kazakh" + +msgid "Khmer" +msgstr "Khmer" + +msgid "Kannada" +msgstr "Canarés" + +msgid "Korean" +msgstr "Coreanu" + +msgid "Luxembourgish" +msgstr "Luxemburgués" + +msgid "Lithuanian" +msgstr "Lituanu" + +msgid "Latvian" +msgstr "Letón" + +msgid "Macedonian" +msgstr "Macedoniu" + +msgid "Malayalam" +msgstr "Malayalam" + +msgid "Mongolian" +msgstr "Mongol" + +msgid "Marathi" +msgstr "" + +msgid "Burmese" +msgstr "Birmanu" + +msgid "Norwegian Bokmål" +msgstr "" + +msgid "Nepali" +msgstr "Nepalí" + +msgid "Dutch" +msgstr "Holandés" + +msgid "Norwegian Nynorsk" +msgstr "Nynorsk noruegu" + +msgid "Ossetic" +msgstr "Osetiu" + +msgid "Punjabi" +msgstr "Punjabi" + +msgid "Polish" +msgstr "Polacu" + +msgid "Portuguese" +msgstr "Portugués" + +msgid "Brazilian Portuguese" +msgstr "Portugués brasileñu" + +msgid "Romanian" +msgstr "Rumanu" + +msgid "Russian" +msgstr "Rusu" + +msgid "Slovak" +msgstr "Eslovacu" + +msgid "Slovenian" +msgstr "Eslovenu" + +msgid "Albanian" +msgstr "Albanu" + +msgid "Serbian" +msgstr "Serbiu" + +msgid "Serbian Latin" +msgstr "Serbiu llatín" + +msgid "Swedish" +msgstr "Suecu" + +msgid "Swahili" +msgstr "Suaḥili" + +msgid "Tamil" +msgstr "Tamil" + +msgid "Telugu" +msgstr "Telugu" + +msgid "Thai" +msgstr "Tailandés" + +msgid "Turkish" +msgstr "Turcu" + +msgid "Tatar" +msgstr "Tatar" + +msgid "Udmurt" +msgstr "Udmurtu" + +msgid "Ukrainian" +msgstr "Ucranianu" + +msgid "Urdu" +msgstr "Urdu" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "Vietnamita" + +msgid "Simplified Chinese" +msgstr "Chinu simplificáu" + +msgid "Traditional Chinese" +msgstr "Chinu tradicional" + +msgid "Messages" +msgstr "" + +msgid "Site Maps" +msgstr "" + +msgid "Static Files" +msgstr "" + +msgid "Syndication" +msgstr "" + +msgid "That page number is not an integer" +msgstr "" + +msgid "That page number is less than 1" +msgstr "" + +msgid "That page contains no results" +msgstr "" + +msgid "Enter a valid value." +msgstr "Introduz un valor válidu." + +msgid "Enter a valid URL." +msgstr "Introduz una URL válida." + +msgid "Enter a valid integer." +msgstr "" + +msgid "Enter a valid email address." +msgstr "Introduz una direición de corréu válida." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "Introduz una direición IPv4 válida." + +msgid "Enter a valid IPv6 address." +msgstr "Introduz una direición IPv6 válida." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Introduz una direición IPv4 o IPv6 válida." + +msgid "Enter only digits separated by commas." +msgstr "Introduz namái díxitos separtaos per comes." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Asegúrate qu'esti valor ye %(limit_value)s (ye %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Asegúrate qu'esti valor ye menor o igual a %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Asegúrate qu'esti valor ye mayor o igual a %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Asegúrate qu'esti valor tien polo menos %(limit_value)d caráuter (tien " +"%(show_value)d)." +msgstr[1] "" +"Asegúrate qu'esti valor tien polo menos %(limit_value)d caráuteres (tien " +"%(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Asegúrate qu'esti valor tien como muncho %(limit_value)d caráuter (tien " +"%(show_value)d)." +msgstr[1] "" +"Asegúrate qu'esti valor tien como muncho %(limit_value)d caráuteres (tien " +"%(show_value)d)." + +msgid "Enter a number." +msgstr "Introduz un númberu." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Asegúrate que nun hai más de %(max)s díxitu en total." +msgstr[1] "Asegúrate que nun hai más de %(max)s díxitos en total." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Asegúrate que nun hai más de %(max)s allugamientu decimal." +msgstr[1] "Asegúrate que nun hai más de %(max)s allugamientos decimales." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Asegúrate que nun hai más de %(max)s díxitu enantes del puntu decimal." +msgstr[1] "" +"Asegúrate que nun hai más de %(max)s díxitos enantes del puntu decimal." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "" + +msgid "and" +msgstr "y" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "" + +msgid "This field cannot be null." +msgstr "Esti campu nun pue ser nulu." + +msgid "This field cannot be blank." +msgstr "Esti campu nun pue tar baleru." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s con esti %(field_label)s yá esiste." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Campu de la triba: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "Boleanu (tamién True o False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Cadena (fasta %(max_length)s)" + +msgid "Comma-separated integers" +msgstr "Enteros separtaos per coma" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "Data (ensin hora)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "Data (con hora)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "Númberu decimal" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "" + +msgid "Email address" +msgstr "Direición de corréu" + +msgid "File path" +msgstr "Camín del ficheru" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "Númberu de puntu flotante" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "Enteru" + +msgid "Big (8 byte) integer" +msgstr "Enteru big (8 byte)" + +msgid "IPv4 address" +msgstr "Direición IPv4" + +msgid "IP address" +msgstr "Direición IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "Boleanu (tamién True, False o None)" + +msgid "Positive integer" +msgstr "Enteru positivu" + +msgid "Positive small integer" +msgstr "Enteru pequeñu positivu" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (fasta %(max_length)s)" + +msgid "Small integer" +msgstr "Enteru pequeñu" + +msgid "Text" +msgstr "Testu" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "Hora" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Datos binarios crudos" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "Ficheru" + +msgid "Image" +msgstr "Imaxe" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" + +msgid "Foreign Key (type determined by related field)" +msgstr "Clave foriata (triba determinada pol campu rellacionáu)" + +msgid "One-to-one relationship" +msgstr "Rellación a ún" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "" + +msgid "Many-to-many relationship" +msgstr "Rellación a munchos" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Requierse esti campu." + +msgid "Enter a whole number." +msgstr "Introduz un númberu completu" + +msgid "Enter a valid date." +msgstr "Introduz una data válida." + +msgid "Enter a valid time." +msgstr "Introduz una hora válida." + +msgid "Enter a valid date/time." +msgstr "Introduz una data/hora válida." + +msgid "Enter a valid duration." +msgstr "" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Nun s'unvió'l ficheru. Comprueba la triba de cifráu nel formulariu." + +msgid "No file was submitted." +msgstr "No file was submitted." + +msgid "The submitted file is empty." +msgstr "El ficheru dunviáu ta baleru." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Asegúrate qu'esti nome de ficheru tien polo menos %(max)d caráuter (tien " +"%(length)d)." +msgstr[1] "" +"Asegúrate qu'esti nome de ficheru tien polo menos %(max)d caráuteres (tien " +"%(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Por favor, dunvia un ficheru o conseña la caxella , non dambos." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Xubi una imaxe válida. El ficheru que xubiesti o nun yera una imaxe, o taba " +"toriada." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Esbilla una escoyeta válida. %(value)s nun una ún de les escoyetes " +"disponibles." + +msgid "Enter a list of values." +msgstr "Introduz una llista valores." + +msgid "Enter a complete value." +msgstr "" + +msgid "Enter a valid UUID." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Campu anubríu %(name)s) %(error)s" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "Por favor, dunvia %d o menos formularios." +msgstr[1] "Por favor, dunvia %d o menos formularios." + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "" +msgstr[1] "" + +msgid "Order" +msgstr "Orde" + +msgid "Delete" +msgstr "Desanciar" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Por favor, igua'l datu duplicáu de %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Por favor, igua'l datu duplicáu pa %(field)s, el cual tien de ser únicu." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Por favor, igua'l datu duplicáu de %(field_name)s el cual tien de ser únicu " +"pal %(lookup)s en %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Por favor, igua los valores duplicaos embaxo" + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Esbilla una escoyeta válida. Esa escoyeta nun ye una de les escoyetes " +"disponibles." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "Llimpiar" + +msgid "Currently" +msgstr "Anguaño" + +msgid "Change" +msgstr "Camudar" + +msgid "Unknown" +msgstr "Desconocíu" + +msgid "Yes" +msgstr "Sí" + +msgid "No" +msgstr "Non" + +msgid "Year" +msgstr "" + +msgid "Month" +msgstr "" + +msgid "Day" +msgstr "" + +msgid "yes,no,maybe" +msgstr "sí,non,quiciabes" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d byte" +msgstr[1] "%(size)d bytes" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "Media nueche" + +msgid "noon" +msgstr "Meudía" + +msgid "Monday" +msgstr "Llunes" + +msgid "Tuesday" +msgstr "Martes" + +msgid "Wednesday" +msgstr "Miércoles" + +msgid "Thursday" +msgstr "Xueves" + +msgid "Friday" +msgstr "Vienres" + +msgid "Saturday" +msgstr "Sábadu" + +msgid "Sunday" +msgstr "Domingu" + +msgid "Mon" +msgstr "LLu" + +msgid "Tue" +msgstr "Mar" + +msgid "Wed" +msgstr "Mie" + +msgid "Thu" +msgstr "Xue" + +msgid "Fri" +msgstr "Vie" + +msgid "Sat" +msgstr "Sáb" + +msgid "Sun" +msgstr "Dom" + +msgid "January" +msgstr "Xineru" + +msgid "February" +msgstr "Febreru" + +msgid "March" +msgstr "Marzu" + +msgid "April" +msgstr "Abril" + +msgid "May" +msgstr "Mayu" + +msgid "June" +msgstr "Xunu" + +msgid "July" +msgstr "Xunetu" + +msgid "August" +msgstr "Agostu" + +msgid "September" +msgstr "Setiembre" + +msgid "October" +msgstr "Ochobre" + +msgid "November" +msgstr "Payares" + +msgid "December" +msgstr "Avientu" + +msgid "jan" +msgstr "xin" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "abr" + +msgid "may" +msgstr "may" + +msgid "jun" +msgstr "xun" + +msgid "jul" +msgstr "xnt" + +msgid "aug" +msgstr "ago" + +msgid "sep" +msgstr "set" + +msgid "oct" +msgstr "och" + +msgid "nov" +msgstr "pay" + +msgid "dec" +msgstr "avi" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Xin." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Mar." + +msgctxt "abbrev. month" +msgid "April" +msgstr "Abr." + +msgctxt "abbrev. month" +msgid "May" +msgstr "May." + +msgctxt "abbrev. month" +msgid "June" +msgstr "Xun." + +msgctxt "abbrev. month" +msgid "July" +msgstr "Xnt." + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Ago." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Set." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Och." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Pay." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Avi." + +msgctxt "alt. month" +msgid "January" +msgstr "Xineru" + +msgctxt "alt. month" +msgid "February" +msgstr "Febreru" + +msgctxt "alt. month" +msgid "March" +msgstr "Marzu" + +msgctxt "alt. month" +msgid "April" +msgstr "Abril" + +msgctxt "alt. month" +msgid "May" +msgstr "Mayu" + +msgctxt "alt. month" +msgid "June" +msgstr "Xunu" + +msgctxt "alt. month" +msgid "July" +msgstr "Xunetu" + +msgctxt "alt. month" +msgid "August" +msgstr "Agostu" + +msgctxt "alt. month" +msgid "September" +msgstr "Setiembre" + +msgctxt "alt. month" +msgid "October" +msgstr "Ochobre" + +msgctxt "alt. month" +msgid "November" +msgstr "Payares" + +msgctxt "alt. month" +msgid "December" +msgstr "Avientu" + +msgid "This is not a valid IPv6 address." +msgstr "" + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "o" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "%d añu" +msgstr[1] "%d años" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "%d mes" +msgstr[1] "%d meses" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "%d selmana" +msgstr[1] "%d selmanes" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "%d día" +msgstr[1] "%d díes" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "%d hora" +msgstr[1] "%d hores" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "%d minutu" +msgstr[1] "%d minutos" + +msgid "0 minutes" +msgstr "0 minutos" + +msgid "Forbidden" +msgstr "" + +msgid "CSRF verification failed. Request aborted." +msgstr "" + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "" + +msgid "No year specified" +msgstr "Nun s'especificó l'añu" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "Nun s'especificó'l mes" + +msgid "No day specified" +msgstr "Nun s'especificó'l día" + +msgid "No week specified" +msgstr "Nun s'especificó la selmana" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Ensin %(verbose_name_plural)s disponible" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Nun ta disponible'l %(verbose_name_plural)s futuru porque %(class_name)s." +"allow_future ye False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Nun s'alcontró %(verbose_name)s que concase cola gueta" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Páxina inválida (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "Nun tán almitíos equí los indexaos de direutoriu." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Índiz de %(directory)s" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/az/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/az/LC_MESSAGES/django.po new file mode 100644 index 0000000..72734bb --- /dev/null +++ b/external_sources/django/django/conf/locale/az/LC_MESSAGES/django.po @@ -0,0 +1,1347 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Emin Mastizada , 2018,2020 +# Emin Mastizada , 2015-2016 +# Metin Amiroff , 2011 +# Nicat Məmmədov , 2022 +# Nijat Mammadov, 2024 +# Sevdimali , 2024 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 06:49+0000\n" +"Last-Translator: Sevdimali , 2024\n" +"Language-Team: Azerbaijani (http://app.transifex.com/django/django/language/" +"az/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: az\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "Afrikaans" + +msgid "Arabic" +msgstr "Ərəb" + +msgid "Algerian Arabic" +msgstr "Əlcəzair Ərəbcəsi" + +msgid "Asturian" +msgstr "Asturiya" + +msgid "Azerbaijani" +msgstr "Azərbaycan" + +msgid "Bulgarian" +msgstr "Bolqar" + +msgid "Belarusian" +msgstr "Belarus" + +msgid "Bengali" +msgstr "Benqal" + +msgid "Breton" +msgstr "Breton" + +msgid "Bosnian" +msgstr "Bosniya" + +msgid "Catalan" +msgstr "Katalon" + +msgid "Central Kurdish (Sorani)" +msgstr "Mərkəzi Kürd dili (Sorani)" + +msgid "Czech" +msgstr "Çex" + +msgid "Welsh" +msgstr "Uels" + +msgid "Danish" +msgstr "Danimarka" + +msgid "German" +msgstr "Alman" + +msgid "Lower Sorbian" +msgstr "Aşağı Sorb" + +msgid "Greek" +msgstr "Yunan" + +msgid "English" +msgstr "İngilis" + +msgid "Australian English" +msgstr "Avstraliya İngiliscəsi" + +msgid "British English" +msgstr "Britaniya İngiliscəsi" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "İspan" + +msgid "Argentinian Spanish" +msgstr "Argentina İspancası" + +msgid "Colombian Spanish" +msgstr "Kolumbia İspancası" + +msgid "Mexican Spanish" +msgstr "Meksika İspancası" + +msgid "Nicaraguan Spanish" +msgstr "Nikaraqua İspancası" + +msgid "Venezuelan Spanish" +msgstr "Venesuela İspancası" + +msgid "Estonian" +msgstr "Eston" + +msgid "Basque" +msgstr "Bask" + +msgid "Persian" +msgstr "Fars" + +msgid "Finnish" +msgstr "Fin" + +msgid "French" +msgstr "Fransız" + +msgid "Frisian" +msgstr "Fris" + +msgid "Irish" +msgstr "İrland" + +msgid "Scottish Gaelic" +msgstr "Şotland Keltcəsi" + +msgid "Galician" +msgstr "Qalisiya" + +msgid "Hebrew" +msgstr "İvrit" + +msgid "Hindi" +msgstr "Hind" + +msgid "Croatian" +msgstr "Xorvat" + +msgid "Upper Sorbian" +msgstr "Yuxarı Sorb" + +msgid "Hungarian" +msgstr "Macar" + +msgid "Armenian" +msgstr "Erməni" + +msgid "Interlingua" +msgstr "İnterlinqua" + +msgid "Indonesian" +msgstr "İndoneziya dili" + +msgid "Igbo" +msgstr "İqbo" + +msgid "Ido" +msgstr "İdo" + +msgid "Icelandic" +msgstr "İsland" + +msgid "Italian" +msgstr "İtalyan" + +msgid "Japanese" +msgstr "Yapon" + +msgid "Georgian" +msgstr "Gürcü" + +msgid "Kabyle" +msgstr "Kabile" + +msgid "Kazakh" +msgstr "Qazax" + +msgid "Khmer" +msgstr "Xmer" + +msgid "Kannada" +msgstr "Kannada" + +msgid "Korean" +msgstr "Koreya" + +msgid "Kyrgyz" +msgstr "Qırğız" + +msgid "Luxembourgish" +msgstr "Lüksemburq" + +msgid "Lithuanian" +msgstr "Litva" + +msgid "Latvian" +msgstr "Latış" + +msgid "Macedonian" +msgstr "Makedon" + +msgid "Malayalam" +msgstr "Malayam" + +msgid "Mongolian" +msgstr "Monqol" + +msgid "Marathi" +msgstr "Marathi" + +msgid "Malay" +msgstr "Malay" + +msgid "Burmese" +msgstr "Birman" + +msgid "Norwegian Bokmål" +msgstr "Norveç Bukmolcası" + +msgid "Nepali" +msgstr "Nepal" + +msgid "Dutch" +msgstr "Niderland" + +msgid "Norwegian Nynorsk" +msgstr "Norveç Nyunorskcası" + +msgid "Ossetic" +msgstr "Osetin" + +msgid "Punjabi" +msgstr "Pəncab" + +msgid "Polish" +msgstr "Polyak" + +msgid "Portuguese" +msgstr "Portuqal" + +msgid "Brazilian Portuguese" +msgstr "Braziliya Portuqalcası" + +msgid "Romanian" +msgstr "Rumın" + +msgid "Russian" +msgstr "Rus" + +msgid "Slovak" +msgstr "Slovak" + +msgid "Slovenian" +msgstr "Sloven" + +msgid "Albanian" +msgstr "Alban" + +msgid "Serbian" +msgstr "Serb" + +msgid "Serbian Latin" +msgstr "Serb (Latın)" + +msgid "Swedish" +msgstr "İsveç" + +msgid "Swahili" +msgstr "Suahili" + +msgid "Tamil" +msgstr "Tamil" + +msgid "Telugu" +msgstr "Teluqu" + +msgid "Tajik" +msgstr "Tacik" + +msgid "Thai" +msgstr "Tay" + +msgid "Turkmen" +msgstr "Türkmən" + +msgid "Turkish" +msgstr "Türk" + +msgid "Tatar" +msgstr "Tatar" + +msgid "Udmurt" +msgstr "Udmurt" + +msgid "Uyghur" +msgstr "Uyğur" + +msgid "Ukrainian" +msgstr "Ukrayn" + +msgid "Urdu" +msgstr "Urdu" + +msgid "Uzbek" +msgstr "Özbək" + +msgid "Vietnamese" +msgstr "Vyetnam" + +msgid "Simplified Chinese" +msgstr "Sadələşdirilmiş Çin dili" + +msgid "Traditional Chinese" +msgstr "Ənənəvi Çin dili" + +msgid "Messages" +msgstr "Mesajlar" + +msgid "Site Maps" +msgstr "Sayt Xəritələri" + +msgid "Static Files" +msgstr "Statik Fayllar" + +msgid "Syndication" +msgstr "Sindikasiya" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "Səhifə nömrəsi rəqəm deyil" + +msgid "That page number is less than 1" +msgstr "Səhifə nömrəsi 1-dən balacadır" + +msgid "That page contains no results" +msgstr "O səhifədə nəticə yoxdur" + +msgid "Enter a valid value." +msgstr "Düzgün dəyər daxil edin." + +msgid "Enter a valid domain name." +msgstr "Düzgün domen adı daxil edin." + +msgid "Enter a valid URL." +msgstr "Düzgün URL daxil edin." + +msgid "Enter a valid integer." +msgstr "Düzgün rəqəm daxil edin." + +msgid "Enter a valid email address." +msgstr "Düzgün e-poçt ünvanı daxil edin." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Hərflərdən, rəqəmlərdən, alt-xətlərdən və ya defislərdən ibarət düzgün " +"qısaltma (“slug”) daxil edin." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Unicode hərflərdən, rəqəmlərdən, alt-xətlərdən və ya defislərdən ibarət " +"düzgün qısaltma (“slug”) daxil edin." + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "Düzgün %(protocol)s adres daxil edin." + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "IPv4 or IPv6" +msgstr "IPv4 və ya IPv6" + +msgid "Enter only digits separated by commas." +msgstr "Vergüllə ayırmaqla yalnız rəqəmlər daxil edin." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Əmin olun ki, bu dəyər %(limit_value)s-dir/dır (bu %(show_value)s-dir/dır)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" +"Bu qiymətin %(limit_value)s-(y)a/ə bərabər və ya ondan kiçik olduğunu " +"yoxlayın." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" +"Bu qiymətin %(limit_value)s-(y)a/ə bərabər və ya ondan böyük olduğunu " +"yoxlayın." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "" +"Bu dəyərin %(limit_value)s addım ölçüsünün mərtəbələri olduğundan əmin olun." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"Bu dəyərin %(offset)s dəyərindən başlayaraq %(limit_value)s addım ölçüsü " +"mərtəbəsi olduğundan əmin olun. Məs: %(offset)s, %(valid_value1)s, " +"%(valid_value2)s və s." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Bu dəyərin ən az %(limit_value)d simvol olduğuna əmin olun (%(show_value)d " +"simvol var)" +msgstr[1] "" +"Bu dəyərin ən az %(limit_value)d simvol olduğuna əmin olun (%(show_value)d " +"simvol var)" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Bu dəyərin ən çox %(limit_value)d simvol olduğuna əmin olun (%(show_value)d " +"simvol var)" +msgstr[1] "" +"Bu dəyərin ən çox %(limit_value)d simvol olduğuna əmin olun (%(show_value)d " +"simvol var)" + +msgid "Enter a number." +msgstr "Ədəd daxil edin." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Toplamda %(max)s rəqəmdən çox olmadığına əmin olun." +msgstr[1] "Toplamda %(max)s rəqəmdən çox olmadığına əmin olun." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Onluq hissənin %(max)s rəqəmdən çox olmadığına əmin olun." +msgstr[1] "Onluq hissənin %(max)s rəqəmdən çox olmadığına əmin olun." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "Onluq hissədən əvvəl %(max)s rəqəmdən çox olmadığına əmin olun." +msgstr[1] "Onluq hissədən əvvəl %(max)s rəqəmdən çox olmadığına əmin olun." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"“%(extension)s” fayl uzantısına icazə verilmir. İcazə verilən fayl " +"uzantıları: %(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Null simvollara icazə verilmir." + +msgid "and" +msgstr "və" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(field_labels)s ilə %(model_name)s artıq mövcuddur." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "“%(name)s” məhdudiyyəti pozuldu." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "%(value)r dəyəri doğru seçim deyil." + +msgid "This field cannot be null." +msgstr "Bu sahə boş qala bilməz." + +msgid "This field cannot be blank." +msgstr "Bu sahə ağ qala bilməz." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s bu %(field_label)s sahə ilə artıq mövcuddur." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s dəyəri %(date_field_label)s %(lookup_type)s üçün unikal " +"olmalıdır." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Sahənin tipi: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "“%(value)s” dəyəri ya True, ya da False olmalıdır." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "“%(value)s” dəyəri True, False və ya None olmalıdır." + +msgid "Boolean (Either True or False)" +msgstr "Bul (ya Doğru, ya Yalan)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Sətir (%(max_length)s simvola kimi)" + +msgid "String (unlimited)" +msgstr "Sətir (limitsiz)" + +msgid "Comma-separated integers" +msgstr "Vergüllə ayrılmış tam ədədlər" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"“%(value)s” dəyəri səhv tarix formatındadır. Formatı YYYY-MM-DD olmalıdır." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"“%(value)s” dəyəri düzgün formatdadır (YYYY-MM-DD), amma bu tarix xətalıdır." + +msgid "Date (without time)" +msgstr "Tarix (saatsız)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"“%(value)s” dəyərinin formatı səhvdir. Formatı YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ] olmalıdır." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"“%(value)s” dəyərinin formatı düzgündür (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]) " +"amma bu tarix xətalıdır." + +msgid "Date (with time)" +msgstr "Tarix (vaxt ilə)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "“%(value)s” dəyəri onluq kəsrli (decimal) rəqəm olmalıdır." + +msgid "Decimal number" +msgstr "Rasional ədəd" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"“%(value)s” dəyərinin formatı səhvdir. Formatı [DD] [HH:[MM:]]ss[.uuuuuu] " +"olmalıdır." + +msgid "Duration" +msgstr "Müddət" + +msgid "Email address" +msgstr "E-poçt" + +msgid "File path" +msgstr "Faylın ünvanı" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "“%(value)s” dəyəri float olmalıdır." + +msgid "Floating point number" +msgstr "Sürüşən vergüllü ədəd" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "“%(value)s” dəyəri tam rəqəm olmalıdır." + +msgid "Integer" +msgstr "Tam ədəd" + +msgid "Big (8 byte) integer" +msgstr "Böyük (8 bayt) tam ədəd" + +msgid "Small integer" +msgstr "Kiçik tam ədəd" + +msgid "IPv4 address" +msgstr "IPv4 ünvanı" + +msgid "IP address" +msgstr "IP ünvan" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "“%(value)s” dəyəri None, True və ya False olmalıdır." + +msgid "Boolean (Either True, False or None)" +msgstr "Bul (Ya True, ya False, ya da None)" + +msgid "Positive big integer" +msgstr "Müsbət böyük rəqəm" + +msgid "Positive integer" +msgstr "Müsbət tam ədəd" + +msgid "Positive small integer" +msgstr "Müsbət tam kiçik ədəd" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Əzmə (%(max_length)s simvola kimi)" + +msgid "Text" +msgstr "Mətn" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"“%(value)s” dəyərinin formatı səhvdir. Formatı HH:MM[:ss[.uuuuuu]] olmalıdır." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"“%(value)s” dəyəri düzgün formatdadır (HH:MM[:ss[.uuuuuu]]), amma vaxtı " +"xətalıdır." + +msgid "Time" +msgstr "Vaxt" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Düz ikili (binary) məlumat" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "“%(value)s” keçərli UUID deyil." + +msgid "Universally unique identifier" +msgstr "Universal təkrarolunmaz identifikator" + +msgid "File" +msgstr "Fayl" + +msgid "Image" +msgstr "Şəkil" + +msgid "A JSON object" +msgstr "JSON obyekti" + +msgid "Value must be valid JSON." +msgstr "Dəyər düzgün JSON olmalıdır." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "%(field)s dəyəri %(value)r olan %(model)s mövcud deyil." + +msgid "Foreign Key (type determined by related field)" +msgstr "Xarici açar (bağlı olduğu sahəyə uyğun tipi alır)" + +msgid "One-to-one relationship" +msgstr "Birin-birə münasibət" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s əlaqəsi" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s əlaqələri" + +msgid "Many-to-many relationship" +msgstr "Çoxun-çoxa münasibət" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Bu sahə vacibdir." + +msgid "Enter a whole number." +msgstr "Tam ədəd daxil edin." + +msgid "Enter a valid date." +msgstr "Düzgün tarix daxil edin." + +msgid "Enter a valid time." +msgstr "Düzgün vaxt daxil edin." + +msgid "Enter a valid date/time." +msgstr "Düzgün tarix/vaxt daxil edin." + +msgid "Enter a valid duration." +msgstr "Keçərli müddət daxil edin." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Günlərin sayı {min_days} ilə {max_days} arasında olmalıdır." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Fayl göndərilməyib. Vərəqənin (\"form\") şifrələmə tipini yoxlayın." + +msgid "No file was submitted." +msgstr "Fayl göndərilməyib." + +msgid "The submitted file is empty." +msgstr "Göndərilən fayl boşdur." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Bu fayl adının ən çox %(max)d simvol olduğuna əmin olun (%(length)d var)." +msgstr[1] "" +"Bu fayl adının ən çox %(max)d simvol olduğuna əmin olun (%(length)d var)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Ya fayl göndərin, ya da xanaya quş qoymayın, hər ikisini də birdən etməyin." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Düzgün şəkil göndərin. Göndərdiyiniz fayl ya şəkil deyil, ya da şəkildə " +"problem var." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Düzgün seçim edin. %(value)s seçimlər arasında yoxdur." + +msgid "Enter a list of values." +msgstr "Qiymətlərin siyahısını daxil edin." + +msgid "Enter a complete value." +msgstr "Tam dəyər daxil edin." + +msgid "Enter a valid UUID." +msgstr "Keçərli UUID daxil et." + +msgid "Enter a valid JSON." +msgstr "Etibarlı bir JSON daxil edin." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Gizli %(name)s sahəsi) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"ManagementForm datası ya əskikdir, ya da dəyişdirilib. Çatışmayan xanalar: " +"%(field_names)s. Problem davam edərsə, səhv hesabatı təqdim etməli ola " +"bilərsiniz." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Zəhmət olmasa ən çox %(num)d forma təsdiqləyin." +msgstr[1] "Zəhmət olmasa ən çox %(num)d forma təsdiqləyin." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Zəhmət olmasa ən az %(num)d forma təsdiqləyin." +msgstr[1] "Zəhmət olmasa ən az %(num)d forma təsdiqləyin." + +msgid "Order" +msgstr "Sırala" + +msgid "Delete" +msgstr "Sil" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "%(field)s sahəsinə görə təkrarlanan məlumatlara düzəliş edin." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"%(field)s sahəsinə görə təkrarlanan məlumatlara düzəliş edin, onların hamısı " +"fərqli olmalıdır." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"%(field_name)s sahəsinə görə təkrarlanan məlumatlara düzəliş edin, onlar " +"%(date_field)s %(lookup)s-a görə fərqli olmalıdır." + +msgid "Please correct the duplicate values below." +msgstr "Aşağıda təkrarlanan qiymətlərə düzəliş edin." + +msgid "The inline value did not match the parent instance." +msgstr "Sətiriçi dəyər ana nüsxəyə uyğun deyil." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Düzgün seçim edin. Bu seçim mümkün deyil." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "“%(pk)s” düzgün dəyər deyil." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s vaxtı %(current_timezone)s zaman qurşağında ifadə oluna bilmir; " +"ya qeyri-müəyyənlik, ya da mövcud olmaya bilər." + +msgid "Clear" +msgstr "Təmizlə" + +msgid "Currently" +msgstr "Hal-hazırda" + +msgid "Change" +msgstr "Dəyiş" + +msgid "Unknown" +msgstr "Məlum deyil" + +msgid "Yes" +msgstr "Hə" + +msgid "No" +msgstr "Yox" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "hə,yox,bəlkə" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d bayt" +msgstr[1] "%(size)d bayt" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s QB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "g.s." + +msgid "a.m." +msgstr "g.ə." + +msgid "PM" +msgstr "GS" + +msgid "AM" +msgstr "GƏ" + +msgid "midnight" +msgstr "gecə yarısı" + +msgid "noon" +msgstr "günorta" + +msgid "Monday" +msgstr "Bazar ertəsi" + +msgid "Tuesday" +msgstr "Çərşənbə axşamı" + +msgid "Wednesday" +msgstr "Çərşənbə" + +msgid "Thursday" +msgstr "Cümə axşamı" + +msgid "Friday" +msgstr "Cümə" + +msgid "Saturday" +msgstr "Şənbə" + +msgid "Sunday" +msgstr "Bazar" + +msgid "Mon" +msgstr "B.e" + +msgid "Tue" +msgstr "Ç.a" + +msgid "Wed" +msgstr "Çrş" + +msgid "Thu" +msgstr "C.a" + +msgid "Fri" +msgstr "Cüm" + +msgid "Sat" +msgstr "Şnb" + +msgid "Sun" +msgstr "Bzr" + +msgid "January" +msgstr "Yanvar" + +msgid "February" +msgstr "Fevral" + +msgid "March" +msgstr "Mart" + +msgid "April" +msgstr "Aprel" + +msgid "May" +msgstr "May" + +msgid "June" +msgstr "İyun" + +msgid "July" +msgstr "İyul" + +msgid "August" +msgstr "Avqust" + +msgid "September" +msgstr "Sentyabr" + +msgid "October" +msgstr "Oktyabr" + +msgid "November" +msgstr "Noyabr" + +msgid "December" +msgstr "Dekabr" + +msgid "jan" +msgstr "ynv" + +msgid "feb" +msgstr "fvr" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "apr" + +msgid "may" +msgstr "may" + +msgid "jun" +msgstr "iyn" + +msgid "jul" +msgstr "iyl" + +msgid "aug" +msgstr "avq" + +msgid "sep" +msgstr "snt" + +msgid "oct" +msgstr "okt" + +msgid "nov" +msgstr "noy" + +msgid "dec" +msgstr "dek" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Yan." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Fev." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Mart" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Aprel" + +msgctxt "abbrev. month" +msgid "May" +msgstr "May" + +msgctxt "abbrev. month" +msgid "June" +msgstr "İyun" + +msgctxt "abbrev. month" +msgid "July" +msgstr "İyul" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Avq." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Sen." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Okt." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Noy." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Dek." + +msgctxt "alt. month" +msgid "January" +msgstr "Yanvar" + +msgctxt "alt. month" +msgid "February" +msgstr "Fevral" + +msgctxt "alt. month" +msgid "March" +msgstr "Mart" + +msgctxt "alt. month" +msgid "April" +msgstr "Aprel" + +msgctxt "alt. month" +msgid "May" +msgstr "May" + +msgctxt "alt. month" +msgid "June" +msgstr "İyun" + +msgctxt "alt. month" +msgid "July" +msgstr "İyul" + +msgctxt "alt. month" +msgid "August" +msgstr "Avqust" + +msgctxt "alt. month" +msgid "September" +msgstr "Sentyabr" + +msgctxt "alt. month" +msgid "October" +msgstr "Oktyabr" + +msgctxt "alt. month" +msgid "November" +msgstr "Noyabr" + +msgctxt "alt. month" +msgid "December" +msgstr "Dekabr" + +msgid "This is not a valid IPv6 address." +msgstr "Bu doğru IPv6 ünvanı deyil." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "və ya" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d il" +msgstr[1] "%(num)d il" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d ay" +msgstr[1] "%(num)d ay" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d həftə" +msgstr[1] "%(num)d həftə" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d gün" +msgstr[1] "%(num)d gün" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d saat" +msgstr[1] "%(num)d saat" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d dəqiqə" +msgstr[1] "%(num)d dəqiqə" + +msgid "Forbidden" +msgstr "Qadağan" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF təsdiqləmə alınmadı. Sorğu ləğv edildi." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Bu mesajı ona görə görürsünüz ki, bu HTTPS saytı sizin səyyah tərəfindən " +"“Referer header”in göndərilməsini tələb etdiyi halda heç nə " +"göndərilməmişdir. Bu başlıq sizin veb-səyyahınızın kənar şəxlər tərəfindən " +"ələ keçirilmədiyindən əmin olmaq üçün tələb olunur." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Əgər səyyahınızın “Referer” başlığını göndərməsini söndürmüsünüzsə, lütfən " +"bu sayt üçün, HTTPS əlaqələr üçün və ya “same-origin” sorğular üçün aktiv " +"edin." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Əgər etiketini və ya " +"“Referrer-Policy: no-referrer” başlığını işlədirsinizsə, lütfən silin. CSRF " +"qoruma dəqiq yönləndirən yoxlaması üçün “Referer” başlığını tələb edir. Əgər " +"məxfilik üçün düşünürsünüzsə, üçüncü tərəf sayt keçidləri üçün kimi bir alternativ işlədin." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Bu sayt formaları göndərmək üçün CSRF çərəzini işlədir. Bu çərəz " +"səyyahınızın üçüncü biri tərəfindən hack-lənmədiyinə əmin olmaq üçün " +"istifadə edilir. " + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Əgər səyyahınızda çərəzlər söndürülübsə, lütfən bu sayt və ya “same-origin” " +"sorğular üçün aktiv edin." + +msgid "More information is available with DEBUG=True." +msgstr "Daha ətraflı məlumat DEBUG=True ilə mövcuddur." + +msgid "No year specified" +msgstr "İl göstərilməyib" + +msgid "Date out of range" +msgstr "Tarix aralığın xaricindədir" + +msgid "No month specified" +msgstr "Ay göstərilməyib" + +msgid "No day specified" +msgstr "Gün göstərilməyib" + +msgid "No week specified" +msgstr "Həftə göstərilməyib" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "%(verbose_name_plural)s seçmək mümkün deyil" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Gələcək %(verbose_name_plural)s seçmək mümkün deyil, çünki %(class_name)s." +"allow_future Yalan kimi qeyd olunub." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "“%(format)s” formatına görə “%(datestr)s” tarixi düzgün deyil" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Sorğuya uyğun %(verbose_name)s tapılmadı" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "Səhifə həm “axırıncı” deyil, həm də tam ədədə çevrilə bilmir." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Yanlış səhifə (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Siyahı boşdur və “%(class_name)s.allow_empty” dəyəri False-dur." + +msgid "Directory indexes are not allowed here." +msgstr "Ünvan indekslərinə icazə verilmir." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "“%(path)s” mövcud deyil" + +#, python-format +msgid "Index of %(directory)s" +msgstr "%(directory)s-nin indeksi" + +msgid "The install worked successfully! Congratulations!" +msgstr "Quruluş uğurla tamamlandı! Təbriklər!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Django %(version)s üçün buraxılış " +"qeydlərinə baxın" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Tənzimləmə faylınızda DEBUG=True və heç bir URL qurmadığınız üçün bu səhifəni " +"görürsünüz." + +msgid "Django Documentation" +msgstr "Django Dokumentasiya" + +msgid "Topics, references, & how-to’s" +msgstr "Mövzular, istinadlar və nümunələr" + +msgid "Tutorial: A Polling App" +msgstr "Məşğələ: Səsvermə Tətbiqi" + +msgid "Get started with Django" +msgstr "Django ilə başla" + +msgid "Django Community" +msgstr "Django İcması" + +msgid "Connect, get help, or contribute" +msgstr "Qoşul, kömək al və dəstək ol" diff --git a/external_sources/django/django/conf/locale/az/__init__.py b/external_sources/django/django/conf/locale/az/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/az/formats.py b/external_sources/django/django/conf/locale/az/formats.py new file mode 100644 index 0000000..253b6dd --- /dev/null +++ b/external_sources/django/django/conf/locale/az/formats.py @@ -0,0 +1,30 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j E Y" +TIME_FORMAT = "G:i" +DATETIME_FORMAT = "j E Y, G:i" +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "d.m.Y" +SHORT_DATETIME_FORMAT = "d.m.Y H:i" +FIRST_DAY_OF_WEEK = 1 # Monday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d.%m.%Y", # '25.10.2006' + "%d.%m.%y", # '25.10.06' +] +DATETIME_INPUT_FORMATS = [ + "%d.%m.%Y %H:%M:%S", # '25.10.2006 14:30:59' + "%d.%m.%Y %H:%M:%S.%f", # '25.10.2006 14:30:59.000200' + "%d.%m.%Y %H:%M", # '25.10.2006 14:30' + "%d.%m.%y %H:%M:%S", # '25.10.06 14:30:59' + "%d.%m.%y %H:%M:%S.%f", # '25.10.06 14:30:59.000200' + "%d.%m.%y %H:%M", # '25.10.06 14:30' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "\xa0" # non-breaking space +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/be/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/be/LC_MESSAGES/django.po new file mode 100644 index 0000000..a817206 --- /dev/null +++ b/external_sources/django/django/conf/locale/be/LC_MESSAGES/django.po @@ -0,0 +1,1391 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Viktar Palstsiuk , 2014-2015 +# znotdead , 2016-2017,2019-2021,2023-2024 +# Bobsans , 2016 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 06:49+0000\n" +"Last-Translator: znotdead , " +"2016-2017,2019-2021,2023-2024\n" +"Language-Team: Belarusian (http://app.transifex.com/django/django/language/" +"be/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: be\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " +"(n%100>=11 && n%100<=14)? 2 : 3);\n" + +msgid "Afrikaans" +msgstr "Афрыкаанс" + +msgid "Arabic" +msgstr "Арабская" + +msgid "Algerian Arabic" +msgstr "Алжырская арабская" + +msgid "Asturian" +msgstr "Астурыйская" + +msgid "Azerbaijani" +msgstr "Азэрбайджанская" + +msgid "Bulgarian" +msgstr "Баўгарская" + +msgid "Belarusian" +msgstr "Беларуская" + +msgid "Bengali" +msgstr "Бэнґальская" + +msgid "Breton" +msgstr "Брэтонская" + +msgid "Bosnian" +msgstr "Басьнійская" + +msgid "Catalan" +msgstr "Каталёнская" + +msgid "Central Kurdish (Sorani)" +msgstr "Цэнтральнакурдская (сарані)" + +msgid "Czech" +msgstr "Чэская" + +msgid "Welsh" +msgstr "Валійская" + +msgid "Danish" +msgstr "Дацкая" + +msgid "German" +msgstr "Нямецкая" + +msgid "Lower Sorbian" +msgstr "Ніжнелужыцкая" + +msgid "Greek" +msgstr "Грэцкая" + +msgid "English" +msgstr "Анґельская" + +msgid "Australian English" +msgstr "Анґельская (Аўстралія)" + +msgid "British English" +msgstr "Анґельская (Брытанская)" + +msgid "Esperanto" +msgstr "Эспэранта" + +msgid "Spanish" +msgstr "Гішпанская" + +msgid "Argentinian Spanish" +msgstr "Гішпанская (Арґентына)" + +msgid "Colombian Spanish" +msgstr "Гішпанская (Калумбія)" + +msgid "Mexican Spanish" +msgstr "Гішпанская (Мэксыка)" + +msgid "Nicaraguan Spanish" +msgstr "Гішпанская (Нікараґуа)" + +msgid "Venezuelan Spanish" +msgstr "Іспанская (Вэнэсуэла)" + +msgid "Estonian" +msgstr "Эстонская" + +msgid "Basque" +msgstr "Басконская" + +msgid "Persian" +msgstr "Фарсі" + +msgid "Finnish" +msgstr "Фінская" + +msgid "French" +msgstr "Француская" + +msgid "Frisian" +msgstr "Фрызкая" + +msgid "Irish" +msgstr "Ірляндзкая" + +msgid "Scottish Gaelic" +msgstr "Гэльская шатляндзкая" + +msgid "Galician" +msgstr "Ґальская" + +msgid "Hebrew" +msgstr "Габрэйская" + +msgid "Hindi" +msgstr "Гінды" + +msgid "Croatian" +msgstr "Харвацкая" + +msgid "Upper Sorbian" +msgstr "Верхнелужыцкая" + +msgid "Hungarian" +msgstr "Вугорская" + +msgid "Armenian" +msgstr "Армянскі" + +msgid "Interlingua" +msgstr "Інтэрлінгва" + +msgid "Indonesian" +msgstr "Інданэзійская" + +msgid "Igbo" +msgstr "Ігба" + +msgid "Ido" +msgstr "Іда" + +msgid "Icelandic" +msgstr "Ісьляндзкая" + +msgid "Italian" +msgstr "Італьянская" + +msgid "Japanese" +msgstr "Японская" + +msgid "Georgian" +msgstr "Грузінская" + +msgid "Kabyle" +msgstr "Кабільскі" + +msgid "Kazakh" +msgstr "Казаская" + +msgid "Khmer" +msgstr "Кхмерская" + +msgid "Kannada" +msgstr "Каннада" + +msgid "Korean" +msgstr "Карэйская" + +msgid "Kyrgyz" +msgstr "Кіргізская" + +msgid "Luxembourgish" +msgstr "Люксэмбургская" + +msgid "Lithuanian" +msgstr "Літоўская" + +msgid "Latvian" +msgstr "Латыская" + +msgid "Macedonian" +msgstr "Македонская" + +msgid "Malayalam" +msgstr "Малаялам" + +msgid "Mongolian" +msgstr "Манґольская" + +msgid "Marathi" +msgstr "Маратхі" + +msgid "Malay" +msgstr "Малайская" + +msgid "Burmese" +msgstr "Бірманская" + +msgid "Norwegian Bokmål" +msgstr "Нарвэская букмал" + +msgid "Nepali" +msgstr "Нэпальская" + +msgid "Dutch" +msgstr "Галяндзкая" + +msgid "Norwegian Nynorsk" +msgstr "Нарвэская нюнорск" + +msgid "Ossetic" +msgstr "Асяцінская" + +msgid "Punjabi" +msgstr "Панджабі" + +msgid "Polish" +msgstr "Польская" + +msgid "Portuguese" +msgstr "Партуґальская" + +msgid "Brazilian Portuguese" +msgstr "Партуґальская (Бразылія)" + +msgid "Romanian" +msgstr "Румынская" + +msgid "Russian" +msgstr "Расейская" + +msgid "Slovak" +msgstr "Славацкая" + +msgid "Slovenian" +msgstr "Славенская" + +msgid "Albanian" +msgstr "Альбанская" + +msgid "Serbian" +msgstr "Сэрбская" + +msgid "Serbian Latin" +msgstr "Сэрбская (лацінка)" + +msgid "Swedish" +msgstr "Швэдзкая" + +msgid "Swahili" +msgstr "Суахілі" + +msgid "Tamil" +msgstr "Тамільская" + +msgid "Telugu" +msgstr "Тэлуґу" + +msgid "Tajik" +msgstr "Таджыкскі" + +msgid "Thai" +msgstr "Тайская" + +msgid "Turkmen" +msgstr "Туркменская" + +msgid "Turkish" +msgstr "Турэцкая" + +msgid "Tatar" +msgstr "Татарская" + +msgid "Udmurt" +msgstr "Удмурцкая" + +msgid "Uyghur" +msgstr "Уйгурскі" + +msgid "Ukrainian" +msgstr "Украінская" + +msgid "Urdu" +msgstr "Урду" + +msgid "Uzbek" +msgstr "Узбецкі" + +msgid "Vietnamese" +msgstr "Віетнамская" + +msgid "Simplified Chinese" +msgstr "Кітайская (спрошчаная)" + +msgid "Traditional Chinese" +msgstr "Кітайская (звычайная)" + +msgid "Messages" +msgstr "Паведамленні" + +msgid "Site Maps" +msgstr "Мапы сайту" + +msgid "Static Files" +msgstr "Cтатычныя файлы" + +msgid "Syndication" +msgstr "Сындыкацыя" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "..." + +msgid "That page number is not an integer" +msgstr "Лік гэтай старонкі не з'яўляецца цэлым лікам" + +msgid "That page number is less than 1" +msgstr "Лік старонкі менш чым 1" + +msgid "That page contains no results" +msgstr "Гэтая старонка не мае ніякіх вынікаў" + +msgid "Enter a valid value." +msgstr "Пазначце правільнае значэньне." + +msgid "Enter a valid domain name." +msgstr "Пазначце сапраўднае даменнае имя." + +msgid "Enter a valid URL." +msgstr "Пазначце чынную спасылку." + +msgid "Enter a valid integer." +msgstr "Увядзіце цэлы лік." + +msgid "Enter a valid email address." +msgstr "Увядзіце сапраўдны адрас электроннай пошты." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Значэнне павінна быць толькі з літараў, личбаў, знакаў падкрэслівання ці " +"злучкі." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Значэнне павінна быць толькі з літараў стандарту Unicode, личбаў, знакаў " +"падкрэслівання ці злучкі." + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "Пазначце сапраўдны %(protocol)s адрас." + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "IPv4 or IPv6" +msgstr "IPv4 або IPv6" + +msgid "Enter only digits separated by commas." +msgstr "Набярыце лічбы, падзеленыя коскамі." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Упэўніцеся, што гэтае значэньне — %(limit_value)s (зараз яно — " +"%(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Значэньне мусіць быць меншым або роўным %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Значэньне мусіць быць большым або роўным %(limit_value)s." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "Пераканайцеся, што гэта значэнне кратнае памеру кроку %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"Пераканайцеся, што гэта значэнне кратнае памеру кроку %(limit_value)s, " +"пачынаючы з %(offset)s, напрыклад. %(offset)s, %(valid_value1)s, " +"%(valid_value2)s, і гэтак далей." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Упэўніцеся, што гэтае значэнне мае не менш %(limit_value)d сімвал (зараз " +"%(show_value)d)." +msgstr[1] "" +"Упэўніцеся, што гэтае значэнне мае не менш %(limit_value)d сімвала (зараз " +"%(show_value)d)." +msgstr[2] "" +"Упэўніцеся, што гэтае значэнне мае не менш %(limit_value)d сімвалаў (зараз " +"%(show_value)d)." +msgstr[3] "" +"Упэўніцеся, што гэтае значэнне мае не менш %(limit_value)d сімвалаў (зараз " +"%(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Упэўніцеся, што гэтае значэнне мае не болей %(limit_value)d сімвал (зараз " +"%(show_value)d)." +msgstr[1] "" +"Упэўніцеся, што гэтае значэнне мае не болей %(limit_value)d сімвала (зараз " +"%(show_value)d)." +msgstr[2] "" +"Упэўніцеся, што гэтае значэнне мае не болей %(limit_value)d сімвалаў (зараз " +"%(show_value)d)." +msgstr[3] "" +"Упэўніцеся, што гэтае значэнне мае не болей %(limit_value)d сімвалаў (зараз " +"%(show_value)d)." + +msgid "Enter a number." +msgstr "Набярыце лік." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Упэўніцеся, што набралі ня болей за %(max)s лічбу." +msgstr[1] "Упэўніцеся, што набралі ня болей за %(max)s лічбы." +msgstr[2] "Упэўніцеся, што набралі ня болей за %(max)s лічбаў." +msgstr[3] "Упэўніцеся, што набралі ня болей за %(max)s лічбаў." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Упэўніцеся, што набралі ня болей за %(max)s лічбу пасьля коскі." +msgstr[1] "Упэўніцеся, што набралі ня болей за %(max)s лічбы пасьля коскі." +msgstr[2] "Упэўніцеся, што набралі ня болей за %(max)s лічбаў пасьля коскі." +msgstr[3] "Упэўніцеся, што набралі ня болей за %(max)s лічбаў пасьля коскі." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "Упэўніцеся, што набралі ня болей за %(max)s лічбу да коскі." +msgstr[1] "Упэўніцеся, што набралі ня болей за %(max)s лічбы да коскі." +msgstr[2] "Упэўніцеся, што набралі ня болей за %(max)s лічбаў да коскі." +msgstr[3] "Упэўніцеся, што набралі ня болей за %(max)s лічбаў да коскі." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Пашырэнне файла “%(extension)s” не дапускаецца. Дапушчальныя пашырэння: " +"%(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Null сімвалы не дапускаюцца." + +msgid "and" +msgstr "і" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s з такім %(field_labels)s ужо існуе." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "Абмежаванне \"%(name)s\" парушана." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Значэнне %(value)r не з'яўляецца правільным выбарам." + +msgid "This field cannot be null." +msgstr "Поле ня можа мець значэньне «null»." + +msgid "This field cannot be blank." +msgstr "Трэба запоўніць поле." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s з такім %(field_label)s ужо існуе." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s павінна быць унікальна для %(date_field_label)s " +"%(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Палі віду: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "Значэньне “%(value)s” павінна быць True альбо False." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "Значэньне “%(value)s” павінна быць True, False альбо None." + +msgid "Boolean (Either True or False)" +msgstr "Ляґічнае («сапраўдна» або «не сапраўдна»)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Радок (ня болей за %(max_length)s)" + +msgid "String (unlimited)" +msgstr "Радок (неабмежаваны)" + +msgid "Comma-separated integers" +msgstr "Цэлыя лікі, падзеленыя коскаю" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"Значэнне “%(value)s” мае няправільны фармат. Яно павінна быць у фармаце ГГГГ-" +"ММ-ДД." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"Значэнне “%(value)s” мае правільны фармат(ГГГГ-ММ-ДД) але гэта несапраўдная " +"дата." + +msgid "Date (without time)" +msgstr "Дата (бяз часу)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"Значэнне “%(value)s” мае няправільны фармат. Яно павінна быць у фармаце ГГГГ-" +"ММ-ДД ГГ:ХХ[:сс[.мммммм]][ЧА], дзе ЧА — часавы абсяг." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"Значэнне “%(value)s” мае правільны фармат (ГГГГ-ММ-ДД ГГ:ХХ[:сс[.мммммм]]" +"[ЧА], дзе ЧА — часавы абсяг) але гэта несапраўдныя дата/час." + +msgid "Date (with time)" +msgstr "Дата (разам з часам)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "Значэньне “%(value)s” павінна быць дзесятковым лікам." + +msgid "Decimal number" +msgstr "Дзесятковы лік" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"Значэньне “%(value)s” мае няправільны фармат. Яно павінна быць у фармаце " +"[ДД] [ГГ:[ХХ:]]сс[.мммммм]." + +msgid "Duration" +msgstr "Працягласць" + +msgid "Email address" +msgstr "Адрас эл. пошты" + +msgid "File path" +msgstr "Шлях да файла" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "Значэньне “%(value)s” павінна быць дробным лікам." + +msgid "Floating point number" +msgstr "Лік зь пераноснай коскаю" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "Значэньне “%(value)s” павінна быць цэлым лікам." + +msgid "Integer" +msgstr "Цэлы лік" + +msgid "Big (8 byte) integer" +msgstr "Вялікі (8 байтаў) цэлы" + +msgid "Small integer" +msgstr "Малы цэлы лік" + +msgid "IPv4 address" +msgstr "Адрас IPv4" + +msgid "IP address" +msgstr "Адрас IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "Значэньне “%(value)s” павінна быць None, True альбо False." + +msgid "Boolean (Either True, False or None)" +msgstr "Ляґічнае («сапраўдна», «не сапраўдна» ці «нічога»)" + +msgid "Positive big integer" +msgstr "Дадатны вялікі цэлы лік" + +msgid "Positive integer" +msgstr "Дадатны цэлы лік" + +msgid "Positive small integer" +msgstr "Дадатны малы цэлы лік" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Бірка (ня болей за %(max_length)s)" + +msgid "Text" +msgstr "Тэкст" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"Значэньне “%(value)s” мае няправільны фармат. Яно павінна быць у фармаце ГГ:" +"ХХ[:сс[.мммммм]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"Значэнне “%(value)s” мае правільны фармат (ГГ:ХХ[:сс[.мммммм]]) але гэта " +"несапраўдны час." + +msgid "Time" +msgstr "Час" + +msgid "URL" +msgstr "Сеціўная спасылка" + +msgid "Raw binary data" +msgstr "Неапрацаваныя бінарныя зьвесткі" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "“%(value)s” не з'яўляецца дапушчальным UUID." + +msgid "Universally unique identifier" +msgstr "Універсальны непаўторны ідэнтыфікатар" + +msgid "File" +msgstr "Файл" + +msgid "Image" +msgstr "Выява" + +msgid "A JSON object" +msgstr "Аб'ект JSON" + +msgid "Value must be valid JSON." +msgstr "Значэньне павінна быць сапраўдным JSON." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "Экземпляр %(model)s з %(field)s %(value)r не iснуе." + +msgid "Foreign Key (type determined by related field)" +msgstr "Вонкавы ключ (від вызначаецца паводле зьвязанага поля)" + +msgid "One-to-one relationship" +msgstr "Сувязь «адзін да аднаго»" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "Сувязь %(from)s-%(to)s" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "Сувязi %(from)s-%(to)s" + +msgid "Many-to-many relationship" +msgstr "Сувязь «некалькі да некалькіх»" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Поле трэба запоўніць." + +msgid "Enter a whole number." +msgstr "Набярыце ўвесь лік." + +msgid "Enter a valid date." +msgstr "Пазначце чынную дату." + +msgid "Enter a valid time." +msgstr "Пазначце чынны час." + +msgid "Enter a valid date/time." +msgstr "Пазначце чынныя час і дату." + +msgid "Enter a valid duration." +msgstr "Увядзіце сапраўдны тэрмін." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Колькасць дзён павінна быць паміж {min_days} i {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Файл не даслалі. Зірніце кадоўку блянку." + +msgid "No file was submitted." +msgstr "Файл не даслалі." + +msgid "The submitted file is empty." +msgstr "Дасланы файл — парожні." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Упэўніцеся, што гэтае імя файлу мае не болей %(max)d сімвал (зараз " +"%(length)d)." +msgstr[1] "" +"Упэўніцеся, што гэтае імя файлу мае не болей %(max)d сімвала (зараз " +"%(length)d)." +msgstr[2] "" +"Упэўніцеся, што гэтае імя файлу мае не болей %(max)d сімвалаў (зараз " +"%(length)d)." +msgstr[3] "" +"Упэўніцеся, што гэтае імя файлу мае не болей %(max)d сімвалаў (зараз " +"%(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Трэба або даслаць файл, або абраць «Ачысьціць», але нельга рабіць гэта " +"адначасова." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Запампаваць чынны малюнак. Запампавалі або не выяву, або пашкоджаную выяву." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Абярыце дазволенае. %(value)s няма ў даступных значэньнях." + +msgid "Enter a list of values." +msgstr "Упішыце сьпіс значэньняў." + +msgid "Enter a complete value." +msgstr "Калі ласка, увядзіце поўнае значэньне." + +msgid "Enter a valid UUID." +msgstr "Увядзіце сапраўдны UUID." + +msgid "Enter a valid JSON." +msgstr "Пазначце сапраўдны JSON." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Схаванае поле %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"Дадзеныя формы ManagementForm адсутнічаюць ці былі падменены. Адсутнічаюць " +"палі: %(field_names)s. Магчыма, вам спатрэбіцца падаць справаздачу пра " +"памылку, калі праблема захоўваецца." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Калі ласка, адпраўце не болей чым %(num)d формаў." +msgstr[1] "Калі ласка, адпраўце не болей чым %(num)d формаў." +msgstr[2] "Калі ласка, адпраўце не болей чым %(num)d формаў." +msgstr[3] "Калі ласка, адпраўце не болей чым %(num)d формаў." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Калі ласка, адпраўце не менш чым %(num)d формаў." +msgstr[1] "Калі ласка, адпраўце не менш чым %(num)d формаў." +msgstr[2] "Калі ласка, адпраўце не менш чым %(num)d формаў." +msgstr[3] "Калі ласка, адпраўце не менш чым %(num)d формаў." + +msgid "Order" +msgstr "Парадак" + +msgid "Delete" +msgstr "Выдаліць" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "У полі «%(field)s» выпраўце зьвесткі, якія паўтараюцца." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "Выпраўце зьвесткі ў полі «%(field)s»: нельга, каб яны паўтараліся." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Выпраўце зьвесткі ў полі «%(field_name)s»: нельга каб зьвесткі ў " +"«%(date_field)s» для «%(lookup)s» паўтараліся." + +msgid "Please correct the duplicate values below." +msgstr "Выпраўце зьвесткі, якія паўтараюцца (гл. ніжэй)." + +msgid "The inline value did not match the parent instance." +msgstr "Убудаванае значэнне не супадае з бацькоўскім значэннем." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Абярыце дазволенае. Абранага няма ў даступных значэньнях." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "“%(pk)s” не сапраўднае значэнне." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"У часавым абсягу %(current_timezone)s нельга зразумець дату %(datetime)s: " +"яна можа быць неадназначнаю або яе можа не існаваць." + +msgid "Clear" +msgstr "Ачысьціць" + +msgid "Currently" +msgstr "Зараз" + +msgid "Change" +msgstr "Зьмяніць" + +msgid "Unknown" +msgstr "Невядома" + +msgid "Yes" +msgstr "Так" + +msgid "No" +msgstr "Не" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "так,не,магчыма" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d байт" +msgstr[1] "%(size)d байты" +msgstr[2] "%(size)d байтаў" +msgstr[3] "%(size)d байтаў" + +#, python-format +msgid "%s KB" +msgstr "%s КБ" + +#, python-format +msgid "%s MB" +msgstr "%s МБ" + +#, python-format +msgid "%s GB" +msgstr "%s ҐБ" + +#, python-format +msgid "%s TB" +msgstr "%s ТБ" + +#, python-format +msgid "%s PB" +msgstr "%s ПБ" + +msgid "p.m." +msgstr "папаўдні" + +msgid "a.m." +msgstr "папоўначы" + +msgid "PM" +msgstr "папаўдні" + +msgid "AM" +msgstr "папоўначы" + +msgid "midnight" +msgstr "поўнач" + +msgid "noon" +msgstr "поўдзень" + +msgid "Monday" +msgstr "Панядзелак" + +msgid "Tuesday" +msgstr "Аўторак" + +msgid "Wednesday" +msgstr "Серада" + +msgid "Thursday" +msgstr "Чацьвер" + +msgid "Friday" +msgstr "Пятніца" + +msgid "Saturday" +msgstr "Субота" + +msgid "Sunday" +msgstr "Нядзеля" + +msgid "Mon" +msgstr "Пн" + +msgid "Tue" +msgstr "Аў" + +msgid "Wed" +msgstr "Ср" + +msgid "Thu" +msgstr "Чц" + +msgid "Fri" +msgstr "Пт" + +msgid "Sat" +msgstr "Сб" + +msgid "Sun" +msgstr "Нд" + +msgid "January" +msgstr "студзеня" + +msgid "February" +msgstr "лютага" + +msgid "March" +msgstr "сакавік" + +msgid "April" +msgstr "красавіка" + +msgid "May" +msgstr "траўня" + +msgid "June" +msgstr "чэрвеня" + +msgid "July" +msgstr "ліпеня" + +msgid "August" +msgstr "жніўня" + +msgid "September" +msgstr "верасьня" + +msgid "October" +msgstr "кастрычніка" + +msgid "November" +msgstr "лістапада" + +msgid "December" +msgstr "сьнежня" + +msgid "jan" +msgstr "сту" + +msgid "feb" +msgstr "лют" + +msgid "mar" +msgstr "сак" + +msgid "apr" +msgstr "кра" + +msgid "may" +msgstr "тра" + +msgid "jun" +msgstr "чэр" + +msgid "jul" +msgstr "ліп" + +msgid "aug" +msgstr "жні" + +msgid "sep" +msgstr "вер" + +msgid "oct" +msgstr "кас" + +msgid "nov" +msgstr "ліс" + +msgid "dec" +msgstr "сьн" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Сту." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Люты" + +msgctxt "abbrev. month" +msgid "March" +msgstr "сакавік" + +msgctxt "abbrev. month" +msgid "April" +msgstr "красавіка" + +msgctxt "abbrev. month" +msgid "May" +msgstr "траўня" + +msgctxt "abbrev. month" +msgid "June" +msgstr "чэрвеня" + +msgctxt "abbrev. month" +msgid "July" +msgstr "ліпеня" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Жні." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Вер." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Кас." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Ліс." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Сьн." + +msgctxt "alt. month" +msgid "January" +msgstr "студзеня" + +msgctxt "alt. month" +msgid "February" +msgstr "лютага" + +msgctxt "alt. month" +msgid "March" +msgstr "сакавік" + +msgctxt "alt. month" +msgid "April" +msgstr "красавіка" + +msgctxt "alt. month" +msgid "May" +msgstr "траўня" + +msgctxt "alt. month" +msgid "June" +msgstr "чэрвеня" + +msgctxt "alt. month" +msgid "July" +msgstr "ліпеня" + +msgctxt "alt. month" +msgid "August" +msgstr "жніўня" + +msgctxt "alt. month" +msgid "September" +msgstr "верасьня" + +msgctxt "alt. month" +msgid "October" +msgstr "кастрычніка" + +msgctxt "alt. month" +msgid "November" +msgstr "лістапада" + +msgctxt "alt. month" +msgid "December" +msgstr "сьнежня" + +msgid "This is not a valid IPv6 address." +msgstr "Гэта ня правільны адрас IPv6." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "або" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d год" +msgstr[1] "%(num)d гадоў" +msgstr[2] "%(num)d гадоў" +msgstr[3] "%(num)d гадоў" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d месяц" +msgstr[1] "%(num)d месяцаў" +msgstr[2] "%(num)d месяцаў" +msgstr[3] "%(num)d месяцаў" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d тыдзень" +msgstr[1] "%(num)d тыдняў" +msgstr[2] "%(num)d тыдняў" +msgstr[3] "%(num)d тыдняў" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d дзень" +msgstr[1] "%(num)d дзён" +msgstr[2] "%(num)d дзён" +msgstr[3] "%(num)d дзён" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d гадзіна" +msgstr[1] "%(num)d гадзін" +msgstr[2] "%(num)d гадзін" +msgstr[3] "%(num)d гадзін" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d хвіліна" +msgstr[1] "%(num)d хвілін" +msgstr[2] "%(num)d хвілін" +msgstr[3] "%(num)d хвілін" + +msgid "Forbidden" +msgstr "Забаронена" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF-праверка не атрымалася. Запыт спынены." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Вы бачыце гэта паведамленне, таму што гэты HTTPS-сайт патрабуе каб Referer " +"загаловак быў адасланы вашым аглядальнікам, але гэтага не адбылося. Гэты " +"загаловак неабходны для бяспекі, каб пераканацца, што ваш аглядальнік не " +"ўзаламаны трэцімі асобамі." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Калі вы сканфігуравалі ваш браўзэр так, каб ён не працаваў з “Referer” " +"загалоўкамі, калі ласка дазвольце іх хаця б для гэтага сайту, ці для HTTPS " +"злучэнняў, ці для 'same-origin' запытаў." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Калі вы выкарыстоўваеце тэг " +"ці дадалі загаловак “Referrer-Policy: no-referrer”, калі ласка выдаліце іх. " +"CSRF абароне неабходны “Referer” загаловак для строгай праверкі. Калі Вы " +"турбуецеся аб прыватнасці, выкарыстоўвайце альтэрнатывы, напрыклад , для спасылкі на сайты трэціх асоб." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Вы бачыце гэта паведамленне, таму што гэты сайт патрабуе CSRF кукі для " +"адсылкі формы. Гэтыя кукі неабходныя для бяспекі, каб пераканацца, што ваш " +"браўзэр не ўзламаны трэцімі асобамі." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Калі вы сканфігуравалі ваш браўзэр так, каб ён не працаваў з кукамі, калі " +"ласка дазвольце іх хаця б для гэтага сайту ці для “same-origin” запытаў." + +msgid "More information is available with DEBUG=True." +msgstr "Больш падрабязная інфармацыя даступная з DEBUG=True." + +msgid "No year specified" +msgstr "Не пазначылі год" + +msgid "Date out of range" +msgstr "Дата выходзіць за межы дыяпазону" + +msgid "No month specified" +msgstr "Не пазначылі месяц" + +msgid "No day specified" +msgstr "Не пазначылі дзень" + +msgid "No week specified" +msgstr "Не пазначылі тыдзень" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Няма доступу да %(verbose_name_plural)s" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Няма доступу да %(verbose_name_plural)s, якія будуць, бо «%(class_name)s." +"allow_future» мае значэньне «не сапраўдна»." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "Радок даты “%(datestr)s” не адпавядае выгляду “%(format)s”" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Па запыце не знайшлі ніводнага %(verbose_name)s" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" +"Нумар бачыны ня мае значэньня “last” і яго нельга ператварыць у цэлы лік." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Няправільная старонка (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" +"Сьпіс парожні, але “%(class_name)s.allow_empty” мае значэньне «не " +"сапраўдна», што забараняе паказваць парожнія сьпісы." + +msgid "Directory indexes are not allowed here." +msgstr "Не дазваляецца глядзець сьпіс файлаў каталёґа." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "“%(path)s” не існуе" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Файлы каталёґа «%(directory)s»" + +msgid "The install worked successfully! Congratulations!" +msgstr "Усталяванне прайшло паспяхова! Віншаванні!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Паглядзець заўвагі да выпуску для Джангі " +"%(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Вы бачыце гэту старонку таму што DEBUG=True у вашым файле налад і вы не " +"сканфігурыравалі ніякіх URL." + +msgid "Django Documentation" +msgstr "Дакументацыя Джангі" + +msgid "Topics, references, & how-to’s" +msgstr "Тэмы, спасылкі, & як зрабіць" + +msgid "Tutorial: A Polling App" +msgstr "Падручнік: Дадатак для галасавання" + +msgid "Get started with Django" +msgstr "Пачніце з Джангаю" + +msgid "Django Community" +msgstr "Джанга супольнасць" + +msgid "Connect, get help, or contribute" +msgstr "Злучайцеся, атрымлівайце дапамогу, ці спрыяйце" diff --git a/external_sources/django/django/conf/locale/bg/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/bg/LC_MESSAGES/django.po new file mode 100644 index 0000000..52cc913 --- /dev/null +++ b/external_sources/django/django/conf/locale/bg/LC_MESSAGES/django.po @@ -0,0 +1,1353 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# arneatec , 2022-2024 +# Boris Chervenkov , 2012 +# Claude Paroz , 2020 +# Jannis Leidel , 2011 +# Lyuboslav Petrov , 2014 +# Mariusz Felisiak , 2023 +# Todor Lubenov , 2013-2015 +# Venelin Stoykov , 2015-2017 +# vestimir , 2014 +# Alexander Atanasov , 2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 06:49+0000\n" +"Last-Translator: arneatec , 2022-2024\n" +"Language-Team: Bulgarian (http://app.transifex.com/django/django/language/" +"bg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "африкаански" + +msgid "Arabic" +msgstr "арабски език" + +msgid "Algerian Arabic" +msgstr "алжирски арабски" + +msgid "Asturian" +msgstr "Астурийски" + +msgid "Azerbaijani" +msgstr "Азербайджански език" + +msgid "Bulgarian" +msgstr "български език" + +msgid "Belarusian" +msgstr "Беларуски" + +msgid "Bengali" +msgstr "бенгалски език" + +msgid "Breton" +msgstr "Бретон" + +msgid "Bosnian" +msgstr "босненски език" + +msgid "Catalan" +msgstr "каталански" + +msgid "Central Kurdish (Sorani)" +msgstr "Кюрдски, централен (Сорани)" + +msgid "Czech" +msgstr "чешки" + +msgid "Welsh" +msgstr "уелски" + +msgid "Danish" +msgstr "датски" + +msgid "German" +msgstr "немски" + +msgid "Lower Sorbian" +msgstr "долносорбски" + +msgid "Greek" +msgstr "гръцки" + +msgid "English" +msgstr "английски" + +msgid "Australian English" +msgstr "австралийски английски" + +msgid "British English" +msgstr "британски английски" + +msgid "Esperanto" +msgstr "есперанто" + +msgid "Spanish" +msgstr "испански" + +msgid "Argentinian Spanish" +msgstr "кастилски" + +msgid "Colombian Spanish" +msgstr "колумбийски испански" + +msgid "Mexican Spanish" +msgstr "мексикански испански" + +msgid "Nicaraguan Spanish" +msgstr "никарагуански испански" + +msgid "Venezuelan Spanish" +msgstr "венецуелски испански" + +msgid "Estonian" +msgstr "естонски" + +msgid "Basque" +msgstr "баски" + +msgid "Persian" +msgstr "персийски" + +msgid "Finnish" +msgstr "финландски" + +msgid "French" +msgstr "френски" + +msgid "Frisian" +msgstr "фризийски" + +msgid "Irish" +msgstr "ирландски" + +msgid "Scottish Gaelic" +msgstr "шотландски галски" + +msgid "Galician" +msgstr "галицейски" + +msgid "Hebrew" +msgstr "иврит" + +msgid "Hindi" +msgstr "хинди" + +msgid "Croatian" +msgstr "хърватски" + +msgid "Upper Sorbian" +msgstr "горносорбски" + +msgid "Hungarian" +msgstr "унгарски" + +msgid "Armenian" +msgstr "арменски" + +msgid "Interlingua" +msgstr "интерлингва" + +msgid "Indonesian" +msgstr "индонезийски" + +msgid "Igbo" +msgstr "игбо" + +msgid "Ido" +msgstr "идо" + +msgid "Icelandic" +msgstr "исландски" + +msgid "Italian" +msgstr "италиански" + +msgid "Japanese" +msgstr "японски" + +msgid "Georgian" +msgstr "грузински" + +msgid "Kabyle" +msgstr "кабилски" + +msgid "Kazakh" +msgstr "казахски" + +msgid "Khmer" +msgstr "кхмерски" + +msgid "Kannada" +msgstr "каннада" + +msgid "Korean" +msgstr "корейски" + +msgid "Kyrgyz" +msgstr "киргизки" + +msgid "Luxembourgish" +msgstr "люксембургски" + +msgid "Lithuanian" +msgstr "литовски" + +msgid "Latvian" +msgstr "латвийски" + +msgid "Macedonian" +msgstr "македонски" + +msgid "Malayalam" +msgstr "малаялам" + +msgid "Mongolian" +msgstr "монголски" + +msgid "Marathi" +msgstr "марати" + +msgid "Malay" +msgstr "малайски" + +msgid "Burmese" +msgstr "бирмански" + +msgid "Norwegian Bokmål" +msgstr "норвежки букмол" + +msgid "Nepali" +msgstr "непалски" + +msgid "Dutch" +msgstr "нидерландски" + +msgid "Norwegian Nynorsk" +msgstr "съвременен норвежки" + +msgid "Ossetic" +msgstr "осетски" + +msgid "Punjabi" +msgstr "панджабски" + +msgid "Polish" +msgstr "полски" + +msgid "Portuguese" +msgstr "португалски" + +msgid "Brazilian Portuguese" +msgstr "бразилски португалски" + +msgid "Romanian" +msgstr "румънски" + +msgid "Russian" +msgstr "руски" + +msgid "Slovak" +msgstr "словашки" + +msgid "Slovenian" +msgstr "словенски" + +msgid "Albanian" +msgstr "албански" + +msgid "Serbian" +msgstr "сръбски" + +msgid "Serbian Latin" +msgstr "сръбски - латиница" + +msgid "Swedish" +msgstr "шведски" + +msgid "Swahili" +msgstr "суахили" + +msgid "Tamil" +msgstr "тамилски" + +msgid "Telugu" +msgstr "телугу" + +msgid "Tajik" +msgstr "таджикски" + +msgid "Thai" +msgstr "тайландски" + +msgid "Turkmen" +msgstr "туркменски" + +msgid "Turkish" +msgstr "турски" + +msgid "Tatar" +msgstr "татарски" + +msgid "Udmurt" +msgstr "удмурт" + +msgid "Uyghur" +msgstr "Уйгурски" + +msgid "Ukrainian" +msgstr "украински" + +msgid "Urdu" +msgstr "урду" + +msgid "Uzbek" +msgstr "узбекски" + +msgid "Vietnamese" +msgstr "виетнамски" + +msgid "Simplified Chinese" +msgstr "китайски" + +msgid "Traditional Chinese" +msgstr "традиционен китайски" + +msgid "Messages" +msgstr "Съобщения" + +msgid "Site Maps" +msgstr "Карти на сайта" + +msgid "Static Files" +msgstr "Статични файлове" + +msgid "Syndication" +msgstr "Синдикация" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "..." + +msgid "That page number is not an integer" +msgstr "Номерът на страницата не е цяло число" + +msgid "That page number is less than 1" +msgstr "Номерът на страницата е по-малък от 1" + +msgid "That page contains no results" +msgstr "В тази страница няма резултати" + +msgid "Enter a valid value." +msgstr "Въведете валидна стойност. " + +msgid "Enter a valid domain name." +msgstr "Въведете валидно име на домейн." + +msgid "Enter a valid URL." +msgstr "Въведете валиден URL адрес." + +msgid "Enter a valid integer." +msgstr "Въведете валидно целочислено число." + +msgid "Enter a valid email address." +msgstr "Въведете валиден имейл адрес." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Въведете валиден 'слъг', състоящ се от букви, цифри, тирета или долни тирета." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Въведете валиден 'слъг', състоящ се от Уникод букви, цифри, тирета или долни " +"тирета." + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "Въведете валиден %(protocol)s адрес." + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "IPv4 or IPv6" +msgstr "IPv4 или IPv6" + +msgid "Enter only digits separated by commas." +msgstr "Въведете само еднозначни числа, разделени със запетая. " + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Уверете се, че тази стойност е %(limit_value)s (тя е %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Уверете се, че тази стойност е по-малка или равна на %(limit_value)s ." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" +"Уверете се, че тази стойност е по-голяма или равна на %(limit_value)s ." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "Уверете се, че стойността е кратна на стъпката %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"Въведете стойност, кратна на стъпката %(limit_value)s, започвайки от " +"%(offset)s, например %(offset)s, %(valid_value1)s, %(valid_value2)s, и т.н." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Уверете се, че тази стойност е най-малко %(limit_value)d знака (тя има " +"%(show_value)d )." +msgstr[1] "" +"Уверете се, че тази стойност е най-малко %(limit_value)d знака (тя има " +"%(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Уверете се, тази стойност има най-много %(limit_value)d знака (тя има " +"%(show_value)d)." +msgstr[1] "" +"Уверете се, че тази стойност има най-много %(limit_value)d знака (тя има " +"%(show_value)d)." + +msgid "Enter a number." +msgstr "Въведете число." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Уверете се, че има не повече от %(max)s цифри общо." +msgstr[1] "Уверете се, че има не повече от %(max)s цифри общо." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" +"Уверете се, че има не повече от%(max)s знак след десетичната запетая." +msgstr[1] "" +"Уверете се, че има не повече от %(max)s знака след десетичната запетая." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Уверете се, че има не повече от %(max)s цифра преди десетичната запетая." +msgstr[1] "" +"Уверете се, че има не повече от %(max)s цифри преди десетичната запетая." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Не са разрешени файлове с раширение \"%(extension)s\". Позволените " +"разширения са: %(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Празни знаци не са разрешени." + +msgid "and" +msgstr "и" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s с този %(field_labels)s вече съществува." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "Ограничението “%(name)s” е нарушено." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Стойността %(value)r не е валиден избор." + +msgid "This field cannot be null." +msgstr "Това поле не може да има празна стойност." + +msgid "This field cannot be blank." +msgstr "Това поле не може да е празно." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s с този %(field_label)s вече съществува." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s трябва да е уникално за %(date_field_label)s %(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Поле от тип: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "Стойността на \"%(value)s\" трябва да бъде или True, или False." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "Стойност \"%(value)s\" трябва да бъде или True, или False или None." + +msgid "Boolean (Either True or False)" +msgstr "Булево (True или False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Символен низ (до %(max_length)s символа)" + +msgid "String (unlimited)" +msgstr "Стринг (неограничен)" + +msgid "Comma-separated integers" +msgstr "Цели числа, разделени с запетая" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"Стойността \"%(value)s\" е с невалиден формат за дата. Тя трябва да бъде в " +"ГГГГ-ММ-ДД формат." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"Стойността \"%(value)s\" е в правилния формат (ГГГГ-ММ-ДД), но самата дата е " +"невалидна." + +msgid "Date (without time)" +msgstr "Дата (без час)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"Стойността '%(value)s' е с невалиден формат. Трябва да бъде във формат ГГГГ-" +"ММ-ДД ЧЧ:ММ[:сс[.uuuuuu]][TZ]" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"Стойността '%(value)s' е с правилен формат ( ГГГГ-ММ-ДД ЧЧ:ММ[:сс[.μμμμμμ]]" +"[TZ]), но датата/часът са невалидни" + +msgid "Date (with time)" +msgstr "Дата (и час)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "Стойността \"%(value)s\" трябва да е десетично число." + +msgid "Decimal number" +msgstr "Десетична дроб" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"Стойността “%(value)s” е с невалиден формат. Трябва да бъде във формат [ДД] " +"[[ЧЧ:]ММ:]сс[.uuuuuu] format." + +msgid "Duration" +msgstr "Продължителност" + +msgid "Email address" +msgstr "Имейл адрес" + +msgid "File path" +msgstr "Път към файл" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "Стойността '%(value)s' трябва да е число с плаваща запетая." + +msgid "Floating point number" +msgstr "Число с плаваща запетая" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "Стойността \"%(value)s\" трябва да е цяло число." + +msgid "Integer" +msgstr "Цяло число" + +msgid "Big (8 byte) integer" +msgstr "Голямо (8 байта) цяло число" + +msgid "Small integer" +msgstr "2 байта цяло число" + +msgid "IPv4 address" +msgstr "IPv4 адрес" + +msgid "IP address" +msgstr "IP адрес" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "Стойността '%(value)s' трябва да бъде None, True или False." + +msgid "Boolean (Either True, False or None)" +msgstr "булев (възможните стойности са True, False или None)" + +msgid "Positive big integer" +msgstr "Положително голямо цяло число." + +msgid "Positive integer" +msgstr "Положително цяло число" + +msgid "Positive small integer" +msgstr "Положително 2 байта цяло число" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Слъг (до %(max_length)s )" + +msgid "Text" +msgstr "Текст" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"Стойността \"%(value)s\" е с невалиден формат. Тя трябва да бъде в ЧЧ:ММ [:" +"сс[.μμμμμμ]]" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"Стойността \"%(value)s\" е в правилния формат (ЧЧ:ММ [:сс[.μμμμμμ]]), но " +"часът е невалиден." + +msgid "Time" +msgstr "Време" + +msgid "URL" +msgstr "URL адрес" + +msgid "Raw binary data" +msgstr "сурови двоични данни" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "\"%(value)s\" не е валиден UUID." + +msgid "Universally unique identifier" +msgstr "Универсално уникален идентификатор" + +msgid "File" +msgstr "Файл" + +msgid "Image" +msgstr "Изображение" + +msgid "A JSON object" +msgstr "Обект във формат JSON" + +msgid "Value must be valid JSON." +msgstr "Стойността трябва да е валиден JSON." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "Инстанция на %(model)s с %(field)s %(value)r не съществува." + +msgid "Foreign Key (type determined by related field)" +msgstr "Външен ключ (тип, определен от свързаното поле)" + +msgid "One-to-one relationship" +msgstr "едно-към-едно релация " + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s релация" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s релации" + +msgid "Many-to-many relationship" +msgstr "Много-към-много релация" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Това поле е задължително." + +msgid "Enter a whole number." +msgstr "Въведете цяло число. " + +msgid "Enter a valid date." +msgstr "Въведете валидна дата." + +msgid "Enter a valid time." +msgstr "Въведете валиден час." + +msgid "Enter a valid date/time." +msgstr "Въведете валидна дата/час. " + +msgid "Enter a valid duration." +msgstr "Въведете валидна продължителност." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Броят на дните трябва да е между {min_days} и {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Няма изпратен файл. Проверете типа кодиране на формата. " + +msgid "No file was submitted." +msgstr "Няма изпратен файл." + +msgid "The submitted file is empty." +msgstr "Изпратеният файл е празен. " + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "Уверете се, това име е най-много %(max)d знака (то има %(length)d)." +msgstr[1] "" +"Уверете се, че това файлово име има най-много %(max)d знаци (има " +"%(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Моля, или пратете файл или маркирайте полето за изчистване, но не и двете." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Качете валидно изображение. Файлът, който сте качили или не е изображение, " +"или е повреден. " + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Направете валиден избор. %(value)s не е един от възможните избори." + +msgid "Enter a list of values." +msgstr "Въведете списък от стойности" + +msgid "Enter a complete value." +msgstr "Въведете пълна стойност." + +msgid "Enter a valid UUID." +msgstr "Въведете валиден UUID." + +msgid "Enter a valid JSON." +msgstr "Въведете валиден JSON." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Скрито поле %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"ManagementForm данните липсват или са променяни неправомерно. Липсващи " +"полета: %(field_names)s. Трябва да изпратите уведомление за бъг, ако този " +"проблем продължава." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Моля изпратете не повече от %(num)d формуляр." +msgstr[1] "Моля изпратете не повече от %(num)d формуляра." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Моля изпратете поне %(num)d формуляр." +msgstr[1] "Моля изпратете поне %(num)d формуляра." + +msgid "Order" +msgstr "Ред" + +msgid "Delete" +msgstr "Изтрий" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Моля, коригирайте дублираните данни за %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Моля, коригирайте дублираните данни за %(field)s, които трябва да са " +"уникални." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Моля, коригирайте дублиранитe данни за %(field_name)s , които трябва да са " +"уникални за %(lookup)s в %(date_field)s ." + +msgid "Please correct the duplicate values below." +msgstr "Моля, коригирайте повтарящите се стойности по-долу." + +msgid "The inline value did not match the parent instance." +msgstr "Стойността в реда не отговаря на родителската инстанция." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Направете валиден избор. Този не е един от възможните избори. " + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "“%(pk)s” не е валидна стойност." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s не може да се интерпретира в часова зона %(current_timezone)s; " +"вероятно стойността е нееднозначна или не съществува изобщо." + +msgid "Clear" +msgstr "Изчисти" + +msgid "Currently" +msgstr "Сега" + +msgid "Change" +msgstr "Промени" + +msgid "Unknown" +msgstr "Неизвестно" + +msgid "Yes" +msgstr "Да" + +msgid "No" +msgstr "Не" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "да,не,може би" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d, байт" +msgstr[1] "%(size)d байта" + +#, python-format +msgid "%s KB" +msgstr "%s KБ" + +#, python-format +msgid "%s MB" +msgstr "%s МБ" + +#, python-format +msgid "%s GB" +msgstr "%s ГБ" + +#, python-format +msgid "%s TB" +msgstr "%s ТБ" + +#, python-format +msgid "%s PB" +msgstr "%s ПБ" + +msgid "p.m." +msgstr "след обяд" + +msgid "a.m." +msgstr "преди обяд" + +msgid "PM" +msgstr "след обяд" + +msgid "AM" +msgstr "преди обяд" + +msgid "midnight" +msgstr "полунощ" + +msgid "noon" +msgstr "обяд" + +msgid "Monday" +msgstr "понеделник" + +msgid "Tuesday" +msgstr "вторник" + +msgid "Wednesday" +msgstr "сряда" + +msgid "Thursday" +msgstr "четвъртък" + +msgid "Friday" +msgstr "петък" + +msgid "Saturday" +msgstr "събота" + +msgid "Sunday" +msgstr "неделя" + +msgid "Mon" +msgstr "Пон" + +msgid "Tue" +msgstr "Вт" + +msgid "Wed" +msgstr "Ср" + +msgid "Thu" +msgstr "Чет" + +msgid "Fri" +msgstr "Пет" + +msgid "Sat" +msgstr "Съб" + +msgid "Sun" +msgstr "Нед" + +msgid "January" +msgstr "Януари" + +msgid "February" +msgstr "Февруари" + +msgid "March" +msgstr "Март" + +msgid "April" +msgstr "Април" + +msgid "May" +msgstr "Май" + +msgid "June" +msgstr "Юни" + +msgid "July" +msgstr "Юли" + +msgid "August" +msgstr "Август" + +msgid "September" +msgstr "Септември" + +msgid "October" +msgstr "Октомври" + +msgid "November" +msgstr "Ноември" + +msgid "December" +msgstr "Декември" + +msgid "jan" +msgstr "ян" + +msgid "feb" +msgstr "фев" + +msgid "mar" +msgstr "мар" + +msgid "apr" +msgstr "апр" + +msgid "may" +msgstr "май" + +msgid "jun" +msgstr "юни" + +msgid "jul" +msgstr "юли" + +msgid "aug" +msgstr "авг" + +msgid "sep" +msgstr "сеп" + +msgid "oct" +msgstr "окт" + +msgid "nov" +msgstr "ноем" + +msgid "dec" +msgstr "дек" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Ян." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Фев." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Март" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Апр." + +msgctxt "abbrev. month" +msgid "May" +msgstr "Май" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Юни" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Юли" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Авг." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Септ." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Окт." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Ноем." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Дек." + +msgctxt "alt. month" +msgid "January" +msgstr "Януари" + +msgctxt "alt. month" +msgid "February" +msgstr "Февруари" + +msgctxt "alt. month" +msgid "March" +msgstr "Март" + +msgctxt "alt. month" +msgid "April" +msgstr "Април" + +msgctxt "alt. month" +msgid "May" +msgstr "Май" + +msgctxt "alt. month" +msgid "June" +msgstr "Юни" + +msgctxt "alt. month" +msgid "July" +msgstr "Юли" + +msgctxt "alt. month" +msgid "August" +msgstr "Август" + +msgctxt "alt. month" +msgid "September" +msgstr "Септември" + +msgctxt "alt. month" +msgid "October" +msgstr "Октомври" + +msgctxt "alt. month" +msgid "November" +msgstr "Ноември" + +msgctxt "alt. month" +msgid "December" +msgstr "Декември" + +msgid "This is not a valid IPv6 address." +msgstr "Въведете валиден IPv6 адрес." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "или" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d година" +msgstr[1] "%(num)d години" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d месец" +msgstr[1] "%(num)d месеца" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d седмица" +msgstr[1] "%(num)d седмици" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d ден" +msgstr[1] "%(num)d дни" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d час" +msgstr[1] "%(num)d часа" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d минута" +msgstr[1] "%(num)d минути" + +msgid "Forbidden" +msgstr "Забранен" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF проверката се провали. Заявката прекратена." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Вие виждате това съобщение, защото този HTTPS сайт изисква да бъде изпратен " +"'Referer header' от вашият уеб браузър, но такъв не бе изпратен. Този " +"header е задължителен от съображения за сигурност, за да се гарантира, че " +"вашият браузър не е компрометиран от трети страни." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Ако сте настроили вашия браузър да деактивира 'Referer' headers, моля да ги " +"активирате отново, поне за този сайт, или за HTTPS връзки, или за 'same-" +"origin' заявки." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Ако използвате таг или " +"включвате “Referrer-Policy: no-referrer” header, моля премахнете ги. CSRF " +"защитата изисква “Referer” header, за да извърши стриктна проверка на " +"изпращача. Ако сте притеснени за поверителността, използвайте алтернативи " +"като за връзки към сайтове на трети страни." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Вие виждате това съобщение, защото този сайт изисква CSRF бисквитка, когато " +"се подават формуляри. Тази бисквитка е задължителна от съображения за " +"сигурност, за да се гарантира, че вашият браузър не е компрометиран от трети " +"страни." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Ако сте конфигурирали браузъра си да забрани бисквитките, моля да ги " +"активирате отново, поне за този сайт, или за \"same-origin\" заявки." + +msgid "More information is available with DEBUG=True." +msgstr "Повече информация е на разположение с DEBUG=True." + +msgid "No year specified" +msgstr "Не е посочена година" + +msgid "Date out of range" +msgstr "Датата е в невалиден диапазон" + +msgid "No month specified" +msgstr "Не е посочен месец" + +msgid "No day specified" +msgstr "Не е посочен ден" + +msgid "No week specified" +msgstr "Не е посочена седмица" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Няма достъпни %(verbose_name_plural)s" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Бъдещo %(verbose_name_plural)s е недостъпно, тъй като %(class_name)s." +"allow_future е False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" +"Невалидна текстова стойност на датата “%(datestr)s” при зададен формат " +"“%(format)s”" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Няма %(verbose_name)s, съвпадащи със заявката" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" +"Страницата не е \"последна\", нито може да се преобразува в цяло число." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Невалидна страница (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Празен списък и \"%(class_name)s.allow_empty\" e False." + +msgid "Directory indexes are not allowed here." +msgstr "Тук не е позволено индексиране на директория." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "\"%(path)s\" не съществува" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Индекс %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "Инсталацията Ви заработи успешно! Поздравления!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Разгледайте release notes за Django %(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Вие виждате тази страница, защото DEBUG=True е във вашия файл с настройки и не сте " +"конфигурирали никакви URL-и." + +msgid "Django Documentation" +msgstr "Django документация" + +msgid "Topics, references, & how-to’s" +msgstr "Теми, наръчници, & друга документация" + +msgid "Tutorial: A Polling App" +msgstr "Урок: Приложение за анкета" + +msgid "Get started with Django" +msgstr "Започнете с Django" + +msgid "Django Community" +msgstr "Django общност" + +msgid "Connect, get help, or contribute" +msgstr "Свържете се, получете помощ или допринесете" diff --git a/external_sources/django/django/conf/locale/bg/__init__.py b/external_sources/django/django/conf/locale/bg/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/bg/formats.py b/external_sources/django/django/conf/locale/bg/formats.py new file mode 100644 index 0000000..ee90c5b --- /dev/null +++ b/external_sources/django/django/conf/locale/bg/formats.py @@ -0,0 +1,21 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "d F Y" +TIME_FORMAT = "H:i" +# DATETIME_FORMAT = +# YEAR_MONTH_FORMAT = +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "d.m.Y" +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = " " # Non-breaking space +# NUMBER_GROUPING = diff --git a/external_sources/django/django/conf/locale/bn/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/bn/LC_MESSAGES/django.po new file mode 100644 index 0000000..b554f7a --- /dev/null +++ b/external_sources/django/django/conf/locale/bn/LC_MESSAGES/django.po @@ -0,0 +1,1218 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel , 2011 +# M Nasimul Haque , 2013 +# Tahmid Rafi , 2012-2013 +# Tahmid Rafi , 2013 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-27 22:40+0200\n" +"PO-Revision-Date: 2019-11-05 00:38+0000\n" +"Last-Translator: Ramiro Morales\n" +"Language-Team: Bengali (http://www.transifex.com/django/django/language/" +"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" + +msgid "Afrikaans" +msgstr "আফ্রিকার অন্যতম সরকারি ভাষা" + +msgid "Arabic" +msgstr "আরবী" + +msgid "Asturian" +msgstr "" + +msgid "Azerbaijani" +msgstr "আজারবাইজানি" + +msgid "Bulgarian" +msgstr "বুলগেরিয়ান" + +msgid "Belarusian" +msgstr "বেলারুশীয়" + +msgid "Bengali" +msgstr "বাংলা" + +msgid "Breton" +msgstr "ব্রেটন" + +msgid "Bosnian" +msgstr "বসনিয়ান" + +msgid "Catalan" +msgstr "ক্যাটালান" + +msgid "Czech" +msgstr "চেক" + +msgid "Welsh" +msgstr "ওয়েল্স" + +msgid "Danish" +msgstr "ড্যানিশ" + +msgid "German" +msgstr "জার্মান" + +msgid "Lower Sorbian" +msgstr "" + +msgid "Greek" +msgstr "গ্রিক" + +msgid "English" +msgstr "ইংলিশ" + +msgid "Australian English" +msgstr "" + +msgid "British English" +msgstr "বৃটিশ ইংলিশ" + +msgid "Esperanto" +msgstr "আন্তর্জাতিক ভাষা" + +msgid "Spanish" +msgstr "স্প্যানিশ" + +msgid "Argentinian Spanish" +msgstr "আর্জেন্টিনিয়ান স্প্যানিশ" + +msgid "Colombian Spanish" +msgstr "" + +msgid "Mexican Spanish" +msgstr "মেক্সিকান স্প্যানিশ" + +msgid "Nicaraguan Spanish" +msgstr "নিকারাগুয়ান স্প্যানিশ" + +msgid "Venezuelan Spanish" +msgstr "ভেনেজুয়েলার স্প্যানিশ" + +msgid "Estonian" +msgstr "এস্তোনিয়ান" + +msgid "Basque" +msgstr "বাস্ক" + +msgid "Persian" +msgstr "ফারসি" + +msgid "Finnish" +msgstr "ফিনিশ" + +msgid "French" +msgstr "ফ্রেঞ্চ" + +msgid "Frisian" +msgstr "ফ্রিজ্ল্যানডের ভাষা" + +msgid "Irish" +msgstr "আইরিশ" + +msgid "Scottish Gaelic" +msgstr "" + +msgid "Galician" +msgstr "গ্যালিসিয়ান" + +msgid "Hebrew" +msgstr "হিব্রু" + +msgid "Hindi" +msgstr "হিন্দী" + +msgid "Croatian" +msgstr "ক্রোয়েশিয়ান" + +msgid "Upper Sorbian" +msgstr "" + +msgid "Hungarian" +msgstr "হাঙ্গেরিয়ান" + +msgid "Armenian" +msgstr "" + +msgid "Interlingua" +msgstr "" + +msgid "Indonesian" +msgstr "ইন্দোনেশিয়ান" + +msgid "Ido" +msgstr "" + +msgid "Icelandic" +msgstr "আইসল্যান্ডিক" + +msgid "Italian" +msgstr "ইটালিয়ান" + +msgid "Japanese" +msgstr "জাপানিজ" + +msgid "Georgian" +msgstr "জর্জিয়ান" + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "কাজাখ" + +msgid "Khmer" +msgstr "খমার" + +msgid "Kannada" +msgstr "কান্নাড়া" + +msgid "Korean" +msgstr "কোরিয়ান" + +msgid "Luxembourgish" +msgstr "লুক্সেমবার্গীয়" + +msgid "Lithuanian" +msgstr "লিথুয়ানিয়ান" + +msgid "Latvian" +msgstr "লাটভিয়ান" + +msgid "Macedonian" +msgstr "ম্যাসাডোনিয়ান" + +msgid "Malayalam" +msgstr "মালায়ালম" + +msgid "Mongolian" +msgstr "মঙ্গোলিয়ান" + +msgid "Marathi" +msgstr "" + +msgid "Burmese" +msgstr "বার্মিজ" + +msgid "Norwegian Bokmål" +msgstr "" + +msgid "Nepali" +msgstr "নেপালি" + +msgid "Dutch" +msgstr "ডাচ" + +msgid "Norwegian Nynorsk" +msgstr "নরওয়েজীয়ান নিনর্স্ক" + +msgid "Ossetic" +msgstr "অসেটিক" + +msgid "Punjabi" +msgstr "পাঞ্জাবী" + +msgid "Polish" +msgstr "পোলিশ" + +msgid "Portuguese" +msgstr "পর্তুগীজ" + +msgid "Brazilian Portuguese" +msgstr "ব্রাজিলিয়ান পর্তুগীজ" + +msgid "Romanian" +msgstr "রোমানিয়ান" + +msgid "Russian" +msgstr "রাশান" + +msgid "Slovak" +msgstr "স্লোভাক" + +msgid "Slovenian" +msgstr "স্লোভেনিয়ান" + +msgid "Albanian" +msgstr "আলবেনীয়ান" + +msgid "Serbian" +msgstr "সার্বিয়ান" + +msgid "Serbian Latin" +msgstr "সার্বিয়ান ল্যাটিন" + +msgid "Swedish" +msgstr "সুইডিশ" + +msgid "Swahili" +msgstr "সোয়াহিলি" + +msgid "Tamil" +msgstr "তামিল" + +msgid "Telugu" +msgstr "তেলেগু" + +msgid "Thai" +msgstr "থাই" + +msgid "Turkish" +msgstr "তুর্কি" + +msgid "Tatar" +msgstr "তাতারদেশীয়" + +msgid "Udmurt" +msgstr "" + +msgid "Ukrainian" +msgstr "ইউক্রেনিয়ান" + +msgid "Urdu" +msgstr "উর্দু" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "ভিয়েতনামিজ" + +msgid "Simplified Chinese" +msgstr "সরলীকৃত চাইনীজ" + +msgid "Traditional Chinese" +msgstr "প্রচলিত চাইনীজ" + +msgid "Messages" +msgstr "" + +msgid "Site Maps" +msgstr "" + +msgid "Static Files" +msgstr "" + +msgid "Syndication" +msgstr "" + +msgid "That page number is not an integer" +msgstr "" + +msgid "That page number is less than 1" +msgstr "" + +msgid "That page contains no results" +msgstr "" + +msgid "Enter a valid value." +msgstr "একটি বৈধ মান দিন।" + +msgid "Enter a valid URL." +msgstr "বৈধ URL দিন" + +msgid "Enter a valid integer." +msgstr "" + +msgid "Enter a valid email address." +msgstr "একটি বৈধ ইমেইল ঠিকানা লিখুন." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "একটি বৈধ IPv4 ঠিকানা দিন।" + +msgid "Enter a valid IPv6 address." +msgstr "একটি বৈধ IPv6 ঠিকানা টাইপ করুন।" + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "একটি বৈধ IPv4 অথবা IPv6 ঠিকানা টাইপ করুন।" + +msgid "Enter only digits separated by commas." +msgstr "শুধুমাত্র কমা দিয়ে সংখ্যা দিন।" + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "সংখ্যাটির মান %(limit_value)s হতে হবে (এটা এখন %(show_value)s আছে)।" + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "সংখ্যাটির মান %(limit_value)s এর চেয়ে ছোট বা সমান হতে হবে।" + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "সংখ্যাটির মান %(limit_value)s এর চেয়ে বড় বা সমান হতে হবে।" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Enter a number." +msgstr "একটি সংখ্যা প্রবেশ করান।" + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "" + +msgid "and" +msgstr "এবং" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "" + +msgid "This field cannot be null." +msgstr "এর মান null হতে পারবে না।" + +msgid "This field cannot be blank." +msgstr "এই ফিল্ডের মান ফাঁকা হতে পারে না" + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(field_label)s সহ %(model_name)s আরেকটি রয়েছে।" + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "ফিল্ডের ধরণ: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "বুলিয়ান (হয় True অথবা False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "স্ট্রিং (সর্বোচ্চ %(max_length)s)" + +msgid "Comma-separated integers" +msgstr "কমা দিয়ে আলাদা করা ইন্টিজার" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "তারিখ (সময় বাদে)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "তারিখ (সময় সহ)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "দশমিক সংখ্যা" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "" + +msgid "Email address" +msgstr "ইমেইল ঠিকানা" + +msgid "File path" +msgstr "ফাইল পথ" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "ফ্লোটিং পয়েন্ট সংখ্যা" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "ইন্টিজার" + +msgid "Big (8 byte) integer" +msgstr "বিগ (৮ বাইট) ইন্টিজার" + +msgid "IPv4 address" +msgstr "IPv4 ঠিকানা" + +msgid "IP address" +msgstr "আইপি ঠিকানা" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "বুলিয়ান (হয় True, False অথবা None)" + +msgid "Positive integer" +msgstr "পজিটিভ ইন্টিজার" + +msgid "Positive small integer" +msgstr "পজিটিভ স্মল ইন্টিজার" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "স্লাগ (সর্বোচ্চ %(max_length)s)" + +msgid "Small integer" +msgstr "স্মল ইন্টিজার" + +msgid "Text" +msgstr "টেক্সট" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "সময়" + +msgid "URL" +msgstr "ইউআরএল (URL)" + +msgid "Raw binary data" +msgstr "র বাইনারি ডাটা" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "ফাইল" + +msgid "Image" +msgstr "ইমেজ" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" + +msgid "Foreign Key (type determined by related field)" +msgstr "ফরেন কি (টাইপ রিলেটেড ফিল্ড দ্বারা নির্ণীত হবে)" + +msgid "One-to-one relationship" +msgstr "ওয়ান-টু-ওয়ান রিলেশানশিপ" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "" + +msgid "Many-to-many relationship" +msgstr "ম্যানি-টু-ম্যানি রিলেশানশিপ" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr "" + +msgid "This field is required." +msgstr "এটি আবশ্যক।" + +msgid "Enter a whole number." +msgstr "একটি পূর্ণসংখ্যা দিন" + +msgid "Enter a valid date." +msgstr "বৈধ তারিখ দিন।" + +msgid "Enter a valid time." +msgstr "বৈধ সময় দিন।" + +msgid "Enter a valid date/time." +msgstr "বৈধ তারিখ/সময় দিন।" + +msgid "Enter a valid duration." +msgstr "" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "কোন ফাইল দেয়া হয়নি। ফর্মের এনকোডিং ঠিক আছে কিনা দেখুন।" + +msgid "No file was submitted." +msgstr "কোন ফাইল দেয়া হয়নি।" + +msgid "The submitted file is empty." +msgstr "ফাইলটি খালি।" + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"একটি ফাইল সাবমিট করুন অথবা ক্লিয়ার চেকবক্সটি চেক করে দিন, যে কোন একটি করুন।" + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"সঠিক ছবি আপলোড করুন। যে ফাইলটি আপলোড করা হয়েছে তা হয় ছবি নয় অথবা নষ্ট হয়ে " +"যাওয়া ছবি।" + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "%(value)s বৈধ নয়। অনুগ্রহ করে আরেকটি সিলেক্ট করুন।" + +msgid "Enter a list of values." +msgstr "কয়েকটি মানের তালিকা দিন।" + +msgid "Enter a complete value." +msgstr "" + +msgid "Enter a valid UUID." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr "" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "" +msgstr[1] "" + +msgid "Order" +msgstr "ক্রম" + +msgid "Delete" +msgstr "মুছুন" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "" + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" + +msgid "Please correct the duplicate values below." +msgstr "" + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "এটি বৈধ নয়। অনুগ্রহ করে আরেকটি সিলেক্ট করুন।" + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "পরিষ্কার করুন" + +msgid "Currently" +msgstr "এই মুহুর্তে" + +msgid "Change" +msgstr "পরিবর্তন" + +msgid "Unknown" +msgstr "অজানা" + +msgid "Yes" +msgstr "হ্যাঁ" + +msgid "No" +msgstr "না" + +msgid "Year" +msgstr "" + +msgid "Month" +msgstr "" + +msgid "Day" +msgstr "" + +msgid "yes,no,maybe" +msgstr "হ্যাঁ,না,হয়তো" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d বাইট" +msgstr[1] "%(size)d বাইট" + +#, python-format +msgid "%s KB" +msgstr "%s কিলোবাইট" + +#, python-format +msgid "%s MB" +msgstr "%s মেগাবাইট" + +#, python-format +msgid "%s GB" +msgstr "%s গিগাবাইট" + +#, python-format +msgid "%s TB" +msgstr "%s টেরাবাইট" + +#, python-format +msgid "%s PB" +msgstr "%s পেটাবাইট" + +msgid "p.m." +msgstr "অপরাহ্ন" + +msgid "a.m." +msgstr "পূর্বাহ্ন" + +msgid "PM" +msgstr "অপরাহ্ন" + +msgid "AM" +msgstr "পূর্বাহ্ন" + +msgid "midnight" +msgstr "মধ্যরাত" + +msgid "noon" +msgstr "দুপুর" + +msgid "Monday" +msgstr "সোমবার" + +msgid "Tuesday" +msgstr "মঙ্গলবার" + +msgid "Wednesday" +msgstr "বুধবার" + +msgid "Thursday" +msgstr "বৃহস্পতিবার" + +msgid "Friday" +msgstr "শুক্রবার" + +msgid "Saturday" +msgstr "শনিবার" + +msgid "Sunday" +msgstr "রবিবার" + +msgid "Mon" +msgstr "সোম" + +msgid "Tue" +msgstr "মঙ্গল" + +msgid "Wed" +msgstr "বুধ" + +msgid "Thu" +msgstr "বৃহঃ" + +msgid "Fri" +msgstr "শুক্র" + +msgid "Sat" +msgstr "শনি" + +msgid "Sun" +msgstr "রবি" + +msgid "January" +msgstr "জানুয়ারি" + +msgid "February" +msgstr "ফেব্রুয়ারি" + +msgid "March" +msgstr "মার্চ" + +msgid "April" +msgstr "এপ্রিল" + +msgid "May" +msgstr "মে" + +msgid "June" +msgstr "জুন" + +msgid "July" +msgstr "জুলাই" + +msgid "August" +msgstr "আগস্ট" + +msgid "September" +msgstr "সেপ্টেম্বর" + +msgid "October" +msgstr "অক্টোবর" + +msgid "November" +msgstr "নভেম্বর" + +msgid "December" +msgstr "ডিসেম্বর" + +msgid "jan" +msgstr "জান." + +msgid "feb" +msgstr "ফেব." + +msgid "mar" +msgstr "মার্চ" + +msgid "apr" +msgstr "এপ্রি." + +msgid "may" +msgstr "মে" + +msgid "jun" +msgstr "জুন" + +msgid "jul" +msgstr "জুল." + +msgid "aug" +msgstr "আগ." + +msgid "sep" +msgstr "সেপ্টে." + +msgid "oct" +msgstr "অক্টো." + +msgid "nov" +msgstr "নভে." + +msgid "dec" +msgstr "ডিসে." + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "জানু." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "ফেব্রু." + +msgctxt "abbrev. month" +msgid "March" +msgstr "মার্চ" + +msgctxt "abbrev. month" +msgid "April" +msgstr "এপ্রিল" + +msgctxt "abbrev. month" +msgid "May" +msgstr "মে" + +msgctxt "abbrev. month" +msgid "June" +msgstr "জুন" + +msgctxt "abbrev. month" +msgid "July" +msgstr "জুলাই" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "আগ." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "সেপ্ট." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "অক্টো." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "নভে." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "ডিসে." + +msgctxt "alt. month" +msgid "January" +msgstr "জানুয়ারি" + +msgctxt "alt. month" +msgid "February" +msgstr "ফেব্রুয়ারি" + +msgctxt "alt. month" +msgid "March" +msgstr "মার্চ" + +msgctxt "alt. month" +msgid "April" +msgstr "এপ্রিল" + +msgctxt "alt. month" +msgid "May" +msgstr "মে" + +msgctxt "alt. month" +msgid "June" +msgstr "জুন" + +msgctxt "alt. month" +msgid "July" +msgstr "জুলাই" + +msgctxt "alt. month" +msgid "August" +msgstr "আগস্ট" + +msgctxt "alt. month" +msgid "September" +msgstr "সেপ্টেম্বর" + +msgctxt "alt. month" +msgid "October" +msgstr "অক্টোবর" + +msgctxt "alt. month" +msgid "November" +msgstr "নভেম্বর" + +msgctxt "alt. month" +msgid "December" +msgstr "ডিসেম্বর" + +msgid "This is not a valid IPv6 address." +msgstr "" + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "অথবা" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr "," + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "" +msgstr[1] "" + +msgid "0 minutes" +msgstr "0 মিনিট" + +msgid "Forbidden" +msgstr "" + +msgid "CSRF verification failed. Request aborted." +msgstr "" + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "" + +msgid "No year specified" +msgstr "কোন বছর উল্লেখ করা হয়নি" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "কোন মাস উল্লেখ করা হয়নি" + +msgid "No day specified" +msgstr "কোন দিন উল্লেখ করা হয়নি" + +msgid "No week specified" +msgstr "কোন সপ্তাহ উল্লেখ করা হয়নি" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "কোন %(verbose_name_plural)s নেই" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "কুয়েরি ম্যাচ করে এমন কোন %(verbose_name)s পাওয়া যায় নি" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "ডিরেক্টরি ইনডেক্স অনুমোদিত নয়" + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "%(directory)s এর ইনডেক্স" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/bn/__init__.py b/external_sources/django/django/conf/locale/bn/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/bn/formats.py b/external_sources/django/django/conf/locale/bn/formats.py new file mode 100644 index 0000000..9d1bb09 --- /dev/null +++ b/external_sources/django/django/conf/locale/bn/formats.py @@ -0,0 +1,32 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j F, Y" +TIME_FORMAT = "g:i A" +# DATETIME_FORMAT = +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "j M, Y" +# SHORT_DATETIME_FORMAT = +FIRST_DAY_OF_WEEK = 6 # Saturday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d/%m/%Y", # 25/10/2016 + "%d/%m/%y", # 25/10/16 + "%d-%m-%Y", # 25-10-2016 + "%d-%m-%y", # 25-10-16 +] +TIME_INPUT_FORMATS = [ + "%H:%M:%S", # 14:30:59 + "%H:%M", # 14:30 +] +DATETIME_INPUT_FORMATS = [ + "%d/%m/%Y %H:%M:%S", # 25/10/2006 14:30:59 + "%d/%m/%Y %H:%M", # 25/10/2006 14:30 +] +DECIMAL_SEPARATOR = "." +THOUSAND_SEPARATOR = "," +# NUMBER_GROUPING = diff --git a/external_sources/django/django/conf/locale/br/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/br/LC_MESSAGES/django.po new file mode 100644 index 0000000..3b1a759 --- /dev/null +++ b/external_sources/django/django/conf/locale/br/LC_MESSAGES/django.po @@ -0,0 +1,1297 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Claude Paroz , 2020 +# Ewen , 2021 +# Fulup , 2012,2014 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-09-21 10:22+0200\n" +"PO-Revision-Date: 2021-11-18 21:19+0000\n" +"Last-Translator: Transifex Bot <>\n" +"Language-Team: Breton (http://www.transifex.com/django/django/language/br/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: br\n" +"Plural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !" +"=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n" +"%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > " +"19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 " +"&& n % 1000000 == 0) ? 3 : 4);\n" + +msgid "Afrikaans" +msgstr "Afrikaneg" + +msgid "Arabic" +msgstr "Arabeg" + +msgid "Algerian Arabic" +msgstr "" + +msgid "Asturian" +msgstr "Astureg" + +msgid "Azerbaijani" +msgstr "Azeri" + +msgid "Bulgarian" +msgstr "Bulgareg" + +msgid "Belarusian" +msgstr "Belaruseg" + +msgid "Bengali" +msgstr "Bengaleg" + +msgid "Breton" +msgstr "Brezhoneg" + +msgid "Bosnian" +msgstr "Bosneg" + +msgid "Catalan" +msgstr "Katalaneg" + +msgid "Czech" +msgstr "Tchekeg" + +msgid "Welsh" +msgstr "Kembraeg" + +msgid "Danish" +msgstr "Daneg" + +msgid "German" +msgstr "Alamaneg" + +msgid "Lower Sorbian" +msgstr "" + +msgid "Greek" +msgstr "Gresianeg" + +msgid "English" +msgstr "Saozneg" + +msgid "Australian English" +msgstr "Saozneg Aostralia" + +msgid "British English" +msgstr "Saozneg Breizh-Veur" + +msgid "Esperanto" +msgstr "Esperanteg" + +msgid "Spanish" +msgstr "Spagnoleg" + +msgid "Argentinian Spanish" +msgstr "Spagnoleg Arc'hantina" + +msgid "Colombian Spanish" +msgstr "Spagnoleg Kolombia" + +msgid "Mexican Spanish" +msgstr "Spagnoleg Mec'hiko" + +msgid "Nicaraguan Spanish" +msgstr "Spagnoleg Nicaragua" + +msgid "Venezuelan Spanish" +msgstr "Spagnoleg Venezuela" + +msgid "Estonian" +msgstr "Estoneg" + +msgid "Basque" +msgstr "Euskareg" + +msgid "Persian" +msgstr "Perseg" + +msgid "Finnish" +msgstr "Finneg" + +msgid "French" +msgstr "Galleg" + +msgid "Frisian" +msgstr "Frizeg" + +msgid "Irish" +msgstr "Iwerzhoneg" + +msgid "Scottish Gaelic" +msgstr "" + +msgid "Galician" +msgstr "Galizeg" + +msgid "Hebrew" +msgstr "Hebraeg" + +msgid "Hindi" +msgstr "Hindi" + +msgid "Croatian" +msgstr "Kroateg" + +msgid "Upper Sorbian" +msgstr "" + +msgid "Hungarian" +msgstr "Hungareg" + +msgid "Armenian" +msgstr "" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indonezeg" + +msgid "Igbo" +msgstr "" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Islandeg" + +msgid "Italian" +msgstr "Italianeg" + +msgid "Japanese" +msgstr "Japaneg" + +msgid "Georgian" +msgstr "Jorjianeg" + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "kazak" + +msgid "Khmer" +msgstr "Khmer" + +msgid "Kannada" +msgstr "Kannata" + +msgid "Korean" +msgstr "Koreaneg" + +msgid "Kyrgyz" +msgstr "" + +msgid "Luxembourgish" +msgstr "Luksembourgeg" + +msgid "Lithuanian" +msgstr "Lituaneg" + +msgid "Latvian" +msgstr "Latveg" + +msgid "Macedonian" +msgstr "Makedoneg" + +msgid "Malayalam" +msgstr "Malayalam" + +msgid "Mongolian" +msgstr "Mongoleg" + +msgid "Marathi" +msgstr "Marathi" + +msgid "Malay" +msgstr "" + +msgid "Burmese" +msgstr "Burmeg" + +msgid "Norwegian Bokmål" +msgstr "" + +msgid "Nepali" +msgstr "nepaleg" + +msgid "Dutch" +msgstr "Nederlandeg" + +msgid "Norwegian Nynorsk" +msgstr "Norvegeg Nynorsk" + +msgid "Ossetic" +msgstr "Oseteg" + +msgid "Punjabi" +msgstr "Punjabeg" + +msgid "Polish" +msgstr "Poloneg" + +msgid "Portuguese" +msgstr "Portugaleg" + +msgid "Brazilian Portuguese" +msgstr "Portugaleg Brazil" + +msgid "Romanian" +msgstr "Roumaneg" + +msgid "Russian" +msgstr "Rusianeg" + +msgid "Slovak" +msgstr "Slovakeg" + +msgid "Slovenian" +msgstr "Sloveneg" + +msgid "Albanian" +msgstr "Albaneg" + +msgid "Serbian" +msgstr "Serbeg" + +msgid "Serbian Latin" +msgstr "Serbeg e lizherennoù latin" + +msgid "Swedish" +msgstr "Svedeg" + +msgid "Swahili" +msgstr "swahileg" + +msgid "Tamil" +msgstr "Tamileg" + +msgid "Telugu" +msgstr "Telougou" + +msgid "Tajik" +msgstr "" + +msgid "Thai" +msgstr "Thai" + +msgid "Turkmen" +msgstr "" + +msgid "Turkish" +msgstr "Turkeg" + +msgid "Tatar" +msgstr "tatar" + +msgid "Udmurt" +msgstr "Oudmourteg" + +msgid "Ukrainian" +msgstr "Ukraineg" + +msgid "Urdu" +msgstr "Ourdou" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "Vietnameg" + +msgid "Simplified Chinese" +msgstr "Sinaeg eeunaet" + +msgid "Traditional Chinese" +msgstr "Sinaeg hengounel" + +msgid "Messages" +msgstr "Kemennadenn" + +msgid "Site Maps" +msgstr "Tresoù al lec'hienn" + +msgid "Static Files" +msgstr "Restroù statek" + +msgid "Syndication" +msgstr "Sindikadur" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "..." + +msgid "That page number is not an integer" +msgstr "" + +msgid "That page number is less than 1" +msgstr "An niver a bajenn mañ a zo bihanoc'h eget 1." + +msgid "That page contains no results" +msgstr "N'eus disoc'h er pajenn-mañ." + +msgid "Enter a valid value." +msgstr "Merkit un talvoud reizh" + +msgid "Enter a valid URL." +msgstr "Merkit un URL reizh" + +msgid "Enter a valid integer." +msgstr "Merkit un niver anterin reizh." + +msgid "Enter a valid email address." +msgstr "Merkit ur chomlec'h postel reizh" + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "Merkit ur chomlec'h IPv4 reizh." + +msgid "Enter a valid IPv6 address." +msgstr "Merkit ur chomlec'h IPv6 reizh." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Merkit ur chomlec'h IPv4 pe IPv6 reizh." + +msgid "Enter only digits separated by commas." +msgstr "Merkañ hepken sifroù dispartiet dre skejoù." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Bezit sur ez eo an talvoud-mañ %(limit_value)s (evit ar mare ez eo " +"%(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Gwiriit mat emañ an talvoud-mañ a-is pe par da %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Gwiriit mat emañ an talvoud-mañ a-us pe par da %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" + +msgid "Enter a number." +msgstr "Merkit un niver." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "" + +msgid "and" +msgstr "ha" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "" + +msgid "This field cannot be null." +msgstr "N'hall ket ar vaezienn chom goullo" + +msgid "This field cannot be blank." +msgstr "N'hall ket ar vaezienn chom goullo" + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "Bez' ez eus c'hoazh eus ur %(model_name)s gant ar %(field_label)s-mañ." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Seurt maezienn : %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "Boulean (gwir pe gaou)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "neudennad arouezennoù (betek %(max_length)s)" + +msgid "Comma-separated integers" +msgstr "Niveroù anterin dispartiet dre ur skej" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "Deizad (hep eur)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "Deizad (gant an eur)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "Niver dekvedennel" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "" + +msgid "Email address" +msgstr "Chomlec'h postel" + +msgid "File path" +msgstr "Treug war-du ar restr" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "Niver gant skej nij" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "Anterin" + +msgid "Big (8 byte) integer" +msgstr "Anterin bras (8 okted)" + +msgid "Small integer" +msgstr "Niver anterin bihan" + +msgid "IPv4 address" +msgstr "Chomlec'h IPv4" + +msgid "IP address" +msgstr "Chomlec'h IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "Boulean (gwir pe gaou pe netra)" + +msgid "Positive big integer" +msgstr "" + +msgid "Positive integer" +msgstr "Niver anterin pozitivel" + +msgid "Positive small integer" +msgstr "Niver anterin bihan pozitivel" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (betek %(max_length)s arouez.)" + +msgid "Text" +msgstr "Testenn" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "Eur" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "Restr" + +msgid "Image" +msgstr "Skeudenn" + +msgid "A JSON object" +msgstr "" + +msgid "Value must be valid JSON." +msgstr "" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" + +msgid "Foreign Key (type determined by related field)" +msgstr "Alc'hwez estren (seurt termenet dre ar vaezienn liammet)" + +msgid "One-to-one relationship" +msgstr "Darempred unan-ouzh-unan" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "" + +msgid "Many-to-many relationship" +msgstr "Darempred lies-ouzh-lies" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr "" + +msgid "This field is required." +msgstr "Rekis eo leuniañ ar vaezienn." + +msgid "Enter a whole number." +msgstr "Merkit un niver anterin." + +msgid "Enter a valid date." +msgstr "Merkit un deiziad reizh" + +msgid "Enter a valid time." +msgstr "Merkit un eur reizh" + +msgid "Enter a valid date/time." +msgstr "Merkit un eur/deiziad reizh" + +msgid "Enter a valid duration." +msgstr "" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "N'eus ket kaset restr ebet. Gwiriit ar seurt enkodañ evit ar restr" + +msgid "No file was submitted." +msgstr "N'eus bet kaset restr ebet." + +msgid "The submitted file is empty." +msgstr "Goullo eo ar restr kaset." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Kasit ur restr pe askit al log riñsañ; an eil pe egile" + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Enpozhiit ur skeudenn reizh. Ar seurt bet enporzhiet ganeoc'h a oa foeltret " +"pe ne oa ket ur skeudenn" + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Dizuit un dibab reizh. %(value)s n'emañ ket e-touez an dibaboù posupl." + +msgid "Enter a list of values." +msgstr "Merkit ur roll talvoudoù" + +msgid "Enter a complete value." +msgstr "Merkañ un talvoud klok" + +msgid "Enter a valid UUID." +msgstr "" + +msgid "Enter a valid JSON." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr "" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" + +#, python-format +msgid "Please submit at most %d form." +msgid_plural "Please submit at most %d forms." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" + +#, python-format +msgid "Please submit at least %d form." +msgid_plural "Please submit at least %d forms." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" + +msgid "Order" +msgstr "Urzh" + +msgid "Delete" +msgstr "Diverkañ" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Reizhit ar roadennoù e doubl e %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Reizhit ar roadennoù e doubl e %(field)s, na zle bezañ enni nemet talvoudoù " +"dzho o-unan." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Reizhit ar roadennoù e doubl e %(field_name)s a rank bezañ ennañ talvodoù en " +"o-unan evit lodenn %(lookup)s %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Reizhañ ar roadennoù e doubl zo a-is" + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Diuzit un dibab reizh. N'emañ ket an dibab-mañ e-touez ar re bosupl." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "Riñsañ" + +msgid "Currently" +msgstr "Evit ar mare" + +msgid "Change" +msgstr "Kemmañ" + +msgid "Unknown" +msgstr "Dianav" + +msgid "Yes" +msgstr "Ya" + +msgid "No" +msgstr "Ket" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "ya,ket,marteze" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d okted" +msgstr[1] "%(size)d okted" +msgstr[2] "%(size)d okted" +msgstr[3] "%(size)d okted" +msgstr[4] "%(size)d okted" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "g.m." + +msgid "a.m." +msgstr "mintin" + +msgid "PM" +msgstr "G.M." + +msgid "AM" +msgstr "Mintin" + +msgid "midnight" +msgstr "hanternoz" + +msgid "noon" +msgstr "kreisteiz" + +msgid "Monday" +msgstr "Lun" + +msgid "Tuesday" +msgstr "Meurzh" + +msgid "Wednesday" +msgstr "Merc'her" + +msgid "Thursday" +msgstr "Yaou" + +msgid "Friday" +msgstr "Gwener" + +msgid "Saturday" +msgstr "Sadorn" + +msgid "Sunday" +msgstr "Sul" + +msgid "Mon" +msgstr "Lun" + +msgid "Tue" +msgstr "Meu" + +msgid "Wed" +msgstr "Mer" + +msgid "Thu" +msgstr "Yao" + +msgid "Fri" +msgstr "Gwe" + +msgid "Sat" +msgstr "Sad" + +msgid "Sun" +msgstr "Sul" + +msgid "January" +msgstr "Genver" + +msgid "February" +msgstr "C'hwevrer" + +msgid "March" +msgstr "Meurzh" + +msgid "April" +msgstr "Ebrel" + +msgid "May" +msgstr "Mae" + +msgid "June" +msgstr "Mezheven" + +msgid "July" +msgstr "Gouere" + +msgid "August" +msgstr "Eost" + +msgid "September" +msgstr "Gwengolo" + +msgid "October" +msgstr "Here" + +msgid "November" +msgstr "Du" + +msgid "December" +msgstr "Kerzu" + +msgid "jan" +msgstr "Gen" + +msgid "feb" +msgstr "C'hwe" + +msgid "mar" +msgstr "Meu" + +msgid "apr" +msgstr "Ebr" + +msgid "may" +msgstr "Mae" + +msgid "jun" +msgstr "Mez" + +msgid "jul" +msgstr "Gou" + +msgid "aug" +msgstr "Eos" + +msgid "sep" +msgstr "Gwe" + +msgid "oct" +msgstr "Her" + +msgid "nov" +msgstr "Du" + +msgid "dec" +msgstr "Kzu" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Gen." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "C'hwe." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Meu." + +msgctxt "abbrev. month" +msgid "April" +msgstr "Ebr." + +msgctxt "abbrev. month" +msgid "May" +msgstr "Mae" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Mez." + +msgctxt "abbrev. month" +msgid "July" +msgstr "Gou." + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Eos." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Gwe." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Her." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Du" + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Kzu" + +msgctxt "alt. month" +msgid "January" +msgstr "Genver" + +msgctxt "alt. month" +msgid "February" +msgstr "C'hwevrer" + +msgctxt "alt. month" +msgid "March" +msgstr "Meurzh" + +msgctxt "alt. month" +msgid "April" +msgstr "Ebrel" + +msgctxt "alt. month" +msgid "May" +msgstr "Mae" + +msgctxt "alt. month" +msgid "June" +msgstr "Mezheven" + +msgctxt "alt. month" +msgid "July" +msgstr "Gouere" + +msgctxt "alt. month" +msgid "August" +msgstr "Eost" + +msgctxt "alt. month" +msgid "September" +msgstr "Gwengolo" + +msgctxt "alt. month" +msgid "October" +msgstr "Here" + +msgctxt "alt. month" +msgid "November" +msgstr "Du" + +msgctxt "alt. month" +msgid "December" +msgstr "Kerzu" + +msgid "This is not a valid IPv6 address." +msgstr "" + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "pe" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr "," + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" + +msgid "Forbidden" +msgstr "Difennet" + +msgid "CSRF verification failed. Request aborted." +msgstr "" + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "" + +msgid "No year specified" +msgstr "N'eus bet resisaet bloavezh ebet" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "N'eus bet resisaet miz ebet" + +msgid "No day specified" +msgstr "N'eus bet resisaet deiz ebet" + +msgid "No week specified" +msgstr "N'eus bet resisaet sizhun ebet" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "N'eus %(verbose_name_plural)s ebet da gaout." + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"En dazont ne vo ket a %(verbose_name_plural)s rak faos eo %(class_name)s." +"allow_future." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "" +"N'eus bet kavet traezenn %(verbose_name)s ebet o klotaén gant ar goulenn" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "N'haller ket diskwel endalc'had ar c'havlec'h-mañ." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Meneger %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/bs/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/bs/LC_MESSAGES/django.po new file mode 100644 index 0000000..a985b84 --- /dev/null +++ b/external_sources/django/django/conf/locale/bs/LC_MESSAGES/django.po @@ -0,0 +1,1238 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Filip Dupanović , 2011 +# Jannis Leidel , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-27 22:40+0200\n" +"PO-Revision-Date: 2019-11-05 00:38+0000\n" +"Last-Translator: Ramiro Morales\n" +"Language-Team: Bosnian (http://www.transifex.com/django/django/language/" +"bs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bs\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" + +msgid "Afrikaans" +msgstr "" + +msgid "Arabic" +msgstr "arapski" + +msgid "Asturian" +msgstr "" + +msgid "Azerbaijani" +msgstr "Azerbejdžanski" + +msgid "Bulgarian" +msgstr "bugarski" + +msgid "Belarusian" +msgstr "" + +msgid "Bengali" +msgstr "bengalski" + +msgid "Breton" +msgstr "" + +msgid "Bosnian" +msgstr "bosanski" + +msgid "Catalan" +msgstr "katalonski" + +msgid "Czech" +msgstr "češki" + +msgid "Welsh" +msgstr "velški" + +msgid "Danish" +msgstr "danski" + +msgid "German" +msgstr "njemački" + +msgid "Lower Sorbian" +msgstr "" + +msgid "Greek" +msgstr "grčki" + +msgid "English" +msgstr "engleski" + +msgid "Australian English" +msgstr "" + +msgid "British English" +msgstr "Britanski engleski" + +msgid "Esperanto" +msgstr "" + +msgid "Spanish" +msgstr "španski" + +msgid "Argentinian Spanish" +msgstr "Argentinski španski" + +msgid "Colombian Spanish" +msgstr "" + +msgid "Mexican Spanish" +msgstr "Meksički španski" + +msgid "Nicaraguan Spanish" +msgstr "Nikuaraganski španski" + +msgid "Venezuelan Spanish" +msgstr "" + +msgid "Estonian" +msgstr "estonski" + +msgid "Basque" +msgstr "baskijski" + +msgid "Persian" +msgstr "persijski" + +msgid "Finnish" +msgstr "finski" + +msgid "French" +msgstr "francuski" + +msgid "Frisian" +msgstr "frišanski" + +msgid "Irish" +msgstr "irski" + +msgid "Scottish Gaelic" +msgstr "" + +msgid "Galician" +msgstr "galski" + +msgid "Hebrew" +msgstr "hebrejski" + +msgid "Hindi" +msgstr "hindi" + +msgid "Croatian" +msgstr "hrvatski" + +msgid "Upper Sorbian" +msgstr "" + +msgid "Hungarian" +msgstr "mađarski" + +msgid "Armenian" +msgstr "" + +msgid "Interlingua" +msgstr "" + +msgid "Indonesian" +msgstr "Indonežanski" + +msgid "Ido" +msgstr "" + +msgid "Icelandic" +msgstr "islandski" + +msgid "Italian" +msgstr "italijanski" + +msgid "Japanese" +msgstr "japanski" + +msgid "Georgian" +msgstr "gruzijski" + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "" + +msgid "Khmer" +msgstr "kambođanski" + +msgid "Kannada" +msgstr "kanada" + +msgid "Korean" +msgstr "korejski" + +msgid "Luxembourgish" +msgstr "" + +msgid "Lithuanian" +msgstr "litvanski" + +msgid "Latvian" +msgstr "latvijski" + +msgid "Macedonian" +msgstr "makedonski" + +msgid "Malayalam" +msgstr "Malajalamski" + +msgid "Mongolian" +msgstr "Mongolski" + +msgid "Marathi" +msgstr "" + +msgid "Burmese" +msgstr "" + +msgid "Norwegian Bokmål" +msgstr "" + +msgid "Nepali" +msgstr "" + +msgid "Dutch" +msgstr "holandski" + +msgid "Norwegian Nynorsk" +msgstr "Norveški novi" + +msgid "Ossetic" +msgstr "" + +msgid "Punjabi" +msgstr "Pandžabi" + +msgid "Polish" +msgstr "poljski" + +msgid "Portuguese" +msgstr "portugalski" + +msgid "Brazilian Portuguese" +msgstr "brazilski portugalski" + +msgid "Romanian" +msgstr "rumunski" + +msgid "Russian" +msgstr "ruski" + +msgid "Slovak" +msgstr "slovački" + +msgid "Slovenian" +msgstr "slovenački" + +msgid "Albanian" +msgstr "albanski" + +msgid "Serbian" +msgstr "srpski" + +msgid "Serbian Latin" +msgstr "srpski latinski" + +msgid "Swedish" +msgstr "švedski" + +msgid "Swahili" +msgstr "" + +msgid "Tamil" +msgstr "tamilski" + +msgid "Telugu" +msgstr "telugu" + +msgid "Thai" +msgstr "tajlandski" + +msgid "Turkish" +msgstr "turski" + +msgid "Tatar" +msgstr "" + +msgid "Udmurt" +msgstr "" + +msgid "Ukrainian" +msgstr "ukrajinski" + +msgid "Urdu" +msgstr "Urdu" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "vijetnamežanski" + +msgid "Simplified Chinese" +msgstr "novokineski" + +msgid "Traditional Chinese" +msgstr "starokineski" + +msgid "Messages" +msgstr "" + +msgid "Site Maps" +msgstr "" + +msgid "Static Files" +msgstr "" + +msgid "Syndication" +msgstr "" + +msgid "That page number is not an integer" +msgstr "" + +msgid "That page number is less than 1" +msgstr "" + +msgid "That page contains no results" +msgstr "" + +msgid "Enter a valid value." +msgstr "Unesite ispravnu vrijednost." + +msgid "Enter a valid URL." +msgstr "Unesite ispravan URL." + +msgid "Enter a valid integer." +msgstr "" + +msgid "Enter a valid email address." +msgstr "" + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "Unesite ispravnu IPv4 adresu." + +msgid "Enter a valid IPv6 address." +msgstr "" + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "" + +msgid "Enter only digits separated by commas." +msgstr "Unesite samo brojke razdvojene zapetama." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Pobrinite se da je ova vrijednost %(limit_value)s (trenutno je " +"%(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Ova vrijednost mora da bude manja ili jednaka %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Ova vrijednost mora biti veća ili jednaka %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +msgid "Enter a number." +msgstr "Unesite broj." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "" + +msgid "and" +msgstr "i" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "" + +msgid "This field cannot be null." +msgstr "Ovo polje ne može ostati prazno." + +msgid "This field cannot be blank." +msgstr "Ovo polje ne može biti prazno." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s sa ovom vrijednošću %(field_label)s već postoji." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Polje tipa: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "Bulova vrijednost (True ili False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "String (najviše %(max_length)s znakova)" + +msgid "Comma-separated integers" +msgstr "Cijeli brojevi razdvojeni zapetama" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "Datum (bez vremena)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "Datum (sa vremenom)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "Decimalni broj" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "" + +msgid "Email address" +msgstr "Email adresa" + +msgid "File path" +msgstr "Putanja fajla" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "Broj sa pokrenom zapetom" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "Cijeo broj" + +msgid "Big (8 byte) integer" +msgstr "Big (8 bajtni) integer" + +msgid "IPv4 address" +msgstr "" + +msgid "IP address" +msgstr "IP adresa" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "Bulova vrijednost (True, False ili None)" + +msgid "Positive integer" +msgstr "" + +msgid "Positive small integer" +msgstr "" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "" + +msgid "Small integer" +msgstr "" + +msgid "Text" +msgstr "Tekst" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "Vrijeme" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "" + +msgid "Image" +msgstr "" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" + +msgid "Foreign Key (type determined by related field)" +msgstr "Strani ključ (tip određen povezanim poljem)" + +msgid "One-to-one relationship" +msgstr "Jedan-na-jedan odnos" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "" + +msgid "Many-to-many relationship" +msgstr "Više-na-više odsnos" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr "" + +msgid "This field is required." +msgstr "Ovo polje se mora popuniti." + +msgid "Enter a whole number." +msgstr "Unesite cijeo broj." + +msgid "Enter a valid date." +msgstr "Unesite ispravan datum." + +msgid "Enter a valid time." +msgstr "Unesite ispravno vrijeme" + +msgid "Enter a valid date/time." +msgstr "Unesite ispravan datum/vrijeme." + +msgid "Enter a valid duration." +msgstr "" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Fajl nije prebačen. Provjerite tip enkodiranja formulara." + +msgid "No file was submitted." +msgstr "Fajl nije prebačen." + +msgid "The submitted file is empty." +msgstr "Prebačen fajl je prazan." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Prebacite ispravan fajl. Fajl koji je prebačen ili nije slika, ili je " +"oštećen." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"%(value)s nije među ponuđenim vrijednostima. Odaberite jednu od ponuđenih." + +msgid "Enter a list of values." +msgstr "Unesite listu vrijednosti." + +msgid "Enter a complete value." +msgstr "" + +msgid "Enter a valid UUID." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr "" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +msgid "Order" +msgstr "Redoslijed" + +msgid "Delete" +msgstr "Obriši" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Ispravite dupli sadržaj za polja: %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Ispravite dupli sadržaj za polja: %(field)s, koji mora da bude jedinstven." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Ispravite dupli sadržaj za polja: %(field_name)s, koji mora da bude " +"jedinstven za %(lookup)s u %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Ispravite duple vrijednosti dole." + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Odabrana vrijednost nije među ponuđenima. Odaberite jednu od ponuđenih." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "Očisti" + +msgid "Currently" +msgstr "Trenutno" + +msgid "Change" +msgstr "Izmjeni" + +msgid "Unknown" +msgstr "Nepoznato" + +msgid "Yes" +msgstr "Da" + +msgid "No" +msgstr "Ne" + +msgid "Year" +msgstr "" + +msgid "Month" +msgstr "" + +msgid "Day" +msgstr "" + +msgid "yes,no,maybe" +msgstr "da,ne,možda" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "po p." + +msgid "a.m." +msgstr "prije p." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "ponoć" + +msgid "noon" +msgstr "podne" + +msgid "Monday" +msgstr "ponedjeljak" + +msgid "Tuesday" +msgstr "utorak" + +msgid "Wednesday" +msgstr "srijeda" + +msgid "Thursday" +msgstr "četvrtak" + +msgid "Friday" +msgstr "petak" + +msgid "Saturday" +msgstr "subota" + +msgid "Sunday" +msgstr "nedjelja" + +msgid "Mon" +msgstr "pon." + +msgid "Tue" +msgstr "uto." + +msgid "Wed" +msgstr "sri." + +msgid "Thu" +msgstr "čet." + +msgid "Fri" +msgstr "pet." + +msgid "Sat" +msgstr "sub." + +msgid "Sun" +msgstr "ned." + +msgid "January" +msgstr "januar" + +msgid "February" +msgstr "februar" + +msgid "March" +msgstr "mart" + +msgid "April" +msgstr "april" + +msgid "May" +msgstr "maj" + +msgid "June" +msgstr "juni" + +msgid "July" +msgstr "juli" + +msgid "August" +msgstr "august" + +msgid "September" +msgstr "septembar" + +msgid "October" +msgstr "oktobar" + +msgid "November" +msgstr "novembar" + +msgid "December" +msgstr "decembar" + +msgid "jan" +msgstr "jan." + +msgid "feb" +msgstr "feb." + +msgid "mar" +msgstr "mar." + +msgid "apr" +msgstr "apr." + +msgid "may" +msgstr "maj." + +msgid "jun" +msgstr "jun." + +msgid "jul" +msgstr "jul." + +msgid "aug" +msgstr "aug." + +msgid "sep" +msgstr "sep." + +msgid "oct" +msgstr "okt." + +msgid "nov" +msgstr "nov." + +msgid "dec" +msgstr "dec." + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Jan." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Mart" + +msgctxt "abbrev. month" +msgid "April" +msgstr "April" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Maj" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Juni" + +msgctxt "abbrev. month" +msgid "July" +msgstr "juli" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "august" + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "septembar" + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "oktobar" + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "novembar" + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "decembar" + +msgctxt "alt. month" +msgid "January" +msgstr "januar" + +msgctxt "alt. month" +msgid "February" +msgstr "februar" + +msgctxt "alt. month" +msgid "March" +msgstr "mart" + +msgctxt "alt. month" +msgid "April" +msgstr "april" + +msgctxt "alt. month" +msgid "May" +msgstr "maj" + +msgctxt "alt. month" +msgid "June" +msgstr "juni" + +msgctxt "alt. month" +msgid "July" +msgstr "juli" + +msgctxt "alt. month" +msgid "August" +msgstr "august" + +msgctxt "alt. month" +msgid "September" +msgstr "septembar" + +msgctxt "alt. month" +msgid "October" +msgstr "oktobar" + +msgctxt "alt. month" +msgid "November" +msgstr "Novembar" + +msgctxt "alt. month" +msgid "December" +msgstr "decembar" + +msgid "This is not a valid IPv6 address." +msgstr "" + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "ili" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +msgid "0 minutes" +msgstr "" + +msgid "Forbidden" +msgstr "" + +msgid "CSRF verification failed. Request aborted." +msgstr "" + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "" + +msgid "No year specified" +msgstr "Godina nije naznačena" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "Mjesec nije naznačen" + +msgid "No day specified" +msgstr "Dan nije naznačen" + +msgid "No week specified" +msgstr "Sedmica nije naznačena" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "" + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/bs/__init__.py b/external_sources/django/django/conf/locale/bs/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/bs/formats.py b/external_sources/django/django/conf/locale/bs/formats.py new file mode 100644 index 0000000..a15e709 --- /dev/null +++ b/external_sources/django/django/conf/locale/bs/formats.py @@ -0,0 +1,21 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j. N Y." +TIME_FORMAT = "G:i" +DATETIME_FORMAT = "j. N. Y. G:i T" +YEAR_MONTH_FORMAT = "F Y." +MONTH_DAY_FORMAT = "j. F" +SHORT_DATE_FORMAT = "Y M j" +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "." +# NUMBER_GROUPING = diff --git a/external_sources/django/django/conf/locale/ca/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/ca/LC_MESSAGES/django.po new file mode 100644 index 0000000..01e4dda --- /dev/null +++ b/external_sources/django/django/conf/locale/ca/LC_MESSAGES/django.po @@ -0,0 +1,1340 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Antoni Aloy , 2012,2015-2017,2021-2022 +# Carles Barrobés , 2011-2012,2014,2020 +# duub qnnp, 2015 +# Emilio Carrion, 2022 +# Gil Obradors Via , 2019 +# Gil Obradors Via , 2019 +# Jannis Leidel , 2011 +# Manel Clos , 2020 +# Manuel Miranda , 2015 +# Mariusz Felisiak , 2021 +# Roger Pons , 2015 +# Santiago Lamora , 2020 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-05-17 05:23-0500\n" +"PO-Revision-Date: 2022-07-25 06:49+0000\n" +"Last-Translator: Emilio Carrion\n" +"Language-Team: Catalan (http://www.transifex.com/django/django/language/" +"ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "Afrikans" + +msgid "Arabic" +msgstr "àrab" + +msgid "Algerian Arabic" +msgstr "àrab argelià" + +msgid "Asturian" +msgstr "Asturià" + +msgid "Azerbaijani" +msgstr "azerbaijanès" + +msgid "Bulgarian" +msgstr "búlgar" + +msgid "Belarusian" +msgstr "Bielorús" + +msgid "Bengali" +msgstr "bengalí" + +msgid "Breton" +msgstr "Bretó" + +msgid "Bosnian" +msgstr "bosnià" + +msgid "Catalan" +msgstr "català" + +msgid "Czech" +msgstr "txec" + +msgid "Welsh" +msgstr "gal·lès" + +msgid "Danish" +msgstr "danès" + +msgid "German" +msgstr "alemany" + +msgid "Lower Sorbian" +msgstr "baix serbi" + +msgid "Greek" +msgstr "grec" + +msgid "English" +msgstr "anglès" + +msgid "Australian English" +msgstr "Anglès d'Austràlia" + +msgid "British English" +msgstr "anglès britànic" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "castellà" + +msgid "Argentinian Spanish" +msgstr "castellà d'Argentina" + +msgid "Colombian Spanish" +msgstr "castellà de Colombia" + +msgid "Mexican Spanish" +msgstr "castellà de Mèxic" + +msgid "Nicaraguan Spanish" +msgstr "castellà de Nicaragua" + +msgid "Venezuelan Spanish" +msgstr "castellà de Veneçuela" + +msgid "Estonian" +msgstr "estonià" + +msgid "Basque" +msgstr "èuscar" + +msgid "Persian" +msgstr "persa" + +msgid "Finnish" +msgstr "finlandès" + +msgid "French" +msgstr "francès" + +msgid "Frisian" +msgstr "frisi" + +msgid "Irish" +msgstr "irlandès" + +msgid "Scottish Gaelic" +msgstr "Gaèlic escocès" + +msgid "Galician" +msgstr "gallec" + +msgid "Hebrew" +msgstr "hebreu" + +msgid "Hindi" +msgstr "hindi" + +msgid "Croatian" +msgstr "croat" + +msgid "Upper Sorbian" +msgstr "alt serbi" + +msgid "Hungarian" +msgstr "hongarès" + +msgid "Armenian" +msgstr "Armeni" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "indonesi" + +msgid "Igbo" +msgstr "lgbo" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "islandès" + +msgid "Italian" +msgstr "italià" + +msgid "Japanese" +msgstr "japonès" + +msgid "Georgian" +msgstr "georgià" + +msgid "Kabyle" +msgstr "Cabilenc" + +msgid "Kazakh" +msgstr "Kazakh" + +msgid "Khmer" +msgstr "khmer" + +msgid "Kannada" +msgstr "kannarès" + +msgid "Korean" +msgstr "coreà" + +msgid "Kyrgyz" +msgstr "Kyrgyz" + +msgid "Luxembourgish" +msgstr "Luxemburguès" + +msgid "Lithuanian" +msgstr "lituà" + +msgid "Latvian" +msgstr "letó" + +msgid "Macedonian" +msgstr "macedoni" + +msgid "Malayalam" +msgstr "malaiàlam " + +msgid "Mongolian" +msgstr "mongol" + +msgid "Marathi" +msgstr "Maratí" + +msgid "Malay" +msgstr "Malai" + +msgid "Burmese" +msgstr "Burmès" + +msgid "Norwegian Bokmål" +msgstr "Bokmål noruec" + +msgid "Nepali" +msgstr "nepalès" + +msgid "Dutch" +msgstr "holandès" + +msgid "Norwegian Nynorsk" +msgstr "noruec nynorsk" + +msgid "Ossetic" +msgstr "ossètic" + +msgid "Punjabi" +msgstr "panjabi" + +msgid "Polish" +msgstr "polonès" + +msgid "Portuguese" +msgstr "portuguès" + +msgid "Brazilian Portuguese" +msgstr "portuguès de brasil" + +msgid "Romanian" +msgstr "romanès" + +msgid "Russian" +msgstr "rus" + +msgid "Slovak" +msgstr "eslovac" + +msgid "Slovenian" +msgstr "eslovè" + +msgid "Albanian" +msgstr "albanès" + +msgid "Serbian" +msgstr "serbi" + +msgid "Serbian Latin" +msgstr "serbi llatí" + +msgid "Swedish" +msgstr "suec" + +msgid "Swahili" +msgstr "Swahili" + +msgid "Tamil" +msgstr "tàmil" + +msgid "Telugu" +msgstr "telugu" + +msgid "Tajik" +msgstr "Tajik" + +msgid "Thai" +msgstr "tailandès" + +msgid "Turkmen" +msgstr "Turkmen" + +msgid "Turkish" +msgstr "turc" + +msgid "Tatar" +msgstr "Tatar" + +msgid "Udmurt" +msgstr "Udmurt" + +msgid "Ukrainian" +msgstr "ucraïnès" + +msgid "Urdu" +msgstr "urdu" + +msgid "Uzbek" +msgstr "Uzbek" + +msgid "Vietnamese" +msgstr "vietnamita" + +msgid "Simplified Chinese" +msgstr "xinès simplificat" + +msgid "Traditional Chinese" +msgstr "xinès tradicional" + +msgid "Messages" +msgstr "Missatges" + +msgid "Site Maps" +msgstr "Mapes del lloc" + +msgid "Static Files" +msgstr "Arxius estàtics" + +msgid "Syndication" +msgstr "Sindicació" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "..." + +msgid "That page number is not an integer" +msgstr "Aquest número de plana no és un enter" + +msgid "That page number is less than 1" +msgstr "El nombre de plana és inferior a 1" + +msgid "That page contains no results" +msgstr "La plana no conté cap resultat" + +msgid "Enter a valid value." +msgstr "Introduïu un valor vàlid." + +msgid "Enter a valid URL." +msgstr "Introduïu una URL vàlida." + +msgid "Enter a valid integer." +msgstr "Introduïu un enter vàlid." + +msgid "Enter a valid email address." +msgstr "Introdueix una adreça de correu electrònic vàlida" + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Introduïu un 'slug' vàlid, consistent en lletres, números, guions o guions " +"baixos." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Introduïu un 'slug' vàlid format per lletres Unicode, números, guions o " +"guions baixos." + +msgid "Enter a valid IPv4 address." +msgstr "Introduïu una adreça IPv4 vàlida." + +msgid "Enter a valid IPv6 address." +msgstr "Entreu una adreça IPv6 vàlida." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Entreu una adreça IPv4 o IPv6 vàlida." + +msgid "Enter only digits separated by commas." +msgstr "Introduïu només dígits separats per comes." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Assegureu-vos que aquest valor sigui %(limit_value)s (és %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" +"Assegureu-vos que aquest valor sigui menor o igual que %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" +"Assegureu-vos que aquest valor sigui més gran o igual que %(limit_value)s." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "" +" \n" +"Asseguri's que aquest valor sigui un múltiple de %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Assegureu-vos que aquest valor té almenys %(limit_value)d caràcter (en té " +"%(show_value)d)." +msgstr[1] "" +"Assegureu-vos que el valor tingui almenys %(limit_value)d caràcters (en té " +"%(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Assegureu-vos que aquest valor té com a molt %(limit_value)d caràcter (en té " +"%(show_value)d)." +msgstr[1] "" +"Assegureu-vos que aquest valor tingui com a molt %(limit_value)d caràcters " +"(en té %(show_value)d)." + +msgid "Enter a number." +msgstr "Introduïu un número." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Assegureu-vos que no hi ha més de %(max)s dígit en total." +msgstr[1] "Assegureu-vos que no hi hagi més de %(max)s dígits en total." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Assegureu-vos que no hi ha més de %(max)s decimal." +msgstr[1] "Assegureu-vos que no hi hagi més de %(max)s decimals." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Assegureu-vos que no hi ha més de %(max)s dígit abans de la coma decimal." +msgstr[1] "" +"Assegureu-vos que no hi hagi més de %(max)s dígits abans de la coma decimal." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"L'extensió d'arxiu “%(extension)s” no està permesa. Les extensions permeses " +"són: %(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "No es permeten caràcters nuls." + +msgid "and" +msgstr "i" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "Ja existeix %(model_name)s amb aquest %(field_labels)s." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "La restricció %(name)s no es compleix." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "El valor %(value)r no és una opció vàlida." + +msgid "This field cannot be null." +msgstr "Aquest camp no pot ser nul." + +msgid "This field cannot be blank." +msgstr "Aquest camp no pot estar en blanc." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "Ja existeix %(model_name)s amb aquest %(field_label)s." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s ha de ser únic per a %(date_field_label)s i %(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Camp del tipus: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "El valor '%(value)s' ha de ser \"True\" o \"False\"." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "El valor '%(value)s' ha de ser cert, fals o buid." + +msgid "Boolean (Either True or False)" +msgstr "Booleà (Cert o Fals)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Cadena (de fins a %(max_length)s)" + +msgid "Comma-separated integers" +msgstr "Enters separats per comes" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"El valor '%(value)s' no té un format de data vàlid. Ha de tenir el format " +"YYYY-MM-DD." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"El valor '%(value)s' té el format correcte (YYYY-MM-DD) però no és una data " +"vàlida." + +msgid "Date (without time)" +msgstr "Data (sense hora)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"El valor '%(value)s' no té un format vàlid. Ha de tenir el format YYYY-MM-DD " +"HH:MM[:ss[.uuuuuu]][TZ]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"El valor '%(value)s' té el format correcte (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) però no és una data/hora vàlida." + +msgid "Date (with time)" +msgstr "Data (amb hora)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "El valor '%(value)s' ha de ser un nombre decimal." + +msgid "Decimal number" +msgstr "Número decimal" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"'El valor %(value)s' té un format invàlid. Ha d'estar en el format [DD] [HH:" +"[MM:]]ss[.uuuuuu] ." + +msgid "Duration" +msgstr "Durada" + +msgid "Email address" +msgstr "Adreça de correu electrònic" + +msgid "File path" +msgstr "Ruta del fitxer" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "El valor '%(value)s' ha de ser un número decimal." + +msgid "Floating point number" +msgstr "Número de coma flotant" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "El valor '%(value)s' ha de ser un nombre enter." + +msgid "Integer" +msgstr "Enter" + +msgid "Big (8 byte) integer" +msgstr "Enter gran (8 bytes)" + +msgid "Small integer" +msgstr "Enter petit" + +msgid "IPv4 address" +msgstr "Adreça IPv4" + +msgid "IP address" +msgstr "Adreça IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "El valor '%(value)s' ha de ser None, True o False." + +msgid "Boolean (Either True, False or None)" +msgstr "Booleà (Cert, Fals o Cap ('None'))" + +msgid "Positive big integer" +msgstr "Enter gran positiu" + +msgid "Positive integer" +msgstr "Enter positiu" + +msgid "Positive small integer" +msgstr "Enter petit positiu" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (fins a %(max_length)s)" + +msgid "Text" +msgstr "Text" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"El valor '%(value)s' no té un format vàlid. Ha de tenir el format HH:MM[:ss[." +"uuuuuu]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"El valor '%(value)s' té el format correcte (HH:MM[:ss[.uuuuuu]]) però no és " +"una hora vàlida." + +msgid "Time" +msgstr "Hora" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Dades binàries" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "'%(value)s' no és un UUID vàlid." + +msgid "Universally unique identifier" +msgstr "Identificador únic universal" + +msgid "File" +msgstr "Arxiu" + +msgid "Image" +msgstr "Imatge" + +msgid "A JSON object" +msgstr "Un objecte JSON" + +msgid "Value must be valid JSON." +msgstr "El valor ha de ser JSON vàlid." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "La instància de %(model)s amb %(field)s %(value)r no existeix." + +msgid "Foreign Key (type determined by related field)" +msgstr "Clau forana (tipus determinat pel camp relacionat)" + +msgid "One-to-one relationship" +msgstr "Relació un-a-un" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "relació %(from)s-%(to)s " + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "relacions %(from)s-%(to)s " + +msgid "Many-to-many relationship" +msgstr "Relació molts-a-molts" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Aquest camp és obligatori." + +msgid "Enter a whole number." +msgstr "Introduïu un número enter." + +msgid "Enter a valid date." +msgstr "Introduïu una data vàlida." + +msgid "Enter a valid time." +msgstr "Introduïu una hora vàlida." + +msgid "Enter a valid date/time." +msgstr "Introduïu una data/hora vàlides." + +msgid "Enter a valid duration." +msgstr "Introduïu una durada vàlida." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "El número de dies ha de ser entre {min_days} i {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"No s'ha enviat cap fitxer. Comproveu el tipus de codificació del formulari." + +msgid "No file was submitted." +msgstr "No s'ha enviat cap fitxer." + +msgid "The submitted file is empty." +msgstr "El fitxer enviat està buit." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Aquest nom d'arxiu hauria de tenir com a molt %(max)d caràcter (en té " +"%(length)d)." +msgstr[1] "" +"Aquest nom d'arxiu hauria de tenir com a molt %(max)d caràcters (en té " +"%(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Si us plau, envieu un fitxer o marqueu la casella de selecció \"netejar\", " +"no ambdós." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Carregueu una imatge vàlida. El fitxer que heu carregat no era una imatge o " +"estava corrupte." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Esculliu una opció vàlida. %(value)s no és una de les opcions vàlides." + +msgid "Enter a list of values." +msgstr "Introduïu una llista de valors." + +msgid "Enter a complete value." +msgstr "Introduïu un valor complet." + +msgid "Enter a valid UUID." +msgstr "Intruduïu un UUID vàlid." + +msgid "Enter a valid JSON." +msgstr "Introduïu un JSON vàlid." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Camp ocult %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"Les dades de ManagementForm no hi són o han estat modificades. Camps que " +"falten: %(field_names)s. . Necessitaràs omplir una incidència si el problema " +"persisteix." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Enviau com a màxim %(num)d formulari, si us plau." +msgstr[1] "Enviau com a màxim %(num)d formularis, si us plau." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Enviau com a mínim %(num)d formulari, si us plau." +msgstr[1] "Enviau com a mínim %(num)d formularis, si us plau." + +msgid "Order" +msgstr "Ordre" + +msgid "Delete" +msgstr "Eliminar" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Si us plau, corregiu la dada duplicada per a %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Si us plau, corregiu la dada duplicada per a %(field)s, la qual ha de ser " +"única." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Si us plau, corregiu la dada duplicada per a %(field_name)s, la qual ha de " +"ser única per a %(lookup)s en %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Si us plau, corregiu els valors duplicats a sota." + +msgid "The inline value did not match the parent instance." +msgstr "El valor en línia no coincideix amb la instància mare ." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Esculliu una opció vàlida. La opció triada no és una de les opcions " +"disponibles." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "\"%(pk)s\" no és un valor vàlid" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"No s'ha pogut interpretar %(datetime)s a la zona horària " +"%(current_timezone)s; potser és ambigua o no existeix." + +msgid "Clear" +msgstr "Netejar" + +msgid "Currently" +msgstr "Actualment" + +msgid "Change" +msgstr "Modificar" + +msgid "Unknown" +msgstr "Desconegut" + +msgid "Yes" +msgstr "Sí" + +msgid "No" +msgstr "No" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "sí,no,potser" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d byte" +msgstr[1] "%(size)d bytes" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "mitjanit" + +msgid "noon" +msgstr "migdia" + +msgid "Monday" +msgstr "Dilluns" + +msgid "Tuesday" +msgstr "Dimarts" + +msgid "Wednesday" +msgstr "Dimecres" + +msgid "Thursday" +msgstr "Dijous" + +msgid "Friday" +msgstr "Divendres" + +msgid "Saturday" +msgstr "Dissabte" + +msgid "Sunday" +msgstr "Diumenge" + +msgid "Mon" +msgstr "dl." + +msgid "Tue" +msgstr "dt." + +msgid "Wed" +msgstr "dc." + +msgid "Thu" +msgstr "dj." + +msgid "Fri" +msgstr "dv." + +msgid "Sat" +msgstr "ds." + +msgid "Sun" +msgstr "dg." + +msgid "January" +msgstr "gener" + +msgid "February" +msgstr "febrer" + +msgid "March" +msgstr "març" + +msgid "April" +msgstr "abril" + +msgid "May" +msgstr "maig" + +msgid "June" +msgstr "juny" + +msgid "July" +msgstr "juliol" + +msgid "August" +msgstr "agost" + +msgid "September" +msgstr "setembre" + +msgid "October" +msgstr "octubre" + +msgid "November" +msgstr "novembre" + +msgid "December" +msgstr "desembre" + +msgid "jan" +msgstr "gen." + +msgid "feb" +msgstr "feb." + +msgid "mar" +msgstr "març" + +msgid "apr" +msgstr "abr." + +msgid "may" +msgstr "maig" + +msgid "jun" +msgstr "juny" + +msgid "jul" +msgstr "jul." + +msgid "aug" +msgstr "ago." + +msgid "sep" +msgstr "set." + +msgid "oct" +msgstr "oct." + +msgid "nov" +msgstr "nov." + +msgid "dec" +msgstr "des." + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Gen." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Març" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Abr." + +msgctxt "abbrev. month" +msgid "May" +msgstr "Maig" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Juny" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Jul." + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Ago." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Set." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Oct." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Des." + +msgctxt "alt. month" +msgid "January" +msgstr "gener" + +msgctxt "alt. month" +msgid "February" +msgstr "febrer" + +msgctxt "alt. month" +msgid "March" +msgstr "març" + +msgctxt "alt. month" +msgid "April" +msgstr "abril" + +msgctxt "alt. month" +msgid "May" +msgstr "maig" + +msgctxt "alt. month" +msgid "June" +msgstr "juny" + +msgctxt "alt. month" +msgid "July" +msgstr "juliol" + +msgctxt "alt. month" +msgid "August" +msgstr "agost" + +msgctxt "alt. month" +msgid "September" +msgstr "setembre" + +msgctxt "alt. month" +msgid "October" +msgstr "octubre" + +msgctxt "alt. month" +msgid "November" +msgstr "novembre" + +msgctxt "alt. month" +msgid "December" +msgstr "desembre" + +msgid "This is not a valid IPv6 address." +msgstr "Aquesta no és una adreça IPv6 vàlida." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "o" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d any" +msgstr[1] "%(num)d anys" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d mes" +msgstr[1] "%(num)d mesos" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d setmana" +msgstr[1] "%(num)d setmanes" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d dia" +msgstr[1] "%(num)d dies" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d hora" +msgstr[1] "%(num)d hores" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d minut" +msgstr[1] "%(num)d minuts" + +msgid "Forbidden" +msgstr "Prohibit" + +msgid "CSRF verification failed. Request aborted." +msgstr "La verificació de CSRF ha fallat. Petició abortada." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Esteu veient aquest missatge perquè aquest lloc HTTPS requereix que el " +"vostre navegador enviï una capçalera “Referer\", i no n'ha arribada cap. " +"Aquesta capçalera es requereix per motius de seguretat, per garantir que el " +"vostre navegador no està sent segrestat per tercers." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Si heu configurat el vostre navegador per deshabilitar capçaleres “Referer" +"\", sisplau torneu-les a habilitar, com a mínim per a aquest lloc, o per a " +"connexions HTTPs, o per a peticions amb el mateix orígen." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Si utilitzeu l'etiqueta o " +"incloeu la capçalera “Referer-Policy: no-referrer\" , si us plau elimineu-" +"la. La protecció CSRF requereix la capçalera “Referer\" per a fer una " +"comprovació estricta. Si esteu preocupats quant a la privacitat, utilitzeu " +"alternatives com per enllaços a aplicacions de " +"tercers." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Estàs veient aquest missatge perquè aquest lloc requereix una galeta CSRF " +"quan s'envien formularis. Aquesta galeta es requereix per motius de " +"seguretat, per garantir que el teu navegador no està sent infiltrat per " +"tercers." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Si has configurat el teu navegador per deshabilitar galetes, sisplau torna-" +"les a habilitar, com a mínim per a aquest lloc, o per a peticions amb el " +"mateix orígen." + +msgid "More information is available with DEBUG=True." +msgstr "Més informació disponible amb DEBUG=True." + +msgid "No year specified" +msgstr "No s'ha especificat any" + +msgid "Date out of range" +msgstr "Data fora de rang" + +msgid "No month specified" +msgstr "No s'ha especificat mes" + +msgid "No day specified" +msgstr "No s'ha especificat dia" + +msgid "No week specified" +msgstr "No s'ha especificat setmana" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Cap %(verbose_name_plural)s disponible" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Futurs %(verbose_name_plural)s no disponibles perquè %(class_name)s." +"allow_future és Fals." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "Cadena invàlida de data '%(datestr)s' donat el format '%(format)s'" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "No s'ha trobat cap %(verbose_name)s que coincideixi amb la petició" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "La pàgina no és 'last', ni es pot convertir en un enter" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Pàgina invàlida (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Llista buida i '%(class_name)s.allow_empty' és Fals." + +msgid "Directory indexes are not allowed here." +msgstr "Aquí no es permeten índex de directori." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "\"%(path)s\" no existeix" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Índex de %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "La instal·lació ha estat un èxit! Enhorabona!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Visualitza notes de llançament per Django " +"%(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" +"Esteu veient aquesta pàgina perquè el paràmetre DEBUG=Trueconsta al fitxer de configuració i no teniu cap " +"URL configurada." + +msgid "Django Documentation" +msgstr "Documentació de Django" + +msgid "Topics, references, & how-to’s" +msgstr "Temes, referències, & Com es fa" + +msgid "Tutorial: A Polling App" +msgstr "Tutorial: Una aplicació enquesta" + +msgid "Get started with Django" +msgstr "Primers passos amb Django" + +msgid "Django Community" +msgstr "Comunitat Django" + +msgid "Connect, get help, or contribute" +msgstr "Connecta, obté ajuda, o col·labora" diff --git a/external_sources/django/django/conf/locale/ca/__init__.py b/external_sources/django/django/conf/locale/ca/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/ca/formats.py b/external_sources/django/django/conf/locale/ca/formats.py new file mode 100644 index 0000000..e616299 --- /dev/null +++ b/external_sources/django/django/conf/locale/ca/formats.py @@ -0,0 +1,30 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = r"j E \d\e Y" +TIME_FORMAT = "G:i" +DATETIME_FORMAT = r"j E \d\e Y \a \l\e\s G:i" +YEAR_MONTH_FORMAT = r"F \d\e\l Y" +MONTH_DAY_FORMAT = r"j E" +SHORT_DATE_FORMAT = "d/m/Y" +SHORT_DATETIME_FORMAT = "d/m/Y G:i" +FIRST_DAY_OF_WEEK = 1 # Monday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d/%m/%Y", # '31/12/2009' + "%d/%m/%y", # '31/12/09' +] +DATETIME_INPUT_FORMATS = [ + "%d/%m/%Y %H:%M:%S", + "%d/%m/%Y %H:%M:%S.%f", + "%d/%m/%Y %H:%M", + "%d/%m/%y %H:%M:%S", + "%d/%m/%y %H:%M:%S.%f", + "%d/%m/%y %H:%M", +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "." +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/ckb/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/ckb/LC_MESSAGES/django.po new file mode 100644 index 0000000..1caebbc --- /dev/null +++ b/external_sources/django/django/conf/locale/ckb/LC_MESSAGES/django.po @@ -0,0 +1,1332 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Bawar Jalal, 2021 +# Bawar Jalal, 2020-2021 +# Bawar Jalal, 2020 +# Kosar Tofiq Saeed , 2020-2021 +# Swara , 2022-2024 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 06:49+0000\n" +"Last-Translator: Swara , 2022-2024\n" +"Language-Team: Central Kurdish (http://app.transifex.com/django/django/" +"language/ckb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ckb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "ئەفریقی" + +msgid "Arabic" +msgstr "عەرەبی" + +msgid "Algerian Arabic" +msgstr "عەرەبیی جەزائیری" + +msgid "Asturian" +msgstr "ئاستوری" + +msgid "Azerbaijani" +msgstr "ئازەربایجانی" + +msgid "Bulgarian" +msgstr "بولگاری" + +msgid "Belarusian" +msgstr "بیلاڕوسی" + +msgid "Bengali" +msgstr "بەنگالی" + +msgid "Breton" +msgstr "بریتۆنی" + +msgid "Bosnian" +msgstr "بۆسنێیی" + +msgid "Catalan" +msgstr "کاتالانی" + +msgid "Central Kurdish (Sorani)" +msgstr "کوردی" + +msgid "Czech" +msgstr "چیکی" + +msgid "Welsh" +msgstr "وێڵزی" + +msgid "Danish" +msgstr "دانیمارکی" + +msgid "German" +msgstr "ئەڵمانی" + +msgid "Lower Sorbian" +msgstr "سۆربیانی خواروو" + +msgid "Greek" +msgstr "یۆنانی" + +msgid "English" +msgstr "ئینگلیزی" + +msgid "Australian English" +msgstr "ئینگلیزی ئوستورالی" + +msgid "British English" +msgstr "ئینگلیزی بەریتانی" + +msgid "Esperanto" +msgstr "ئێسپەرانتەویی" + +msgid "Spanish" +msgstr "ئیسپانی" + +msgid "Argentinian Spanish" +msgstr "ئیسپانیی ئەرجەنتینی" + +msgid "Colombian Spanish" +msgstr "ئیسپانیی کۆڵۆمبی" + +msgid "Mexican Spanish" +msgstr "ئیسپانیی مەکسیکی" + +msgid "Nicaraguan Spanish" +msgstr "ئیسپانیی نیکاراگوایی" + +msgid "Venezuelan Spanish" +msgstr "ئیسپانیی فەنزوێلایی" + +msgid "Estonian" +msgstr "ئیستۆنی" + +msgid "Basque" +msgstr "باسکۆیی" + +msgid "Persian" +msgstr "فارسی" + +msgid "Finnish" +msgstr "فینلەندی" + +msgid "French" +msgstr "فەڕەنسی" + +msgid "Frisian" +msgstr "فریسی" + +msgid "Irish" +msgstr "ئیرلەندی" + +msgid "Scottish Gaelic" +msgstr "گالیکی سکۆتلەندی" + +msgid "Galician" +msgstr "گالیسیایی" + +msgid "Hebrew" +msgstr "ئیسرائیلی" + +msgid "Hindi" +msgstr "هیندی" + +msgid "Croatian" +msgstr "کڕواتی" + +msgid "Upper Sorbian" +msgstr "سڕبی سەروو" + +msgid "Hungarian" +msgstr "هەنگاری" + +msgid "Armenian" +msgstr "ئەرمەنی" + +msgid "Interlingua" +msgstr "ئینتەرلینگوایی" + +msgid "Indonesian" +msgstr "ئیندۆنیزی" + +msgid "Igbo" +msgstr "ئیگبۆیی" + +msgid "Ido" +msgstr "ئیدۆیی" + +msgid "Icelandic" +msgstr "ئایسلەندی" + +msgid "Italian" +msgstr "ئیتاڵی" + +msgid "Japanese" +msgstr "یابانی" + +msgid "Georgian" +msgstr "جۆرجی" + +msgid "Kabyle" +msgstr "کابایلی" + +msgid "Kazakh" +msgstr "کازاخی" + +msgid "Khmer" +msgstr "خەمیری" + +msgid "Kannada" +msgstr "کانێدایی" + +msgid "Korean" +msgstr "کۆری" + +msgid "Kyrgyz" +msgstr "کیرگزستانی" + +msgid "Luxembourgish" +msgstr "لۆکسەمبۆرگی" + +msgid "Lithuanian" +msgstr "لیتوانی" + +msgid "Latvian" +msgstr "لاتیڤی" + +msgid "Macedonian" +msgstr "مەسەدۆنی" + +msgid "Malayalam" +msgstr "مەلایالامی" + +msgid "Mongolian" +msgstr "مەنگۆلی" + +msgid "Marathi" +msgstr "ماراسی" + +msgid "Malay" +msgstr "مالایی" + +msgid "Burmese" +msgstr "بورمایی" + +msgid "Norwegian Bokmål" +msgstr "بۆکامۆلی نەرویجی" + +msgid "Nepali" +msgstr "نیپاڵی" + +msgid "Dutch" +msgstr "هۆڵەندی" + +msgid "Norwegian Nynorsk" +msgstr "نینۆرسکی نەرویجی" + +msgid "Ossetic" +msgstr "ئۆسیتی" + +msgid "Punjabi" +msgstr "پونجابی" + +msgid "Polish" +msgstr "پۆڵۆنی" + +msgid "Portuguese" +msgstr "پورتوگالی" + +msgid "Brazilian Portuguese" +msgstr "پورتوگالیی بەڕازیلی" + +msgid "Romanian" +msgstr "ڕۆمانیایی" + +msgid "Russian" +msgstr "ڕووسی" + +msgid "Slovak" +msgstr "سلۆڤاکی" + +msgid "Slovenian" +msgstr "سلۆڤینیایی" + +msgid "Albanian" +msgstr "ئەلبانی" + +msgid "Serbian" +msgstr "سڕبی" + +msgid "Serbian Latin" +msgstr "سڕبیی لاتین" + +msgid "Swedish" +msgstr "سویدی" + +msgid "Swahili" +msgstr "سواهیلی" + +msgid "Tamil" +msgstr "تامیلی" + +msgid "Telugu" +msgstr "تێلوگویی" + +msgid "Tajik" +msgstr "تاجیکی" + +msgid "Thai" +msgstr "تایلاندی" + +msgid "Turkmen" +msgstr "تورکمانی" + +msgid "Turkish" +msgstr "تورکی" + +msgid "Tatar" +msgstr "تاتاری" + +msgid "Udmurt" +msgstr "ئودمورتی" + +msgid "Uyghur" +msgstr "ئۆیغور" + +msgid "Ukrainian" +msgstr "ئۆکرانی" + +msgid "Urdu" +msgstr "ئوردویی" + +msgid "Uzbek" +msgstr "ئۆزبەکی" + +msgid "Vietnamese" +msgstr "ڤێتنامی" + +msgid "Simplified Chinese" +msgstr "چینی سادەکراو" + +msgid "Traditional Chinese" +msgstr "چینی کلاسیکی" + +msgid "Messages" +msgstr "پەیامەکان" + +msgid "Site Maps" +msgstr "نەخشەکانی پێگە" + +msgid "Static Files" +msgstr "فایلە نەگۆڕەکان" + +msgid "Syndication" +msgstr "هاوبەشکردن" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "..." + +msgid "That page number is not an integer" +msgstr "ئەو ژمارەی پەڕەیە ژمارەی تەواو نییە" + +msgid "That page number is less than 1" +msgstr "ئەو ژمارەی پەڕەیە لە 1 کەمترە" + +msgid "That page contains no results" +msgstr "ئەو پەڕەیە هیچ ئەنجامێکی تێدا نییە" + +msgid "Enter a valid value." +msgstr "نرخێکی دروست لەناودابنێ." + +msgid "Enter a valid domain name." +msgstr "پاوەن/دۆمەینی دروست بنوسە." + +msgid "Enter a valid URL." +msgstr "URL ی دروست لەناودابنێ." + +msgid "Enter a valid integer." +msgstr "ژمارەیەکی تەواو لەناودابنێ" + +msgid "Enter a valid email address." +msgstr "ناونیشانێکی ئیمەیڵی دروست لەناودابنێ" + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "\"سلەگ\"ێکی دروست بنوسە کە پێکهاتووە لە پیت، ژمارە، ژێرهێڵ یان هێڵ." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"\"سلەگ\"ێکی دروست بنوسە کە پێکهاتووە لە پیتی یونیکۆد، ژمارە، هێڵی ژێرەوە، " +"یان هێما." + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "ناونیشانی %(protocol)s دروست بنوسە." + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "IPv4 or IPv6" +msgstr "IPv4 یان IPv6" + +msgid "Enter only digits separated by commas." +msgstr "تەنها ژمارە لەناودابنێ بە فاریزە جیاکرابێتەوە." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "دڵنیاببە ئەم نرخە %(limit_value)sە (ئەوە %(show_value)sە). " + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "دڵنیاببە ئەم نرخە کەمترە یاخود یەکسانە بە %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "دڵنیاببە ئەم نرخە گەورەترە یاخود یەکسانە بە %(limit_value)s." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "دڵنیابە کە ئەم بەهایە چەندانێکە لە قەبارەی هەنگاوی%(limit_value)s." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"دڵنیابە ئەم بەهایە چەند هێندەیەکی قەبارەی هەنگاوەکانە %(limit_value)s, " +"دەستپێدەکات لە %(offset)s، بۆ نموونە %(offset)s، %(valid_value1)s، " +"%(valid_value2)s، هتد." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"دڵنیابە ئەم بەهایە لانیکەم %(limit_value)d نوسەی هەیە (%(show_value)d هەیە)." +msgstr[1] "" +"دڵنیابە ئەم بەهایە لانیکەم %(limit_value)d نوسەی هەیە (%(show_value)d هەیە)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"دڵنیابە ئەم بەهایە لانی زۆر %(limit_value)d نوسەی هەیە (%(show_value)d هەیە)." +msgstr[1] "" +"دڵنیابە ئەم بەهایە لانی زۆر %(limit_value)d نوسەی هەیە (%(show_value)d هەیە)." + +msgid "Enter a number." +msgstr "ژمارەیەک بنوسە." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "دڵنیابە لەوەی بەگشتی زیاتر لە %(max)s ژمارە نیە." +msgstr[1] "دڵنیابە لەوەی بەگشتی زیاتر لە %(max)s ژمارە نیە." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "دڵنیابە لەوەی بەگشتی زیاتر لە %(max)s ژمارەی دەیی نیە." +msgstr[1] "دڵنیابە لەوەی بەگشتی زیاتر لە %(max)s ژمارەی دەیی نیە." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "دڵنیابە لەوەی زیاتر نیە لە %(max)s ژمارە پێش خاڵی ژمارەی دەیی." +msgstr[1] "دڵنیابە لەوەی زیاتر نیە لە %(max)s ژمارە پێش خاڵی ژمارەی دەیی." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"پەڕگەپاشبەندی “%(extension)s” ڕێگەپێنەدراوە. پاشبنەدە ڕێگەپێدراوەکان: " +"%(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "نوسەی بەتاڵ ڕێگەپێنەدراوە." + +msgid "and" +msgstr "و" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s لەگەڵ %(field_labels)s پێشتر تۆمارکراوە." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "سنوردارکردنی “%(name)s” پێشێلکراوە." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "بەهای %(value)r هەڵبژاردەیەکی دروست نیە." + +msgid "This field cannot be null." +msgstr "ئەم خانەیە نابێت پووچ بێت." + +msgid "This field cannot be blank." +msgstr "ئەم خانەیە نابێت بەتاڵ بێت." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s لەگەڵ %(field_label)s پێشتر تۆمارکراوە." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s دەبێت بێهاوتا بێت بۆ %(date_field_label)s %(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "خانە لە جۆری: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "بەهای “%(value)s” دەبێت دروست یان چەوت بێت." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "بەهای “%(value)s” دەبێت یان دروست، یان چەوت یان هیچ بێت." + +msgid "Boolean (Either True or False)" +msgstr "بولی (یان دروست یان چەوت)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "ڕیزبەند (تا %(max_length)s)" + +msgid "String (unlimited)" +msgstr "ڕیز(بێسنوور)" + +msgid "Comma-separated integers" +msgstr "ژمارە تەواوەکان بە کۆما جیاکراونەتەوە" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"بەهای “%(value)s” شێوازی بەروارێکی نادروستی هەیە. دەبێت بەشێوازی YYYY-MM-DD " +"بێت." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"بەهای “%(value)s” شێوازێکی تەواوی هەیە (YYYY-MM-DD) بەڵام بەروارێکی هەڵەیە." + +msgid "Date (without time)" +msgstr "بەروار (بەبێ کات)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"بەهای “%(value)s” شێوازێکی نادروستی هەیە. دەبێت بەشێوەی YYYY-MM-DD HH:MM[:" +"ss[.uuuuuu]][TZ] بێت." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"بەهای “%(value)s” شێوازێکی دروستی هەیە (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]) " +"بەروار/کاتێکی نادروستە." + +msgid "Date (with time)" +msgstr "بەروار (لەگەڵ کات)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "بەهای “%(value)s” دەبێت ژمارەیەکی دەیی بێت." + +msgid "Decimal number" +msgstr "ژمارەی دەیی" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"بەهای “%(value)s” شێوازێکی هەڵەی هەیە. دەبێت بەشێوەی [DD] [[HH:]MM:]ss[." +"uuuuuu] format بێت." + +msgid "Duration" +msgstr "ماوە" + +msgid "Email address" +msgstr "ناونیشانی ئیمەیڵ" + +msgid "File path" +msgstr "ڕێڕەوی پەڕگە" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "بەهای “%(value)s” دەبێت ژمارەی کەرتی بێت." + +msgid "Floating point number" +msgstr "خاڵی ژمارەی کەرتی" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "بەهای “%(value)s” دەبێت ژمارەی تەواو بێت." + +msgid "Integer" +msgstr "ژمارەی تەواو" + +msgid "Big (8 byte) integer" +msgstr "(8بایت) ژمارەی تەواوی گەورە" + +msgid "Small integer" +msgstr "ژمارەی تەواوی بچوک" + +msgid "IPv4 address" +msgstr "ناونیشانی IPv4" + +msgid "IP address" +msgstr "ناونیشانی ئای پی" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "بەهای “%(value)s” دەبێت یان هیچ، یان دروست یان چەوت بێت." + +msgid "Boolean (Either True, False or None)" +msgstr "بولی (یان دروست یان چەوت یان هیچ)" + +msgid "Positive big integer" +msgstr "ژمارەی تەواوی گەورەی ئەرێنی" + +msgid "Positive integer" +msgstr "ژمارەی تەواوی ئەرێنی" + +msgid "Positive small integer" +msgstr "ژمارەی تەواوی بچوکی ئەرێنی" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "سلەگ (تا %(max_length)s)" + +msgid "Text" +msgstr "نوسین" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"بەهای “%(value)s” شێوازێکی هەڵەی هەیە. دەبێت بەشێوەی HH:MM[:ss[.uuuuuu]] بێت." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"“%(value)s” بەهاکە شێوازێکی دروستی هەیە (HH:MM[:ss[.uuuuuu]]) بەڵام کاتێکی " +"نادروستە." + +msgid "Time" +msgstr "کات" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "داتای دووانەیی خاو" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "“%(value)s ” UUIDێکی دروستی نیە." + +msgid "Universally unique identifier" +msgstr "ناسێنەرێکی بێهاوتای گشتگیر" + +msgid "File" +msgstr "پەڕگە" + +msgid "Image" +msgstr "وێنە" + +msgid "A JSON object" +msgstr "ئۆبجێکتێکی JSON" + +msgid "Value must be valid JSON." +msgstr "بەها پێویستە JSONی دروست بێت." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "%(model)s هاوشێوەیە لەگەڵ %(field)s %(value)r نیە." + +msgid "Foreign Key (type determined by related field)" +msgstr "کلیلی دەرەکی(جۆر بەپێی خانەی پەیوەندیدار دیاری دەکرێت)" + +msgid "One-to-one relationship" +msgstr "پەیوەندیی یەک-بۆ-یەک" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s پەیوەندی" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s پەیوەندییەکان" + +msgid "Many-to-many relationship" +msgstr "پەیوەندیی گشت-بۆ-گشت" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":؟.!" + +msgid "This field is required." +msgstr "ئەم خانەیە داواکراوە." + +msgid "Enter a whole number." +msgstr "ژمارەیەکی تەواو بنوسە." + +msgid "Enter a valid date." +msgstr "بەرواری دروست بنوسە." + +msgid "Enter a valid time." +msgstr "تکایە کاتێکی ڕاست بنووسە." + +msgid "Enter a valid date/time." +msgstr "بەروار/کاتی دروست بنوسە." + +msgid "Enter a valid duration." +msgstr "بەهای دروستی ماوە بنوسە." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "ژمارەی ڕۆژەکان دەبێت لەنێوان {min_days} و {max_days} بێت." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "هیچ پەڕگەیەک نەنێردراوە. جۆری کۆدکردنی پەڕگەکە لەسەر فۆرمەکە بپشکنە." + +msgid "No file was submitted." +msgstr "هیچ پەڕگەیەک نەنێردراوە." + +msgid "The submitted file is empty." +msgstr "پەڕگەی نێردراو بەتاڵە." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "دڵنیابە کە ناوی پەڕگە زیاتر لە %(max)d نوسەی نیە (%(length)d هەیە)." +msgstr[1] "دڵنیابە کە ناوی پەڕگە زیاتر لە %(max)d نوسەی نیە (%(length)d هەیە)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"تکایە یان پەڕگەیەک بنێرە یان چوارچێوەی پشکنین هەڵبژێرە، نەک هەردووکیان." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"وێنەی دروست هەڵبژێرە. ئەو پەڕگەی بەرزتکردۆوە یان وێنە نیە یان وێنەیەکی خراپ " +"بووە." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"هەڵبژاردەیەکی دروست دیاری بکە. %(value)s یەکێک نیە لە هەڵبژاردە بەردەستەکان." + +msgid "Enter a list of values." +msgstr "لیستی بەهاکان بنوسە." + +msgid "Enter a complete value." +msgstr "تەواوی بەهایەک بنوسە." + +msgid "Enter a valid UUID." +msgstr "بەهای دروستی UUID بنوسە." + +msgid "Enter a valid JSON." +msgstr "JSONی دروست بنوسە." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(خانەی شاراوە %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"داتاکانی فۆڕمی بەڕێوەبردن نەماوە یان دەستکاری کراون. خانە وونبووەکان: " +"%(field_names)s. لەوانەیە پێویستت بە تۆمارکردنی ڕاپۆرتی هەڵە بێت ئەگەر " +"کێشەکە بەردەوام بوو." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "تکایە لانی زۆر %(num)d فۆرم بنێرە." +msgstr[1] "تکایە لانی زۆر %(num)d فۆرم بنێرە." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "تکایە لانی کەم %(num)d فۆرم بنێرە." +msgstr[1] "تکایە لانی کەم %(num)d فۆرم بنێرە." + +msgid "Order" +msgstr "ڕیز" + +msgid "Delete" +msgstr "سڕینەوە" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "تکایە داتا دووبارەکراوەکان چاکبکەرەوە بۆ %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"تکایە ئەو داتا دووبارەکراوەکانە چاکبکەرەوە بۆ %(field)s، کە دەبێت بێهاوتابن." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"تکایە ئەو داتا دووبارەکراوەکان چاکبکەرەوە بۆ %(field_name)s کە دەبێت بێهاوتا " +"بن بۆ %(lookup)s لە%(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "تکایە بەها دووبارەکانی خوارەوە ڕاست بکەرەوە." + +msgid "The inline value did not match the parent instance." +msgstr "بەهای ناوهێڵ هاوشێوەی نمونەی باوانەکەی نیە." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "هەڵبژاردەی دروست دیاری بکە. هەڵبژاردە لە هەڵبژاردە بەردەستەکان نیە." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "“%(pk)s” بەهایەکی دروست نیە." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s نەتوانرا لە ناوچەی کاتدا لێکبدرێتەوە %(current_timezone)s؛ " +"لەوانەیە ناڕوون بێت یان لەوانەیە بوونی نەبێت." + +msgid "Clear" +msgstr "پاککردنەوە" + +msgid "Currently" +msgstr "ئێستا" + +msgid "Change" +msgstr "گۆڕین" + +msgid "Unknown" +msgstr "نەزانراو" + +msgid "Yes" +msgstr "بەڵێ" + +msgid "No" +msgstr "نەخێر" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "بەڵێ،نەخێر،لەوانەیە" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)dبایت" +msgstr[1] "%(size)d بایت" + +#, python-format +msgid "%s KB" +msgstr "%s کب" + +#, python-format +msgid "%s MB" +msgstr "%s مب" + +#, python-format +msgid "%s GB" +msgstr "%s گب" + +#, python-format +msgid "%s TB" +msgstr "%s تب" + +#, python-format +msgid "%s PB" +msgstr "%s پب" + +msgid "p.m." +msgstr "پ.ن" + +msgid "a.m." +msgstr "پ.ن" + +msgid "PM" +msgstr "د.ن" + +msgid "AM" +msgstr "پ.ن" + +msgid "midnight" +msgstr "نیوەشەو" + +msgid "noon" +msgstr "نیوەڕۆ" + +msgid "Monday" +msgstr "دووشەممە" + +msgid "Tuesday" +msgstr "سێشەممە" + +msgid "Wednesday" +msgstr "چوارشەممە" + +msgid "Thursday" +msgstr "پێنجشەممە" + +msgid "Friday" +msgstr "هەینی" + +msgid "Saturday" +msgstr "شەممە" + +msgid "Sunday" +msgstr "یەکشەممە" + +msgid "Mon" +msgstr "دوو" + +msgid "Tue" +msgstr "سێ" + +msgid "Wed" +msgstr "چوار" + +msgid "Thu" +msgstr "پێنج" + +msgid "Fri" +msgstr "هەین" + +msgid "Sat" +msgstr "شەم" + +msgid "Sun" +msgstr "یەک" + +msgid "January" +msgstr "ڕێبەندان" + +msgid "February" +msgstr "ڕەشەمە" + +msgid "March" +msgstr "نەورۆز" + +msgid "April" +msgstr "گوڵان" + +msgid "May" +msgstr "جۆزەردان" + +msgid "June" +msgstr "پوشپەڕ" + +msgid "July" +msgstr "گەلاوێژ" + +msgid "August" +msgstr "خەرمانان" + +msgid "September" +msgstr "ڕەزبەر" + +msgid "October" +msgstr "گەڵاڕێزان" + +msgid "November" +msgstr "سەرماوەرز" + +msgid "December" +msgstr "بەفرانبار" + +msgid "jan" +msgstr "‎ڕێبەندان" + +msgid "feb" +msgstr "ڕەشەمە" + +msgid "mar" +msgstr "نەورۆز" + +msgid "apr" +msgstr "گوڵان" + +msgid "may" +msgstr "‎جۆزەردان" + +msgid "jun" +msgstr "پوشپەڕ" + +msgid "jul" +msgstr "‎گەلاوێژ" + +msgid "aug" +msgstr "خەرمانان" + +msgid "sep" +msgstr "‎ڕەزبەر" + +msgid "oct" +msgstr "‎گەڵاڕێزان" + +msgid "nov" +msgstr "‎سەرماوەرز" + +msgid "dec" +msgstr "‎بەفرانبار" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "‎ڕێبەندان" + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "ڕەشەمە" + +msgctxt "abbrev. month" +msgid "March" +msgstr "نەورۆز" + +msgctxt "abbrev. month" +msgid "April" +msgstr "گوڵان" + +msgctxt "abbrev. month" +msgid "May" +msgstr "جۆزەردان" + +msgctxt "abbrev. month" +msgid "June" +msgstr "پوشپەڕ" + +msgctxt "abbrev. month" +msgid "July" +msgstr "گەلاوێژ" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "خەرمانان" + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "ڕەزبەر" + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "‎گەڵاڕێزان" + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "‎سەرماوەرز" + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "‎بەفرانبار" + +msgctxt "alt. month" +msgid "January" +msgstr "ڕێبەندان" + +msgctxt "alt. month" +msgid "February" +msgstr "ڕەشەمە" + +msgctxt "alt. month" +msgid "March" +msgstr "نەورۆز" + +msgctxt "alt. month" +msgid "April" +msgstr "گوڵان" + +msgctxt "alt. month" +msgid "May" +msgstr "جۆزەردان" + +msgctxt "alt. month" +msgid "June" +msgstr "پوشپەڕ" + +msgctxt "alt. month" +msgid "July" +msgstr "گەلاوێژ" + +msgctxt "alt. month" +msgid "August" +msgstr "خەرمانان" + +msgctxt "alt. month" +msgid "September" +msgstr "ڕەزبەر" + +msgctxt "alt. month" +msgid "October" +msgstr "گەڵاڕێزان" + +msgctxt "alt. month" +msgid "November" +msgstr "سەرماوەرز" + +msgctxt "alt. month" +msgid "December" +msgstr "بەفرانبار" + +msgid "This is not a valid IPv6 address." +msgstr "ئەمە ناونیشانی IPv6 دروست نیە." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s..." + +msgid "or" +msgstr "یان" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr "، " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "‫%(num)d ساڵ" +msgstr[1] "‫%(num)d ساڵ" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "‫%(num)d مانگ" +msgstr[1] "‫%(num)d مانگ" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "‫%(num)d هەفتە" +msgstr[1] "‫%(num)d هەفتە" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "‫%(num)d ڕۆژ" +msgstr[1] "‫%(num)d ڕۆژ" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "‫%(num)d کاتژمێر" +msgstr[1] "‫%(num)d کاتژمێر" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "‫%(num)d خولەک" +msgstr[1] "‫%(num)d خولەک" + +msgid "Forbidden" +msgstr "ڕێپێنەدراو" + +msgid "CSRF verification failed. Request aborted." +msgstr "پشتڕاستکردنەوەی CSRF شکستی هێنا. داواکاری هەڵوەشاوەتەوە." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"تۆ ئەم پەیامە دەبینیت چونکە ئەم ماڵپەڕە HTTPS پێویستی بە \"سەردێڕی " +"ئاماژەدەر\" هەیە کە لەلایەن وێبگەڕەکەتەوە بنێردرێت، بەڵام هیچیان نەنێردراوە. " +"ئەم سەردێڕە بۆ هۆکاری ئاسایش پێویستە، بۆ دڵنیابوون لەوەی کە وێبگەڕەکەت " +"لەلایەن لایەنی سێیەمەوە دەستی بەسەردا ناگیرێت." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"ئەگەر ڕێکخستنی شەکرۆکەی ئەم وێبگەڕەت بۆ “Referer” ناچالاککردووە، تکایە " +"چالاکی بکەرەوە، لانیکەم بۆ ئەم ماڵپەڕە، یان بۆ پەیوەندییەکانی HTTPS، یاخود " +"بۆ داواکانی \"Same-origin\"." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"ئەگەر تۆ تاگی بەکاردەهێنێت " +"یان سەرپەڕەی “Referrer-Policy: no-referrer” لەخۆدەگرێت، تکایە بیانسڕەوە. " +"پاراستنی CSRFەکە پێویستی بە سەرپەڕەی “Referer”هەیە بۆ ئەنجامدانی پشکنینی " +"گەڕاندنەوەی توندوتۆڵ. ئەگەر خەمی تایبەتمەندیت هەیە، بەدیلەکانی وەکو بۆ بەستنەوەی ماڵپەڕەکانی لایەنی سێیەم." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"تۆ ئەم پەیامە دەبینیت چونکە ئەم ماڵپەڕە پێویستی بە شەکرۆکەی CSRF هەیە لە " +"کاتی ناردنی فۆڕمەکاندا. ئەم شەکرۆکەیە بۆ هۆکاری ئاسایش پێویستە، بۆ دڵنیابوون " +"لەوەی کە وێبگەڕەکەت لەلایەن لایەنی سێیەمەوە دەستی بەسەردا ناگیرێت." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"ئەگەر ڕێکخستنی شەکرۆکەی ئەم وێبگەڕەت ناچالاککردووە، تکایە چالاکی بکەرەوە، " +"لانیکەم بۆ ئەم ماڵپەڕە، یان بۆ داواکانی \"Same-origin\"" + +msgid "More information is available with DEBUG=True." +msgstr "زانیاریی زیاتر بەردەستە لەگەڵ DEBUG=True." + +msgid "No year specified" +msgstr "هیچ ساڵێک دیاری نەکراوە" + +msgid "Date out of range" +msgstr "بەروار لە دەرەوەی بواردایە" + +msgid "No month specified" +msgstr "هیچ مانگێک دیاری نەکراوە" + +msgid "No day specified" +msgstr "هیچ ڕۆژێک دیاری نەکراوە" + +msgid "No week specified" +msgstr "هیچ حەفتەیەک دیاری نەکراوە" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "هیچ %(verbose_name_plural)s بەردەست نییە" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"لەداهاتوودا %(verbose_name_plural)s بەردەست نیە چونکە %(class_name)s." +"allow_future چەوتە." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "ڕیزبەندی بەروار نادروستە “%(datestr)s” شێوازی “%(format)s” پێ بدە" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "هیچ %(verbose_name)s هاوتای داواکارییەکە نیە" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "لاپەڕە “کۆتا” نییە، هەروەها ناتوانرێت بگۆڕدرێت بۆ ژمارەی تەواو." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "لاپەڕەی نادروستە (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "لیستی بەتاڵ و “%(class_name)s.allow_empty” چەوتە." + +msgid "Directory indexes are not allowed here." +msgstr "لێرەدا نوانەی بوخچەکان ڕێگەپێدراو نیە." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "“%(path)s” بوونی نیە" + +#, python-format +msgid "Index of %(directory)s" +msgstr "نوانەی %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "دامەزراندن بەسەرکەوتوویی کاریکرد! پیرۆزە!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"سەیری تێبینیەکانی بڵاوکردنەوە بکە بۆ جانگۆی " +"%(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"ئەم لاپەڕەیە دەبینیت چونکە DEBUG=True لەناو پەڕگەی ڕێکخستنەکانتە و بۆ هیچ URLێک " +"ڕێکنەخراوە." + +msgid "Django Documentation" +msgstr "بەڵگەنامەکردنی جانگۆ" + +msgid "Topics, references, & how-to’s" +msgstr "بابەتەکان, سەرچاوەکان, & چۆنێتی" + +msgid "Tutorial: A Polling App" +msgstr "فێرکاریی: ئاپێکی ڕاپرسی" + +msgid "Get started with Django" +msgstr "دەستپێبکە لەگەڵ جانگۆ" + +msgid "Django Community" +msgstr "کۆمەڵگەی جانگۆ" + +msgid "Connect, get help, or contribute" +msgstr "پەیوەندی بکە، یارمەتی وەربگرە، یان بەشداری بکە" diff --git a/external_sources/django/django/conf/locale/ckb/__init__.py b/external_sources/django/django/conf/locale/ckb/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/ckb/formats.py b/external_sources/django/django/conf/locale/ckb/formats.py new file mode 100644 index 0000000..162c840 --- /dev/null +++ b/external_sources/django/django/conf/locale/ckb/formats.py @@ -0,0 +1,21 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j F Y" +TIME_FORMAT = "G:i" +DATETIME_FORMAT = "j F Y، کاتژمێر G:i" +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "Y/n/j" +SHORT_DATETIME_FORMAT = "Y/n/j،‏ G:i" +FIRST_DAY_OF_WEEK = 6 + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = "." +THOUSAND_SEPARATOR = "," +# NUMBER_GROUPING = diff --git a/external_sources/django/django/conf/locale/cs/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/cs/LC_MESSAGES/django.po new file mode 100644 index 0000000..14f5ef9 --- /dev/null +++ b/external_sources/django/django/conf/locale/cs/LC_MESSAGES/django.po @@ -0,0 +1,1388 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Claude Paroz , 2020 +# Jannis Leidel , 2011 +# Jan Papež , 2012,2024 +# Jiří Podhorecký , 2024 +# Jiří Podhorecký , 2022 +# Jirka Vejrazka , 2011 +# Jiří Podhorecký , 2020 +# Tomáš Ehrlich , 2015 +# Vláďa Macek , 2012-2014 +# Vláďa Macek , 2015-2022 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-10-07 06:49+0000\n" +"Last-Translator: Jan Papež , 2012,2024\n" +"Language-Team: Czech (http://app.transifex.com/django/django/language/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" + +msgid "Afrikaans" +msgstr "afrikánsky" + +msgid "Arabic" +msgstr "arabsky" + +msgid "Algerian Arabic" +msgstr "alžírskou arabštinou" + +msgid "Asturian" +msgstr "asturštinou" + +msgid "Azerbaijani" +msgstr "ázerbájdžánsky" + +msgid "Bulgarian" +msgstr "bulharsky" + +msgid "Belarusian" +msgstr "bělorusky" + +msgid "Bengali" +msgstr "bengálsky" + +msgid "Breton" +msgstr "bretonsky" + +msgid "Bosnian" +msgstr "bosensky" + +msgid "Catalan" +msgstr "katalánsky" + +msgid "Central Kurdish (Sorani)" +msgstr "Střední kurdština (soranština)" + +msgid "Czech" +msgstr "česky" + +msgid "Welsh" +msgstr "velšsky" + +msgid "Danish" +msgstr "dánsky" + +msgid "German" +msgstr "německy" + +msgid "Lower Sorbian" +msgstr "dolnolužickou srbštinou" + +msgid "Greek" +msgstr "řecky" + +msgid "English" +msgstr "anglicky" + +msgid "Australian English" +msgstr "australskou angličtinou" + +msgid "British English" +msgstr "britskou angličtinou" + +msgid "Esperanto" +msgstr "esperantsky" + +msgid "Spanish" +msgstr "španělsky" + +msgid "Argentinian Spanish" +msgstr "argentinskou španělštinou" + +msgid "Colombian Spanish" +msgstr "kolumbijskou španělštinou" + +msgid "Mexican Spanish" +msgstr "mexickou španělštinou" + +msgid "Nicaraguan Spanish" +msgstr "nikaragujskou španělštinou" + +msgid "Venezuelan Spanish" +msgstr "venezuelskou španělštinou" + +msgid "Estonian" +msgstr "estonsky" + +msgid "Basque" +msgstr "baskicky" + +msgid "Persian" +msgstr "persky" + +msgid "Finnish" +msgstr "finsky" + +msgid "French" +msgstr "francouzsky" + +msgid "Frisian" +msgstr "frísky" + +msgid "Irish" +msgstr "irsky" + +msgid "Scottish Gaelic" +msgstr "skotskou keltštinou" + +msgid "Galician" +msgstr "galicijsky" + +msgid "Hebrew" +msgstr "hebrejsky" + +msgid "Hindi" +msgstr "hindsky" + +msgid "Croatian" +msgstr "chorvatsky" + +msgid "Upper Sorbian" +msgstr "hornolužickou srbštinou" + +msgid "Hungarian" +msgstr "maďarsky" + +msgid "Armenian" +msgstr "arménštinou" + +msgid "Interlingua" +msgstr "interlingua" + +msgid "Indonesian" +msgstr "indonésky" + +msgid "Igbo" +msgstr "igboštinou" + +msgid "Ido" +msgstr "idem" + +msgid "Icelandic" +msgstr "islandsky" + +msgid "Italian" +msgstr "italsky" + +msgid "Japanese" +msgstr "japonsky" + +msgid "Georgian" +msgstr "gruzínštinou" + +msgid "Kabyle" +msgstr "kabylštinou" + +msgid "Kazakh" +msgstr "kazašsky" + +msgid "Khmer" +msgstr "khmersky" + +msgid "Kannada" +msgstr "kannadsky" + +msgid "Korean" +msgstr "korejsky" + +msgid "Kyrgyz" +msgstr "kyrgyzštinou" + +msgid "Luxembourgish" +msgstr "lucembursky" + +msgid "Lithuanian" +msgstr "litevsky" + +msgid "Latvian" +msgstr "lotyšsky" + +msgid "Macedonian" +msgstr "makedonsky" + +msgid "Malayalam" +msgstr "malajálamsky" + +msgid "Mongolian" +msgstr "mongolsky" + +msgid "Marathi" +msgstr "marathi" + +msgid "Malay" +msgstr "malajštinou" + +msgid "Burmese" +msgstr "barmštinou" + +msgid "Norwegian Bokmål" +msgstr "bokmål norštinou" + +msgid "Nepali" +msgstr "nepálsky" + +msgid "Dutch" +msgstr "nizozemsky" + +msgid "Norwegian Nynorsk" +msgstr "norsky (Nynorsk)" + +msgid "Ossetic" +msgstr "osetštinou" + +msgid "Punjabi" +msgstr "paňdžábsky" + +msgid "Polish" +msgstr "polsky" + +msgid "Portuguese" +msgstr "portugalsky" + +msgid "Brazilian Portuguese" +msgstr "brazilskou portugalštinou" + +msgid "Romanian" +msgstr "rumunsky" + +msgid "Russian" +msgstr "rusky" + +msgid "Slovak" +msgstr "slovensky" + +msgid "Slovenian" +msgstr "slovinsky" + +msgid "Albanian" +msgstr "albánsky" + +msgid "Serbian" +msgstr "srbsky" + +msgid "Serbian Latin" +msgstr "srbsky (latinkou)" + +msgid "Swedish" +msgstr "švédsky" + +msgid "Swahili" +msgstr "svahilsky" + +msgid "Tamil" +msgstr "tamilsky" + +msgid "Telugu" +msgstr "telužsky" + +msgid "Tajik" +msgstr "Tádžik" + +msgid "Thai" +msgstr "thajsky" + +msgid "Turkmen" +msgstr "turkmenštinou" + +msgid "Turkish" +msgstr "turecky" + +msgid "Tatar" +msgstr "tatarsky" + +msgid "Udmurt" +msgstr "udmurtsky" + +msgid "Uyghur" +msgstr "Ujgurština" + +msgid "Ukrainian" +msgstr "ukrajinsky" + +msgid "Urdu" +msgstr "urdsky" + +msgid "Uzbek" +msgstr "uzbecky" + +msgid "Vietnamese" +msgstr "vietnamsky" + +msgid "Simplified Chinese" +msgstr "čínsky (zjednodušeně)" + +msgid "Traditional Chinese" +msgstr "čínsky (tradičně)" + +msgid "Messages" +msgstr "Zprávy" + +msgid "Site Maps" +msgstr "Mapy webu" + +msgid "Static Files" +msgstr "Statické soubory" + +msgid "Syndication" +msgstr "Syndikace" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "Číslo stránky není celé číslo." + +msgid "That page number is less than 1" +msgstr "Číslo stránky je menší než 1" + +msgid "That page contains no results" +msgstr "Stránka je bez výsledků" + +msgid "Enter a valid value." +msgstr "Zadejte platnou hodnotu." + +msgid "Enter a valid domain name." +msgstr "Zadejte platný název domény." + +msgid "Enter a valid URL." +msgstr "Zadejte platnou adresu URL." + +msgid "Enter a valid integer." +msgstr "Zadejte platné celé číslo." + +msgid "Enter a valid email address." +msgstr "Zadejte platnou e-mailovou adresu." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Vložte platný identifikátor složený pouze z písmen, čísel, podtržítek a " +"pomlček." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Zadejte platný identifikátor složený pouze z písmen, čísel, podtržítek a " +"pomlček typu Unicode." + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "Zadejte platnou %(protocol)s adresu." + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "IPv4 or IPv6" +msgstr "IPv4 nebo IPv6" + +msgid "Enter only digits separated by commas." +msgstr "Zadejte pouze číslice oddělené čárkami." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Hodnota musí být %(limit_value)s (nyní je %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Hodnota musí být menší nebo rovna %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Hodnota musí být větší nebo rovna %(limit_value)s." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "" +"Ujistěte se, že tato hodnota je násobkem velikosti kroku %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"Zajistěte, aby tato hodnota byla %(limit_value)s násobkem velikosti kroku , " +"počínaje %(offset)s, např. %(offset)s, %(valid_value1)s, %(valid_value2)s, a " +"tak dále." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Tato hodnota má mít nejméně %(limit_value)d znak (nyní má %(show_value)d)." +msgstr[1] "" +"Tato hodnota má mít nejméně %(limit_value)d znaky (nyní má %(show_value)d)." +msgstr[2] "" +"Tato hodnota má mít nejméně %(limit_value)d znaku (nyní má %(show_value)d)." +msgstr[3] "" +"Tato hodnota má mít nejméně %(limit_value)d znaků (nyní má %(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Tato hodnota má mít nejvýše %(limit_value)d znak (nyní má %(show_value)d)." +msgstr[1] "" +"Tato hodnota má mít nejvýše %(limit_value)d znaky (nyní má %(show_value)d)." +msgstr[2] "" +"Tato hodnota má mít nejvýše %(limit_value)d znaků (nyní má %(show_value)d)." +msgstr[3] "" +"Tato hodnota má mít nejvýše %(limit_value)d znaků (nyní má %(show_value)d)." + +msgid "Enter a number." +msgstr "Zadejte číslo." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Ujistěte se, že pole neobsahuje celkem více než %(max)s číslici." +msgstr[1] "Ujistěte se, že pole neobsahuje celkem více než %(max)s číslice." +msgstr[2] "Ujistěte se, že pole neobsahuje celkem více než %(max)s číslic." +msgstr[3] "Ujistěte se, že pole neobsahuje celkem více než %(max)s číslic." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Ujistěte se, že pole neobsahuje více než %(max)s desetinné místo." +msgstr[1] "Ujistěte se, že pole neobsahuje více než %(max)s desetinná místa." +msgstr[2] "Ujistěte se, že pole neobsahuje více než %(max)s desetinných míst." +msgstr[3] "Ujistěte se, že pole neobsahuje více než %(max)s desetinných míst." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Ujistěte se, že hodnota neobsahuje více než %(max)s místo před desetinnou " +"čárkou (tečkou)." +msgstr[1] "" +"Ujistěte se, že hodnota neobsahuje více než %(max)s místa před desetinnou " +"čárkou (tečkou)." +msgstr[2] "" +"Ujistěte se, že hodnota neobsahuje více než %(max)s míst před desetinnou " +"čárkou (tečkou)." +msgstr[3] "" +"Ujistěte se, že hodnota neobsahuje více než %(max)s míst před desetinnou " +"čárkou (tečkou)." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Přípona souboru \"%(extension)s\" není povolena. Povolené jsou tyto: " +"%(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Nulové znaky nejsou povoleny." + +msgid "and" +msgstr "a" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" +"Položka %(model_name)s s touto kombinací hodnot v polích %(field_labels)s " +"již existuje." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "Omezení \"%(name)s\" je porušeno." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Hodnota %(value)r není platná možnost." + +msgid "This field cannot be null." +msgstr "Pole nemůže být null." + +msgid "This field cannot be blank." +msgstr "Pole nemůže být prázdné." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "" +"Položka %(model_name)s s touto hodnotou v poli %(field_label)s již existuje." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"Pole %(field_label)s musí být unikátní testem %(lookup_type)s pro pole " +"%(date_field_label)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Pole typu: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "Hodnota \"%(value)s\" musí být buď True nebo False." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "Hodnota \"%(value)s\" musí být buď True, False nebo None." + +msgid "Boolean (Either True or False)" +msgstr "Pravdivost (buď Ano (True), nebo Ne (False))" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Řetězec (max. %(max_length)s znaků)" + +msgid "String (unlimited)" +msgstr "Řetězec (neomezený)" + +msgid "Comma-separated integers" +msgstr "Celá čísla oddělená čárkou" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "Hodnota \"%(value)s\" není platné datum. Musí být ve tvaru RRRR-MM-DD." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"Ačkoli hodnota \"%(value)s\" je ve správném tvaru (RRRR-MM-DD), jde o " +"neplatné datum." + +msgid "Date (without time)" +msgstr "Datum (bez času)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"Hodnota \"%(value)s\" je v neplatném tvaru, který má být RRRR-MM-DD HH:MM[:" +"SS[.uuuuuu]][TZ]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"Ačkoli hodnota \"%(value)s\" je ve správném tvaru (RRRR-MM-DD HH:MM[:SS[." +"uuuuuu]][TZ]), jde o neplatné datum a čas." + +msgid "Date (with time)" +msgstr "Datum (s časem)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "Hodnota \"%(value)s\" musí být desítkové číslo." + +msgid "Decimal number" +msgstr "Desetinné číslo" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"Hodnota \"%(value)s\" je v neplatném tvaru, který má být [DD] [HH:[MM:]]ss[." +"uuuuuu]." + +msgid "Duration" +msgstr "Doba trvání" + +msgid "Email address" +msgstr "E-mailová adresa" + +msgid "File path" +msgstr "Cesta k souboru" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "Hodnota \"%(value)s\" musí být reálné číslo." + +msgid "Floating point number" +msgstr "Číslo s pohyblivou řádovou čárkou" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "Hodnota \"%(value)s\" musí být celé číslo." + +msgid "Integer" +msgstr "Celé číslo" + +msgid "Big (8 byte) integer" +msgstr "Velké číslo (8 bajtů)" + +msgid "Small integer" +msgstr "Malé celé číslo" + +msgid "IPv4 address" +msgstr "Adresa IPv4" + +msgid "IP address" +msgstr "Adresa IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "Hodnota \"%(value)s\" musí být buď None, True nebo False." + +msgid "Boolean (Either True, False or None)" +msgstr "Pravdivost (buď Ano (True), Ne (False) nebo Nic (None))" + +msgid "Positive big integer" +msgstr "Velké kladné celé číslo" + +msgid "Positive integer" +msgstr "Kladné celé číslo" + +msgid "Positive small integer" +msgstr "Kladné malé celé číslo" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Identifikátor (nejvýše %(max_length)s znaků)" + +msgid "Text" +msgstr "Text" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"Hodnota \"%(value)s\" je v neplatném tvaru, který má být HH:MM[:ss[.uuuuuu]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"Ačkoli hodnota \"%(value)s\" je ve správném tvaru (HH:MM[:ss[.uuuuuu]]), jde " +"o neplatný čas." + +msgid "Time" +msgstr "Čas" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Přímá binární data" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "\"%(value)s\" není platná hodnota typu UUID." + +msgid "Universally unique identifier" +msgstr "Všeobecně jedinečný identifikátor" + +msgid "File" +msgstr "Soubor" + +msgid "Image" +msgstr "Obrázek" + +msgid "A JSON object" +msgstr "Objekt typu JSON" + +msgid "Value must be valid JSON." +msgstr "Hodnota musí být platná struktura typu JSON." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" +"Položka typu %(model)s s hodnotou %(field)s rovnou %(value)r neexistuje." + +msgid "Foreign Key (type determined by related field)" +msgstr "Cizí klíč (typ určen pomocí souvisejícího pole)" + +msgid "One-to-one relationship" +msgstr "Vazba jedna-jedna" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "Vazba z %(from)s do %(to)s" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "Vazby z %(from)s do %(to)s" + +msgid "Many-to-many relationship" +msgstr "Vazba mnoho-mnoho" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?!" + +msgid "This field is required." +msgstr "Toto pole je třeba vyplnit." + +msgid "Enter a whole number." +msgstr "Zadejte celé číslo." + +msgid "Enter a valid date." +msgstr "Zadejte platné datum." + +msgid "Enter a valid time." +msgstr "Zadejte platný čas." + +msgid "Enter a valid date/time." +msgstr "Zadejte platné datum a čas." + +msgid "Enter a valid duration." +msgstr "Zadejte platnou délku trvání." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Počet dní musí být mezi {min_days} a {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"Soubor nebyl odeslán. Zkontrolujte parametr \"encoding type\" formuláře." + +msgid "No file was submitted." +msgstr "Žádný soubor nebyl odeslán." + +msgid "The submitted file is empty." +msgstr "Odeslaný soubor je prázdný." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Tento název souboru má mít nejvýše %(max)d znak (nyní má %(length)d)." +msgstr[1] "" +"Tento název souboru má mít nejvýše %(max)d znaky (nyní má %(length)d)." +msgstr[2] "" +"Tento název souboru má mít nejvýše %(max)d znaku (nyní má %(length)d)." +msgstr[3] "" +"Tento název souboru má mít nejvýše %(max)d znaků (nyní má %(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Musíte vybrat cestu k souboru nebo vymazat výběr, ne obojí." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Nahrajte platný obrázek. Odeslaný soubor buď nebyl obrázek nebo byl poškozen." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Vyberte platnou možnost, \"%(value)s\" není k dispozici." + +msgid "Enter a list of values." +msgstr "Zadejte seznam hodnot." + +msgid "Enter a complete value." +msgstr "Zadejte úplnou hodnotu." + +msgid "Enter a valid UUID." +msgstr "Zadejte platné UUID." + +msgid "Enter a valid JSON." +msgstr "Zadejte platnou strukturu typu JSON." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Skryté pole %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"Data objektu ManagementForm chybí nebo s nimi bylo nedovoleně manipulováno. " +"Chybějící pole: %(field_names)s. Pokud problém přetrvává, budete možná muset " +"problém ohlásit." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Odešlete prosím nejvíce %(num)d formulář." +msgstr[1] "Odešlete prosím nejvíce %(num)d formuláře." +msgstr[2] "Odešlete prosím nejvíce %(num)d formulářů." +msgstr[3] "Odešlete prosím nejvíce %(num)d formulářů." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Odešlete prosím alespoň %(num)d formulář." +msgstr[1] "Odešlete prosím alespoň %(num)d formuláře." +msgstr[2] "Odešlete prosím alespoň %(num)d formulářů." +msgstr[3] "Odešlete prosím alespoň %(num)d formulářů." + +msgid "Order" +msgstr "Pořadí" + +msgid "Delete" +msgstr "Odstranit" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Opravte duplicitní data v poli %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "Opravte duplicitní data v poli %(field)s, které musí být unikátní." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Opravte duplicitní data v poli %(field_name)s, které musí být unikátní " +"testem %(lookup)s pole %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Odstraňte duplicitní hodnoty níže." + +msgid "The inline value did not match the parent instance." +msgstr "Hodnota typu inline neodpovídá rodičovské položce." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Vyberte platnou možnost. Tato není k dispozici." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "\"%(pk)s\" není platná hodnota." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"Hodnotu %(datetime)s nelze interpretovat v časové zóně %(current_timezone)s; " +"může být nejednoznačná nebo nemusí existovat." + +msgid "Clear" +msgstr "Zrušit" + +msgid "Currently" +msgstr "Aktuálně" + +msgid "Change" +msgstr "Změnit" + +msgid "Unknown" +msgstr "Neznámé" + +msgid "Yes" +msgstr "Ano" + +msgid "No" +msgstr "Ne" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "ano,ne,možná" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d bajt" +msgstr[1] "%(size)d bajty" +msgstr[2] "%(size)d bajtů" +msgstr[3] "%(size)d bajtů" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "odp." + +msgid "a.m." +msgstr "dop." + +msgid "PM" +msgstr "odp." + +msgid "AM" +msgstr "dop." + +msgid "midnight" +msgstr "půlnoc" + +msgid "noon" +msgstr "poledne" + +msgid "Monday" +msgstr "pondělí" + +msgid "Tuesday" +msgstr "úterý" + +msgid "Wednesday" +msgstr "středa" + +msgid "Thursday" +msgstr "čtvrtek" + +msgid "Friday" +msgstr "pátek" + +msgid "Saturday" +msgstr "sobota" + +msgid "Sunday" +msgstr "neděle" + +msgid "Mon" +msgstr "po" + +msgid "Tue" +msgstr "út" + +msgid "Wed" +msgstr "st" + +msgid "Thu" +msgstr "čt" + +msgid "Fri" +msgstr "pá" + +msgid "Sat" +msgstr "so" + +msgid "Sun" +msgstr "ne" + +msgid "January" +msgstr "leden" + +msgid "February" +msgstr "únor" + +msgid "March" +msgstr "březen" + +msgid "April" +msgstr "duben" + +msgid "May" +msgstr "květen" + +msgid "June" +msgstr "červen" + +msgid "July" +msgstr "červenec" + +msgid "August" +msgstr "srpen" + +msgid "September" +msgstr "září" + +msgid "October" +msgstr "říjen" + +msgid "November" +msgstr "listopad" + +msgid "December" +msgstr "prosinec" + +msgid "jan" +msgstr "led" + +msgid "feb" +msgstr "úno" + +msgid "mar" +msgstr "bře" + +msgid "apr" +msgstr "dub" + +msgid "may" +msgstr "kvě" + +msgid "jun" +msgstr "čen" + +msgid "jul" +msgstr "čec" + +msgid "aug" +msgstr "srp" + +msgid "sep" +msgstr "zář" + +msgid "oct" +msgstr "říj" + +msgid "nov" +msgstr "lis" + +msgid "dec" +msgstr "pro" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Led." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Úno." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Bře." + +msgctxt "abbrev. month" +msgid "April" +msgstr "Dub." + +msgctxt "abbrev. month" +msgid "May" +msgstr "Kvě." + +msgctxt "abbrev. month" +msgid "June" +msgstr "Čer." + +msgctxt "abbrev. month" +msgid "July" +msgstr "Čec." + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Srp." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Zář." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Říj." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Lis." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Pro." + +msgctxt "alt. month" +msgid "January" +msgstr "ledna" + +msgctxt "alt. month" +msgid "February" +msgstr "února" + +msgctxt "alt. month" +msgid "March" +msgstr "března" + +msgctxt "alt. month" +msgid "April" +msgstr "dubna" + +msgctxt "alt. month" +msgid "May" +msgstr "května" + +msgctxt "alt. month" +msgid "June" +msgstr "června" + +msgctxt "alt. month" +msgid "July" +msgstr "července" + +msgctxt "alt. month" +msgid "August" +msgstr "srpna" + +msgctxt "alt. month" +msgid "September" +msgstr "září" + +msgctxt "alt. month" +msgid "October" +msgstr "října" + +msgctxt "alt. month" +msgid "November" +msgstr "listopadu" + +msgctxt "alt. month" +msgid "December" +msgstr "prosince" + +msgid "This is not a valid IPv6 address." +msgstr "Toto není platná adresa typu IPv6." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "nebo" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d rok" +msgstr[1] "%(num)d roky" +msgstr[2] "%(num)d roku" +msgstr[3] "%(num)d let" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d měsíc" +msgstr[1] "%(num)d měsíce" +msgstr[2] "%(num)d měsíců" +msgstr[3] "%(num)d měsíců" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d týden" +msgstr[1] "%(num)d týdny" +msgstr[2] "%(num)d týdne" +msgstr[3] "%(num)d týdnů" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d den" +msgstr[1] "%(num)d dny" +msgstr[2] "%(num)d dní" +msgstr[3] "%(num)d dní" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d hodina" +msgstr[1] "%(num)d hodiny" +msgstr[2] "%(num)d hodiny" +msgstr[3] "%(num)d hodin" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d minuta" +msgstr[1] "%(num)d minuty" +msgstr[2] "%(num)d minut" +msgstr[3] "%(num)d minut" + +msgid "Forbidden" +msgstr "Nepřístupné (Forbidden)" + +msgid "CSRF verification failed. Request aborted." +msgstr "Selhalo ověření typu CSRF. Požadavek byl zadržen." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Tuto zprávu vidíte, protože tento web na protokolu HTTPS vyžaduje, aby váš " +"prohlížeč zaslal v požadavku záhlaví \"Referer\", k čemuž nedošlo. Záhlaví " +"je požadováno z bezpečnostních důvodů pro kontrolu toho, že prohlížeče se " +"nezmocnila třetí strana." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Pokud má váš prohlížeč záhlaví \"Referer\" vypnuté, žádáme vás o jeho " +"zapnutí, alespoň pro tento web nebo pro spojení typu HTTPS nebo pro " +"požadavky typu \"stejný původ\" (same origin)." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Pokud používáte značku nebo " +"záhlaví \"Referrer-Policy: no-referrer\", odeberte je. Ochrana typu CSRF " +"vyžaduje, aby záhlaví zajišťovalo striktní hlídání refereru. Pokud je pro " +"vás soukromí důležité, použijte k odkazům na cizí weby alternativní možnosti " +"jako například ." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Tato zpráva se zobrazuje, protože tento web při odesílání formulářů požaduje " +"v souboru cookie údaj CSRF, a to z bezpečnostních důvodů, aby se zajistilo, " +"že se vašeho prohlížeče nezmocnil někdo další." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Pokud má váš prohlížeč soubory cookie vypnuté, žádáme vás o jejich zapnutí, " +"alespoň pro tento web nebo pro požadavky typu \"stejný původ\" (same origin)." + +msgid "More information is available with DEBUG=True." +msgstr "V případě zapnutí volby DEBUG=True bude k dispozici více informací." + +msgid "No year specified" +msgstr "Nebyl specifikován rok" + +msgid "Date out of range" +msgstr "Datum je mimo rozsah" + +msgid "No month specified" +msgstr "Nebyl specifikován měsíc" + +msgid "No day specified" +msgstr "Nebyl specifikován den" + +msgid "No week specified" +msgstr "Nebyl specifikován týden" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "%(verbose_name_plural)s nejsou k dispozici" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"%(verbose_name_plural)s s budoucím datem nejsou k dipozici protoze " +"%(class_name)s.allow_future je False" + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "Datum \"%(datestr)s\" neodpovídá formátu \"%(format)s\"" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Nepodařilo se nalézt žádný objekt %(verbose_name)s" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" +"Požadavek na stránku nemohl být konvertován na celé číslo, ani není \"last\"." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Neplatná stránka (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "List je prázdný a \"%(class_name)s.allow_empty\" je nastaveno na False" + +msgid "Directory indexes are not allowed here." +msgstr "Indexy adresářů zde nejsou povoleny." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "Cesta \"%(path)s\" neexistuje" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Index adresáře %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "Instalace proběhla úspěšně, gratulujeme!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Zobrazit poznámky k vydání frameworku Django " +"%(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Tuto zprávu vidíte, protože máte v nastavení Djanga zapnutý vývojový režim " +"DEBUG=True a zatím nemáte " +"nastavena žádná URL." + +msgid "Django Documentation" +msgstr "Dokumentace frameworku Django" + +msgid "Topics, references, & how-to’s" +msgstr "Témata, odkazy & how-to" + +msgid "Tutorial: A Polling App" +msgstr "Tutoriál: Hlasovací aplikace" + +msgid "Get started with Django" +msgstr "Začínáme s frameworkem Django" + +msgid "Django Community" +msgstr "Komunita kolem frameworku Django" + +msgid "Connect, get help, or contribute" +msgstr "Propojte se, získejte pomoc, podílejte se" diff --git a/external_sources/django/django/conf/locale/cs/__init__.py b/external_sources/django/django/conf/locale/cs/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/cs/formats.py b/external_sources/django/django/conf/locale/cs/formats.py new file mode 100644 index 0000000..e4a7ab9 --- /dev/null +++ b/external_sources/django/django/conf/locale/cs/formats.py @@ -0,0 +1,43 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j. E Y" +TIME_FORMAT = "G:i" +DATETIME_FORMAT = "j. E Y G:i" +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j. F" +SHORT_DATE_FORMAT = "d.m.Y" +SHORT_DATETIME_FORMAT = "d.m.Y G:i" +FIRST_DAY_OF_WEEK = 1 # Monday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d.%m.%Y", # '05.01.2006' + "%d.%m.%y", # '05.01.06' + "%d. %m. %Y", # '5. 1. 2006' + "%d. %m. %y", # '5. 1. 06' + # "%d. %B %Y", # '25. October 2006' + # "%d. %b. %Y", # '25. Oct. 2006' +] +# Kept ISO formats as one is in first position +TIME_INPUT_FORMATS = [ + "%H:%M:%S", # '04:30:59' + "%H.%M", # '04.30' + "%H:%M", # '04:30' +] +DATETIME_INPUT_FORMATS = [ + "%d.%m.%Y %H:%M:%S", # '05.01.2006 04:30:59' + "%d.%m.%Y %H:%M:%S.%f", # '05.01.2006 04:30:59.000200' + "%d.%m.%Y %H.%M", # '05.01.2006 04.30' + "%d.%m.%Y %H:%M", # '05.01.2006 04:30' + "%d. %m. %Y %H:%M:%S", # '05. 01. 2006 04:30:59' + "%d. %m. %Y %H:%M:%S.%f", # '05. 01. 2006 04:30:59.000200' + "%d. %m. %Y %H.%M", # '05. 01. 2006 04.30' + "%d. %m. %Y %H:%M", # '05. 01. 2006 04:30' + "%Y-%m-%d %H.%M", # '2006-01-05 04.30' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "\xa0" # non-breaking space +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/cy/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/cy/LC_MESSAGES/django.po new file mode 100644 index 0000000..16383ce --- /dev/null +++ b/external_sources/django/django/conf/locale/cy/LC_MESSAGES/django.po @@ -0,0 +1,1278 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel , 2011 +# Maredudd ap Gwyndaf , 2012,2014 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-27 22:40+0200\n" +"PO-Revision-Date: 2019-11-05 00:38+0000\n" +"Last-Translator: Ramiro Morales\n" +"Language-Team: Welsh (http://www.transifex.com/django/django/language/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" + +msgid "Afrikaans" +msgstr "Affricaneg" + +msgid "Arabic" +msgstr "Arabeg" + +msgid "Asturian" +msgstr "Astwrieg" + +msgid "Azerbaijani" +msgstr "Azerbaijanaidd" + +msgid "Bulgarian" +msgstr "Bwlgareg" + +msgid "Belarusian" +msgstr "Belarwseg" + +msgid "Bengali" +msgstr "Bengaleg" + +msgid "Breton" +msgstr "Llydaweg" + +msgid "Bosnian" +msgstr "Bosnieg" + +msgid "Catalan" +msgstr "Catalaneg" + +msgid "Czech" +msgstr "Tsieceg" + +msgid "Welsh" +msgstr "Cymraeg" + +msgid "Danish" +msgstr "Daneg" + +msgid "German" +msgstr "Almaeneg" + +msgid "Lower Sorbian" +msgstr "" + +msgid "Greek" +msgstr "Groegedd" + +msgid "English" +msgstr "Saesneg" + +msgid "Australian English" +msgstr "Saesneg Awstralia" + +msgid "British English" +msgstr "Saesneg Prydain" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Sbaeneg" + +msgid "Argentinian Spanish" +msgstr "Sbaeneg Ariannin" + +msgid "Colombian Spanish" +msgstr "" + +msgid "Mexican Spanish" +msgstr "Sbaeneg Mecsico" + +msgid "Nicaraguan Spanish" +msgstr "Sbaeneg Nicaragwa" + +msgid "Venezuelan Spanish" +msgstr "Sbaeneg Feneswela" + +msgid "Estonian" +msgstr "Estoneg" + +msgid "Basque" +msgstr "Basgeg" + +msgid "Persian" +msgstr "Persieg" + +msgid "Finnish" +msgstr "Ffinneg" + +msgid "French" +msgstr "Ffrangeg" + +msgid "Frisian" +msgstr "Ffrisieg" + +msgid "Irish" +msgstr "Gwyddeleg" + +msgid "Scottish Gaelic" +msgstr "" + +msgid "Galician" +msgstr "Galisieg" + +msgid "Hebrew" +msgstr "Hebraeg" + +msgid "Hindi" +msgstr "Hindi" + +msgid "Croatian" +msgstr "Croasieg" + +msgid "Upper Sorbian" +msgstr "" + +msgid "Hungarian" +msgstr "Hwngareg" + +msgid "Armenian" +msgstr "" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indoneseg" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Islandeg" + +msgid "Italian" +msgstr "Eidaleg" + +msgid "Japanese" +msgstr "Siapanëeg" + +msgid "Georgian" +msgstr "Georgeg" + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "Casacstanaidd" + +msgid "Khmer" +msgstr "Chmereg" + +msgid "Kannada" +msgstr "Canadeg" + +msgid "Korean" +msgstr "Corëeg" + +msgid "Luxembourgish" +msgstr "Lwcsembergeg" + +msgid "Lithuanian" +msgstr "Lithwaneg" + +msgid "Latvian" +msgstr "Latfieg" + +msgid "Macedonian" +msgstr "Macedoneg" + +msgid "Malayalam" +msgstr "Malaialam" + +msgid "Mongolian" +msgstr "Mongoleg" + +msgid "Marathi" +msgstr "Marathi" + +msgid "Burmese" +msgstr "Byrmaneg" + +msgid "Norwegian Bokmål" +msgstr "" + +msgid "Nepali" +msgstr "Nepaleg" + +msgid "Dutch" +msgstr "Iseldireg" + +msgid "Norwegian Nynorsk" +msgstr "Ninorsk Norwyeg" + +msgid "Ossetic" +msgstr "Osetieg" + +msgid "Punjabi" +msgstr "Pwnjabi" + +msgid "Polish" +msgstr "Pwyleg" + +msgid "Portuguese" +msgstr "Portiwgaleg" + +msgid "Brazilian Portuguese" +msgstr "Portiwgaleg Brasil" + +msgid "Romanian" +msgstr "Romaneg" + +msgid "Russian" +msgstr "Rwsieg" + +msgid "Slovak" +msgstr "Slofaceg" + +msgid "Slovenian" +msgstr "Slofeneg" + +msgid "Albanian" +msgstr "Albaneg" + +msgid "Serbian" +msgstr "Serbeg" + +msgid "Serbian Latin" +msgstr "Lladin Serbiaidd" + +msgid "Swedish" +msgstr "Swedeg" + +msgid "Swahili" +msgstr "Swahili" + +msgid "Tamil" +msgstr "Tamil" + +msgid "Telugu" +msgstr "Telwgw" + +msgid "Thai" +msgstr "Tai" + +msgid "Turkish" +msgstr "Twrceg" + +msgid "Tatar" +msgstr "Tatareg" + +msgid "Udmurt" +msgstr "Wdmwrteg" + +msgid "Ukrainian" +msgstr "Wcreineg" + +msgid "Urdu" +msgstr "Wrdw" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "Fietnameg" + +msgid "Simplified Chinese" +msgstr "Tsieinëeg Syml" + +msgid "Traditional Chinese" +msgstr "Tseinëeg Traddodiadol" + +msgid "Messages" +msgstr "" + +msgid "Site Maps" +msgstr "Mapiau Safle" + +msgid "Static Files" +msgstr "Ffeiliau Statig" + +msgid "Syndication" +msgstr "Syndicetiad" + +msgid "That page number is not an integer" +msgstr "" + +msgid "That page number is less than 1" +msgstr "" + +msgid "That page contains no results" +msgstr "" + +msgid "Enter a valid value." +msgstr "Rhowch werth dilys." + +msgid "Enter a valid URL." +msgstr "Rhowch URL dilys." + +msgid "Enter a valid integer." +msgstr "Rhowch gyfanrif dilys." + +msgid "Enter a valid email address." +msgstr "Rhowch gyfeiriad ebost dilys." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "Rhowch gyfeiriad IPv4 dilys." + +msgid "Enter a valid IPv6 address." +msgstr "Rhowch gyfeiriad IPv6 dilys." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Rhowch gyfeiriad IPv4 neu IPv6 dilys." + +msgid "Enter only digits separated by commas." +msgstr "Rhowch ddigidau wedi'i gwahanu gan gomas yn unig." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Sicrhewch taw y gwerth yw %(limit_value)s (%(show_value)s yw ar hyn o bryd)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Sicrhewch fod y gwerth hwn yn fwy neu'n llai na %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Sicrhewch fod y gwerth yn fwy na neu'n gyfartal â %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Sicrhewch fod gan y gwerth hwn oleiaf %(limit_value)d nod (mae ganddo " +"%(show_value)d)." +msgstr[1] "" +"Sicrhewch fod gan y gwerth hwn oleiaf %(limit_value)d nod (mae ganddo " +"%(show_value)d)." +msgstr[2] "" +"Sicrhewch fod gan y gwerth hwn oleiaf %(limit_value)d nod (mae ganddo " +"%(show_value)d)." +msgstr[3] "" +"Sicrhewch fod gan y gwerth hwn oleiaf %(limit_value)d nod (mae ganddo " +"%(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Sicrhewch fod gan y gwerth hwn ddim mwy na %(limit_value)d nod (mae ganddo " +"%(show_value)d)." +msgstr[1] "" +"Sicrhewch fod gan y gwerth hwn ddim mwy na %(limit_value)d nod (mae ganddo " +"%(show_value)d)." +msgstr[2] "" +"Sicrhewch fod gan y gwerth hwn ddim mwy na %(limit_value)d nod (mae ganddo " +"%(show_value)d)." +msgstr[3] "" +"Sicrhewch fod gan y gwerth hwn ddim mwy na %(limit_value)d nod (mae ganddo " +"%(show_value)d)." + +msgid "Enter a number." +msgstr "Rhowch rif." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Sicrhewch nad oes mwy nag %(max)s digid i gyd." +msgstr[1] "Sicrhewch nad oes mwy na %(max)s ddigid i gyd." +msgstr[2] "Sicrhewch nad oes mwy na %(max)s digid i gyd." +msgstr[3] "Sicrhewch nad oes mwy na %(max)s digid i gyd." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Sicrhewch nad oes mwy nag %(max)s lle degol." +msgstr[1] "Sicrhewch nad oes mwy na %(max)s le degol." +msgstr[2] "Sicrhewch nad oes mwy na %(max)s lle degol." +msgstr[3] "Sicrhewch nad oes mwy na %(max)s lle degol." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "Sicrhewch nad oes mwy nag %(max)s digid cyn y pwynt degol." +msgstr[1] "Sicrhewch nad oes mwy na %(max)s ddigid cyn y pwynt degol." +msgstr[2] "Sicrhewch nad oes mwy na %(max)s digid cyn y pwynt degol." +msgstr[3] "Sicrhewch nad oes mwy na %(max)s digid cyn y pwynt degol." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "" + +msgid "and" +msgstr "a" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "Mae %(model_name)s gyda'r %(field_labels)s hyn yn bodoli'n barod." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Nid yw gwerth %(value)r yn ddewis dilys." + +msgid "This field cannot be null." +msgstr "Ni all y maes hwn fod yn 'null'." + +msgid "This field cannot be blank." +msgstr "Ni all y maes hwn fod yn wag." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "Mae %(model_name)s gyda'r %(field_label)s hwn yn bodoli'n barod." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Maes o fath: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "Boleaidd (Unai True neu False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "String (hyd at %(max_length)s)" + +msgid "Comma-separated integers" +msgstr "Cyfanrifau wedi'u gwahanu gan gomas" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "Dyddiad (heb amser)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "Dyddiad (gydag amser)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "Rhif degol" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "" + +msgid "Email address" +msgstr "Cyfeiriad ebost" + +msgid "File path" +msgstr "Llwybr ffeil" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "Rhif pwynt symudol" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "cyfanrif" + +msgid "Big (8 byte) integer" +msgstr "Cyfanrif mawr (8 beit)" + +msgid "IPv4 address" +msgstr "Cyfeiriad IPv4" + +msgid "IP address" +msgstr "cyfeiriad IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "Boleaidd (Naill ai True, False neu None)" + +msgid "Positive integer" +msgstr "Cyfanrif positif" + +msgid "Positive small integer" +msgstr "Cyfanrif bach positif" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Malwen (hyd at %(max_length)s)" + +msgid "Small integer" +msgstr "Cyfanrif bach" + +msgid "Text" +msgstr "Testun" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "Amser" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Data deuol crai" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "Ffeil" + +msgid "Image" +msgstr "Delwedd" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" + +msgid "Foreign Key (type determined by related field)" +msgstr "Allwedd Estron (math yn ddibynol ar y maes cysylltiedig)" + +msgid "One-to-one relationship" +msgstr "Perthynas un-i-un" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "" + +msgid "Many-to-many relationship" +msgstr "Perthynas llawer-i-lawer" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Mae angen y maes hwn." + +msgid "Enter a whole number." +msgstr "Rhowch cyfanrif." + +msgid "Enter a valid date." +msgstr "Rhif ddyddiad dilys." + +msgid "Enter a valid time." +msgstr "Rhowch amser dilys." + +msgid "Enter a valid date/time." +msgstr "Rhowch ddyddiad/amser dilys." + +msgid "Enter a valid duration." +msgstr "" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Ni anfonwyd ffeil. Gwiriwch math yr amgodiad ar y ffurflen." + +msgid "No file was submitted." +msgstr "Ni anfonwyd ffeil." + +msgid "The submitted file is empty." +msgstr "Mae'r ffeil yn wag." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Sicrhewch fod gan enw'r ffeil ar y mwyaf %(max)d nod (mae ganddo %(length)d)." +msgstr[1] "" +"Sicrhewch fod gan enw'r ffeil ar y mwyaf %(max)d nod (mae ganddo %(length)d)." +msgstr[2] "" +"Sicrhewch fod gan enw'r ffeil ar y mwyaf %(max)d nod (mae ganddo %(length)d)." +msgstr[3] "" +"Sicrhewch fod gan enw'r ffeil ar y mwyaf %(max)d nod (mae ganddo %(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Nail ai cyflwynwych ffeil neu dewisiwch y blwch gwiriad, ond nid y ddau." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Llwythwch ddelwedd dilys. Doedd y ddelwedd a lwythwyd ddim yn ddelwedd " +"dilys, neu roedd yn ddelwedd llygredig." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Dewiswch ddewisiad dilys. Nid yw %(value)s yn un o'r dewisiadau sydd ar gael." + +msgid "Enter a list of values." +msgstr "Rhowch restr o werthoedd." + +msgid "Enter a complete value." +msgstr "Rhowch werth cyflawn." + +msgid "Enter a valid UUID." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Maes cudd %(name)s) %(error)s" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "Mae data ManagementForm ar goll neu mae rhywun wedi ymyrryd ynddo" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "Cyflwynwch %d neu lai o ffurflenni." +msgstr[1] "Cyflwynwch %d neu lai o ffurflenni." +msgstr[2] "Cyflwynwch %d neu lai o ffurflenni." +msgstr[3] "Cyflwynwch %d neu lai o ffurflenni." + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "Cyflwynwch %d neu fwy o ffurflenni." +msgstr[1] "Cyflwynwch %d neu fwy o ffurflenni." +msgstr[2] "Cyflwynwch %d neu fwy o ffurflenni." +msgstr[3] "Cyflwynwch %d neu fwy o ffurflenni." + +msgid "Order" +msgstr "Trefn" + +msgid "Delete" +msgstr "Dileu" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Cywirwch y data dyblyg ar gyfer %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Cywirwch y data dyblyg ar gyfer %(field)s, sydd yn gorfod bod yn unigryw." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Cywirwch y data dyblyg ar gyfer %(field_name)s sydd yn gorfod bod yn unigryw " +"ar gyfer %(lookup)s yn %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Cywirwch y gwerthoedd dyblyg isod." + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Dewiswch ddewisiad dilys. Nid yw'r dewisiad yn un o'r dewisiadau sydd ar " +"gael." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "Clirio" + +msgid "Currently" +msgstr "Ar hyn o bryd" + +msgid "Change" +msgstr "Newid" + +msgid "Unknown" +msgstr "Anhysbys" + +msgid "Yes" +msgstr "Ie" + +msgid "No" +msgstr "Na" + +msgid "Year" +msgstr "" + +msgid "Month" +msgstr "" + +msgid "Day" +msgstr "" + +msgid "yes,no,maybe" +msgstr "ie,na,efallai" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d beit" +msgstr[1] "%(size)d beit" +msgstr[2] "%(size)d beit" +msgstr[3] "%(size)d beit" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "y.h." + +msgid "a.m." +msgstr "y.b." + +msgid "PM" +msgstr "YH" + +msgid "AM" +msgstr "YB" + +msgid "midnight" +msgstr "canol nos" + +msgid "noon" +msgstr "canol dydd" + +msgid "Monday" +msgstr "Dydd Llun" + +msgid "Tuesday" +msgstr "Dydd Mawrth" + +msgid "Wednesday" +msgstr "Dydd Mercher" + +msgid "Thursday" +msgstr "Dydd Iau" + +msgid "Friday" +msgstr "Dydd Gwener" + +msgid "Saturday" +msgstr "Dydd Sadwrn" + +msgid "Sunday" +msgstr "Dydd Sul" + +msgid "Mon" +msgstr "Llu" + +msgid "Tue" +msgstr "Maw" + +msgid "Wed" +msgstr "Mer" + +msgid "Thu" +msgstr "Iau" + +msgid "Fri" +msgstr "Gwe" + +msgid "Sat" +msgstr "Sad" + +msgid "Sun" +msgstr "Sul" + +msgid "January" +msgstr "Ionawr" + +msgid "February" +msgstr "Chwefror" + +msgid "March" +msgstr "Mawrth" + +msgid "April" +msgstr "Ebrill" + +msgid "May" +msgstr "Mai" + +msgid "June" +msgstr "Mehefin" + +msgid "July" +msgstr "Gorffenaf" + +msgid "August" +msgstr "Awst" + +msgid "September" +msgstr "Medi" + +msgid "October" +msgstr "Hydref" + +msgid "November" +msgstr "Tachwedd" + +msgid "December" +msgstr "Rhagfyr" + +msgid "jan" +msgstr "ion" + +msgid "feb" +msgstr "chw" + +msgid "mar" +msgstr "maw" + +msgid "apr" +msgstr "ebr" + +msgid "may" +msgstr "mai" + +msgid "jun" +msgstr "meh" + +msgid "jul" +msgstr "gor" + +msgid "aug" +msgstr "aws" + +msgid "sep" +msgstr "med" + +msgid "oct" +msgstr "hyd" + +msgid "nov" +msgstr "tach" + +msgid "dec" +msgstr "rhag" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Ion." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Chwe." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Mawrth" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Ebrill" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Mai" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Meh." + +msgctxt "abbrev. month" +msgid "July" +msgstr "Gorff." + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Awst" + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Medi" + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Hydr." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Tach." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Rhag." + +msgctxt "alt. month" +msgid "January" +msgstr "Ionawr" + +msgctxt "alt. month" +msgid "February" +msgstr "Chwefror" + +msgctxt "alt. month" +msgid "March" +msgstr "Mawrth" + +msgctxt "alt. month" +msgid "April" +msgstr "Ebrill" + +msgctxt "alt. month" +msgid "May" +msgstr "Mai" + +msgctxt "alt. month" +msgid "June" +msgstr "Mehefin" + +msgctxt "alt. month" +msgid "July" +msgstr "Gorffenaf" + +msgctxt "alt. month" +msgid "August" +msgstr "Awst" + +msgctxt "alt. month" +msgid "September" +msgstr "Medi" + +msgctxt "alt. month" +msgid "October" +msgstr "Hydref" + +msgctxt "alt. month" +msgid "November" +msgstr "Tachwedd" + +msgctxt "alt. month" +msgid "December" +msgstr "Rhagfyr" + +msgid "This is not a valid IPv6 address." +msgstr "Nid yw hwn yn gyfeiriad IPv6 dilys." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "neu" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr "," + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "%d blwyddyn" +msgstr[1] "%d flynedd" +msgstr[2] "%d blwyddyn" +msgstr[3] "%d blwyddyn" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "%d mis" +msgstr[1] "%d fis" +msgstr[2] "%d mis" +msgstr[3] "%d mis" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "%d wythnos" +msgstr[1] "%d wythnos" +msgstr[2] "%d wythnos" +msgstr[3] "%d wythnos" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "%d diwrnod" +msgstr[1] "%d ddiwrnod" +msgstr[2] "%d diwrnod" +msgstr[3] "%d diwrnod" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "%d awr" +msgstr[1] "%d awr" +msgstr[2] "%d awr" +msgstr[3] "%d awr" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "%d munud" +msgstr[1] "%d funud" +msgstr[2] "%d munud" +msgstr[3] "%d munud" + +msgid "0 minutes" +msgstr "0 munud" + +msgid "Forbidden" +msgstr "Gwaharddedig" + +msgid "CSRF verification failed. Request aborted." +msgstr "Gwirio CSRF wedi methu. Ataliwyd y cais." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Dangosir y neges hwn oherwydd bod angen cwci CSRF ar y safle hwn pan yn " +"anfon ffurflenni. Mae angen y cwci ar gyfer diogelwch er mwyn sicrhau nad " +"oes trydydd parti yn herwgipio eich porwr." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "Mae mwy o wybodaeth ar gael gyda DEBUG=True" + +msgid "No year specified" +msgstr "Dim blwyddyn wedi’i bennu" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "Dim mis wedi’i bennu" + +msgid "No day specified" +msgstr "Dim diwrnod wedi’i bennu" + +msgid "No week specified" +msgstr "Dim wythnos wedi’i bennu" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Dim %(verbose_name_plural)s ar gael" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"%(verbose_name_plural)s i'r dyfodol ddim ar gael oherwydd mae %(class_name)s." +"allow_future yn 'False'. " + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Ni ganfuwyd %(verbose_name)s yn cydweddu â'r ymholiad" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Tudalen annilys (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "Ni ganiateir mynegai cyfeiriaduron yma." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Mynegai %(directory)s" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/cy/__init__.py b/external_sources/django/django/conf/locale/cy/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/cy/formats.py b/external_sources/django/django/conf/locale/cy/formats.py new file mode 100644 index 0000000..eaef6a6 --- /dev/null +++ b/external_sources/django/django/conf/locale/cy/formats.py @@ -0,0 +1,33 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j F Y" # '25 Hydref 2006' +TIME_FORMAT = "P" # '2:30 y.b.' +DATETIME_FORMAT = "j F Y, P" # '25 Hydref 2006, 2:30 y.b.' +YEAR_MONTH_FORMAT = "F Y" # 'Hydref 2006' +MONTH_DAY_FORMAT = "j F" # '25 Hydref' +SHORT_DATE_FORMAT = "d/m/Y" # '25/10/2006' +SHORT_DATETIME_FORMAT = "d/m/Y P" # '25/10/2006 2:30 y.b.' +FIRST_DAY_OF_WEEK = 1 # 'Dydd Llun' + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d/%m/%Y", # '25/10/2006' + "%d/%m/%y", # '25/10/06' +] +DATETIME_INPUT_FORMATS = [ + "%Y-%m-%d %H:%M:%S", # '2006-10-25 14:30:59' + "%Y-%m-%d %H:%M:%S.%f", # '2006-10-25 14:30:59.000200' + "%Y-%m-%d %H:%M", # '2006-10-25 14:30' + "%d/%m/%Y %H:%M:%S", # '25/10/2006 14:30:59' + "%d/%m/%Y %H:%M:%S.%f", # '25/10/2006 14:30:59.000200' + "%d/%m/%Y %H:%M", # '25/10/2006 14:30' + "%d/%m/%y %H:%M:%S", # '25/10/06 14:30:59' + "%d/%m/%y %H:%M:%S.%f", # '25/10/06 14:30:59.000200' + "%d/%m/%y %H:%M", # '25/10/06 14:30' +] +DECIMAL_SEPARATOR = "." +THOUSAND_SEPARATOR = "," +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/da/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/da/LC_MESSAGES/django.po new file mode 100644 index 0000000..eb89a01 --- /dev/null +++ b/external_sources/django/django/conf/locale/da/LC_MESSAGES/django.po @@ -0,0 +1,1341 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Christian Joergensen , 2012 +# Danni Randeris , 2014 +# Erik Ramsgaard Wognsen , 2020-2024 +# Erik Ramsgaard Wognsen , 2013-2019 +# Finn Gruwier Larsen, 2011 +# Jannis Leidel , 2011 +# jonaskoelker , 2012 +# Mads Chr. Olesen , 2013 +# valberg , 2015 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 06:49+0000\n" +"Last-Translator: Erik Ramsgaard Wognsen , 2020-2024\n" +"Language-Team: Danish (http://app.transifex.com/django/django/language/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" + +msgid "Afrikaans" +msgstr "afrikaans" + +msgid "Arabic" +msgstr "arabisk" + +msgid "Algerian Arabic" +msgstr "algerisk arabisk" + +msgid "Asturian" +msgstr "Asturisk" + +msgid "Azerbaijani" +msgstr "azerbaidjansk" + +msgid "Bulgarian" +msgstr "bulgarsk" + +msgid "Belarusian" +msgstr "hviderussisk" + +msgid "Bengali" +msgstr "bengalsk" + +msgid "Breton" +msgstr "bretonsk" + +msgid "Bosnian" +msgstr "bosnisk" + +msgid "Catalan" +msgstr "catalansk" + +msgid "Central Kurdish (Sorani)" +msgstr "Centralkurdisk (Sorani)" + +msgid "Czech" +msgstr "tjekkisk" + +msgid "Welsh" +msgstr "walisisk" + +msgid "Danish" +msgstr "dansk" + +msgid "German" +msgstr "tysk" + +msgid "Lower Sorbian" +msgstr "nedresorbisk" + +msgid "Greek" +msgstr "græsk" + +msgid "English" +msgstr "engelsk" + +msgid "Australian English" +msgstr "australsk engelsk" + +msgid "British English" +msgstr "britisk engelsk" + +msgid "Esperanto" +msgstr "esperanto" + +msgid "Spanish" +msgstr "spansk" + +msgid "Argentinian Spanish" +msgstr "argentinsk spansk" + +msgid "Colombian Spanish" +msgstr "colombiansk spansk" + +msgid "Mexican Spanish" +msgstr "mexikansk spansk" + +msgid "Nicaraguan Spanish" +msgstr "nicaraguansk spansk" + +msgid "Venezuelan Spanish" +msgstr "venezuelansk spansk" + +msgid "Estonian" +msgstr "estisk" + +msgid "Basque" +msgstr "baskisk" + +msgid "Persian" +msgstr "persisk" + +msgid "Finnish" +msgstr "finsk" + +msgid "French" +msgstr "fransk" + +msgid "Frisian" +msgstr "frisisk" + +msgid "Irish" +msgstr "irsk" + +msgid "Scottish Gaelic" +msgstr "skotsk gælisk" + +msgid "Galician" +msgstr "galicisk" + +msgid "Hebrew" +msgstr "hebraisk" + +msgid "Hindi" +msgstr "hindi" + +msgid "Croatian" +msgstr "kroatisk" + +msgid "Upper Sorbian" +msgstr "øvresorbisk" + +msgid "Hungarian" +msgstr "ungarsk" + +msgid "Armenian" +msgstr "armensk" + +msgid "Interlingua" +msgstr "interlingua" + +msgid "Indonesian" +msgstr "indonesisk" + +msgid "Igbo" +msgstr "igbo" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "islandsk" + +msgid "Italian" +msgstr "italiensk" + +msgid "Japanese" +msgstr "japansk" + +msgid "Georgian" +msgstr "georgisk" + +msgid "Kabyle" +msgstr "kabylsk" + +msgid "Kazakh" +msgstr "kasakhisk" + +msgid "Khmer" +msgstr "khmer" + +msgid "Kannada" +msgstr "kannada" + +msgid "Korean" +msgstr "koreansk" + +msgid "Kyrgyz" +msgstr "kirgisisk" + +msgid "Luxembourgish" +msgstr "luxembourgisk" + +msgid "Lithuanian" +msgstr "litauisk" + +msgid "Latvian" +msgstr "lettisk" + +msgid "Macedonian" +msgstr "makedonsk" + +msgid "Malayalam" +msgstr "malayalam" + +msgid "Mongolian" +msgstr "mongolsk" + +msgid "Marathi" +msgstr "marathi" + +msgid "Malay" +msgstr "malajisk" + +msgid "Burmese" +msgstr "burmesisk" + +msgid "Norwegian Bokmål" +msgstr "norsk bokmål" + +msgid "Nepali" +msgstr "nepalesisk" + +msgid "Dutch" +msgstr "hollandsk" + +msgid "Norwegian Nynorsk" +msgstr "norsk nynorsk" + +msgid "Ossetic" +msgstr "ossetisk" + +msgid "Punjabi" +msgstr "punjabi" + +msgid "Polish" +msgstr "polsk" + +msgid "Portuguese" +msgstr "portugisisk" + +msgid "Brazilian Portuguese" +msgstr "brasiliansk portugisisk" + +msgid "Romanian" +msgstr "rumænsk" + +msgid "Russian" +msgstr "russisk" + +msgid "Slovak" +msgstr "slovakisk" + +msgid "Slovenian" +msgstr "slovensk" + +msgid "Albanian" +msgstr "albansk" + +msgid "Serbian" +msgstr "serbisk" + +msgid "Serbian Latin" +msgstr "serbisk (latin)" + +msgid "Swedish" +msgstr "svensk" + +msgid "Swahili" +msgstr "swahili" + +msgid "Tamil" +msgstr "tamil" + +msgid "Telugu" +msgstr "telugu" + +msgid "Tajik" +msgstr "tadsjikisk" + +msgid "Thai" +msgstr "thai" + +msgid "Turkmen" +msgstr "turkmensk" + +msgid "Turkish" +msgstr "tyrkisk" + +msgid "Tatar" +msgstr "tatarisk" + +msgid "Udmurt" +msgstr "udmurtisk" + +msgid "Uyghur" +msgstr "uygurisk" + +msgid "Ukrainian" +msgstr "ukrainsk" + +msgid "Urdu" +msgstr "urdu" + +msgid "Uzbek" +msgstr "usbekisk" + +msgid "Vietnamese" +msgstr "vietnamesisk" + +msgid "Simplified Chinese" +msgstr "forenklet kinesisk" + +msgid "Traditional Chinese" +msgstr "traditionelt kinesisk" + +msgid "Messages" +msgstr "Meddelelser" + +msgid "Site Maps" +msgstr "Site Maps" + +msgid "Static Files" +msgstr "Static Files" + +msgid "Syndication" +msgstr "Syndication" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "Det sidetal er ikke et heltal" + +msgid "That page number is less than 1" +msgstr "Det sidetal er mindre end 1" + +msgid "That page contains no results" +msgstr "Den side indeholder ingen resultater" + +msgid "Enter a valid value." +msgstr "Indtast en gyldig værdi." + +msgid "Enter a valid domain name." +msgstr "Indtast et gyldigt domænenavn." + +msgid "Enter a valid URL." +msgstr "Indtast en gyldig URL." + +msgid "Enter a valid integer." +msgstr "Indtast et gyldigt heltal." + +msgid "Enter a valid email address." +msgstr "Indtast en gyldig e-mail-adresse." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Indtast en gyldig “slug” bestående af bogstaver, cifre, understreger eller " +"bindestreger." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Indtast en gyldig “slug” bestående af Unicode-bogstaver, cifre, understreger " +"eller bindestreger." + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "Indtast en gyldig %(protocol)s-adresse." + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "IPv4 or IPv6" +msgstr "IPv4 eller IPv6" + +msgid "Enter only digits separated by commas." +msgstr "Indtast kun cifre adskilt af kommaer." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Denne værdi skal være %(limit_value)s (den er %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Denne værdi skal være mindre end eller lig %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Denne værdi skal være større end eller lig %(limit_value)s." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "Denne værdi skal være et multiplum af trinstørrelse %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"Denne værdi skal være et multiplum af trinstørrelse %(limit_value)s, " +"startende fra %(offset)s, fx %(offset)s, %(valid_value1)s, %(valid_value2)s, " +"osv." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Denne værdi skal have mindst %(limit_value)d tegn (den har %(show_value)d)." +msgstr[1] "" +"Denne værdi skal have mindst %(limit_value)d tegn (den har %(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Denne værdi må højst have %(limit_value)d tegn (den har %(show_value)d)." +msgstr[1] "" +"Denne værdi må højst have %(limit_value)d tegn (den har %(show_value)d)." + +msgid "Enter a number." +msgstr "Indtast et tal." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Der må maksimalt være %(max)s ciffer i alt." +msgstr[1] "Der må maksimalt være %(max)s cifre i alt." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Der må maksimalt være %(max)s decimal." +msgstr[1] "Der må maksimalt være %(max)s decimaler." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "Der må maksimalt være %(max)s ciffer før kommaet." +msgstr[1] "Der må maksimalt være %(max)s cifre før kommaet." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Filendelse “%(extension)s” er ikke tilladt. Tilladte filendelser er: " +"%(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Null-tegn er ikke tilladte." + +msgid "and" +msgstr "og" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s med dette %(field_labels)s eksisterer allerede." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "Begrænsning “%(name)s” er overtrådt." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Værdien %(value)r er ikke et gyldigt valg." + +msgid "This field cannot be null." +msgstr "Dette felt kan ikke være null." + +msgid "This field cannot be blank." +msgstr "Dette felt kan ikke være tomt." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s med dette %(field_label)s eksisterer allerede." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s skal være unik for %(date_field_label)s %(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Felt af type: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "“%(value)s”-værdien skal være enten True eller False." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "“%(value)s”-værdien skal være enten True, False eller None." + +msgid "Boolean (Either True or False)" +msgstr "Boolsk (enten True eller False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Streng (op til %(max_length)s)" + +msgid "String (unlimited)" +msgstr "Streng (ubegrænset)" + +msgid "Comma-separated integers" +msgstr "Kommaseparerede heltal" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"“%(value)s”-værdien har et ugyldigt datoformat. Den skal være i formatet " +"ÅÅÅÅ-MM-DD." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"“%(value)s”-værdien har det korrekte format (ÅÅÅÅ-MM-DD) men er en ugyldig " +"dato." + +msgid "Date (without time)" +msgstr "Dato (uden tid)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"“%(value)s”-værdien har et ugyldigt format. Den skal være i formatet ÅÅÅÅ-MM-" +"DD TT:MM[:ss[.uuuuuu]][TZ]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"“%(value)s”-værdien har det korrekte format (ÅÅÅÅ-MM-DD TT:MM[:ss[.uuuuuu]]" +"[TZ]) men er en ugyldig dato/tid." + +msgid "Date (with time)" +msgstr "Dato (med tid)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "“%(value)s”-værdien skal være et decimaltal." + +msgid "Decimal number" +msgstr "Decimaltal" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"“%(value)s”-værdien har et ugyldigt format. Den skal være i formatet [DD] " +"[[TT:]MM:]ss[.uuuuuu]." + +msgid "Duration" +msgstr "Varighed" + +msgid "Email address" +msgstr "E-mail-adresse" + +msgid "File path" +msgstr "Sti" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "“%(value)s”-værdien skal være et kommatal." + +msgid "Floating point number" +msgstr "Flydende-komma-tal" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "“%(value)s”-værdien skal være et heltal." + +msgid "Integer" +msgstr "Heltal" + +msgid "Big (8 byte) integer" +msgstr "Stort heltal (8 byte)" + +msgid "Small integer" +msgstr "Lille heltal" + +msgid "IPv4 address" +msgstr "IPv4-adresse" + +msgid "IP address" +msgstr "IP-adresse" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "“%(value)s”-værdien skal være enten None, True eller False." + +msgid "Boolean (Either True, False or None)" +msgstr "Boolsk (True, False eller None)" + +msgid "Positive big integer" +msgstr "Positivt stort heltal" + +msgid "Positive integer" +msgstr "Positivt heltal" + +msgid "Positive small integer" +msgstr "Positivt lille heltal" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "\"Slug\" (op til %(max_length)s)" + +msgid "Text" +msgstr "Tekst" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"“%(value)s”-værdien har et ugyldigt format. Den skal være i formatet TT:MM[:" +"ss[.uuuuuu]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"“%(value)s”-værdien har det korrekte format (TT:MM[:ss[.uuuuuu]]) men er et " +"ugyldigt tidspunkt." + +msgid "Time" +msgstr "Tid" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Rå binære data" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "“%(value)s” er ikke et gyldigt UUID." + +msgid "Universally unique identifier" +msgstr "Universelt unik identifikator" + +msgid "File" +msgstr "Fil" + +msgid "Image" +msgstr "Billede" + +msgid "A JSON object" +msgstr "Et JSON-objekt" + +msgid "Value must be valid JSON." +msgstr "Værdien skal være gyldig JSON." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "%(model)s instans med %(field)s %(value)r findes ikke." + +msgid "Foreign Key (type determined by related field)" +msgstr "Fremmednøgle (type bestemt af relateret felt)" + +msgid "One-to-one relationship" +msgstr "En-til-en-relation" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s-relation" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s-relationer" + +msgid "Many-to-many relationship" +msgstr "Mange-til-mange-relation" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Dette felt er påkrævet." + +msgid "Enter a whole number." +msgstr "Indtast et heltal." + +msgid "Enter a valid date." +msgstr "Indtast en gyldig dato." + +msgid "Enter a valid time." +msgstr "Indtast en gyldig tid." + +msgid "Enter a valid date/time." +msgstr "Indtast gyldig dato/tid." + +msgid "Enter a valid duration." +msgstr "Indtast en gyldig varighed." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Antallet af dage skal være mellem {min_days} og {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Ingen fil blev indsendt. Kontroller kodningstypen i formularen." + +msgid "No file was submitted." +msgstr "Ingen fil blev indsendt." + +msgid "The submitted file is empty." +msgstr "Den indsendte fil er tom." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "Dette filnavn må højst have %(max)d tegn (det har %(length)d)." +msgstr[1] "Dette filnavn må højst have %(max)d tegn (det har %(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Du skal enten indsende en fil eller afmarkere afkrydsningsfeltet, ikke begge " +"dele." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Indsend en billedfil. Filen, du indsendte, var enten ikke et billede eller " +"en defekt billedfil." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Marker en gyldig valgmulighed. %(value)s er ikke en af de tilgængelige " +"valgmuligheder." + +msgid "Enter a list of values." +msgstr "Indtast en liste af værdier." + +msgid "Enter a complete value." +msgstr "Indtast en komplet værdi." + +msgid "Enter a valid UUID." +msgstr "Indtast et gyldigt UUID." + +msgid "Enter a valid JSON." +msgstr "Indtast gyldig JSON." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Skjult felt %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"ManagementForm-data mangler eller er blevet pillet ved. Manglende felter: " +"%(field_names)s. Du kan få behov for at oprette en fejlrapport hvis " +"problemet varer ved." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Indsend venligst højst %(num)d formular." +msgstr[1] "Indsend venligst højst %(num)d formularer." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Indsend venligst mindst %(num)d formular." +msgstr[1] "Indsend venligst mindst %(num)d formularer." + +msgid "Order" +msgstr "Rækkefølge" + +msgid "Delete" +msgstr "Slet" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Ret venligst duplikerede data for %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "Ret venligst de duplikerede data for %(field)s, som skal være unik." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Ret venligst de duplikerede data for %(field_name)s, som skal være unik for " +"%(lookup)s i %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Ret venligst de duplikerede data herunder." + +msgid "The inline value did not match the parent instance." +msgstr "Den indlejrede værdi passede ikke med forældreinstansen." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Marker en gyldig valgmulighed. Det valg, du har foretaget, er ikke blandt de " +"tilgængelige valgmuligheder." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "“%(pk)s” er ikke en gyldig værdi." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s kunne ikke fortolkes i tidszonen %(current_timezone)s; den kan " +"være tvetydig eller den eksisterer måske ikke." + +msgid "Clear" +msgstr "Afmarkér" + +msgid "Currently" +msgstr "Aktuelt" + +msgid "Change" +msgstr "Ret" + +msgid "Unknown" +msgstr "Ukendt" + +msgid "Yes" +msgstr "Ja" + +msgid "No" +msgstr "Nej" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "ja,nej,måske" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d byte" +msgstr[1] "%(size)d bytes" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "midnat" + +msgid "noon" +msgstr "middag" + +msgid "Monday" +msgstr "mandag" + +msgid "Tuesday" +msgstr "tirsdag" + +msgid "Wednesday" +msgstr "onsdag" + +msgid "Thursday" +msgstr "torsdag" + +msgid "Friday" +msgstr "fredag" + +msgid "Saturday" +msgstr "lørdag" + +msgid "Sunday" +msgstr "søndag" + +msgid "Mon" +msgstr "man" + +msgid "Tue" +msgstr "tir" + +msgid "Wed" +msgstr "ons" + +msgid "Thu" +msgstr "tor" + +msgid "Fri" +msgstr "fre" + +msgid "Sat" +msgstr "lør" + +msgid "Sun" +msgstr "søn" + +msgid "January" +msgstr "januar" + +msgid "February" +msgstr "februar" + +msgid "March" +msgstr "marts" + +msgid "April" +msgstr "april" + +msgid "May" +msgstr "maj" + +msgid "June" +msgstr "juni" + +msgid "July" +msgstr "juli" + +msgid "August" +msgstr "august" + +msgid "September" +msgstr "september" + +msgid "October" +msgstr "oktober" + +msgid "November" +msgstr "november" + +msgid "December" +msgstr "december" + +msgid "jan" +msgstr "jan" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "apr" + +msgid "may" +msgstr "maj" + +msgid "jun" +msgstr "jun" + +msgid "jul" +msgstr "jul" + +msgid "aug" +msgstr "aug" + +msgid "sep" +msgstr "sept" + +msgid "oct" +msgstr "okt" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "dec" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "jan." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "marts" + +msgctxt "abbrev. month" +msgid "April" +msgstr "april" + +msgctxt "abbrev. month" +msgid "May" +msgstr "maj" + +msgctxt "abbrev. month" +msgid "June" +msgstr "juni" + +msgctxt "abbrev. month" +msgid "July" +msgstr "juli" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "aug." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "sept." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "okt." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "dec." + +msgctxt "alt. month" +msgid "January" +msgstr "januar" + +msgctxt "alt. month" +msgid "February" +msgstr "februar" + +msgctxt "alt. month" +msgid "March" +msgstr "marts" + +msgctxt "alt. month" +msgid "April" +msgstr "april" + +msgctxt "alt. month" +msgid "May" +msgstr "maj" + +msgctxt "alt. month" +msgid "June" +msgstr "juni" + +msgctxt "alt. month" +msgid "July" +msgstr "juli" + +msgctxt "alt. month" +msgid "August" +msgstr "august" + +msgctxt "alt. month" +msgid "September" +msgstr "september" + +msgctxt "alt. month" +msgid "October" +msgstr "oktober" + +msgctxt "alt. month" +msgid "November" +msgstr "november" + +msgctxt "alt. month" +msgid "December" +msgstr "december" + +msgid "This is not a valid IPv6 address." +msgstr "Dette er ikke en gyldig IPv6-adresse." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "eller" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d år" +msgstr[1] "%(num)d år" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d måned" +msgstr[1] "%(num)d måneder" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d uge" +msgstr[1] "%(num)d uger" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d dag" +msgstr[1] "%(num)d dage" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d time" +msgstr[1] "%(num)d timer" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d minut" +msgstr[1] "%(num)d minutter" + +msgid "Forbidden" +msgstr "Forbudt" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF-verifikationen mislykkedes. Forespørgslen blev afbrudt." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Du ser denne besked fordi denne HTTPS-webside kræver at din browser sender " +"en “Referer header”, som ikke blev sendt. Denne header er påkrævet af " +"sikkerhedsmæssige grunde for at sikre at din browser ikke bliver kapret af " +"tredjepart." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Hvis du har opsat din browser til ikke at sende “Referer” headere, beder vi " +"dig slå dem til igen, i hvert fald for denne webside, eller for HTTPS-" +"forbindelser, eller for “same-origin”-forespørgsler." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Hvis du bruger tagget eller " +"inkluderer headeren “Referrer-Policy: no-referrer”, så fjern dem venligst. " +"CSRF-beskyttelsen afhænger af at “Referer”-headeren udfører stringent " +"referer-kontrol. Hvis du er bekymret om privatliv, så brug alternativer så " +"som for links til tredjepartswebsider." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Du ser denne besked fordi denne webside kræver en CSRF-cookie, når du sender " +"formularer. Denne cookie er påkrævet af sikkerhedsmæssige grunde for at " +"sikre at din browser ikke bliver kapret af tredjepart." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Hvis du har slået cookies fra i din browser, beder vi dig slå dem til igen, " +"i hvert fald for denne webside, eller for “same-origin”-forespørgsler." + +msgid "More information is available with DEBUG=True." +msgstr "Mere information er tilgængeligt med DEBUG=True." + +msgid "No year specified" +msgstr "Intet år specificeret" + +msgid "Date out of range" +msgstr "Dato uden for rækkevidde" + +msgid "No month specified" +msgstr "Ingen måned specificeret" + +msgid "No day specified" +msgstr "Ingen dag specificeret" + +msgid "No week specified" +msgstr "Ingen uge specificeret" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Ingen %(verbose_name_plural)s til rådighed" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Fremtidige %(verbose_name_plural)s ikke tilgængelige, fordi %(class_name)s ." +"allow_future er falsk." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "Ugyldig datostreng “%(datestr)s” givet format “%(format)s”" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Ingen %(verbose_name)s fundet matcher forespørgslen" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "Side er ikke “sidste”, og kan heller ikke konverteres til en int." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Ugyldig side (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Tom liste og “%(class_name)s.allow_empty” er falsk." + +msgid "Directory indexes are not allowed here." +msgstr "Mappeindekser er ikke tilladte her" + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "“%(path)s” eksisterer ikke" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Indeks for %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "Installationen virkede! Tillykke!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Vis udgivelsesnoter for Django %(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Du ser denne side fordi du har DEBUG=True i din settings-fil og ikke har opsat nogen " +"URL'er." + +msgid "Django Documentation" +msgstr "Django-dokumentation" + +msgid "Topics, references, & how-to’s" +msgstr "Emner, referencer & how-to’s" + +msgid "Tutorial: A Polling App" +msgstr "Gennemgang: En afstemnings-app" + +msgid "Get started with Django" +msgstr "Kom i gang med Django" + +msgid "Django Community" +msgstr "Django-fællesskabet" + +msgid "Connect, get help, or contribute" +msgstr "Forbind, få hjælp eller bidrag" diff --git a/external_sources/django/django/conf/locale/da/__init__.py b/external_sources/django/django/conf/locale/da/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/da/formats.py b/external_sources/django/django/conf/locale/da/formats.py new file mode 100644 index 0000000..5829208 --- /dev/null +++ b/external_sources/django/django/conf/locale/da/formats.py @@ -0,0 +1,26 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j. F Y" +TIME_FORMAT = "H:i" +DATETIME_FORMAT = "j. F Y H:i" +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j. F" +SHORT_DATE_FORMAT = "d.m.Y" +SHORT_DATETIME_FORMAT = "d.m.Y H:i" +FIRST_DAY_OF_WEEK = 1 + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d.%m.%Y", # '25.10.2006' +] +DATETIME_INPUT_FORMATS = [ + "%d.%m.%Y %H:%M:%S", # '25.10.2006 14:30:59' + "%d.%m.%Y %H:%M:%S.%f", # '25.10.2006 14:30:59.000200' + "%d.%m.%Y %H:%M", # '25.10.2006 14:30' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "." +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/de/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/de/LC_MESSAGES/django.po new file mode 100644 index 0000000..90037a2 --- /dev/null +++ b/external_sources/django/django/conf/locale/de/LC_MESSAGES/django.po @@ -0,0 +1,1356 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# André Hagenbruch, 2011-2012 +# Florian Apolloner , 2011 +# Daniel Roschka , 2016 +# Florian Apolloner , 2018,2020-2023 +# jnns, 2011,2013 +# Jannis Leidel , 2013-2018,2020 +# jnns, 2016 +# Markus Holtermann , 2023 +# Markus Holtermann , 2013,2015 +# Raphael Michel , 2021 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 11:41-0300\n" +"PO-Revision-Date: 2023-12-04 06:49+0000\n" +"Last-Translator: Markus Holtermann , 2023\n" +"Language-Team: German (http://app.transifex.com/django/django/language/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "Afrikaans" + +msgid "Arabic" +msgstr "Arabisch" + +msgid "Algerian Arabic" +msgstr "Algerisches Arabisch" + +msgid "Asturian" +msgstr "Asturisch" + +msgid "Azerbaijani" +msgstr "Aserbaidschanisch" + +msgid "Bulgarian" +msgstr "Bulgarisch" + +msgid "Belarusian" +msgstr "Weißrussisch" + +msgid "Bengali" +msgstr "Bengali" + +msgid "Breton" +msgstr "Bretonisch" + +msgid "Bosnian" +msgstr "Bosnisch" + +msgid "Catalan" +msgstr "Katalanisch" + +msgid "Central Kurdish (Sorani)" +msgstr "Zentralkurdisch (Sorani)" + +msgid "Czech" +msgstr "Tschechisch" + +msgid "Welsh" +msgstr "Walisisch" + +msgid "Danish" +msgstr "Dänisch" + +msgid "German" +msgstr "Deutsch" + +msgid "Lower Sorbian" +msgstr "Niedersorbisch" + +msgid "Greek" +msgstr "Griechisch" + +msgid "English" +msgstr "Englisch" + +msgid "Australian English" +msgstr "Australisches Englisch" + +msgid "British English" +msgstr "Britisches Englisch" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Spanisch" + +msgid "Argentinian Spanish" +msgstr "Argentinisches Spanisch" + +msgid "Colombian Spanish" +msgstr "Kolumbianisches Spanisch" + +msgid "Mexican Spanish" +msgstr "Mexikanisches Spanisch" + +msgid "Nicaraguan Spanish" +msgstr "Nicaraguanisches Spanisch" + +msgid "Venezuelan Spanish" +msgstr "Venezolanisches Spanisch" + +msgid "Estonian" +msgstr "Estnisch" + +msgid "Basque" +msgstr "Baskisch" + +msgid "Persian" +msgstr "Persisch" + +msgid "Finnish" +msgstr "Finnisch" + +msgid "French" +msgstr "Französisch" + +msgid "Frisian" +msgstr "Friesisch" + +msgid "Irish" +msgstr "Irisch" + +msgid "Scottish Gaelic" +msgstr "Schottisch-Gälisch" + +msgid "Galician" +msgstr "Galicisch" + +msgid "Hebrew" +msgstr "Hebräisch" + +msgid "Hindi" +msgstr "Hindi" + +msgid "Croatian" +msgstr "Kroatisch" + +msgid "Upper Sorbian" +msgstr "Obersorbisch" + +msgid "Hungarian" +msgstr "Ungarisch" + +msgid "Armenian" +msgstr "Armenisch" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indonesisch" + +msgid "Igbo" +msgstr "Igbo" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Isländisch" + +msgid "Italian" +msgstr "Italienisch" + +msgid "Japanese" +msgstr "Japanisch" + +msgid "Georgian" +msgstr "Georgisch" + +msgid "Kabyle" +msgstr "Kabylisch" + +msgid "Kazakh" +msgstr "Kasachisch" + +msgid "Khmer" +msgstr "Khmer" + +msgid "Kannada" +msgstr "Kannada" + +msgid "Korean" +msgstr "Koreanisch" + +msgid "Kyrgyz" +msgstr "Kirgisisch" + +msgid "Luxembourgish" +msgstr "Luxemburgisch" + +msgid "Lithuanian" +msgstr "Litauisch" + +msgid "Latvian" +msgstr "Lettisch" + +msgid "Macedonian" +msgstr "Mazedonisch" + +msgid "Malayalam" +msgstr "Malayalam" + +msgid "Mongolian" +msgstr "Mongolisch" + +msgid "Marathi" +msgstr "Marathi" + +msgid "Malay" +msgstr "Malaiisch" + +msgid "Burmese" +msgstr "Birmanisch" + +msgid "Norwegian Bokmål" +msgstr "Norwegisch (Bokmål)" + +msgid "Nepali" +msgstr "Nepali" + +msgid "Dutch" +msgstr "Niederländisch" + +msgid "Norwegian Nynorsk" +msgstr "Norwegisch (Nynorsk)" + +msgid "Ossetic" +msgstr "Ossetisch" + +msgid "Punjabi" +msgstr "Panjabi" + +msgid "Polish" +msgstr "Polnisch" + +msgid "Portuguese" +msgstr "Portugiesisch" + +msgid "Brazilian Portuguese" +msgstr "Brasilianisches Portugiesisch" + +msgid "Romanian" +msgstr "Rumänisch" + +msgid "Russian" +msgstr "Russisch" + +msgid "Slovak" +msgstr "Slowakisch" + +msgid "Slovenian" +msgstr "Slowenisch" + +msgid "Albanian" +msgstr "Albanisch" + +msgid "Serbian" +msgstr "Serbisch" + +msgid "Serbian Latin" +msgstr "Serbisch (Latein)" + +msgid "Swedish" +msgstr "Schwedisch" + +msgid "Swahili" +msgstr "Swahili" + +msgid "Tamil" +msgstr "Tamilisch" + +msgid "Telugu" +msgstr "Telugisch" + +msgid "Tajik" +msgstr "Tadschikisch" + +msgid "Thai" +msgstr "Thailändisch" + +msgid "Turkmen" +msgstr "Turkmenisch" + +msgid "Turkish" +msgstr "Türkisch" + +msgid "Tatar" +msgstr "Tatarisch" + +msgid "Udmurt" +msgstr "Udmurtisch" + +msgid "Uyghur" +msgstr "Uigurisch" + +msgid "Ukrainian" +msgstr "Ukrainisch" + +msgid "Urdu" +msgstr "Urdu" + +msgid "Uzbek" +msgstr "Usbekisch" + +msgid "Vietnamese" +msgstr "Vietnamesisch" + +msgid "Simplified Chinese" +msgstr "Vereinfachtes Chinesisch" + +msgid "Traditional Chinese" +msgstr "Traditionelles Chinesisch" + +msgid "Messages" +msgstr "Mitteilungen" + +msgid "Site Maps" +msgstr "Sitemaps" + +msgid "Static Files" +msgstr "Statische Dateien" + +msgid "Syndication" +msgstr "Syndication" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "Diese Seitennummer ist keine Ganzzahl" + +msgid "That page number is less than 1" +msgstr "Diese Seitennummer ist kleiner als 1" + +msgid "That page contains no results" +msgstr "Diese Seite enthält keine Ergebnisse" + +msgid "Enter a valid value." +msgstr "Bitte einen gültigen Wert eingeben." + +msgid "Enter a valid URL." +msgstr "Bitte eine gültige Adresse eingeben." + +msgid "Enter a valid integer." +msgstr "Bitte eine gültige Ganzzahl eingeben." + +msgid "Enter a valid email address." +msgstr "Bitte gültige E-Mail-Adresse eingeben." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Bitte ein gültiges Kürzel, bestehend aus Buchstaben, Ziffern, Unterstrichen " +"und Bindestrichen, eingeben." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Bitte ein gültiges Kürzel eingeben, bestehend aus Buchstaben (Unicode), " +"Ziffern, Unter- und Bindestrichen." + +msgid "Enter a valid IPv4 address." +msgstr "Bitte eine gültige IPv4-Adresse eingeben." + +msgid "Enter a valid IPv6 address." +msgstr "Bitte eine gültige IPv6-Adresse eingeben." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Bitte eine gültige IPv4- oder IPv6-Adresse eingeben" + +msgid "Enter only digits separated by commas." +msgstr "Bitte nur durch Komma getrennte Ziffern eingeben." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Bitte sicherstellen, dass der Wert %(limit_value)s ist. (Er ist " +"%(show_value)s.)" + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Dieser Wert muss kleiner oder gleich %(limit_value)s sein." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Dieser Wert muss größer oder gleich %(limit_value)s sein." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "Dieser Wert muss ein Vielfaches von %(limit_value)s sein." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"Dieser Wert muss ein Vielfaches von %(limit_value)s sein und bei %(offset)s " +"beginnen, z.B. %(offset)s, %(valid_value1)s, %(valid_value2)s, und so weiter." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Bitte sicherstellen, dass der Wert aus mindestens %(limit_value)d Zeichen " +"besteht. (Er besteht aus %(show_value)d Zeichen.)" +msgstr[1] "" +"Bitte sicherstellen, dass der Wert aus mindestens %(limit_value)d Zeichen " +"besteht. (Er besteht aus %(show_value)d Zeichen.)" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Bitte sicherstellen, dass der Wert aus höchstens %(limit_value)d Zeichen " +"besteht. (Er besteht aus %(show_value)d Zeichen.)" +msgstr[1] "" +"Bitte sicherstellen, dass der Wert aus höchstens %(limit_value)d Zeichen " +"besteht. (Er besteht aus %(show_value)d Zeichen.)" + +msgid "Enter a number." +msgstr "Bitte eine Zahl eingeben." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "" +"Bitte sicherstellen, dass der Wert höchstens %(max)s Ziffer enthält." +msgstr[1] "" +"Bitte sicherstellen, dass der Wert höchstens %(max)s Ziffern enthält." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" +"Bitte sicherstellen, dass der Wert höchstens %(max)s Dezimalstelle enthält." +msgstr[1] "" +"Bitte sicherstellen, dass der Wert höchstens %(max)s Dezimalstellen enthält." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Bitte sicherstellen, dass der Wert höchstens %(max)s Ziffer vor dem Komma " +"enthält." +msgstr[1] "" +"Bitte sicherstellen, dass der Wert höchstens %(max)s Ziffern vor dem Komma " +"enthält." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Dateiendung „%(extension)s“ ist nicht erlaubt. Erlaubte Dateiendungen sind: " +"„%(allowed_extensions)s“." + +msgid "Null characters are not allowed." +msgstr "Nullzeichen sind nicht erlaubt." + +msgid "and" +msgstr "und" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s mit diesem %(field_labels)s existiert bereits." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "Bedingung „%(name)s“ ist nicht erfüllt." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Wert %(value)r ist keine gültige Option." + +msgid "This field cannot be null." +msgstr "Dieses Feld darf nicht null sein." + +msgid "This field cannot be blank." +msgstr "Dieses Feld darf nicht leer sein." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s mit diesem %(field_label)s existiert bereits." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s muss für %(date_field_label)s %(lookup_type)s eindeutig sein." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Feldtyp: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "Wert „%(value)s“ muss entweder True oder False sein." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "Wert „%(value)s“ muss True, False oder None sein." + +msgid "Boolean (Either True or False)" +msgstr "Boolescher Wert (True oder False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Zeichenkette (bis zu %(max_length)s Zeichen)" + +msgid "String (unlimited)" +msgstr "Zeichenkette (unlimitiert)" + +msgid "Comma-separated integers" +msgstr "Kommaseparierte Liste von Ganzzahlen" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"Wert „%(value)s“ hat ein ungültiges Datumsformat. Es muss YYYY-MM-DD " +"entsprechen." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"Wert „%(value)s“ hat das korrekte Format (YYYY-MM-DD) aber ein ungültiges " +"Datum." + +msgid "Date (without time)" +msgstr "Datum (ohne Uhrzeit)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"Wert „%(value)s“ hat ein ungültiges Format. Es muss YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] entsprechen." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"Wert „%(value)s“ hat das korrekte Format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) aber eine ungültige Zeit-/Datumsangabe." + +msgid "Date (with time)" +msgstr "Datum (mit Uhrzeit)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "Wert „%(value)s“ muss eine Dezimalzahl sein." + +msgid "Decimal number" +msgstr "Dezimalzahl" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"Wert „%(value)s“ hat ein ungültiges Format. Es muss der Form [DD] [HH:" +"[MM:]]ss[.uuuuuu] entsprechen." + +msgid "Duration" +msgstr "Zeitspanne" + +msgid "Email address" +msgstr "E-Mail-Adresse" + +msgid "File path" +msgstr "Dateipfad" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "Wert „%(value)s“ muss eine Fließkommazahl sein." + +msgid "Floating point number" +msgstr "Gleitkommazahl" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "Wert „%(value)s“ muss eine Ganzzahl sein." + +msgid "Integer" +msgstr "Ganzzahl" + +msgid "Big (8 byte) integer" +msgstr "Große Ganzzahl (8 Byte)" + +msgid "Small integer" +msgstr "Kleine Ganzzahl" + +msgid "IPv4 address" +msgstr "IPv4-Adresse" + +msgid "IP address" +msgstr "IP-Adresse" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "Wert „%(value)s“ muss entweder None, True oder False sein." + +msgid "Boolean (Either True, False or None)" +msgstr "Boolescher Wert (True, False oder None)" + +msgid "Positive big integer" +msgstr "Positive große Ganzzahl" + +msgid "Positive integer" +msgstr "Positive Ganzzahl" + +msgid "Positive small integer" +msgstr "Positive kleine Ganzzahl" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Kürzel (bis zu %(max_length)s)" + +msgid "Text" +msgstr "Text" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"Wert „%(value)s“ hat ein ungültiges Format. Es muss HH:MM[:ss[.uuuuuu]] " +"entsprechen." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"Wert „%(value)s“ hat das korrekte Format (HH:MM[:ss[.uuuuuu]]), aber ist " +"eine ungültige Zeitangabe." + +msgid "Time" +msgstr "Zeit" + +msgid "URL" +msgstr "Adresse (URL)" + +msgid "Raw binary data" +msgstr "Binärdaten" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "Wert „%(value)s“ ist keine gültige UUID." + +msgid "Universally unique identifier" +msgstr "Universally Unique Identifier" + +msgid "File" +msgstr "Datei" + +msgid "Image" +msgstr "Bild" + +msgid "A JSON object" +msgstr "Ein JSON-Objekt" + +msgid "Value must be valid JSON." +msgstr "Wert muss gültiges JSON sein." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "Objekt vom Typ %(model)s mit %(field)s %(value)r existiert nicht." + +msgid "Foreign Key (type determined by related field)" +msgstr "Fremdschlüssel (Typ definiert durch verknüpftes Feld)" + +msgid "One-to-one relationship" +msgstr "1:1-Beziehung" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s-Beziehung" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s-Beziehungen" + +msgid "Many-to-many relationship" +msgstr "n:m-Beziehung" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Dieses Feld ist zwingend erforderlich." + +msgid "Enter a whole number." +msgstr "Bitte eine ganze Zahl eingeben." + +msgid "Enter a valid date." +msgstr "Bitte ein gültiges Datum eingeben." + +msgid "Enter a valid time." +msgstr "Bitte eine gültige Uhrzeit eingeben." + +msgid "Enter a valid date/time." +msgstr "Bitte ein gültiges Datum und Uhrzeit eingeben." + +msgid "Enter a valid duration." +msgstr "Bitte eine gültige Zeitspanne eingeben." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Die Anzahl der Tage muss zwischen {min_days} und {max_days} sein." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"Es wurde keine Datei übertragen. Überprüfen Sie das Encoding des Formulars." + +msgid "No file was submitted." +msgstr "Es wurde keine Datei übertragen." + +msgid "The submitted file is empty." +msgstr "Die übertragene Datei ist leer." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Bitte sicherstellen, dass der Dateiname aus höchstens %(max)d Zeichen " +"besteht. (Er besteht aus %(length)d Zeichen.)" +msgstr[1] "" +"Bitte sicherstellen, dass der Dateiname aus höchstens %(max)d Zeichen " +"besteht. (Er besteht aus %(length)d Zeichen.)" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Bitte wählen Sie entweder eine Datei aus oder wählen Sie „Löschen“, nicht " +"beides." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Bitte ein gültiges Bild hochladen. Die hochgeladene Datei ist kein Bild oder " +"ist defekt." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Bitte eine gültige Auswahl treffen. %(value)s ist keine gültige Auswahl." + +msgid "Enter a list of values." +msgstr "Bitte eine Liste mit Werten eingeben." + +msgid "Enter a complete value." +msgstr "Bitte einen vollständigen Wert eingeben." + +msgid "Enter a valid UUID." +msgstr "Bitte eine gültige UUID eingeben." + +msgid "Enter a valid JSON." +msgstr "Bitte ein gültiges JSON-Objekt eingeben." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Verstecktes Feld %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"Daten für das Management-Formular fehlen oder wurden manipuliert. Fehlende " +"Felder: %(field_names)s. Bitte erstellen Sie einen Bug-Report falls der " +"Fehler dauerhaft besteht." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Bitte höchstens %(num)d Forumlar abschicken." +msgstr[1] "Bitte höchstens %(num)d Formulare abschicken." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Bitte mindestends %(num)d Formular abschicken." +msgstr[1] "Bitte mindestens %(num)d Formulare abschicken." + +msgid "Order" +msgstr "Reihenfolge" + +msgid "Delete" +msgstr "Löschen" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Bitte die doppelten Daten für %(field)s korrigieren." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Bitte die doppelten Daten für %(field)s korrigieren, das eindeutig sein muss." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Bitte die doppelten Daten für %(field_name)s korrigieren, da es für " +"%(lookup)s in %(date_field)s eindeutig sein muss." + +msgid "Please correct the duplicate values below." +msgstr "Bitte die unten aufgeführten doppelten Werte korrigieren." + +msgid "The inline value did not match the parent instance." +msgstr "Der Inline-Wert passt nicht zur übergeordneten Instanz." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Bitte eine gültige Auswahl treffen. Dies ist keine gültige Auswahl." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "„%(pk)s“ ist kein gültiger Wert." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s konnte mit der Zeitzone %(current_timezone)s nicht eindeutig " +"interpretiert werden, da es doppeldeutig oder eventuell inkorrekt ist." + +msgid "Clear" +msgstr "Zurücksetzen" + +msgid "Currently" +msgstr "Derzeit" + +msgid "Change" +msgstr "Ändern" + +msgid "Unknown" +msgstr "Unbekannt" + +msgid "Yes" +msgstr "Ja" + +msgid "No" +msgstr "Nein" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "Ja,Nein,Vielleicht" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d Byte" +msgstr[1] "%(size)d Bytes" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "nachm." + +msgid "a.m." +msgstr "vorm." + +msgid "PM" +msgstr "nachm." + +msgid "AM" +msgstr "vorm." + +msgid "midnight" +msgstr "Mitternacht" + +msgid "noon" +msgstr "Mittag" + +msgid "Monday" +msgstr "Montag" + +msgid "Tuesday" +msgstr "Dienstag" + +msgid "Wednesday" +msgstr "Mittwoch" + +msgid "Thursday" +msgstr "Donnerstag" + +msgid "Friday" +msgstr "Freitag" + +msgid "Saturday" +msgstr "Samstag" + +msgid "Sunday" +msgstr "Sonntag" + +msgid "Mon" +msgstr "Mo" + +msgid "Tue" +msgstr "Di" + +msgid "Wed" +msgstr "Mi" + +msgid "Thu" +msgstr "Do" + +msgid "Fri" +msgstr "Fr" + +msgid "Sat" +msgstr "Sa" + +msgid "Sun" +msgstr "So" + +msgid "January" +msgstr "Januar" + +msgid "February" +msgstr "Februar" + +msgid "March" +msgstr "März" + +msgid "April" +msgstr "April" + +msgid "May" +msgstr "Mai" + +msgid "June" +msgstr "Juni" + +msgid "July" +msgstr "Juli" + +msgid "August" +msgstr "August" + +msgid "September" +msgstr "September" + +msgid "October" +msgstr "Oktober" + +msgid "November" +msgstr "November" + +msgid "December" +msgstr "Dezember" + +msgid "jan" +msgstr "Jan" + +msgid "feb" +msgstr "Feb" + +msgid "mar" +msgstr "Mär" + +msgid "apr" +msgstr "Apr" + +msgid "may" +msgstr "Mai" + +msgid "jun" +msgstr "Jun" + +msgid "jul" +msgstr "Jul" + +msgid "aug" +msgstr "Aug" + +msgid "sep" +msgstr "Sep" + +msgid "oct" +msgstr "Okt" + +msgid "nov" +msgstr "Nov" + +msgid "dec" +msgstr "Dez" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Jan." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "März" + +msgctxt "abbrev. month" +msgid "April" +msgstr "April" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Mai" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Juni" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Juli" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Aug." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Sept." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Okt." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Dez." + +msgctxt "alt. month" +msgid "January" +msgstr "Januar" + +msgctxt "alt. month" +msgid "February" +msgstr "Februar" + +msgctxt "alt. month" +msgid "March" +msgstr "März" + +msgctxt "alt. month" +msgid "April" +msgstr "April" + +msgctxt "alt. month" +msgid "May" +msgstr "Mai" + +msgctxt "alt. month" +msgid "June" +msgstr "Juni" + +msgctxt "alt. month" +msgid "July" +msgstr "Juli" + +msgctxt "alt. month" +msgid "August" +msgstr "August" + +msgctxt "alt. month" +msgid "September" +msgstr "September" + +msgctxt "alt. month" +msgid "October" +msgstr "Oktober" + +msgctxt "alt. month" +msgid "November" +msgstr "November" + +msgctxt "alt. month" +msgid "December" +msgstr "Dezember" + +msgid "This is not a valid IPv6 address." +msgstr "Dies ist keine gültige IPv6-Adresse." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "oder" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d Jahr" +msgstr[1] "%(num)d Jahre" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d Monat" +msgstr[1] "%(num)d Monate" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d Woche" +msgstr[1] "%(num)d Wochen" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d Tag" +msgstr[1] "%(num)d Tage" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d Stunde" +msgstr[1] "%(num)d Stunden" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d Minute" +msgstr[1] "%(num)d Minuten" + +msgid "Forbidden" +msgstr "Verboten" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF-Verifizierung fehlgeschlagen. Anfrage abgebrochen." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Sie sehen diese Fehlermeldung, da diese HTTPS-Seite einen „Referer“-Header " +"von Ihrem Webbrowser erwartet, aber keinen erhalten hat. Dieser Header ist " +"aus Sicherheitsgründen notwendig, um sicherzustellen, dass Ihr Webbrowser " +"nicht von Dritten missbraucht wird." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Falls Sie Ihren Webbrowser so konfiguriert haben, dass „Referer“-Header " +"nicht gesendet werden, müssen Sie diese Funktion mindestens für diese Seite, " +"für sichere HTTPS-Verbindungen oder für „Same-Origin“-Verbindungen " +"reaktivieren." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Wenn der Tag „“ oder der " +"„Referrer-Policy: no-referrer“-Header verwendet wird, entfernen Sie sie " +"bitte. Der „Referer“-Header wird zur korrekten CSRF-Verifizierung benötigt. " +"Falls es datenschutzrechtliche Gründe gibt, benutzen Sie bitte Alternativen " +"wie „“ für Links zu Drittseiten." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Sie sehen Diese Nachricht, da diese Seite einen CSRF-Cookie beim Verarbeiten " +"von Formulardaten benötigt. Dieses Cookie ist aus Sicherheitsgründen " +"notwendig, um sicherzustellen, dass Ihr Webbrowser nicht von Dritten " +"missbraucht wird." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Falls Sie Cookies in Ihren Webbrowser deaktiviert haben, müssen Sie sie " +"mindestens für diese Seite oder für „Same-Origin“-Verbindungen reaktivieren." + +msgid "More information is available with DEBUG=True." +msgstr "Mehr Information ist verfügbar mit DEBUG=True." + +msgid "No year specified" +msgstr "Kein Jahr angegeben" + +msgid "Date out of range" +msgstr "Datum außerhalb des zulässigen Bereichs" + +msgid "No month specified" +msgstr "Kein Monat angegeben" + +msgid "No day specified" +msgstr "Kein Tag angegeben" + +msgid "No week specified" +msgstr "Keine Woche angegeben" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Keine %(verbose_name_plural)s verfügbar" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"In der Zukunft liegende %(verbose_name_plural)s sind nicht verfügbar, da " +"%(class_name)s.allow_future auf False gesetzt ist." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "Ungültiges Datum „%(datestr)s“ für das Format „%(format)s“" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Konnte keine %(verbose_name)s mit diesen Parametern finden." + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" +"Weder ist dies die letzte Seite („last“) noch konnte sie in einen " +"ganzzahligen Wert umgewandelt werden." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Ungültige Seite (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Leere Liste und „%(class_name)s.allow_empty“ ist False." + +msgid "Directory indexes are not allowed here." +msgstr "Dateilisten sind untersagt." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "„%(path)s“ ist nicht vorhanden" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Verzeichnis %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "Die Installation war erfolgreich. Herzlichen Glückwunsch!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Versionshinweise für Django " +"%(version)s anzeigen" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Diese Seite ist sichtbar weil in der Settings-Datei DEBUG = True steht und die URLs noch nicht konfiguriert " +"sind." + +msgid "Django Documentation" +msgstr "Django-Dokumentation" + +msgid "Topics, references, & how-to’s" +msgstr "Themen, Referenz, & Kurzanleitungen" + +msgid "Tutorial: A Polling App" +msgstr "Tutorial: Eine Umfrage-App" + +msgid "Get started with Django" +msgstr "Los geht's mit Django" + +msgid "Django Community" +msgstr "Django-Community" + +msgid "Connect, get help, or contribute" +msgstr "Nimm Kontakt auf, erhalte Hilfe oder arbeite an Django mit" diff --git a/external_sources/django/django/conf/locale/de/__init__.py b/external_sources/django/django/conf/locale/de/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/de/formats.py b/external_sources/django/django/conf/locale/de/formats.py new file mode 100644 index 0000000..45953ce --- /dev/null +++ b/external_sources/django/django/conf/locale/de/formats.py @@ -0,0 +1,29 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j. F Y" +TIME_FORMAT = "H:i" +DATETIME_FORMAT = "j. F Y H:i" +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j. F" +SHORT_DATE_FORMAT = "d.m.Y" +SHORT_DATETIME_FORMAT = "d.m.Y H:i" +FIRST_DAY_OF_WEEK = 1 # Monday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d.%m.%Y", # '25.10.2006' + "%d.%m.%y", # '25.10.06' + # "%d. %B %Y", # '25. October 2006' + # "%d. %b. %Y", # '25. Oct. 2006' +] +DATETIME_INPUT_FORMATS = [ + "%d.%m.%Y %H:%M:%S", # '25.10.2006 14:30:59' + "%d.%m.%Y %H:%M:%S.%f", # '25.10.2006 14:30:59.000200' + "%d.%m.%Y %H:%M", # '25.10.2006 14:30' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "." +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/de_CH/__init__.py b/external_sources/django/django/conf/locale/de_CH/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/de_CH/formats.py b/external_sources/django/django/conf/locale/de_CH/formats.py new file mode 100644 index 0000000..f42dd48 --- /dev/null +++ b/external_sources/django/django/conf/locale/de_CH/formats.py @@ -0,0 +1,35 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j. F Y" +TIME_FORMAT = "H:i" +DATETIME_FORMAT = "j. F Y H:i" +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j. F" +SHORT_DATE_FORMAT = "d.m.Y" +SHORT_DATETIME_FORMAT = "d.m.Y H:i" +FIRST_DAY_OF_WEEK = 1 # Monday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d.%m.%Y", # '25.10.2006' + "%d.%m.%y", # '25.10.06' + # "%d. %B %Y", # '25. October 2006' + # "%d. %b. %Y", # '25. Oct. 2006' +] +DATETIME_INPUT_FORMATS = [ + "%d.%m.%Y %H:%M:%S", # '25.10.2006 14:30:59' + "%d.%m.%Y %H:%M:%S.%f", # '25.10.2006 14:30:59.000200' + "%d.%m.%Y %H:%M", # '25.10.2006 14:30' +] + +# these are the separators for non-monetary numbers. For monetary numbers, +# the DECIMAL_SEPARATOR is a . (decimal point) and the THOUSAND_SEPARATOR is a +# ' (single quote). +# For details, please refer to the documentation and the following link: +# https://www.bk.admin.ch/bk/de/home/dokumentation/sprachen/hilfsmittel-textredaktion/schreibweisungen.html +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "\xa0" # non-breaking space +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/dsb/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/dsb/LC_MESSAGES/django.po new file mode 100644 index 0000000..4448d1a --- /dev/null +++ b/external_sources/django/django/conf/locale/dsb/LC_MESSAGES/django.po @@ -0,0 +1,1392 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Michael Wolf , 2016-2024 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-10-07 06:49+0000\n" +"Last-Translator: Michael Wolf , 2016-2024\n" +"Language-Team: Lower Sorbian (http://app.transifex.com/django/django/" +"language/dsb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: dsb\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " +"n%100==4 ? 2 : 3);\n" + +msgid "Afrikaans" +msgstr "Afrikaanšćina" + +msgid "Arabic" +msgstr "Arabšćina" + +msgid "Algerian Arabic" +msgstr "Algeriska arabšćina" + +msgid "Asturian" +msgstr "Asturišćina" + +msgid "Azerbaijani" +msgstr "Azerbajdžanišćina" + +msgid "Bulgarian" +msgstr "Bulgaršćina" + +msgid "Belarusian" +msgstr "Běłorušćina" + +msgid "Bengali" +msgstr "Bengalšćina" + +msgid "Breton" +msgstr "Bretońšćina" + +msgid "Bosnian" +msgstr "Bosnišćina" + +msgid "Catalan" +msgstr "Katalańšćina" + +msgid "Central Kurdish (Sorani)" +msgstr "Centralna kurdišćina (Sorani)" + +msgid "Czech" +msgstr "Češćina" + +msgid "Welsh" +msgstr "Kymrišćina" + +msgid "Danish" +msgstr "Dańšćina" + +msgid "German" +msgstr "Nimšćina" + +msgid "Lower Sorbian" +msgstr "Dolnoserbšćina" + +msgid "Greek" +msgstr "Grichišćina" + +msgid "English" +msgstr "Engelšćina" + +msgid "Australian English" +msgstr "Awstralska engelšćina" + +msgid "British English" +msgstr "Britiska engelšćina" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Špańšćina" + +msgid "Argentinian Spanish" +msgstr "Argentinska špańšćina" + +msgid "Colombian Spanish" +msgstr "Kolumbiska špańšćina" + +msgid "Mexican Spanish" +msgstr "Mexikańska špańšćina" + +msgid "Nicaraguan Spanish" +msgstr "Nikaraguaska špańšćina" + +msgid "Venezuelan Spanish" +msgstr "Venezolaniska špańšćina" + +msgid "Estonian" +msgstr "Estnišćina" + +msgid "Basque" +msgstr "Baskišćina" + +msgid "Persian" +msgstr "Persišćina" + +msgid "Finnish" +msgstr "Finšćina" + +msgid "French" +msgstr "Francojšćina" + +msgid "Frisian" +msgstr "Frizišćina" + +msgid "Irish" +msgstr "Iršćina" + +msgid "Scottish Gaelic" +msgstr "Šotiska gelišćina" + +msgid "Galician" +msgstr "Galicišćina" + +msgid "Hebrew" +msgstr "Hebrejšćina" + +msgid "Hindi" +msgstr "Hindišćina" + +msgid "Croatian" +msgstr "Chorwatšćina" + +msgid "Upper Sorbian" +msgstr "Górnoserbšćina" + +msgid "Hungarian" +msgstr "Hungoršćina" + +msgid "Armenian" +msgstr "Armeńšćina" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indonešćina" + +msgid "Igbo" +msgstr "Igbo" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Islandšćina" + +msgid "Italian" +msgstr "Italšćina" + +msgid "Japanese" +msgstr "Japańšćina" + +msgid "Georgian" +msgstr "Georgišćina" + +msgid "Kabyle" +msgstr "Kabylšćina" + +msgid "Kazakh" +msgstr "Kazachšćina" + +msgid "Khmer" +msgstr "Rěc Khmerow" + +msgid "Kannada" +msgstr "Kannadišćina" + +msgid "Korean" +msgstr "Korejańšćina" + +msgid "Kyrgyz" +msgstr "Kirgišćina" + +msgid "Luxembourgish" +msgstr "Luxemburgšćina" + +msgid "Lithuanian" +msgstr "Litawšćina" + +msgid "Latvian" +msgstr "Letišćina" + +msgid "Macedonian" +msgstr "Makedońšćina" + +msgid "Malayalam" +msgstr "Malajalam" + +msgid "Mongolian" +msgstr "Mongolšćina" + +msgid "Marathi" +msgstr "Marathi" + +msgid "Malay" +msgstr "Malayzišćina" + +msgid "Burmese" +msgstr "Myanmaršćina" + +msgid "Norwegian Bokmål" +msgstr "Norwegski Bokmål" + +msgid "Nepali" +msgstr "Nepalšćina" + +msgid "Dutch" +msgstr "¨Nižozemšćina" + +msgid "Norwegian Nynorsk" +msgstr "Norwegski Nynorsk" + +msgid "Ossetic" +msgstr "Osetšćina" + +msgid "Punjabi" +msgstr "Pundžabi" + +msgid "Polish" +msgstr "Pólšćina" + +msgid "Portuguese" +msgstr "Portugišćina" + +msgid "Brazilian Portuguese" +msgstr "Brazilska portugišćina" + +msgid "Romanian" +msgstr "Rumunšćina" + +msgid "Russian" +msgstr "Rušćina" + +msgid "Slovak" +msgstr "Słowakšćina" + +msgid "Slovenian" +msgstr "Słowjeńšćina" + +msgid "Albanian" +msgstr "Albanšćina" + +msgid "Serbian" +msgstr "Serbišćina" + +msgid "Serbian Latin" +msgstr "Serbišćina, łatyńska" + +msgid "Swedish" +msgstr "Šwedšćina" + +msgid "Swahili" +msgstr "Suahelšćina" + +msgid "Tamil" +msgstr "Tamilšćina" + +msgid "Telugu" +msgstr "Telugu" + +msgid "Tajik" +msgstr "Tadźikišćina" + +msgid "Thai" +msgstr "Thaišćina" + +msgid "Turkmen" +msgstr "Turkmeńšćina" + +msgid "Turkish" +msgstr "Turkojšćina" + +msgid "Tatar" +msgstr "Tataršćina" + +msgid "Udmurt" +msgstr "Udmurtšćina" + +msgid "Uyghur" +msgstr "Ujguršćina" + +msgid "Ukrainian" +msgstr "Ukrainšćina" + +msgid "Urdu" +msgstr "Urdu" + +msgid "Uzbek" +msgstr "Uzbekšćina" + +msgid "Vietnamese" +msgstr "Vietnamšćina" + +msgid "Simplified Chinese" +msgstr "Zjadnorjona chinšćina" + +msgid "Traditional Chinese" +msgstr "Tradicionelna chinšćina" + +msgid "Messages" +msgstr "Powěsći" + +msgid "Site Maps" +msgstr "Wopśimjeśowy pśeglěd sedła" + +msgid "Static Files" +msgstr "Statiske dataje" + +msgid "Syndication" +msgstr "Syndikacija" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "Toś ten numer boka njejo ceła licba" + +msgid "That page number is less than 1" +msgstr "Numer boka jo mjeńšy ako 1" + +msgid "That page contains no results" +msgstr "Toś ten bok njewopśimujo wuslědki" + +msgid "Enter a valid value." +msgstr "Zapódajśo płaśiwu gódnotu." + +msgid "Enter a valid domain name." +msgstr "Zapódajśo płaśiwe domenowe mě." + +msgid "Enter a valid URL." +msgstr "Zapódajśo płaśiwy URL." + +msgid "Enter a valid integer." +msgstr "Zapódajśo płaśiwu cełu licbu." + +msgid "Enter a valid email address." +msgstr "Zapódajśo płaśiwu e-mailowu adresu." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Zapódajśo płaśiwe „adresowe mě“, kótarež jano wopśimujo pismiki, licby, " +"pódsmužki abo wězawki." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Zapódajśo płaśiwe „adresowe mě“, kótarež jano wopśimujo unicodowe pismiki, " +"licby, pódmužki abo wězawki." + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "Zapódajśo płaśiwu %(protocol)s-adresu." + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "IPv4 or IPv6" +msgstr "IPv4 abo IPv6" + +msgid "Enter only digits separated by commas." +msgstr "Zapódajśo jano cyfry źělone pśez komy." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Zawěsććo toś tu gódnotu jo %(limit_value)s (jo %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" +"Zawěsććo, až toś ta gódnota jo mjeńša ako abo to samske ako %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" +"Zawěsććo, až toś ta gódnota jo wětša ako abo to samske ako %(limit_value)s." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "" +"Zawěsććo, až toś gódnota jo wjelesere kšacoweje wjelikosći %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"Zawěsććo, až toś ta gódnota jo wjele wót kšacoweje wjelikosći " +"%(limit_value)s, zachopinajucy z %(offset)s, na pś. %(offset)s, " +"%(valid_value1)s, %(valid_value2)s a tak dalej." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Zawěsććo, až toś ta gódnota ma nanejmjenjej %(limit_value)d znamuško (ma " +"%(show_value)d)." +msgstr[1] "" +"Zawěsććo, až toś ta gódnota ma nanejmjenjej %(limit_value)d znamušce (ma " +"%(show_value)d)." +msgstr[2] "" +"Zawěsććo, až toś ta gódnota ma nanejmjenjej %(limit_value)d znamuška (ma " +"%(show_value)d)." +msgstr[3] "" +"Zawěsććo, až toś ta gódnota ma nanejmjenjej %(limit_value)d znamuškow (ma " +"%(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Zawěććo, až toś ta gódnota ma maksimalnje %(limit_value)d znamuško (ma " +"%(show_value)d)." +msgstr[1] "" +"Zawěććo, až toś ta gódnota ma maksimalnje %(limit_value)d znamušce (ma " +"%(show_value)d)." +msgstr[2] "" +"Zawěććo, až toś ta gódnota ma maksimalnje %(limit_value)d znamuška (ma " +"%(show_value)d)." +msgstr[3] "" +"Zawěććo, až toś ta gódnota ma maksimalnje %(limit_value)d znamuškow (ma " +"%(show_value)d)." + +msgid "Enter a number." +msgstr "Zapódajśo licbu." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Zawěsććo, až njejo wěcej ako %(max)s cyfry dogromady." +msgstr[1] "Zawěsććo, až njejo wěcej ako %(max)s cyfrowu dogromady." +msgstr[2] "Zawěsććo, až njejo wěcej ako %(max)s cyfrow dogromady." +msgstr[3] "Zawěsććo, až njejo wěcej ako %(max)s cyfrow dogromady." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Zawěsććo, až njejo wěcej ako %(max)s decimalnego městna." +msgstr[1] "Zawěsććo, až njejo wěcej ako %(max)s decimalneju městnowu." +msgstr[2] "Zawěsććo, až njejo wěcej ako %(max)s decimalnych městnow." +msgstr[3] "Zawěsććo, až njejo wěcej ako %(max)s decimalnych městnow." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "Zawěsććo, až njejo wěcej ako %(max)s cyfry pśed decimalneju komu." +msgstr[1] "Zawěsććo, až njejo wěcej ako %(max)s cyfrowu pśed decimalneju komu." +msgstr[2] "Zawěsććo, až njejo wěcej ako %(max)s cyfrow pśed decimalneju komu." +msgstr[3] "Zawěsććo, až njejo wěcej ako %(max)s cyfrow pśed decimalneju komu." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Datajowy sufiks „%(extension)s“ njejo dowólony. Dowólone sufikse su: " +"%(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Znamuška nul njejsu dowólone." + +msgid "and" +msgstr "a" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s z toś tym %(field_labels)s južo eksistěrujo." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "Wobranicowanje \"%(name)s\" jo pśestupjone." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Gódnota %(value)r njejo płaśiwa wóleńska móžnosć." + +msgid "This field cannot be null." +msgstr "Toś to pólo njamóžo nul byś." + +msgid "This field cannot be blank." +msgstr "Toś to pólo njamóžo prozne byś." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s z toś tym %(field_label)s južo eksistěrujo." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s musy za %(date_field_label)s %(lookup_type)s jadnorazowy byś." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Typ póla: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "Gódnota „%(value)s“ musy pak True pak False byś." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "Gódnota „%(value)s“ musy pak True, False pak None byś." + +msgid "Boolean (Either True or False)" +msgstr "Boolean (pak True pak False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Znamuškowy rjeśazk (až %(max_length)s)" + +msgid "String (unlimited)" +msgstr "Znamuškowy rjeśazk (njewobgranicowany)" + +msgid "Comma-separated integers" +msgstr "Pśez komu źělone cełe licby" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"Gódnota „%(value)s“ ma njepłaśiwy datumowy format. Musy we formaśe DD.MM." +"YYYY byś." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"Gódnota „%(value)s“ ma korektny format (DD.MM.YYYY), ale jo njepłaśiwy datum." + +msgid "Date (without time)" +msgstr "Datum (bźez casa)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"Gódnota „%(value)s“ ma njepłaśiwy format. Musy w formaśe DD.MM.YYYY HH:MM[:" +"ss[.uuuuuu]][TZ] byś." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"Gódnota „%(value)s“ ma korektny format (DD.MM.YYYY HH:MM[:ss[.uuuuuu]][TZ]), " +"ale jo njepłaśiwy datum/cas." + +msgid "Date (with time)" +msgstr "Datum (z casom)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "Gódnota „%(value)s“ musy decimalna licba byś." + +msgid "Decimal number" +msgstr "Decimalna licba" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"Gódnota „%(value)s“ ma njepłaśiwy format. Musy we formaśe [DD] " +"[[HH:]MM:]ss[.uuuuuu] byś." + +msgid "Duration" +msgstr "Traśe" + +msgid "Email address" +msgstr "E-mailowa adresa" + +msgid "File path" +msgstr "Datajowa sćažka" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "Gódnota „%(value)s“ musy typ float měś." + +msgid "Floating point number" +msgstr "Licba běžeceje komy" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "Gódnota „%(value)s“ musy ceła licba byś." + +msgid "Integer" +msgstr "Integer" + +msgid "Big (8 byte) integer" +msgstr "Big (8 bajtow) integer" + +msgid "Small integer" +msgstr "Mała ceła licba" + +msgid "IPv4 address" +msgstr "IPv4-adresa" + +msgid "IP address" +msgstr "IP-adresa" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "Gódnota „%(value)s“ musy pak None, True pak False byś." + +msgid "Boolean (Either True, False or None)" +msgstr "Boolean (pak True, False pak None)" + +msgid "Positive big integer" +msgstr "Pozitiwna wjelika ceła licba" + +msgid "Positive integer" +msgstr "Pozitiwna ceła licba" + +msgid "Positive small integer" +msgstr "Pozitiwna mała ceła licba" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Adresowe mě (až %(max_length)s)" + +msgid "Text" +msgstr "Tekst" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"Gódnota „%(value)s“ ma njepłaśiwy format. Musy w formaśe HH:MM[:ss[." +"uuuuuu]] byś." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"Gódnota „%(value)s“ ma korektny format (HH:MM[:ss[.uuuuuu]]), ale jo " +"njepłaśiwy cas." + +msgid "Time" +msgstr "Cas" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Gropne binarne daty" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "„%(value)s“ njejo płaśiwy UUID." + +msgid "Universally unique identifier" +msgstr "Uniwerselnje jadnorazowy identifikator" + +msgid "File" +msgstr "Dataja" + +msgid "Image" +msgstr "Woraz" + +msgid "A JSON object" +msgstr "JSON-objekt" + +msgid "Value must be valid JSON." +msgstr "Gódnota musy płaśiwy JSON byś." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "Instanca %(model)s z %(field)s %(value)r njeeksistěrujo." + +msgid "Foreign Key (type determined by related field)" +msgstr "Cuzy kluc (typ póstaja se pśez wótpowědne pólo)" + +msgid "One-to-one relationship" +msgstr "Póśěg jaden jaden" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "Póśěg %(from)s-%(to)s" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "Póśěgi %(from)s-%(to)s" + +msgid "Many-to-many relationship" +msgstr "Póśěg wjele wjele" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Toś to pólo jo trěbne." + +msgid "Enter a whole number." +msgstr "Zapódajśo cełu licbu." + +msgid "Enter a valid date." +msgstr "Zapódajśo płaśiwy datum." + +msgid "Enter a valid time." +msgstr "Zapódajśo płaśiwy cas." + +msgid "Enter a valid date/time." +msgstr "Zapódajśo płaśiwy datum/cas." + +msgid "Enter a valid duration." +msgstr "Zapódaśe płaśiwe traśe." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Licba dnjow musy mjazy {min_days} a {max_days} byś." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"Dataja njejo se wótpósłała. Pśeglědujśo koděrowański typ na formularje. " + +msgid "No file was submitted." +msgstr "Žedna dataja jo se wótpósłała." + +msgid "The submitted file is empty." +msgstr "Wótpósłana dataja jo prozna." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Zawěsććo, až toś to datajowe mě ma maksimalnje %(max)d znamuško (ma " +"%(length)d)." +msgstr[1] "" +"Zawěsććo, až toś to datajowe mě ma maksimalnje %(max)d znamušce (ma " +"%(length)d)." +msgstr[2] "" +"Zawěsććo, až toś to datajowe mě ma maksimalnje %(max)d znamuška (ma " +"%(length)d)." +msgstr[3] "" +"Zawěsććo, až toś to datajowe mě ma maksimalnje %(max)d znamuškow (ma " +"%(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Pšosym pak wótpósćelśo dataju pak stajśo kokulku do kontrolnego kašćika, " +"njecyńśo wobej." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Nagrajśo płaśiwy wobraz. Dataja, kótaruž sćo nagrał, pak njejo wobraz był " +"pak jo wobškóźony wobraz." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Wubjeŕśo płaśiwu wóleńsku móžnosć. %(value)s njejo jadna z k dispoziciji " +"stojecych wóleńskich móžnosćow." + +msgid "Enter a list of values." +msgstr "Zapódajśo lisćinu gódnotow." + +msgid "Enter a complete value." +msgstr "Zapódajśo dopołnu gódnotu." + +msgid "Enter a valid UUID." +msgstr "Zapódajśo płaśiwy UUID." + +msgid "Enter a valid JSON." +msgstr "Zapódajśo płaśiwy JSON." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Schowane pólo %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"Daty ManagementForm feluju abo su wobškóźone. Felujuce póla: " +"%(field_names)s. Móžośo zmólkowu rozpšawu pisaś, jolic problem dalej " +"eksistěrujo." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Pšosym wótposćelśo maksimalnje %(num)d formular." +msgstr[1] "Pšosym wótposćelśo maksimalnje %(num)d formulara." +msgstr[2] "Pšosym wótposćelśo maksimalnje %(num)d formulary." +msgstr[3] "Pšosym wótposćelśo maksimalnje %(num)d formularow." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Pšosym wótposćelśo minimalnje %(num)d formular." +msgstr[1] "Pšosym wótposćelśo minimalnje %(num)d formulara." +msgstr[2] "Pšosym wótposćelśo minimalnje %(num)d formulary." +msgstr[3] "Pšosym wótposćelśo minimalnje %(num)d formularow." + +msgid "Order" +msgstr "Rěd" + +msgid "Delete" +msgstr "Lašowaś" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Pšosym korigěrujśo dwójne daty za %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Pšosym korigěrujśo dwójne daty za %(field)s, kótarež muse jadnorazowe byś." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Pšosym korigěrujśo dwójne daty za %(field_name)s, kótarež muse za %(lookup)s " +"w %(date_field)s jadnorazowe byś." + +msgid "Please correct the duplicate values below." +msgstr "Pšosym korigěrujśo slědujuce dwójne gódnoty." + +msgid "The inline value did not match the parent instance." +msgstr "Gódnota inline nadrědowanej instance njewótpowědujo." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Wubjeŕśo płaśiwu wóleńsku móžnosć. Toś ta wóleńska móžnosć njejo žedna z " +"wóleńskich móžnosćow." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "„%(pk)s“ njejo płaśiwa gódnota." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s njedajo se w casowej conje %(current_timezone)s " +"interpretěrowaś; jo dwójozmysłowy abo snaź njeeksistěrujo." + +msgid "Clear" +msgstr "Lašowaś" + +msgid "Currently" +msgstr "Tuchylu" + +msgid "Change" +msgstr "Změniś" + +msgid "Unknown" +msgstr "Njeznaty" + +msgid "Yes" +msgstr "Jo" + +msgid "No" +msgstr "Ně" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "jo,ně,snaź" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d bajt" +msgstr[1] "%(size)d bajta" +msgstr[2] "%(size)d bajty" +msgstr[3] "%(size)d bajtow" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "wótpołdnja" + +msgid "a.m." +msgstr "dopołdnja" + +msgid "PM" +msgstr "wótpołdnja" + +msgid "AM" +msgstr "dopołdnja" + +msgid "midnight" +msgstr "połnoc" + +msgid "noon" +msgstr "połdnjo" + +msgid "Monday" +msgstr "Pónjeźele" + +msgid "Tuesday" +msgstr "Wałtora" + +msgid "Wednesday" +msgstr "Srjoda" + +msgid "Thursday" +msgstr "Stwórtk" + +msgid "Friday" +msgstr "Pětk" + +msgid "Saturday" +msgstr "Sobota" + +msgid "Sunday" +msgstr "Njeźela" + +msgid "Mon" +msgstr "Pón" + +msgid "Tue" +msgstr "Wał" + +msgid "Wed" +msgstr "Srj" + +msgid "Thu" +msgstr "Stw" + +msgid "Fri" +msgstr "Pět" + +msgid "Sat" +msgstr "Sob" + +msgid "Sun" +msgstr "Nje" + +msgid "January" +msgstr "Januar" + +msgid "February" +msgstr "Februar" + +msgid "March" +msgstr "Měrc" + +msgid "April" +msgstr "Apryl" + +msgid "May" +msgstr "Maj" + +msgid "June" +msgstr "Junij" + +msgid "July" +msgstr "Julij" + +msgid "August" +msgstr "Awgust" + +msgid "September" +msgstr "September" + +msgid "October" +msgstr "Oktober" + +msgid "November" +msgstr "Nowember" + +msgid "December" +msgstr "December" + +msgid "jan" +msgstr "jan" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "měr" + +msgid "apr" +msgstr "apr" + +msgid "may" +msgstr "maj" + +msgid "jun" +msgstr "jun" + +msgid "jul" +msgstr "jul" + +msgid "aug" +msgstr "awg" + +msgid "sep" +msgstr "sep" + +msgid "oct" +msgstr "okt" + +msgid "nov" +msgstr "now" + +msgid "dec" +msgstr "dec" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Jan." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Měrc" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Apryl" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Maj" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Junij" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Julij" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Awg." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Sept." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Okt." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Now." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Dec." + +msgctxt "alt. month" +msgid "January" +msgstr "Januar" + +msgctxt "alt. month" +msgid "February" +msgstr "Februar" + +msgctxt "alt. month" +msgid "March" +msgstr "Měrc" + +msgctxt "alt. month" +msgid "April" +msgstr "Apryl" + +msgctxt "alt. month" +msgid "May" +msgstr "Maj" + +msgctxt "alt. month" +msgid "June" +msgstr "Junij" + +msgctxt "alt. month" +msgid "July" +msgstr "Julij" + +msgctxt "alt. month" +msgid "August" +msgstr "Awgust" + +msgctxt "alt. month" +msgid "September" +msgstr "September" + +msgctxt "alt. month" +msgid "October" +msgstr "Oktober" + +msgctxt "alt. month" +msgid "November" +msgstr "Nowember" + +msgctxt "alt. month" +msgid "December" +msgstr "December" + +msgid "This is not a valid IPv6 address." +msgstr "To njejo płaśiwa IPv6-adresa." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "abo" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d lěto" +msgstr[1] "%(num)d lěśe" +msgstr[2] "%(num)d lěta" +msgstr[3] "%(num)d lět" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d mjasec" +msgstr[1] "%(num)d mjaseca" +msgstr[2] "%(num)d mjasece" +msgstr[3] "%(num)dmjasecow" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d tyźeń" +msgstr[1] "%(num)d tyźenja" +msgstr[2] "%(num)d tyźenje" +msgstr[3] "%(num)d tyźenjow" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d źeń " +msgstr[1] "%(num)d dnja" +msgstr[2] "%(num)d dny" +msgstr[3] "%(num)d dnjow" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d góźina" +msgstr[1] "%(num)d góźinje" +msgstr[2] "%(num)d góźiny" +msgstr[3] "%(num)d góźin" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d minuta" +msgstr[1] "%(num)d minuśe" +msgstr[2] "%(num)d minuty" +msgstr[3] "%(num)d minutow" + +msgid "Forbidden" +msgstr "Zakazany" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF-pśeglědanje njejo se raźiło. Napšašowanje jo se pśetergnuło." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Wiźiśo toś tu powěźeńku, dokulaž toś to HTTPS-sedło trjeba \"Referer " +"header\", aby se pśez waš webwobglědowak słało, ale žedna njejo se pósłała. " +"Toś ta głowa jo trěbna z pśicynow wěstoty, aby so zawěsćiło, až waš " +"wobglědowak njekaprujo se wót tśeśich." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Jolic sćo swój wobglědowak tak konfigurěrował, aby se głowy 'Referer' " +"znjemóžnili, zmóžniśo je pšosym zasej, nanejmjenjej za toś to sedło, za " +"HTTPS-zwiski abo za napšašowanja 'same-origin'." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Jolic woznamjenje wužywaśo " +"abo głowu „Referrer-Policy: no-referrer“ zapśimujośo, wótwónoźćo je. CSRF-" +"šćit pomina se głowu „Referer“, aby striktnu kontrolu referera pśewjasć. " +"Jolic se wó swóju priwatnosć staraśo, wužywajśo alternatiwy ako za wótkazy k sedłam tśeśich." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Wiźiśo toś tu powěźeńku, dokulaž toś to HTTPS-sedło trjeba CSRF-cookie, aby " +"formulary wótpósłało. Toś ten cookie jo trěbna z pśicynow wěstoty, aby so " +"zawěsćiło, až waš wobglědowak njekaprujo se wót tśeśich." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Jolic sćo swój wobglědowak tak konfigurěrował, aby cookieje znjemóžnili, " +"zmóžniśo je pšosym zasej, nanejmjenjej za toś to sedło abo za napšašowanja " +"„same-origin“." + +msgid "More information is available with DEBUG=True." +msgstr "Dalšne informacije su k dispoziciji z DEBUG=True." + +msgid "No year specified" +msgstr "Žedno lěto pódane" + +msgid "Date out of range" +msgstr "Datum zwenka wobcerka" + +msgid "No month specified" +msgstr "Žeden mjasec pódany" + +msgid "No day specified" +msgstr "Žeden źeń pódany" + +msgid "No week specified" +msgstr "Žeden tyźeń pódany" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Žedne %(verbose_name_plural)s k dispoziciji" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Pśichodne %(verbose_name_plural)s njejo k dispoziciji, dokulaž " +"%(class_name)s.allow_future jo False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" +"Njepłaśiwy „%(format)s“ za datumowy znamuškowy rjeśazk „%(datestr)s“ pódany" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Žedno %(verbose_name)s namakane, kótarež wótpowědujo napšašowanjeju." + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "Bok njejo „last“, ani njedajo se do „int“ konwertěrowaś." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Njepłaśiwy bok (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Prozna lisćina a „%(class_name)s.allow_empty“ jo False." + +msgid "Directory indexes are not allowed here." +msgstr "Zapisowe indekse njejsu how dowólone." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "„%(path)s“ njeeksistěrujo" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Indeks %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "Instalacija jo była wuspěšna! Gratulacija!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Wersijowe informacije za Django " +"%(version)s pokazaś" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Wiźiśo toś ten bok, dokulaž DEBUG=True jo w swójej dataji nastajenjow a njejsćo " +"konfigurěrował URL." + +msgid "Django Documentation" +msgstr "Dokumentacija Django" + +msgid "Topics, references, & how-to’s" +msgstr "Temy, reference a rozpokazanja" + +msgid "Tutorial: A Polling App" +msgstr "Rozpokazanje: Napšašowańske nałoženje" + +msgid "Get started with Django" +msgstr "Prědne kšace z Django" + +msgid "Django Community" +msgstr "Zgromaźeństwo Django" + +msgid "Connect, get help, or contribute" +msgstr "Zwězajśo, wobsarajśo se pomoc abo źěłajśo sobu" diff --git a/external_sources/django/django/conf/locale/el/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/el/LC_MESSAGES/django.po new file mode 100644 index 0000000..003a36c --- /dev/null +++ b/external_sources/django/django/conf/locale/el/LC_MESSAGES/django.po @@ -0,0 +1,1332 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Apostolis Bessas , 2013 +# Dimitris Glezos , 2011,2013,2017 +# Fotis Athineos , 2021 +# Giannis Meletakis , 2015 +# Jannis Leidel , 2011 +# Nick Mavrakis , 2017-2020 +# Nikolas Demiridis , 2014 +# Nick Mavrakis , 2016 +# Pãnoș , 2014 +# Pãnoș , 2016 +# Serafeim Papastefanos , 2016 +# Stavros Korokithakis , 2014,2016 +# Yorgos Pagles , 2011-2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-09-21 10:22+0200\n" +"PO-Revision-Date: 2021-11-18 21:19+0000\n" +"Last-Translator: Transifex Bot <>\n" +"Language-Team: Greek (http://www.transifex.com/django/django/language/el/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: el\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "Αφρικάνς" + +msgid "Arabic" +msgstr "Αραβικά" + +msgid "Algerian Arabic" +msgstr "Αραβικά Αλγερίας" + +msgid "Asturian" +msgstr "Αστούριας" + +msgid "Azerbaijani" +msgstr "Γλώσσα Αζερμπαϊτζάν" + +msgid "Bulgarian" +msgstr "Βουλγαρικά" + +msgid "Belarusian" +msgstr "Λευκορώσικα" + +msgid "Bengali" +msgstr "Μπενγκάλι" + +msgid "Breton" +msgstr "Βρετονικά" + +msgid "Bosnian" +msgstr "Βοσνιακά" + +msgid "Catalan" +msgstr "Καταλανικά" + +msgid "Czech" +msgstr "Τσέχικα" + +msgid "Welsh" +msgstr "Ουαλικά" + +msgid "Danish" +msgstr "Δανέζικα" + +msgid "German" +msgstr "Γερμανικά" + +msgid "Lower Sorbian" +msgstr "Κάτω Σορβικά" + +msgid "Greek" +msgstr "Ελληνικά" + +msgid "English" +msgstr "Αγγλικά" + +msgid "Australian English" +msgstr "Αγγλικά Αυστραλίας" + +msgid "British English" +msgstr "Αγγλικά Βρετανίας" + +msgid "Esperanto" +msgstr "Εσπεράντο" + +msgid "Spanish" +msgstr "Ισπανικά" + +msgid "Argentinian Spanish" +msgstr "Ισπανικά Αργεντινής" + +msgid "Colombian Spanish" +msgstr "Ισπανικά Κολομβίας" + +msgid "Mexican Spanish" +msgstr "Μεξικανική διάλεκτος Ισπανικών" + +msgid "Nicaraguan Spanish" +msgstr "Ισπανικά Νικαράγουας " + +msgid "Venezuelan Spanish" +msgstr "Ισπανικά Βενεζουέλας" + +msgid "Estonian" +msgstr "Εσθονικά" + +msgid "Basque" +msgstr "Βάσκικα" + +msgid "Persian" +msgstr "Περσικά" + +msgid "Finnish" +msgstr "Φινλανδικά" + +msgid "French" +msgstr "Γαλλικά" + +msgid "Frisian" +msgstr "Frisian" + +msgid "Irish" +msgstr "Ιρλανδικά" + +msgid "Scottish Gaelic" +msgstr "Σκωτσέζικα Γαελικά" + +msgid "Galician" +msgstr "Γαελικά" + +msgid "Hebrew" +msgstr "Εβραϊκά" + +msgid "Hindi" +msgstr "Ινδικά" + +msgid "Croatian" +msgstr "Κροατικά" + +msgid "Upper Sorbian" +msgstr "Άνω Σορβικά" + +msgid "Hungarian" +msgstr "Ουγγρικά" + +msgid "Armenian" +msgstr "Αρμενικά" + +msgid "Interlingua" +msgstr "Ιντερλίνγκουα" + +msgid "Indonesian" +msgstr "Ινδονησιακά" + +msgid "Igbo" +msgstr "Ίγκμπο" + +msgid "Ido" +msgstr "Ίντο" + +msgid "Icelandic" +msgstr "Ισλανδικά" + +msgid "Italian" +msgstr "Ιταλικά" + +msgid "Japanese" +msgstr "Γιαπωνέζικα" + +msgid "Georgian" +msgstr "Γεωργιανά" + +msgid "Kabyle" +msgstr "Kabyle" + +msgid "Kazakh" +msgstr "Καζακστά" + +msgid "Khmer" +msgstr "Χμερ" + +msgid "Kannada" +msgstr "Κανάντα" + +msgid "Korean" +msgstr "Κορεάτικα" + +msgid "Kyrgyz" +msgstr "Κιργιζικά" + +msgid "Luxembourgish" +msgstr "Λουξεμβουργιανά" + +msgid "Lithuanian" +msgstr "Λιθουανικά" + +msgid "Latvian" +msgstr "Λεττονικά" + +msgid "Macedonian" +msgstr "Μακεδονικά" + +msgid "Malayalam" +msgstr "Μαλαγιαλάμ" + +msgid "Mongolian" +msgstr "Μογγολικά" + +msgid "Marathi" +msgstr "Μαράθι" + +msgid "Malay" +msgstr "" + +msgid "Burmese" +msgstr "Βιρμανικά" + +msgid "Norwegian Bokmål" +msgstr "Νορβηγικά Μποκμάλ" + +msgid "Nepali" +msgstr "Νεπαλέζικα" + +msgid "Dutch" +msgstr "Ολλανδικά" + +msgid "Norwegian Nynorsk" +msgstr "Νορβηγική διάλεκτος Nynorsk - Νεονορβηγική" + +msgid "Ossetic" +msgstr "Οσσετικά" + +msgid "Punjabi" +msgstr "Πουντζάμπι" + +msgid "Polish" +msgstr "Πολωνικά" + +msgid "Portuguese" +msgstr "Πορτογαλικά" + +msgid "Brazilian Portuguese" +msgstr "Πορτογαλικά - διάλεκτος Βραζιλίας" + +msgid "Romanian" +msgstr "Ρουμανικά" + +msgid "Russian" +msgstr "Ρωσικά" + +msgid "Slovak" +msgstr "Σλοβακικά" + +msgid "Slovenian" +msgstr "Σλοβενικά" + +msgid "Albanian" +msgstr "Αλβανικά" + +msgid "Serbian" +msgstr "Σερβικά" + +msgid "Serbian Latin" +msgstr "Σέρβικα Λατινικά" + +msgid "Swedish" +msgstr "Σουηδικά" + +msgid "Swahili" +msgstr "Σουαχίλι" + +msgid "Tamil" +msgstr "Διάλεκτος Ταμίλ" + +msgid "Telugu" +msgstr "Τελούγκου" + +msgid "Tajik" +msgstr "Τατζικικά" + +msgid "Thai" +msgstr "Ταϊλάνδης" + +msgid "Turkmen" +msgstr "Τουρκμενικά" + +msgid "Turkish" +msgstr "Τουρκικά" + +msgid "Tatar" +msgstr "Ταταρικά" + +msgid "Udmurt" +msgstr "Ουντμουρτικά" + +msgid "Ukrainian" +msgstr "Ουκρανικά" + +msgid "Urdu" +msgstr "Urdu" + +msgid "Uzbek" +msgstr "Ουζμπεκικά" + +msgid "Vietnamese" +msgstr "Βιετναμέζικα" + +msgid "Simplified Chinese" +msgstr "Απλοποιημένα Κινέζικα" + +msgid "Traditional Chinese" +msgstr "Παραδοσιακά Κινέζικα" + +msgid "Messages" +msgstr "Μηνύματα" + +msgid "Site Maps" +msgstr "Χάρτες Ιστότοπου" + +msgid "Static Files" +msgstr "Στατικά Αρχεία" + +msgid "Syndication" +msgstr "Syndication" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "" + +msgid "That page number is not an integer" +msgstr "Ο αριθμός αυτής της σελίδας δεν είναι ακέραιος" + +msgid "That page number is less than 1" +msgstr "Ο αριθμός αυτής της σελίδας είναι μικρότερος του 1" + +msgid "That page contains no results" +msgstr "Η σελίδα αυτή δεν περιέχει αποτελέσματα" + +msgid "Enter a valid value." +msgstr "Εισάγετε μια έγκυρη τιμή." + +msgid "Enter a valid URL." +msgstr "Εισάγετε ένα έγκυρο URL." + +msgid "Enter a valid integer." +msgstr "Εισάγετε έναν έγκυρο ακέραιο." + +msgid "Enter a valid email address." +msgstr "Εισάγετε μια έγκυρη διεύθυνση ηλ. ταχυδρομείου." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Εισάγετε ένα 'slug' που να αποτελείται από γράμματα, αριθμούς, παύλες ή κάτω " +"παύλες." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Εισάγετε ένα 'slug' που να αποτελείται από Unicode γράμματα, παύλες ή κάτω " +"παύλες." + +msgid "Enter a valid IPv4 address." +msgstr "Εισάγετε μια έγκυρη IPv4 διεύθυνση." + +msgid "Enter a valid IPv6 address." +msgstr "Εισάγετε μία έγκυρη IPv6 διεύθυνση" + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Εισάγετε μία έγκυρη IPv4 ή IPv6 διεύθυνση" + +msgid "Enter only digits separated by commas." +msgstr "Εισάγετε μόνο ψηφία χωρισμένα με κόμματα." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Βεβαιωθείτε ότι η τιμή είναι %(limit_value)s (η τιμή που καταχωρήσατε είναι " +"%(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Βεβαιωθείτε ότι η τιμή είναι μικρότερη ή ίση από %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Βεβαιωθείτε ότι η τιμή είναι μεγαλύτερη ή ίση από %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Βεβαιωθείται πως η τιμή αυτή έχει τουλάχιστον %(limit_value)d χαρακτήρες " +"(έχει %(show_value)d)." +msgstr[1] "" +"Βεβαιωθείτε πως η τιμή έχει τουλάχιστον %(limit_value)d χαρακτήρες (έχει " +"%(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Βεβαιωθείται πως η τιμή αυτή έχει τοπολύ %(limit_value)d χαρακτήρες (έχει " +"%(show_value)d)." +msgstr[1] "" +"Βεβαιωθείτε πως η τιμή έχει το πολύ %(limit_value)d χαρακτήρες (έχει " +"%(show_value)d)." + +msgid "Enter a number." +msgstr "Εισάγετε έναν αριθμό." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "" +"Σιγουρευτείτε οτι τα σύνολο των ψηφίων δεν είναι παραπάνω από %(max)s" +msgstr[1] "" +"Σιγουρευτείτε οτι τα σύνολο των ψηφίων δεν είναι παραπάνω από %(max)s" + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Σιγουρευτείτε ότι το δεκαδικό ψηφίο δεν είναι παραπάνω από %(max)s." +msgstr[1] "Σιγουρευτείτε ότι τα δεκαδικά ψηφία δεν είναι παραπάνω από %(max)s." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Βεβαιωθείτε ότι δεν υπάρχουν πάνω από %(max)s ψηφία πριν την υποδιαστολή." +msgstr[1] "" +"Βεβαιωθείτε ότι δεν υπάρχουν πάνω από %(max)s ψηφία πριν την υποδιαστολή." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Η επέκταση '%(extension)s' του αρχείου δεν επιτρέπεται. Οι επιτρεπόμενες " +"επεκτάσεις είναι: '%(allowed_extensions)s'." + +msgid "Null characters are not allowed." +msgstr "Δεν επιτρέπονται null (μηδενικοί) χαρακτήρες" + +msgid "and" +msgstr "και" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s με αυτή την %(field_labels)s υπάρχει ήδη." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Η τιμή %(value)r δεν είναι έγκυρη επιλογή." + +msgid "This field cannot be null." +msgstr "Το πεδίο αυτό δεν μπορεί να είναι μηδενικό (null)." + +msgid "This field cannot be blank." +msgstr "Το πεδίο αυτό δεν μπορεί να είναι κενό." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s με αυτό το %(field_label)s υπάρχει ήδη." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s πρέπει να είναι μοναδική για %(date_field_label)s " +"%(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Πεδίο τύπου: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "Η τιμή '%(value)s' πρέπει να είναι True ή False." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "Η τιμή '%(value)s' πρέπει να είναι True, False, ή None." + +msgid "Boolean (Either True or False)" +msgstr "Boolean (Είτε Αληθές ή Ψευδές)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Συμβολοσειρά (μέχρι %(max_length)s)" + +msgid "Comma-separated integers" +msgstr "Ακέραιοι χωρισμένοι με κόμματα" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"Η τιμή του '%(value)s' έχει μια λανθασμένη μορφή ημερομηνίας. Η ημερομηνία " +"θα πρέπει να είναι στην μορφή YYYY-MM-DD." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"Η τιμή '%(value)s' είναι στην σωστή μορφή (YYYY-MM-DD) αλλά είναι μια " +"λανθασμένη ημερομηνία." + +msgid "Date (without time)" +msgstr "Ημερομηνία (χωρίς την ώρα)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"Η τιμή του '%(value)s' έχει μια λανθασμένη μορφή. Η ημερομηνία/ώρα θα πρέπει " +"να είναι στην μορφή YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"Η τιμή '%(value)s' έχει τη σωστή μορφή (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]) " +"αλλά δεν αντιστοιχεί σε σωστή ημερομηνία και ώρα." + +msgid "Date (with time)" +msgstr "Ημερομηνία (με ώρα)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "Η τιμή '%(value)s' πρέπει να είναι δεκαδικός αριθμός." + +msgid "Decimal number" +msgstr "Δεκαδικός αριθμός" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"Η τιμή '%(value)s' έχει εσφαλμένη μορφή. Πρέπει να είναι της μορφής [DD] " +"[[HH:]MM:]ss[.uuuuuu]." + +msgid "Duration" +msgstr "Διάρκεια" + +msgid "Email address" +msgstr "Ηλεκτρονική διεύθυνση" + +msgid "File path" +msgstr "Τοποθεσία αρχείου" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "Η '%(value)s' τιμή πρέπει να είναι δεκαδικός." + +msgid "Floating point number" +msgstr "Αριθμός κινητής υποδιαστολής" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "Η τιμή '%(value)s' πρέπει να είναι ακέραιος." + +msgid "Integer" +msgstr "Ακέραιος" + +msgid "Big (8 byte) integer" +msgstr "Μεγάλος ακέραιος - big integer (8 bytes)" + +msgid "Small integer" +msgstr "Μικρός ακέραιος" + +msgid "IPv4 address" +msgstr "Διεύθυνση IPv4" + +msgid "IP address" +msgstr "IP διεύθυνση" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "Η τιμή '%(value)s' πρέπει να είναι None, True ή False." + +msgid "Boolean (Either True, False or None)" +msgstr "Boolean (Αληθές, Ψευδές, ή τίποτα)" + +msgid "Positive big integer" +msgstr "Μεγάλος θετικός ακέραιος" + +msgid "Positive integer" +msgstr "Θετικός ακέραιος" + +msgid "Positive small integer" +msgstr "Θετικός μικρός ακέραιος" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (μέχρι %(max_length)s)" + +msgid "Text" +msgstr "Κείμενο" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"Η τιμή '%(value)s' έχει εσφαλμένη μορφή. Πρέπει να είναι της μορφής HH:MM[:" +"ss[.uuuuuu]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"Η τιμή '%(value)s' έχει τη σωστή μορφή (HH:MM[:ss[.uuuuuu]]) αλλά δεν " +"αντιστοιχή σε σωστή ώρα." + +msgid "Time" +msgstr "Ώρα" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Δυαδικά δεδομένα" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "'%(value)s' δεν είναι ένα έγκυρο UUID." + +msgid "Universally unique identifier" +msgstr "Καθολικά μοναδικό αναγνωριστικό" + +msgid "File" +msgstr "Αρχείο" + +msgid "Image" +msgstr "Εικόνα" + +msgid "A JSON object" +msgstr "Ένα αντικείμενο JSON" + +msgid "Value must be valid JSON." +msgstr "Η τιμή πρέπει να είναι έγκυρο JSON." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" +"Το μοντέλο %(model)s με την τιμή %(value)r του πεδίου %(field)s δεν υπάρχει." + +msgid "Foreign Key (type determined by related field)" +msgstr "Foreign Key (ο τύπος καθορίζεται από το πεδίο του συσχετισμού)" + +msgid "One-to-one relationship" +msgstr "Σχέση ένα-προς-ένα" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "σχέση %(from)s-%(to)s" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "σχέσεις %(from)s-%(to)s" + +msgid "Many-to-many relationship" +msgstr "Σχέση πολλά-προς-πολλά" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Αυτό το πεδίο είναι απαραίτητο." + +msgid "Enter a whole number." +msgstr "Εισάγετε έναν ακέραιο αριθμό." + +msgid "Enter a valid date." +msgstr "Εισάγετε μια έγκυρη ημερομηνία." + +msgid "Enter a valid time." +msgstr "Εισάγετε μια έγκυρη ώρα." + +msgid "Enter a valid date/time." +msgstr "Εισάγετε μια έγκυρη ημερομηνία/ώρα." + +msgid "Enter a valid duration." +msgstr "Εισάγετε μια έγκυρη διάρκεια." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Ο αριθμός των ημερών πρέπει να είναι μεταξύ {min_days} και {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"Δεν έχει υποβληθεί κάποιο αρχείο. Ελέγξτε τον τύπο κωδικοποίησης στη φόρμα." + +msgid "No file was submitted." +msgstr "Δεν υποβλήθηκε κάποιο αρχείο." + +msgid "The submitted file is empty." +msgstr "Το αρχείο που υποβλήθηκε είναι κενό." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Βεβαιωθείται πως το όνομα του αρχείου έχει το πολύ %(max)d χαρακτήρα (το " +"παρόν έχει %(length)d)." +msgstr[1] "" +"Βεβαιωθείται πως το όνομα του αρχείου έχει το πολύ %(max)d χαρακτήρα (το " +"παρόν έχει %(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Βεβαιωθείτε ότι είτε έχετε επιλέξει ένα αρχείο για αποστολή είτε έχετε " +"επιλέξει την εκκαθάριση του πεδίου. Δεν είναι δυνατή η επιλογή και των δύο " +"ταυτοχρόνως." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Βεβαιωθείτε ότι το αρχείο που έχετε επιλέξει για αποστολή είναι αρχείο " +"εικόνας. Το τρέχον είτε δεν ήταν εικόνα είτε έχει υποστεί φθορά." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Βεβαιωθείτε ότι έχετε επιλέξει μία έγκυρη επιλογή. Η τιμή %(value)s δεν " +"είναι διαθέσιμη προς επιλογή." + +msgid "Enter a list of values." +msgstr "Εισάγετε μια λίστα τιμών." + +msgid "Enter a complete value." +msgstr "Εισάγετε μια πλήρης τιμή" + +msgid "Enter a valid UUID." +msgstr "Εισάγετε μια έγκυρη UUID." + +msgid "Enter a valid JSON." +msgstr "Εισάγετε ένα έγκυρο JSON." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Κρυφό πεδίο %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" + +#, python-format +msgid "Please submit at most %d form." +msgid_plural "Please submit at most %d forms." +msgstr[0] "Παρακαλώ υποβάλλετε το πολύ %d φόρμα." +msgstr[1] "Παρακαλώ υποβάλλετε το πολύ %d φόρμες." + +#, python-format +msgid "Please submit at least %d form." +msgid_plural "Please submit at least %d forms." +msgstr[0] "Παρακαλώ υποβάλλετε τουλάχιστον %d φόρμα." +msgstr[1] "Παρακαλώ υποβάλλετε τουλάχιστον %d φόρμες." + +msgid "Order" +msgstr "Ταξινόμηση" + +msgid "Delete" +msgstr "Διαγραφή" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Στο %(field)s έχετε ξαναεισάγει τα ίδια δεδομένα." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Στο %(field)s έχετε ξαναεισάγει τα ίδια δεδομένα. Θα πρέπει να εμφανίζονται " +"μία φορά. " + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Στο %(field_name)s έχετε ξαναεισάγει τα ίδια δεδομένα. Θα πρέπει να " +"εμφανίζονται μία φορά για το %(lookup)s στο %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Έχετε ξαναεισάγει την ίδια τιμη. Βεβαιωθείτε ότι είναι μοναδική." + +msgid "The inline value did not match the parent instance." +msgstr "Η τιμή δεν είναι ίση με την αντίστοιχη τιμή του γονικού object." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Επιλέξτε μια έγκυρη επιλογή. Η επιλογή αυτή δεν είναι μία από τις διαθέσιμες " +"επιλογές." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "\"%(pk)s\" δεν είναι έγκυρη τιμή." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"Η ημερομηνία %(datetime)s δεν μπόρεσε να μετατραπεί στην ζώνη ώρας " +"%(current_timezone)s. Ίσως να είναι ασαφής ή να μην υπάρχει." + +msgid "Clear" +msgstr "Εκκαθάριση" + +msgid "Currently" +msgstr "Τώρα" + +msgid "Change" +msgstr "Επεξεργασία" + +msgid "Unknown" +msgstr "Άγνωστο" + +msgid "Yes" +msgstr "Ναι" + +msgid "No" +msgstr "Όχι" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "ναι,όχι,ίσως" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d bytes" +msgstr[1] "%(size)d bytes" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "μμ." + +msgid "a.m." +msgstr "πμ." + +msgid "PM" +msgstr "ΜΜ" + +msgid "AM" +msgstr "ΠΜ" + +msgid "midnight" +msgstr "μεσάνυχτα" + +msgid "noon" +msgstr "μεσημέρι" + +msgid "Monday" +msgstr "Δευτέρα" + +msgid "Tuesday" +msgstr "Τρίτη" + +msgid "Wednesday" +msgstr "Τετάρτη" + +msgid "Thursday" +msgstr "Πέμπτη" + +msgid "Friday" +msgstr "Παρασκευή" + +msgid "Saturday" +msgstr "Σάββατο" + +msgid "Sunday" +msgstr "Κυριακή" + +msgid "Mon" +msgstr "Δευ" + +msgid "Tue" +msgstr "Τρί" + +msgid "Wed" +msgstr "Τετ" + +msgid "Thu" +msgstr "Πέμ" + +msgid "Fri" +msgstr "Παρ" + +msgid "Sat" +msgstr "Σαβ" + +msgid "Sun" +msgstr "Κυρ" + +msgid "January" +msgstr "Ιανουάριος" + +msgid "February" +msgstr "Φεβρουάριος" + +msgid "March" +msgstr "Μάρτιος" + +msgid "April" +msgstr "Απρίλιος" + +msgid "May" +msgstr "Μάιος" + +msgid "June" +msgstr "Ιούνιος" + +msgid "July" +msgstr "Ιούλιος" + +msgid "August" +msgstr "Αύγουστος" + +msgid "September" +msgstr "Σεπτέμβριος" + +msgid "October" +msgstr "Οκτώβριος" + +msgid "November" +msgstr "Νοέμβριος" + +msgid "December" +msgstr "Δεκέμβριος" + +msgid "jan" +msgstr "Ιαν" + +msgid "feb" +msgstr "Φεβ" + +msgid "mar" +msgstr "Μάρ" + +msgid "apr" +msgstr "Απρ" + +msgid "may" +msgstr "Μάι" + +msgid "jun" +msgstr "Ιούν" + +msgid "jul" +msgstr "Ιούλ" + +msgid "aug" +msgstr "Αύγ" + +msgid "sep" +msgstr "Σεπ" + +msgid "oct" +msgstr "Οκτ" + +msgid "nov" +msgstr "Νοέ" + +msgid "dec" +msgstr "Δεκ" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Ιαν." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Φεβ." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Μάρτιος" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Απρίλ." + +msgctxt "abbrev. month" +msgid "May" +msgstr "Μάιος" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Ιούν." + +msgctxt "abbrev. month" +msgid "July" +msgstr "Ιούλ." + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Αύγ." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Σεπτ." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Οκτ." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Νοέμ." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Δεκ." + +msgctxt "alt. month" +msgid "January" +msgstr "Ιανουαρίου" + +msgctxt "alt. month" +msgid "February" +msgstr "Φεβρουαρίου" + +msgctxt "alt. month" +msgid "March" +msgstr "Μαρτίου" + +msgctxt "alt. month" +msgid "April" +msgstr "Απριλίου" + +msgctxt "alt. month" +msgid "May" +msgstr "Μαΐου" + +msgctxt "alt. month" +msgid "June" +msgstr "Ιουνίου" + +msgctxt "alt. month" +msgid "July" +msgstr "Ιουλίου" + +msgctxt "alt. month" +msgid "August" +msgstr "Αυγούστου" + +msgctxt "alt. month" +msgid "September" +msgstr "Σεπτεμβρίου" + +msgctxt "alt. month" +msgid "October" +msgstr "Οκτωβρίου" + +msgctxt "alt. month" +msgid "November" +msgstr "Νοεμβρίου" + +msgctxt "alt. month" +msgid "December" +msgstr "Δεκεμβρίου" + +msgid "This is not a valid IPv6 address." +msgstr "Αυτή δεν είναι έγκυρη διεύθυνση IPv6." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "ή" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "" +msgstr[1] "" + +msgid "Forbidden" +msgstr "Απαγορευμένο" + +msgid "CSRF verification failed. Request aborted." +msgstr "Η πιστοποίηση CSRF απέτυχε. Το αίτημα ματαιώθηκε." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Αν οι 'Referer' headers είναι απενεργοποιημένοι στον browser σας από εσάς, " +"παρακαλούμε να τους ξανά-ενεργοποιήσετε, τουλάχιστον για αυτό το site ή για " +"τις συνδέσεις HTTPS ή για τα 'same-origin' requests." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Αν χρησιμοποιείτε την ετικέτα ή συμπεριλαμβάνετε την κεφαλίδα (header) 'Referrer-Policy: no-referrer', " +"παρακαλούμε αφαιρέστε τα. Η προστασία CSRF απαιτεί την κεφαλίδα 'Referer' να " +"κάνει αυστηρό έλεγχο στον referer. Αν κύριο μέλημα σας είναι η ιδιωτικότητα, " +"σκεφτείτε να χρησιμοποιήσετε εναλλακτικές μεθόδους όπως για συνδέσμους από άλλες ιστοσελίδες." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Βλέπετε αυτό το μήνυμα επειδή αυτή η σελίδα απαιτεί ένα CSRF cookie, όταν " +"κατατίθενται φόρμες. Αυτό το cookie είναι απαραίτητο για λόγους ασφαλείας, " +"για να εξασφαλιστεί ότι ο browser δεν έχει γίνει hijacked από τρίτους." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Αν τα cookies είναι απενεργοποιημένα στον browser σας από εσάς, παρακαλούμε " +"να τα ξανά-ενεργοποιήσετε, τουλάχιστον για αυτό το site ή για τα 'same-" +"origin' requests." + +msgid "More information is available with DEBUG=True." +msgstr "Περισσότερες πληροφορίες είναι διαθέσιμες με DEBUG=True." + +msgid "No year specified" +msgstr "Δεν έχει οριστεί χρονιά" + +msgid "Date out of range" +msgstr "Ημερομηνία εκτός εύρους" + +msgid "No month specified" +msgstr "Δεν έχει οριστεί μήνας" + +msgid "No day specified" +msgstr "Δεν έχει οριστεί μέρα" + +msgid "No week specified" +msgstr "Δεν έχει οριστεί εβδομάδα" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Δεν υπάρχουν διαθέσιμα %(verbose_name_plural)s" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Μελλοντικά %(verbose_name_plural)s δεν είναι διαθέσιμα διότι δεν έχει τεθεί " +"το %(class_name)s.allow_future." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" +"Λανθασμένη μορφή ημερομηνίας '%(datestr)s' για την επιλεγμένη μορφή " +"'%(format)s'" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Δεν βρέθηκαν %(verbose_name)s που να ικανοποιούν την αναζήτηση." + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" +"Η σελίδα δεν έχει την τιμή 'last' υποδηλώνοντας την τελευταία σελίδα, ούτε " +"μπορεί να μετατραπεί σε ακέραιο." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Άκυρη σελίδα (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Άδεια λίστα και το \"%(class_name)s.allow_empty\" είναι False." + +msgid "Directory indexes are not allowed here." +msgstr "Τα ευρετήρια καταλόγων δεν επιτρέπονται εδώ." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "Το \"%(path)s\" δεν υπάρχει" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Ευρετήριο του %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "Η εγκατάσταση δούλεψε με επιτυχία! Συγχαρητήρια!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Δείτε τις σημειώσεις κυκλοφορίας για το " +"Django %(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" +"Βλέπετε αυτό το μήνυμα επειδή έχετε DEBUG=True στο αρχείο settings και δεν έχετε ρυθμίσει κανένα URL στο " +"αρχείο urls.py. Στρωθείτε στην δουλειά!" + +msgid "Django Documentation" +msgstr "Εγχειρίδιο Django" + +msgid "Topics, references, & how-to’s" +msgstr "Θέματα, αναφορές & \"πως να...\"" + +msgid "Tutorial: A Polling App" +msgstr "Εγχειρίδιο: Ένα App Ψηφοφορίας" + +msgid "Get started with Django" +msgstr "Ξεκινήστε με το Django" + +msgid "Django Community" +msgstr "Κοινότητα Django" + +msgid "Connect, get help, or contribute" +msgstr "Συνδεθείτε, λάβετε βοήθεια, ή συνεισφέρετε" diff --git a/external_sources/django/django/conf/locale/el/__init__.py b/external_sources/django/django/conf/locale/el/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/el/formats.py b/external_sources/django/django/conf/locale/el/formats.py new file mode 100644 index 0000000..25c8ef7 --- /dev/null +++ b/external_sources/django/django/conf/locale/el/formats.py @@ -0,0 +1,34 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "d/m/Y" +TIME_FORMAT = "P" +DATETIME_FORMAT = "d/m/Y P" +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "d/m/Y" +SHORT_DATETIME_FORMAT = "d/m/Y P" +FIRST_DAY_OF_WEEK = 0 # Sunday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d/%m/%Y", # '25/10/2006' + "%d/%m/%y", # '25/10/06' + "%Y-%m-%d", # '2006-10-25' +] +DATETIME_INPUT_FORMATS = [ + "%d/%m/%Y %H:%M:%S", # '25/10/2006 14:30:59' + "%d/%m/%Y %H:%M:%S.%f", # '25/10/2006 14:30:59.000200' + "%d/%m/%Y %H:%M", # '25/10/2006 14:30' + "%d/%m/%y %H:%M:%S", # '25/10/06 14:30:59' + "%d/%m/%y %H:%M:%S.%f", # '25/10/06 14:30:59.000200' + "%d/%m/%y %H:%M", # '25/10/06 14:30' + "%Y-%m-%d %H:%M:%S", # '2006-10-25 14:30:59' + "%Y-%m-%d %H:%M:%S.%f", # '2006-10-25 14:30:59.000200' + "%Y-%m-%d %H:%M", # '2006-10-25 14:30' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "." +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/en/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/en/LC_MESSAGES/django.po new file mode 100644 index 0000000..b47726e --- /dev/null +++ b/external_sources/django/django/conf/locale/en/LC_MESSAGES/django.po @@ -0,0 +1,1614 @@ +# This file is distributed under the same license as the Django package. +# +msgid "" +msgstr "" +"Project-Id-Version: Django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2010-05-13 15:35+0200\n" +"Last-Translator: Django team\n" +"Language-Team: English \n" +"Language: en\n" +"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" + +#: conf/global_settings.py:52 +msgid "Afrikaans" +msgstr "" + +#: conf/global_settings.py:53 +msgid "Arabic" +msgstr "" + +#: conf/global_settings.py:54 +msgid "Algerian Arabic" +msgstr "" + +#: conf/global_settings.py:55 +msgid "Asturian" +msgstr "" + +#: conf/global_settings.py:56 +msgid "Azerbaijani" +msgstr "" + +#: conf/global_settings.py:57 +msgid "Bulgarian" +msgstr "" + +#: conf/global_settings.py:58 +msgid "Belarusian" +msgstr "" + +#: conf/global_settings.py:59 +msgid "Bengali" +msgstr "" + +#: conf/global_settings.py:60 +msgid "Breton" +msgstr "" + +#: conf/global_settings.py:61 +msgid "Bosnian" +msgstr "" + +#: conf/global_settings.py:62 +msgid "Catalan" +msgstr "" + +#: conf/global_settings.py:63 +msgid "Central Kurdish (Sorani)" +msgstr "" + +#: conf/global_settings.py:64 +msgid "Czech" +msgstr "" + +#: conf/global_settings.py:65 +msgid "Welsh" +msgstr "" + +#: conf/global_settings.py:66 +msgid "Danish" +msgstr "" + +#: conf/global_settings.py:67 +msgid "German" +msgstr "" + +#: conf/global_settings.py:68 +msgid "Lower Sorbian" +msgstr "" + +#: conf/global_settings.py:69 +msgid "Greek" +msgstr "" + +#: conf/global_settings.py:70 +msgid "English" +msgstr "" + +#: conf/global_settings.py:71 +msgid "Australian English" +msgstr "" + +#: conf/global_settings.py:72 +msgid "British English" +msgstr "" + +#: conf/global_settings.py:73 +msgid "Esperanto" +msgstr "" + +#: conf/global_settings.py:74 +msgid "Spanish" +msgstr "" + +#: conf/global_settings.py:75 +msgid "Argentinian Spanish" +msgstr "" + +#: conf/global_settings.py:76 +msgid "Colombian Spanish" +msgstr "" + +#: conf/global_settings.py:77 +msgid "Mexican Spanish" +msgstr "" + +#: conf/global_settings.py:78 +msgid "Nicaraguan Spanish" +msgstr "" + +#: conf/global_settings.py:79 +msgid "Venezuelan Spanish" +msgstr "" + +#: conf/global_settings.py:80 +msgid "Estonian" +msgstr "" + +#: conf/global_settings.py:81 +msgid "Basque" +msgstr "" + +#: conf/global_settings.py:82 +msgid "Persian" +msgstr "" + +#: conf/global_settings.py:83 +msgid "Finnish" +msgstr "" + +#: conf/global_settings.py:84 +msgid "French" +msgstr "" + +#: conf/global_settings.py:85 +msgid "Frisian" +msgstr "" + +#: conf/global_settings.py:86 +msgid "Irish" +msgstr "" + +#: conf/global_settings.py:87 +msgid "Scottish Gaelic" +msgstr "" + +#: conf/global_settings.py:88 +msgid "Galician" +msgstr "" + +#: conf/global_settings.py:89 +msgid "Hebrew" +msgstr "" + +#: conf/global_settings.py:90 +msgid "Hindi" +msgstr "" + +#: conf/global_settings.py:91 +msgid "Croatian" +msgstr "" + +#: conf/global_settings.py:92 +msgid "Upper Sorbian" +msgstr "" + +#: conf/global_settings.py:93 +msgid "Hungarian" +msgstr "" + +#: conf/global_settings.py:94 +msgid "Armenian" +msgstr "" + +#: conf/global_settings.py:95 +msgid "Interlingua" +msgstr "" + +#: conf/global_settings.py:96 +msgid "Indonesian" +msgstr "" + +#: conf/global_settings.py:97 +msgid "Igbo" +msgstr "" + +#: conf/global_settings.py:98 +msgid "Ido" +msgstr "" + +#: conf/global_settings.py:99 +msgid "Icelandic" +msgstr "" + +#: conf/global_settings.py:100 +msgid "Italian" +msgstr "" + +#: conf/global_settings.py:101 +msgid "Japanese" +msgstr "" + +#: conf/global_settings.py:102 +msgid "Georgian" +msgstr "" + +#: conf/global_settings.py:103 +msgid "Kabyle" +msgstr "" + +#: conf/global_settings.py:104 +msgid "Kazakh" +msgstr "" + +#: conf/global_settings.py:105 +msgid "Khmer" +msgstr "" + +#: conf/global_settings.py:106 +msgid "Kannada" +msgstr "" + +#: conf/global_settings.py:107 +msgid "Korean" +msgstr "" + +#: conf/global_settings.py:108 +msgid "Kyrgyz" +msgstr "" + +#: conf/global_settings.py:109 +msgid "Luxembourgish" +msgstr "" + +#: conf/global_settings.py:110 +msgid "Lithuanian" +msgstr "" + +#: conf/global_settings.py:111 +msgid "Latvian" +msgstr "" + +#: conf/global_settings.py:112 +msgid "Macedonian" +msgstr "" + +#: conf/global_settings.py:113 +msgid "Malayalam" +msgstr "" + +#: conf/global_settings.py:114 +msgid "Mongolian" +msgstr "" + +#: conf/global_settings.py:115 +msgid "Marathi" +msgstr "" + +#: conf/global_settings.py:116 +msgid "Malay" +msgstr "" + +#: conf/global_settings.py:117 +msgid "Burmese" +msgstr "" + +#: conf/global_settings.py:118 +msgid "Norwegian Bokmål" +msgstr "" + +#: conf/global_settings.py:119 +msgid "Nepali" +msgstr "" + +#: conf/global_settings.py:120 +msgid "Dutch" +msgstr "" + +#: conf/global_settings.py:121 +msgid "Norwegian Nynorsk" +msgstr "" + +#: conf/global_settings.py:122 +msgid "Ossetic" +msgstr "" + +#: conf/global_settings.py:123 +msgid "Punjabi" +msgstr "" + +#: conf/global_settings.py:124 +msgid "Polish" +msgstr "" + +#: conf/global_settings.py:125 +msgid "Portuguese" +msgstr "" + +#: conf/global_settings.py:126 +msgid "Brazilian Portuguese" +msgstr "" + +#: conf/global_settings.py:127 +msgid "Romanian" +msgstr "" + +#: conf/global_settings.py:128 +msgid "Russian" +msgstr "" + +#: conf/global_settings.py:129 +msgid "Slovak" +msgstr "" + +#: conf/global_settings.py:130 +msgid "Slovenian" +msgstr "" + +#: conf/global_settings.py:131 +msgid "Albanian" +msgstr "" + +#: conf/global_settings.py:132 +msgid "Serbian" +msgstr "" + +#: conf/global_settings.py:133 +msgid "Serbian Latin" +msgstr "" + +#: conf/global_settings.py:134 +msgid "Swedish" +msgstr "" + +#: conf/global_settings.py:135 +msgid "Swahili" +msgstr "" + +#: conf/global_settings.py:136 +msgid "Tamil" +msgstr "" + +#: conf/global_settings.py:137 +msgid "Telugu" +msgstr "" + +#: conf/global_settings.py:138 +msgid "Tajik" +msgstr "" + +#: conf/global_settings.py:139 +msgid "Thai" +msgstr "" + +#: conf/global_settings.py:140 +msgid "Turkmen" +msgstr "" + +#: conf/global_settings.py:141 +msgid "Turkish" +msgstr "" + +#: conf/global_settings.py:142 +msgid "Tatar" +msgstr "" + +#: conf/global_settings.py:143 +msgid "Udmurt" +msgstr "" + +#: conf/global_settings.py:144 +msgid "Uyghur" +msgstr "" + +#: conf/global_settings.py:145 +msgid "Ukrainian" +msgstr "" + +#: conf/global_settings.py:146 +msgid "Urdu" +msgstr "" + +#: conf/global_settings.py:147 +msgid "Uzbek" +msgstr "" + +#: conf/global_settings.py:148 +msgid "Vietnamese" +msgstr "" + +#: conf/global_settings.py:149 +msgid "Simplified Chinese" +msgstr "" + +#: conf/global_settings.py:150 +msgid "Traditional Chinese" +msgstr "" + +#: contrib/messages/apps.py:15 +msgid "Messages" +msgstr "" + +#: contrib/sitemaps/apps.py:8 +msgid "Site Maps" +msgstr "" + +#: contrib/staticfiles/apps.py:9 +msgid "Static Files" +msgstr "" + +#: contrib/syndication/apps.py:7 +msgid "Syndication" +msgstr "" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +#: core/paginator.py:30 +msgid "…" +msgstr "" + +#: core/paginator.py:32 +msgid "That page number is not an integer" +msgstr "" + +#: core/paginator.py:33 +msgid "That page number is less than 1" +msgstr "" + +#: core/paginator.py:34 +msgid "That page contains no results" +msgstr "" + +#: core/validators.py:22 +msgid "Enter a valid value." +msgstr "" + +#: core/validators.py:70 +msgid "Enter a valid domain name." +msgstr "" + +#: core/validators.py:104 forms/fields.py:759 +msgid "Enter a valid URL." +msgstr "" + +#: core/validators.py:165 +msgid "Enter a valid integer." +msgstr "" + +#: core/validators.py:176 +msgid "Enter a valid email address." +msgstr "" + +#. Translators: "letters" means latin letters: a-z and A-Z. +#: core/validators.py:259 +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +#: core/validators.py:267 +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +#: core/validators.py:327 core/validators.py:336 core/validators.py:350 +#: db/models/fields/__init__.py:2219 +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "" + +#: core/validators.py:329 +msgid "IPv4" +msgstr "" + +#: core/validators.py:338 utils/ipv6.py:30 +msgid "IPv6" +msgstr "" + +#: core/validators.py:352 +msgid "IPv4 or IPv6" +msgstr "" + +#: core/validators.py:341 +msgid "Enter only digits separated by commas." +msgstr "" + +#: core/validators.py:347 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" + +#: core/validators.py:382 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" + +#: core/validators.py:391 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" + +#: core/validators.py:400 +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "" + +#: core/validators.py:407 +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" + +#: core/validators.py:439 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +#: core/validators.py:457 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +#: core/validators.py:480 forms/fields.py:354 forms/fields.py:393 +msgid "Enter a number." +msgstr "" + +#: core/validators.py:482 +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "" +msgstr[1] "" + +#: core/validators.py:487 +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" +msgstr[1] "" + +#: core/validators.py:492 +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +msgstr[1] "" + +#: core/validators.py:563 +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +#: core/validators.py:624 +msgid "Null characters are not allowed." +msgstr "" + +#: db/models/base.py:1465 forms/models.py:902 +msgid "and" +msgstr "" + +#: db/models/base.py:1467 +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#: db/models/constraints.py:20 +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "" + +#: db/models/fields/__init__.py:128 +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "" + +#: db/models/fields/__init__.py:129 +msgid "This field cannot be null." +msgstr "" + +#: db/models/fields/__init__.py:130 +msgid "This field cannot be blank." +msgstr "" + +#: db/models/fields/__init__.py:131 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "" + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#: db/models/fields/__init__.py:135 +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" + +#: db/models/fields/__init__.py:174 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "" + +#: db/models/fields/__init__.py:1157 +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#: db/models/fields/__init__.py:1158 +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +#: db/models/fields/__init__.py:1160 +msgid "Boolean (Either True or False)" +msgstr "" + +#: db/models/fields/__init__.py:1210 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "" + +#: db/models/fields/__init__.py:1212 +msgid "String (unlimited)" +msgstr "" + +#: db/models/fields/__init__.py:1316 +msgid "Comma-separated integers" +msgstr "" + +#: db/models/fields/__init__.py:1417 +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#: db/models/fields/__init__.py:1421 db/models/fields/__init__.py:1556 +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +#: db/models/fields/__init__.py:1425 +msgid "Date (without time)" +msgstr "" + +#: db/models/fields/__init__.py:1552 +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#: db/models/fields/__init__.py:1560 +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +#: db/models/fields/__init__.py:1565 +msgid "Date (with time)" +msgstr "" + +#: db/models/fields/__init__.py:1689 +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +#: db/models/fields/__init__.py:1691 +msgid "Decimal number" +msgstr "" + +#: db/models/fields/__init__.py:1852 +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +#: db/models/fields/__init__.py:1856 +msgid "Duration" +msgstr "" + +#: db/models/fields/__init__.py:1908 +msgid "Email address" +msgstr "" + +#: db/models/fields/__init__.py:1933 +msgid "File path" +msgstr "" + +#: db/models/fields/__init__.py:2011 +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +#: db/models/fields/__init__.py:2013 +msgid "Floating point number" +msgstr "" + +#: db/models/fields/__init__.py:2053 +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +#: db/models/fields/__init__.py:2055 +msgid "Integer" +msgstr "" + +#: db/models/fields/__init__.py:2151 +msgid "Big (8 byte) integer" +msgstr "" + +#: db/models/fields/__init__.py:2168 +msgid "Small integer" +msgstr "" + +#: db/models/fields/__init__.py:2176 +msgid "IPv4 address" +msgstr "" + +#: db/models/fields/__init__.py:2207 +msgid "IP address" +msgstr "" + +#: db/models/fields/__init__.py:2300 db/models/fields/__init__.py:2301 +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +#: db/models/fields/__init__.py:2303 +msgid "Boolean (Either True, False or None)" +msgstr "" + +#: db/models/fields/__init__.py:2354 +msgid "Positive big integer" +msgstr "" + +#: db/models/fields/__init__.py:2369 +msgid "Positive integer" +msgstr "" + +#: db/models/fields/__init__.py:2384 +msgid "Positive small integer" +msgstr "" + +#: db/models/fields/__init__.py:2400 +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "" + +#: db/models/fields/__init__.py:2436 +msgid "Text" +msgstr "" + +#: db/models/fields/__init__.py:2511 +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#: db/models/fields/__init__.py:2515 +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +#: db/models/fields/__init__.py:2519 +msgid "Time" +msgstr "" + +#: db/models/fields/__init__.py:2627 +msgid "URL" +msgstr "" + +#: db/models/fields/__init__.py:2651 +msgid "Raw binary data" +msgstr "" + +#: db/models/fields/__init__.py:2716 +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +#: db/models/fields/__init__.py:2718 +msgid "Universally unique identifier" +msgstr "" + +#: db/models/fields/files.py:232 +msgid "File" +msgstr "" + +#: db/models/fields/files.py:393 +msgid "Image" +msgstr "" + +#: db/models/fields/json.py:26 +msgid "A JSON object" +msgstr "" + +#: db/models/fields/json.py:28 +msgid "Value must be valid JSON." +msgstr "" + +#: db/models/fields/related.py:939 +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" + +#: db/models/fields/related.py:941 +msgid "Foreign Key (type determined by related field)" +msgstr "" + +#: db/models/fields/related.py:1235 +msgid "One-to-one relationship" +msgstr "" + +#: db/models/fields/related.py:1292 +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "" + +#: db/models/fields/related.py:1294 +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "" + +#: db/models/fields/related.py:1342 +msgid "Many-to-many relationship" +msgstr "" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the label +#: forms/boundfield.py:185 +msgid ":?.!" +msgstr "" + +#: forms/fields.py:94 +msgid "This field is required." +msgstr "" + +#: forms/fields.py:303 +msgid "Enter a whole number." +msgstr "" + +#: forms/fields.py:474 forms/fields.py:1246 +msgid "Enter a valid date." +msgstr "" + +#: forms/fields.py:497 forms/fields.py:1247 +msgid "Enter a valid time." +msgstr "" + +#: forms/fields.py:524 +msgid "Enter a valid date/time." +msgstr "" + +#: forms/fields.py:558 +msgid "Enter a valid duration." +msgstr "" + +#: forms/fields.py:559 +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +#: forms/fields.py:628 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" + +#: forms/fields.py:629 +msgid "No file was submitted." +msgstr "" + +#: forms/fields.py:630 +msgid "The submitted file is empty." +msgstr "" + +#: forms/fields.py:632 +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +msgstr[1] "" + +#: forms/fields.py:637 +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" + +#: forms/fields.py:701 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" + +#: forms/fields.py:868 forms/fields.py:954 forms/models.py:1581 +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" + +#: forms/fields.py:956 forms/fields.py:1075 forms/models.py:1579 +msgid "Enter a list of values." +msgstr "" + +#: forms/fields.py:1076 +msgid "Enter a complete value." +msgstr "" + +#: forms/fields.py:1315 +msgid "Enter a valid UUID." +msgstr "" + +#: forms/fields.py:1345 +msgid "Enter a valid JSON." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +#: forms/forms.py:94 +msgid ":" +msgstr "" + +#: forms/forms.py:231 +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "" + +#: forms/formsets.py:61 +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" + +#: forms/formsets.py:65 +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "" +msgstr[1] "" + +#: forms/formsets.py:70 +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "" +msgstr[1] "" + +#: forms/formsets.py:484 forms/formsets.py:491 +msgid "Order" +msgstr "" + +#: forms/formsets.py:499 +msgid "Delete" +msgstr "" + +#: forms/models.py:895 +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "" + +#: forms/models.py:900 +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" + +#: forms/models.py:907 +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" + +#: forms/models.py:916 +msgid "Please correct the duplicate values below." +msgstr "" + +#: forms/models.py:1353 +msgid "The inline value did not match the parent instance." +msgstr "" + +#: forms/models.py:1444 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" + +#: forms/models.py:1583 +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#: forms/utils.py:227 +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +#: forms/widgets.py:457 +msgid "Clear" +msgstr "" + +#: forms/widgets.py:458 +msgid "Currently" +msgstr "" + +#: forms/widgets.py:459 +msgid "Change" +msgstr "" + +#: forms/widgets.py:796 +msgid "Unknown" +msgstr "" + +#: forms/widgets.py:797 +msgid "Yes" +msgstr "" + +#: forms/widgets.py:798 +msgid "No" +msgstr "" + +#. Translators: Please do not add spaces around commas. +#: template/defaultfilters.py:875 +msgid "yes,no,maybe" +msgstr "" + +#: template/defaultfilters.py:905 template/defaultfilters.py:922 +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "" +msgstr[1] "" + +#: template/defaultfilters.py:924 +#, python-format +msgid "%s KB" +msgstr "" + +#: template/defaultfilters.py:926 +#, python-format +msgid "%s MB" +msgstr "" + +#: template/defaultfilters.py:928 +#, python-format +msgid "%s GB" +msgstr "" + +#: template/defaultfilters.py:930 +#, python-format +msgid "%s TB" +msgstr "" + +#: template/defaultfilters.py:932 +#, python-format +msgid "%s PB" +msgstr "" + +#: utils/dateformat.py:73 +msgid "p.m." +msgstr "" + +#: utils/dateformat.py:74 +msgid "a.m." +msgstr "" + +#: utils/dateformat.py:79 +msgid "PM" +msgstr "" + +#: utils/dateformat.py:80 +msgid "AM" +msgstr "" + +#: utils/dateformat.py:152 +msgid "midnight" +msgstr "" + +#: utils/dateformat.py:154 +msgid "noon" +msgstr "" + +#: utils/dates.py:7 +msgid "Monday" +msgstr "" + +#: utils/dates.py:8 +msgid "Tuesday" +msgstr "" + +#: utils/dates.py:9 +msgid "Wednesday" +msgstr "" + +#: utils/dates.py:10 +msgid "Thursday" +msgstr "" + +#: utils/dates.py:11 +msgid "Friday" +msgstr "" + +#: utils/dates.py:12 +msgid "Saturday" +msgstr "" + +#: utils/dates.py:13 +msgid "Sunday" +msgstr "" + +#: utils/dates.py:16 +msgid "Mon" +msgstr "" + +#: utils/dates.py:17 +msgid "Tue" +msgstr "" + +#: utils/dates.py:18 +msgid "Wed" +msgstr "" + +#: utils/dates.py:19 +msgid "Thu" +msgstr "" + +#: utils/dates.py:20 +msgid "Fri" +msgstr "" + +#: utils/dates.py:21 +msgid "Sat" +msgstr "" + +#: utils/dates.py:22 +msgid "Sun" +msgstr "" + +#: utils/dates.py:25 +msgid "January" +msgstr "" + +#: utils/dates.py:26 +msgid "February" +msgstr "" + +#: utils/dates.py:27 +msgid "March" +msgstr "" + +#: utils/dates.py:28 +msgid "April" +msgstr "" + +#: utils/dates.py:29 +msgid "May" +msgstr "" + +#: utils/dates.py:30 +msgid "June" +msgstr "" + +#: utils/dates.py:31 +msgid "July" +msgstr "" + +#: utils/dates.py:32 +msgid "August" +msgstr "" + +#: utils/dates.py:33 +msgid "September" +msgstr "" + +#: utils/dates.py:34 +msgid "October" +msgstr "" + +#: utils/dates.py:35 +msgid "November" +msgstr "" + +#: utils/dates.py:36 +msgid "December" +msgstr "" + +#: utils/dates.py:39 +msgid "jan" +msgstr "" + +#: utils/dates.py:40 +msgid "feb" +msgstr "" + +#: utils/dates.py:41 +msgid "mar" +msgstr "" + +#: utils/dates.py:42 +msgid "apr" +msgstr "" + +#: utils/dates.py:43 +msgid "may" +msgstr "" + +#: utils/dates.py:44 +msgid "jun" +msgstr "" + +#: utils/dates.py:45 +msgid "jul" +msgstr "" + +#: utils/dates.py:46 +msgid "aug" +msgstr "" + +#: utils/dates.py:47 +msgid "sep" +msgstr "" + +#: utils/dates.py:48 +msgid "oct" +msgstr "" + +#: utils/dates.py:49 +msgid "nov" +msgstr "" + +#: utils/dates.py:50 +msgid "dec" +msgstr "" + +#: utils/dates.py:53 +msgctxt "abbrev. month" +msgid "Jan." +msgstr "" + +#: utils/dates.py:54 +msgctxt "abbrev. month" +msgid "Feb." +msgstr "" + +#: utils/dates.py:55 +msgctxt "abbrev. month" +msgid "March" +msgstr "" + +#: utils/dates.py:56 +msgctxt "abbrev. month" +msgid "April" +msgstr "" + +#: utils/dates.py:57 +msgctxt "abbrev. month" +msgid "May" +msgstr "" + +#: utils/dates.py:58 +msgctxt "abbrev. month" +msgid "June" +msgstr "" + +#: utils/dates.py:59 +msgctxt "abbrev. month" +msgid "July" +msgstr "" + +#: utils/dates.py:60 +msgctxt "abbrev. month" +msgid "Aug." +msgstr "" + +#: utils/dates.py:61 +msgctxt "abbrev. month" +msgid "Sept." +msgstr "" + +#: utils/dates.py:62 +msgctxt "abbrev. month" +msgid "Oct." +msgstr "" + +#: utils/dates.py:63 +msgctxt "abbrev. month" +msgid "Nov." +msgstr "" + +#: utils/dates.py:64 +msgctxt "abbrev. month" +msgid "Dec." +msgstr "" + +#: utils/dates.py:67 +msgctxt "alt. month" +msgid "January" +msgstr "" + +#: utils/dates.py:68 +msgctxt "alt. month" +msgid "February" +msgstr "" + +#: utils/dates.py:69 +msgctxt "alt. month" +msgid "March" +msgstr "" + +#: utils/dates.py:70 +msgctxt "alt. month" +msgid "April" +msgstr "" + +#: utils/dates.py:71 +msgctxt "alt. month" +msgid "May" +msgstr "" + +#: utils/dates.py:72 +msgctxt "alt. month" +msgid "June" +msgstr "" + +#: utils/dates.py:73 +msgctxt "alt. month" +msgid "July" +msgstr "" + +#: utils/dates.py:74 +msgctxt "alt. month" +msgid "August" +msgstr "" + +#: utils/dates.py:75 +msgctxt "alt. month" +msgid "September" +msgstr "" + +#: utils/dates.py:76 +msgctxt "alt. month" +msgid "October" +msgstr "" + +#: utils/dates.py:77 +msgctxt "alt. month" +msgid "November" +msgstr "" + +#: utils/dates.py:78 +msgctxt "alt. month" +msgid "December" +msgstr "" + +#: utils/ipv6.py:8 +msgid "This is not a valid IPv6 address." +msgstr "" + +#: utils/text.py:70 +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +#: utils/text.py:255 +msgid "or" +msgstr "" + +#. Translators: This string is used as a separator between list elements +#: utils/text.py:274 utils/timesince.py:135 +msgid ", " +msgstr "" + +#: utils/timesince.py:8 +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "" +msgstr[1] "" + +#: utils/timesince.py:9 +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "" +msgstr[1] "" + +#: utils/timesince.py:10 +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "" +msgstr[1] "" + +#: utils/timesince.py:11 +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "" +msgstr[1] "" + +#: utils/timesince.py:12 +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "" +msgstr[1] "" + +#: utils/timesince.py:13 +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "" +msgstr[1] "" + +#: views/csrf.py:29 +msgid "Forbidden" +msgstr "" + +#: views/csrf.py:30 +msgid "CSRF verification failed. Request aborted." +msgstr "" + +#: views/csrf.py:34 +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +#: views/csrf.py:40 +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +#: views/csrf.py:45 +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +#: views/csrf.py:54 +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" + +#: views/csrf.py:60 +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +#: views/csrf.py:66 +msgid "More information is available with DEBUG=True." +msgstr "" + +#: views/generic/dates.py:44 +msgid "No year specified" +msgstr "" + +#: views/generic/dates.py:64 views/generic/dates.py:115 +#: views/generic/dates.py:214 +msgid "Date out of range" +msgstr "" + +#: views/generic/dates.py:94 +msgid "No month specified" +msgstr "" + +#: views/generic/dates.py:147 +msgid "No day specified" +msgstr "" + +#: views/generic/dates.py:194 +msgid "No week specified" +msgstr "" + +#: views/generic/dates.py:349 views/generic/dates.py:380 +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "" + +#: views/generic/dates.py:652 +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" + +#: views/generic/dates.py:692 +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#: views/generic/detail.py:56 +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "" + +#: views/generic/list.py:70 +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#: views/generic/list.py:77 +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "" + +#: views/generic/list.py:169 +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +#: views/static.py:48 +msgid "Directory indexes are not allowed here." +msgstr "" + +#: views/static.py:50 +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#: views/static.py:67 views/templates/directory_index.html:8 +#: views/templates/directory_index.html:11 +#, python-format +msgid "Index of %(directory)s" +msgstr "" + +#: views/templates/default_urlconf.html:7 +#: views/templates/default_urlconf.html:220 +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#: views/templates/default_urlconf.html:206 +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +#: views/templates/default_urlconf.html:221 +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" + +#: views/templates/default_urlconf.html:229 +msgid "Django Documentation" +msgstr "" + +#: views/templates/default_urlconf.html:230 +msgid "Topics, references, & how-to’s" +msgstr "" + +#: views/templates/default_urlconf.html:238 +msgid "Tutorial: A Polling App" +msgstr "" + +#: views/templates/default_urlconf.html:239 +msgid "Get started with Django" +msgstr "" + +#: views/templates/default_urlconf.html:247 +msgid "Django Community" +msgstr "" + +#: views/templates/default_urlconf.html:248 +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/en/__init__.py b/external_sources/django/django/conf/locale/en/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/en/formats.py b/external_sources/django/django/conf/locale/en/formats.py new file mode 100644 index 0000000..f9d143b --- /dev/null +++ b/external_sources/django/django/conf/locale/en/formats.py @@ -0,0 +1,65 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date + +# Formatting for date objects. +DATE_FORMAT = "N j, Y" +# Formatting for time objects. +TIME_FORMAT = "P" +# Formatting for datetime objects. +DATETIME_FORMAT = "N j, Y, P" +# Formatting for date objects when only the year and month are relevant. +YEAR_MONTH_FORMAT = "F Y" +# Formatting for date objects when only the month and day are relevant. +MONTH_DAY_FORMAT = "F j" +# Short formatting for date objects. +SHORT_DATE_FORMAT = "m/d/Y" +# Short formatting for datetime objects. +SHORT_DATETIME_FORMAT = "m/d/Y P" +# First day of week, to be used on calendars. +# 0 means Sunday, 1 means Monday... +FIRST_DAY_OF_WEEK = 0 + +# Formats to be used when parsing dates from input boxes, in order. +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# Note that these format strings are different from the ones to display dates. +# Kept ISO formats as they are in first position +DATE_INPUT_FORMATS = [ + "%Y-%m-%d", # '2006-10-25' + "%m/%d/%Y", # '10/25/2006' + "%m/%d/%y", # '10/25/06' + "%b %d %Y", # 'Oct 25 2006' + "%b %d, %Y", # 'Oct 25, 2006' + "%d %b %Y", # '25 Oct 2006' + "%d %b, %Y", # '25 Oct, 2006' + "%B %d %Y", # 'October 25 2006' + "%B %d, %Y", # 'October 25, 2006' + "%d %B %Y", # '25 October 2006' + "%d %B, %Y", # '25 October, 2006' +] +DATETIME_INPUT_FORMATS = [ + "%Y-%m-%d %H:%M:%S", # '2006-10-25 14:30:59' + "%Y-%m-%d %H:%M:%S.%f", # '2006-10-25 14:30:59.000200' + "%Y-%m-%d %H:%M", # '2006-10-25 14:30' + "%m/%d/%Y %H:%M:%S", # '10/25/2006 14:30:59' + "%m/%d/%Y %H:%M:%S.%f", # '10/25/2006 14:30:59.000200' + "%m/%d/%Y %H:%M", # '10/25/2006 14:30' + "%m/%d/%y %H:%M:%S", # '10/25/06 14:30:59' + "%m/%d/%y %H:%M:%S.%f", # '10/25/06 14:30:59.000200' + "%m/%d/%y %H:%M", # '10/25/06 14:30' +] +TIME_INPUT_FORMATS = [ + "%H:%M:%S", # '14:30:59' + "%H:%M:%S.%f", # '14:30:59.000200' + "%H:%M", # '14:30' +] + +# Decimal separator symbol. +DECIMAL_SEPARATOR = "." +# Thousand separator symbol. +THOUSAND_SEPARATOR = "," +# Number of digits that will be together, when splitting them by +# THOUSAND_SEPARATOR. 0 means no grouping, 3 means splitting by thousands. +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/en_AU/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/en_AU/LC_MESSAGES/django.po new file mode 100644 index 0000000..a0a3ed8 --- /dev/null +++ b/external_sources/django/django/conf/locale/en_AU/LC_MESSAGES/django.po @@ -0,0 +1,1299 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Tom Fifield , 2014 +# Tom Fifield , 2021 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-09-21 10:22+0200\n" +"PO-Revision-Date: 2021-11-18 21:19+0000\n" +"Last-Translator: Transifex Bot <>\n" +"Language-Team: English (Australia) (http://www.transifex.com/django/django/" +"language/en_AU/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en_AU\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "Afrikaans" + +msgid "Arabic" +msgstr "Arabic" + +msgid "Algerian Arabic" +msgstr "Algerian Arabic" + +msgid "Asturian" +msgstr "Asturian" + +msgid "Azerbaijani" +msgstr "Azerbaijani" + +msgid "Bulgarian" +msgstr "Bulgarian" + +msgid "Belarusian" +msgstr "Belarusian" + +msgid "Bengali" +msgstr "Bengali" + +msgid "Breton" +msgstr "Breton" + +msgid "Bosnian" +msgstr "Bosnian" + +msgid "Catalan" +msgstr "Catalan" + +msgid "Czech" +msgstr "Czech" + +msgid "Welsh" +msgstr "Welsh" + +msgid "Danish" +msgstr "Danish" + +msgid "German" +msgstr "German" + +msgid "Lower Sorbian" +msgstr "Lower Sorbian" + +msgid "Greek" +msgstr "Greek" + +msgid "English" +msgstr "English" + +msgid "Australian English" +msgstr "Australian English" + +msgid "British English" +msgstr "British English" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Spanish" + +msgid "Argentinian Spanish" +msgstr "Argentinian Spanish" + +msgid "Colombian Spanish" +msgstr "Colombian Spanish" + +msgid "Mexican Spanish" +msgstr "Mexican Spanish" + +msgid "Nicaraguan Spanish" +msgstr "Nicaraguan Spanish" + +msgid "Venezuelan Spanish" +msgstr "Venezuelan Spanish" + +msgid "Estonian" +msgstr "Estonian" + +msgid "Basque" +msgstr "Basque" + +msgid "Persian" +msgstr "Persian" + +msgid "Finnish" +msgstr "Finnish" + +msgid "French" +msgstr "French" + +msgid "Frisian" +msgstr "Frisian" + +msgid "Irish" +msgstr "Irish" + +msgid "Scottish Gaelic" +msgstr "Scottish Gaelic" + +msgid "Galician" +msgstr "Galician" + +msgid "Hebrew" +msgstr "Hebrew" + +msgid "Hindi" +msgstr "Hindi" + +msgid "Croatian" +msgstr "Croatian" + +msgid "Upper Sorbian" +msgstr "Upper Sorbian" + +msgid "Hungarian" +msgstr "Hungarian" + +msgid "Armenian" +msgstr "Armenian" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indonesian" + +msgid "Igbo" +msgstr "Igbo" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Icelandic" + +msgid "Italian" +msgstr "Italian" + +msgid "Japanese" +msgstr "Japanese" + +msgid "Georgian" +msgstr "Georgian" + +msgid "Kabyle" +msgstr "Kabyle" + +msgid "Kazakh" +msgstr "Kazakh" + +msgid "Khmer" +msgstr "Khmer" + +msgid "Kannada" +msgstr "Kannada" + +msgid "Korean" +msgstr "Korean" + +msgid "Kyrgyz" +msgstr "Kyrgyz" + +msgid "Luxembourgish" +msgstr "Luxembourgish" + +msgid "Lithuanian" +msgstr "Lithuanian" + +msgid "Latvian" +msgstr "Latvian" + +msgid "Macedonian" +msgstr "Macedonian" + +msgid "Malayalam" +msgstr "Malayalam" + +msgid "Mongolian" +msgstr "Mongolian" + +msgid "Marathi" +msgstr "Marathi" + +msgid "Malay" +msgstr "" + +msgid "Burmese" +msgstr "Burmese" + +msgid "Norwegian Bokmål" +msgstr "Norwegian Bokmål" + +msgid "Nepali" +msgstr "Nepali" + +msgid "Dutch" +msgstr "Dutch" + +msgid "Norwegian Nynorsk" +msgstr "Norwegian Nynorsk" + +msgid "Ossetic" +msgstr "Ossetic" + +msgid "Punjabi" +msgstr "Punjabi" + +msgid "Polish" +msgstr "Polish" + +msgid "Portuguese" +msgstr "Portuguese" + +msgid "Brazilian Portuguese" +msgstr "Brazilian Portuguese" + +msgid "Romanian" +msgstr "Romanian" + +msgid "Russian" +msgstr "Russian" + +msgid "Slovak" +msgstr "Slovak" + +msgid "Slovenian" +msgstr "Slovenian" + +msgid "Albanian" +msgstr "Albanian" + +msgid "Serbian" +msgstr "Serbian" + +msgid "Serbian Latin" +msgstr "Serbian Latin" + +msgid "Swedish" +msgstr "Swedish" + +msgid "Swahili" +msgstr "Swahili" + +msgid "Tamil" +msgstr "Tamil" + +msgid "Telugu" +msgstr "Telugu" + +msgid "Tajik" +msgstr "Tajik" + +msgid "Thai" +msgstr "Thai" + +msgid "Turkmen" +msgstr "Turkmen" + +msgid "Turkish" +msgstr "Turkish" + +msgid "Tatar" +msgstr "Tatar" + +msgid "Udmurt" +msgstr "Udmurt" + +msgid "Ukrainian" +msgstr "Ukrainian" + +msgid "Urdu" +msgstr "Urdu" + +msgid "Uzbek" +msgstr "Uzbek" + +msgid "Vietnamese" +msgstr "Vietnamese" + +msgid "Simplified Chinese" +msgstr "Simplified Chinese" + +msgid "Traditional Chinese" +msgstr "Traditional Chinese" + +msgid "Messages" +msgstr "Messages" + +msgid "Site Maps" +msgstr "Site Maps" + +msgid "Static Files" +msgstr "Static Files" + +msgid "Syndication" +msgstr "Syndication" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "That page number is not an integer" + +msgid "That page number is less than 1" +msgstr "That page number is less than 1" + +msgid "That page contains no results" +msgstr "That page contains no results" + +msgid "Enter a valid value." +msgstr "Enter a valid value." + +msgid "Enter a valid URL." +msgstr "Enter a valid URL." + +msgid "Enter a valid integer." +msgstr "Enter a valid integer." + +msgid "Enter a valid email address." +msgstr "Enter a valid email address." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." + +msgid "Enter a valid IPv4 address." +msgstr "Enter a valid IPv4 address." + +msgid "Enter a valid IPv6 address." +msgstr "Enter a valid IPv6 address." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Enter a valid IPv4 or IPv6 address." + +msgid "Enter only digits separated by commas." +msgstr "Enter only digits separated by commas." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Ensure this value is %(limit_value)s (it is %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Ensure this value is less than or equal to %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Ensure this value is greater than or equal to %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgstr[1] "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgstr[1] "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." + +msgid "Enter a number." +msgstr "Enter a number." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Ensure that there are no more than %(max)s digit in total." +msgstr[1] "Ensure that there are no more than %(max)s digits in total." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Ensure that there are no more than %(max)s decimal place." +msgstr[1] "Ensure that there are no more than %(max)s decimal places." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgstr[1] "" +"Ensure that there are no more than %(max)s digits before the decimal point." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Null characters are not allowed." + +msgid "and" +msgstr "and" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s with this %(field_labels)s already exists." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Value %(value)r is not a valid choice." + +msgid "This field cannot be null." +msgstr "This field cannot be null." + +msgid "This field cannot be blank." +msgstr "This field cannot be blank." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s with this %(field_label)s already exists." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Field of type: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "“%(value)s” value must be either True or False." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "“%(value)s” value must be either True, False, or None." + +msgid "Boolean (Either True or False)" +msgstr "Boolean (Either True or False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "String (up to %(max_length)s)" + +msgid "Comma-separated integers" +msgstr "Comma-separated integers" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." + +msgid "Date (without time)" +msgstr "Date (without time)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." + +msgid "Date (with time)" +msgstr "Date (with time)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "“%(value)s” value must be a decimal number." + +msgid "Decimal number" +msgstr "Decimal number" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." + +msgid "Duration" +msgstr "Duration" + +msgid "Email address" +msgstr "Email address" + +msgid "File path" +msgstr "File path" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "“%(value)s” value must be a float." + +msgid "Floating point number" +msgstr "Floating point number" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "“%(value)s” value must be an integer." + +msgid "Integer" +msgstr "Integer" + +msgid "Big (8 byte) integer" +msgstr "Big (8 byte) integer" + +msgid "Small integer" +msgstr "Small integer" + +msgid "IPv4 address" +msgstr "IPv4 address" + +msgid "IP address" +msgstr "IP address" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "“%(value)s” value must be either None, True or False." + +msgid "Boolean (Either True, False or None)" +msgstr "Boolean (Either True, False or None)" + +msgid "Positive big integer" +msgstr "Positive big integer" + +msgid "Positive integer" +msgstr "Positive integer" + +msgid "Positive small integer" +msgstr "Positive small integer" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (up to %(max_length)s)" + +msgid "Text" +msgstr "Text" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." + +msgid "Time" +msgstr "Time" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Raw binary data" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "“%(value)s” is not a valid UUID." + +msgid "Universally unique identifier" +msgstr "Universally unique identifier" + +msgid "File" +msgstr "File" + +msgid "Image" +msgstr "Image" + +msgid "A JSON object" +msgstr "A JSON object" + +msgid "Value must be valid JSON." +msgstr "Value must be valid JSON." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "%(model)s instance with %(field)s %(value)r does not exist." + +msgid "Foreign Key (type determined by related field)" +msgstr "Foreign Key (type determined by related field)" + +msgid "One-to-one relationship" +msgstr "One-to-one relationship" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s relationship" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s relationships" + +msgid "Many-to-many relationship" +msgstr "Many-to-many relationship" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "This field is required." + +msgid "Enter a whole number." +msgstr "Enter a whole number." + +msgid "Enter a valid date." +msgstr "Enter a valid date." + +msgid "Enter a valid time." +msgstr "Enter a valid time." + +msgid "Enter a valid date/time." +msgstr "Enter a valid date/time." + +msgid "Enter a valid duration." +msgstr "Enter a valid duration." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "The number of days must be between {min_days} and {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "No file was submitted. Check the encoding type on the form." + +msgid "No file was submitted." +msgstr "No file was submitted." + +msgid "The submitted file is empty." +msgstr "The submitted file is empty." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Ensure this filename has at most %(max)d character (it has %(length)d)." +msgstr[1] "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Please either submit a file or check the clear checkbox, not both." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Select a valid choice. %(value)s is not one of the available choices." + +msgid "Enter a list of values." +msgstr "Enter a list of values." + +msgid "Enter a complete value." +msgstr "Enter a complete value." + +msgid "Enter a valid UUID." +msgstr "Enter a valid UUID." + +msgid "Enter a valid JSON." +msgstr "Enter a valid JSON." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Hidden field %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." + +#, python-format +msgid "Please submit at most %d form." +msgid_plural "Please submit at most %d forms." +msgstr[0] "Please submit at most %d form." +msgstr[1] "Please submit at most %d forms." + +#, python-format +msgid "Please submit at least %d form." +msgid_plural "Please submit at least %d forms." +msgstr[0] "Please submit at least %d form." +msgstr[1] "Please submit at least %d forms." + +msgid "Order" +msgstr "Order" + +msgid "Delete" +msgstr "Delete" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Please correct the duplicate data for %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "Please correct the duplicate data for %(field)s, which must be unique." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Please correct the duplicate values below." + +msgid "The inline value did not match the parent instance." +msgstr "The inline value did not match the parent instance." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Select a valid choice. That choice is not one of the available choices." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "“%(pk)s” is not a valid value." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." + +msgid "Clear" +msgstr "Clear" + +msgid "Currently" +msgstr "Currently" + +msgid "Change" +msgstr "Change" + +msgid "Unknown" +msgstr "Unknown" + +msgid "Yes" +msgstr "Yes" + +msgid "No" +msgstr "No" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "yes,no,maybe" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d byte" +msgstr[1] "%(size)d bytes" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "midnight" + +msgid "noon" +msgstr "noon" + +msgid "Monday" +msgstr "Monday" + +msgid "Tuesday" +msgstr "Tuesday" + +msgid "Wednesday" +msgstr "Wednesday" + +msgid "Thursday" +msgstr "Thursday" + +msgid "Friday" +msgstr "Friday" + +msgid "Saturday" +msgstr "Saturday" + +msgid "Sunday" +msgstr "Sunday" + +msgid "Mon" +msgstr "Mon" + +msgid "Tue" +msgstr "Tue" + +msgid "Wed" +msgstr "Wed" + +msgid "Thu" +msgstr "Thu" + +msgid "Fri" +msgstr "Fri" + +msgid "Sat" +msgstr "Sat" + +msgid "Sun" +msgstr "Sun" + +msgid "January" +msgstr "January" + +msgid "February" +msgstr "February" + +msgid "March" +msgstr "March" + +msgid "April" +msgstr "April" + +msgid "May" +msgstr "May" + +msgid "June" +msgstr "June" + +msgid "July" +msgstr "July" + +msgid "August" +msgstr "August" + +msgid "September" +msgstr "September" + +msgid "October" +msgstr "October" + +msgid "November" +msgstr "November" + +msgid "December" +msgstr "December" + +msgid "jan" +msgstr "jan" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "apr" + +msgid "may" +msgstr "may" + +msgid "jun" +msgstr "jun" + +msgid "jul" +msgstr "jul" + +msgid "aug" +msgstr "aug" + +msgid "sep" +msgstr "sep" + +msgid "oct" +msgstr "oct" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "dec" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Jan." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "March" + +msgctxt "abbrev. month" +msgid "April" +msgstr "April" + +msgctxt "abbrev. month" +msgid "May" +msgstr "May" + +msgctxt "abbrev. month" +msgid "June" +msgstr "June" + +msgctxt "abbrev. month" +msgid "July" +msgstr "July" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Aug." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Sept." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Oct." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Dec." + +msgctxt "alt. month" +msgid "January" +msgstr "January" + +msgctxt "alt. month" +msgid "February" +msgstr "February" + +msgctxt "alt. month" +msgid "March" +msgstr "March" + +msgctxt "alt. month" +msgid "April" +msgstr "April" + +msgctxt "alt. month" +msgid "May" +msgstr "May" + +msgctxt "alt. month" +msgid "June" +msgstr "June" + +msgctxt "alt. month" +msgid "July" +msgstr "July" + +msgctxt "alt. month" +msgid "August" +msgstr "August" + +msgctxt "alt. month" +msgid "September" +msgstr "September" + +msgctxt "alt. month" +msgid "October" +msgstr "October" + +msgctxt "alt. month" +msgid "November" +msgstr "November" + +msgctxt "alt. month" +msgid "December" +msgstr "December" + +msgid "This is not a valid IPv6 address." +msgstr "This is not a valid IPv6 address." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "or" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "" +msgstr[1] "" + +msgid "Forbidden" +msgstr "Forbidden" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF verification failed. Request aborted." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." + +msgid "More information is available with DEBUG=True." +msgstr "More information is available with DEBUG=True." + +msgid "No year specified" +msgstr "No year specified" + +msgid "Date out of range" +msgstr "Date out of range" + +msgid "No month specified" +msgstr "No month specified" + +msgid "No day specified" +msgstr "No day specified" + +msgid "No week specified" +msgstr "No week specified" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "No %(verbose_name_plural)s available" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "Invalid date string “%(datestr)s” given format “%(format)s”" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "No %(verbose_name)s found matching the query" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "Page is not “last”, nor can it be converted to an int." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Invalid page (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Empty list and “%(class_name)s.allow_empty” is False." + +msgid "Directory indexes are not allowed here." +msgstr "Directory indexes are not allowed here." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "“%(path)s” does not exist" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Index of %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "The install worked successfully! Congratulations!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"View release notes for Django %(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." + +msgid "Django Documentation" +msgstr "Django Documentation" + +msgid "Topics, references, & how-to’s" +msgstr "Topics, references, & how-to’s" + +msgid "Tutorial: A Polling App" +msgstr "Tutorial: A Polling App" + +msgid "Get started with Django" +msgstr "Get started with Django" + +msgid "Django Community" +msgstr "Django Community" + +msgid "Connect, get help, or contribute" +msgstr "Connect, get help, or contribute" diff --git a/external_sources/django/django/conf/locale/en_AU/__init__.py b/external_sources/django/django/conf/locale/en_AU/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/en_AU/formats.py b/external_sources/django/django/conf/locale/en_AU/formats.py new file mode 100644 index 0000000..caa6f72 --- /dev/null +++ b/external_sources/django/django/conf/locale/en_AU/formats.py @@ -0,0 +1,41 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j M Y" # '25 Oct 2006' +TIME_FORMAT = "P" # '2:30 p.m.' +DATETIME_FORMAT = "j M Y, P" # '25 Oct 2006, 2:30 p.m.' +YEAR_MONTH_FORMAT = "F Y" # 'October 2006' +MONTH_DAY_FORMAT = "j F" # '25 October' +SHORT_DATE_FORMAT = "d/m/Y" # '25/10/2006' +SHORT_DATETIME_FORMAT = "d/m/Y P" # '25/10/2006 2:30 p.m.' +FIRST_DAY_OF_WEEK = 0 # Sunday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d/%m/%Y", # '25/10/2006' + "%d/%m/%y", # '25/10/06' + # "%b %d %Y", # 'Oct 25 2006' + # "%b %d, %Y", # 'Oct 25, 2006' + # "%d %b %Y", # '25 Oct 2006' + # "%d %b, %Y", # '25 Oct, 2006' + # "%B %d %Y", # 'October 25 2006' + # "%B %d, %Y", # 'October 25, 2006' + # "%d %B %Y", # '25 October 2006' + # "%d %B, %Y", # '25 October, 2006' +] +DATETIME_INPUT_FORMATS = [ + "%Y-%m-%d %H:%M:%S", # '2006-10-25 14:30:59' + "%Y-%m-%d %H:%M:%S.%f", # '2006-10-25 14:30:59.000200' + "%Y-%m-%d %H:%M", # '2006-10-25 14:30' + "%d/%m/%Y %H:%M:%S", # '25/10/2006 14:30:59' + "%d/%m/%Y %H:%M:%S.%f", # '25/10/2006 14:30:59.000200' + "%d/%m/%Y %H:%M", # '25/10/2006 14:30' + "%d/%m/%y %H:%M:%S", # '25/10/06 14:30:59' + "%d/%m/%y %H:%M:%S.%f", # '25/10/06 14:30:59.000200' + "%d/%m/%y %H:%M", # '25/10/06 14:30' +] +DECIMAL_SEPARATOR = "." +THOUSAND_SEPARATOR = "," +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/en_CA/__init__.py b/external_sources/django/django/conf/locale/en_CA/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/en_CA/formats.py b/external_sources/django/django/conf/locale/en_CA/formats.py new file mode 100644 index 0000000..b34551d --- /dev/null +++ b/external_sources/django/django/conf/locale/en_CA/formats.py @@ -0,0 +1,31 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date + +DATE_FORMAT = "j M Y" # 25 Oct 2006 +TIME_FORMAT = "P" # 2:30 p.m. +DATETIME_FORMAT = "j M Y, P" # 25 Oct 2006, 2:30 p.m. +YEAR_MONTH_FORMAT = "F Y" # October 2006 +MONTH_DAY_FORMAT = "j F" # 25 October +SHORT_DATE_FORMAT = "Y-m-d" +SHORT_DATETIME_FORMAT = "Y-m-d P" +FIRST_DAY_OF_WEEK = 0 # Sunday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%Y-%m-%d", # '2006-05-15' + "%y-%m-%d", # '06-05-15' +] +DATETIME_INPUT_FORMATS = [ + "%Y-%m-%d %H:%M:%S", # '2006-05-15 14:30:57' + "%y-%m-%d %H:%M:%S", # '06-05-15 14:30:57' + "%Y-%m-%d %H:%M:%S.%f", # '2006-05-15 14:30:57.000200' + "%y-%m-%d %H:%M:%S.%f", # '06-05-15 14:30:57.000200' + "%Y-%m-%d %H:%M", # '2006-05-15 14:30' + "%y-%m-%d %H:%M", # '06-05-15 14:30' +] +DECIMAL_SEPARATOR = "." +THOUSAND_SEPARATOR = "\xa0" # non-breaking space +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/en_GB/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/en_GB/LC_MESSAGES/django.po new file mode 100644 index 0000000..348adb0 --- /dev/null +++ b/external_sources/django/django/conf/locale/en_GB/LC_MESSAGES/django.po @@ -0,0 +1,1221 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel , 2011 +# jon_atkinson , 2011-2012 +# Ross Poulton , 2011-2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-27 22:40+0200\n" +"PO-Revision-Date: 2019-11-05 00:38+0000\n" +"Last-Translator: Ramiro Morales\n" +"Language-Team: English (United Kingdom) (http://www.transifex.com/django/" +"django/language/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" + +msgid "Afrikaans" +msgstr "" + +msgid "Arabic" +msgstr "Arabic" + +msgid "Asturian" +msgstr "" + +msgid "Azerbaijani" +msgstr "Azerbaijani" + +msgid "Bulgarian" +msgstr "Bulgarian" + +msgid "Belarusian" +msgstr "" + +msgid "Bengali" +msgstr "Bengali" + +msgid "Breton" +msgstr "" + +msgid "Bosnian" +msgstr "Bosnian" + +msgid "Catalan" +msgstr "Catalan" + +msgid "Czech" +msgstr "Czech" + +msgid "Welsh" +msgstr "Welsh" + +msgid "Danish" +msgstr "Danish" + +msgid "German" +msgstr "German" + +msgid "Lower Sorbian" +msgstr "" + +msgid "Greek" +msgstr "Greek" + +msgid "English" +msgstr "English" + +msgid "Australian English" +msgstr "" + +msgid "British English" +msgstr "British English" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Spanish" + +msgid "Argentinian Spanish" +msgstr "Argentinian Spanish" + +msgid "Colombian Spanish" +msgstr "" + +msgid "Mexican Spanish" +msgstr "Mexican Spanish" + +msgid "Nicaraguan Spanish" +msgstr "Nicaraguan Spanish" + +msgid "Venezuelan Spanish" +msgstr "" + +msgid "Estonian" +msgstr "Estonian" + +msgid "Basque" +msgstr "Basque" + +msgid "Persian" +msgstr "Persian" + +msgid "Finnish" +msgstr "Finnish" + +msgid "French" +msgstr "French" + +msgid "Frisian" +msgstr "Frisian" + +msgid "Irish" +msgstr "Irish" + +msgid "Scottish Gaelic" +msgstr "" + +msgid "Galician" +msgstr "Galician" + +msgid "Hebrew" +msgstr "Hebrew" + +msgid "Hindi" +msgstr "Hindi" + +msgid "Croatian" +msgstr "Croatian" + +msgid "Upper Sorbian" +msgstr "" + +msgid "Hungarian" +msgstr "Hungarian" + +msgid "Armenian" +msgstr "" + +msgid "Interlingua" +msgstr "" + +msgid "Indonesian" +msgstr "Indonesian" + +msgid "Ido" +msgstr "" + +msgid "Icelandic" +msgstr "Icelandic" + +msgid "Italian" +msgstr "Italian" + +msgid "Japanese" +msgstr "Japanese" + +msgid "Georgian" +msgstr "Georgian" + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "Kazakh" + +msgid "Khmer" +msgstr "Khmer" + +msgid "Kannada" +msgstr "Kannada" + +msgid "Korean" +msgstr "Korean" + +msgid "Luxembourgish" +msgstr "" + +msgid "Lithuanian" +msgstr "Lithuanian" + +msgid "Latvian" +msgstr "Latvian" + +msgid "Macedonian" +msgstr "Macedonian" + +msgid "Malayalam" +msgstr "Malayalam" + +msgid "Mongolian" +msgstr "Mongolian" + +msgid "Marathi" +msgstr "" + +msgid "Burmese" +msgstr "" + +msgid "Norwegian Bokmål" +msgstr "" + +msgid "Nepali" +msgstr "Nepali" + +msgid "Dutch" +msgstr "Dutch" + +msgid "Norwegian Nynorsk" +msgstr "Norwegian Nynorsk" + +msgid "Ossetic" +msgstr "" + +msgid "Punjabi" +msgstr "Punjabi" + +msgid "Polish" +msgstr "Polish" + +msgid "Portuguese" +msgstr "Portuguese" + +msgid "Brazilian Portuguese" +msgstr "Brazilian Portuguese" + +msgid "Romanian" +msgstr "Romanian" + +msgid "Russian" +msgstr "Russian" + +msgid "Slovak" +msgstr "Slovak" + +msgid "Slovenian" +msgstr "Slovenian" + +msgid "Albanian" +msgstr "Albanian" + +msgid "Serbian" +msgstr "Serbian" + +msgid "Serbian Latin" +msgstr "Serbian Latin" + +msgid "Swedish" +msgstr "Swedish" + +msgid "Swahili" +msgstr "Swahili" + +msgid "Tamil" +msgstr "Tamil" + +msgid "Telugu" +msgstr "Telugu" + +msgid "Thai" +msgstr "Thai" + +msgid "Turkish" +msgstr "Turkish" + +msgid "Tatar" +msgstr "Tatar" + +msgid "Udmurt" +msgstr "" + +msgid "Ukrainian" +msgstr "Ukrainian" + +msgid "Urdu" +msgstr "Urdu" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "Vietnamese" + +msgid "Simplified Chinese" +msgstr "Simplified Chinese" + +msgid "Traditional Chinese" +msgstr "Traditional Chinese" + +msgid "Messages" +msgstr "" + +msgid "Site Maps" +msgstr "" + +msgid "Static Files" +msgstr "" + +msgid "Syndication" +msgstr "" + +msgid "That page number is not an integer" +msgstr "" + +msgid "That page number is less than 1" +msgstr "" + +msgid "That page contains no results" +msgstr "" + +msgid "Enter a valid value." +msgstr "Enter a valid value." + +msgid "Enter a valid URL." +msgstr "Enter a valid URL." + +msgid "Enter a valid integer." +msgstr "" + +msgid "Enter a valid email address." +msgstr "" + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "Enter a valid IPv4 address." + +msgid "Enter a valid IPv6 address." +msgstr "Enter a valid IPv6 address." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Enter a valid IPv4 or IPv6 address." + +msgid "Enter only digits separated by commas." +msgstr "Enter only digits separated by commas." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Ensure this value is %(limit_value)s (it is %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Ensure this value is less than or equal to %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Ensure this value is greater than or equal to %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Enter a number." +msgstr "Enter a number." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "" + +msgid "and" +msgstr "and" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "" + +msgid "This field cannot be null." +msgstr "This field cannot be null." + +msgid "This field cannot be blank." +msgstr "This field cannot be blank." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s with this %(field_label)s already exists." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Field of type: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "Boolean (Either True or False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "String (up to %(max_length)s)" + +msgid "Comma-separated integers" +msgstr "Comma-separated integers" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "Date (without time)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "Date (with time)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "Decimal number" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "" + +msgid "Email address" +msgstr "Email address" + +msgid "File path" +msgstr "File path" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "Floating point number" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "Integer" + +msgid "Big (8 byte) integer" +msgstr "Big (8 byte) integer" + +msgid "IPv4 address" +msgstr "IPv4 address" + +msgid "IP address" +msgstr "IP address" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "Boolean (Either True, False or None)" + +msgid "Positive integer" +msgstr "Positive integer" + +msgid "Positive small integer" +msgstr "Positive small integer" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (up to %(max_length)s)" + +msgid "Small integer" +msgstr "Small integer" + +msgid "Text" +msgstr "Text" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "Time" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "File" + +msgid "Image" +msgstr "Image" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" + +msgid "Foreign Key (type determined by related field)" +msgstr "Foreign Key (type determined by related field)" + +msgid "One-to-one relationship" +msgstr "One-to-one relationship" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "" + +msgid "Many-to-many relationship" +msgstr "Many-to-many relationship" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr "" + +msgid "This field is required." +msgstr "This field is required." + +msgid "Enter a whole number." +msgstr "Enter a whole number." + +msgid "Enter a valid date." +msgstr "Enter a valid date." + +msgid "Enter a valid time." +msgstr "Enter a valid time." + +msgid "Enter a valid date/time." +msgstr "Enter a valid date/time." + +msgid "Enter a valid duration." +msgstr "" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "No file was submitted. Check the encoding type on the form." + +msgid "No file was submitted." +msgstr "No file was submitted." + +msgid "The submitted file is empty." +msgstr "The submitted file is empty." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Please either submit a file or check the clear checkbox, not both." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Select a valid choice. %(value)s is not one of the available choices." + +msgid "Enter a list of values." +msgstr "Enter a list of values." + +msgid "Enter a complete value." +msgstr "" + +msgid "Enter a valid UUID." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr "" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "" +msgstr[1] "" + +msgid "Order" +msgstr "Order" + +msgid "Delete" +msgstr "Delete" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Please correct the duplicate data for %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "Please correct the duplicate data for %(field)s, which must be unique." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Please correct the duplicate values below." + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Select a valid choice. That choice is not one of the available choices." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "Clear" + +msgid "Currently" +msgstr "Currently" + +msgid "Change" +msgstr "Change" + +msgid "Unknown" +msgstr "Unknown" + +msgid "Yes" +msgstr "Yes" + +msgid "No" +msgstr "No" + +msgid "Year" +msgstr "" + +msgid "Month" +msgstr "" + +msgid "Day" +msgstr "" + +msgid "yes,no,maybe" +msgstr "yes,no,maybe" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d byte" +msgstr[1] "%(size)d bytes" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "midnight" + +msgid "noon" +msgstr "noon" + +msgid "Monday" +msgstr "Monday" + +msgid "Tuesday" +msgstr "Tuesday" + +msgid "Wednesday" +msgstr "Wednesday" + +msgid "Thursday" +msgstr "Thursday" + +msgid "Friday" +msgstr "Friday" + +msgid "Saturday" +msgstr "Saturday" + +msgid "Sunday" +msgstr "Sunday" + +msgid "Mon" +msgstr "Mon" + +msgid "Tue" +msgstr "Tue" + +msgid "Wed" +msgstr "Wed" + +msgid "Thu" +msgstr "Thu" + +msgid "Fri" +msgstr "Fri" + +msgid "Sat" +msgstr "Sat" + +msgid "Sun" +msgstr "Sun" + +msgid "January" +msgstr "January" + +msgid "February" +msgstr "February" + +msgid "March" +msgstr "March" + +msgid "April" +msgstr "April" + +msgid "May" +msgstr "May" + +msgid "June" +msgstr "June" + +msgid "July" +msgstr "July" + +msgid "August" +msgstr "August" + +msgid "September" +msgstr "September" + +msgid "October" +msgstr "October" + +msgid "November" +msgstr "November" + +msgid "December" +msgstr "December" + +msgid "jan" +msgstr "jan" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "apr" + +msgid "may" +msgstr "may" + +msgid "jun" +msgstr "jun" + +msgid "jul" +msgstr "jul" + +msgid "aug" +msgstr "aug" + +msgid "sep" +msgstr "sep" + +msgid "oct" +msgstr "oct" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "dec" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Jan." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "March" + +msgctxt "abbrev. month" +msgid "April" +msgstr "April" + +msgctxt "abbrev. month" +msgid "May" +msgstr "May" + +msgctxt "abbrev. month" +msgid "June" +msgstr "June" + +msgctxt "abbrev. month" +msgid "July" +msgstr "July" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Aug." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Sept." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Oct." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Dec." + +msgctxt "alt. month" +msgid "January" +msgstr "January" + +msgctxt "alt. month" +msgid "February" +msgstr "February" + +msgctxt "alt. month" +msgid "March" +msgstr "March" + +msgctxt "alt. month" +msgid "April" +msgstr "April" + +msgctxt "alt. month" +msgid "May" +msgstr "May" + +msgctxt "alt. month" +msgid "June" +msgstr "June" + +msgctxt "alt. month" +msgid "July" +msgstr "July" + +msgctxt "alt. month" +msgid "August" +msgstr "August" + +msgctxt "alt. month" +msgid "September" +msgstr "September" + +msgctxt "alt. month" +msgid "October" +msgstr "October" + +msgctxt "alt. month" +msgid "November" +msgstr "November" + +msgctxt "alt. month" +msgid "December" +msgstr "December" + +msgid "This is not a valid IPv6 address." +msgstr "" + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "or" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "" +msgstr[1] "" + +msgid "0 minutes" +msgstr "" + +msgid "Forbidden" +msgstr "" + +msgid "CSRF verification failed. Request aborted." +msgstr "" + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "" + +msgid "No year specified" +msgstr "No year specified" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "No month specified" + +msgid "No day specified" +msgstr "No day specified" + +msgid "No week specified" +msgstr "No week specified" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "No %(verbose_name_plural)s available" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "No %(verbose_name)s found matching the query" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "Directory indexes are not allowed here." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Index of %(directory)s" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/en_GB/__init__.py b/external_sources/django/django/conf/locale/en_GB/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/en_GB/formats.py b/external_sources/django/django/conf/locale/en_GB/formats.py new file mode 100644 index 0000000..bc90da5 --- /dev/null +++ b/external_sources/django/django/conf/locale/en_GB/formats.py @@ -0,0 +1,41 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j M Y" # '25 Oct 2006' +TIME_FORMAT = "P" # '2:30 p.m.' +DATETIME_FORMAT = "j M Y, P" # '25 Oct 2006, 2:30 p.m.' +YEAR_MONTH_FORMAT = "F Y" # 'October 2006' +MONTH_DAY_FORMAT = "j F" # '25 October' +SHORT_DATE_FORMAT = "d/m/Y" # '25/10/2006' +SHORT_DATETIME_FORMAT = "d/m/Y P" # '25/10/2006 2:30 p.m.' +FIRST_DAY_OF_WEEK = 1 # Monday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d/%m/%Y", # '25/10/2006' + "%d/%m/%y", # '25/10/06' + # "%b %d %Y", # 'Oct 25 2006' + # "%b %d, %Y", # 'Oct 25, 2006' + # "%d %b %Y", # '25 Oct 2006' + # "%d %b, %Y", # '25 Oct, 2006' + # "%B %d %Y", # 'October 25 2006' + # "%B %d, %Y", # 'October 25, 2006' + # "%d %B %Y", # '25 October 2006' + # "%d %B, %Y", # '25 October, 2006' +] +DATETIME_INPUT_FORMATS = [ + "%Y-%m-%d %H:%M:%S", # '2006-10-25 14:30:59' + "%Y-%m-%d %H:%M:%S.%f", # '2006-10-25 14:30:59.000200' + "%Y-%m-%d %H:%M", # '2006-10-25 14:30' + "%d/%m/%Y %H:%M:%S", # '25/10/2006 14:30:59' + "%d/%m/%Y %H:%M:%S.%f", # '25/10/2006 14:30:59.000200' + "%d/%m/%Y %H:%M", # '25/10/2006 14:30' + "%d/%m/%y %H:%M:%S", # '25/10/06 14:30:59' + "%d/%m/%y %H:%M:%S.%f", # '25/10/06 14:30:59.000200' + "%d/%m/%y %H:%M", # '25/10/06 14:30' +] +DECIMAL_SEPARATOR = "." +THOUSAND_SEPARATOR = "," +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/en_IE/__init__.py b/external_sources/django/django/conf/locale/en_IE/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/en_IE/formats.py b/external_sources/django/django/conf/locale/en_IE/formats.py new file mode 100644 index 0000000..81b8324 --- /dev/null +++ b/external_sources/django/django/conf/locale/en_IE/formats.py @@ -0,0 +1,37 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j M Y" # '25 Oct 2006' +TIME_FORMAT = "H:i" # '14:30' +DATETIME_FORMAT = "j M Y, H:i" # '25 Oct 2006, 14:30' +YEAR_MONTH_FORMAT = "F Y" # 'October 2006' +MONTH_DAY_FORMAT = "j F" # '25 October' +SHORT_DATE_FORMAT = "d/m/Y" # '25/10/2006' +SHORT_DATETIME_FORMAT = "d/m/Y H:i" # '25/10/2006 14:30' +FIRST_DAY_OF_WEEK = 1 # Monday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d/%m/%Y", # '25/10/2006' + "%d/%m/%y", # '25/10/06' + "%d %b %Y", # '25 Oct 2006' + "%d %b, %Y", # '25 Oct, 2006' + "%d %B %Y", # '25 October 2006' + "%d %B, %Y", # '25 October, 2006' +] +DATETIME_INPUT_FORMATS = [ + "%Y-%m-%d %H:%M:%S", # '2006-10-25 14:30:59' + "%Y-%m-%d %H:%M:%S.%f", # '2006-10-25 14:30:59.000200' + "%Y-%m-%d %H:%M", # '2006-10-25 14:30' + "%d/%m/%Y %H:%M:%S", # '25/10/2006 14:30:59' + "%d/%m/%Y %H:%M:%S.%f", # '25/10/2006 14:30:59.000200' + "%d/%m/%Y %H:%M", # '25/10/2006 14:30' + "%d/%m/%y %H:%M:%S", # '25/10/06 14:30:59' + "%d/%m/%y %H:%M:%S.%f", # '25/10/06 14:30:59.000200' + "%d/%m/%y %H:%M", # '25/10/06 14:30' +] +DECIMAL_SEPARATOR = "." +THOUSAND_SEPARATOR = "," +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/eo/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/eo/LC_MESSAGES/django.po new file mode 100644 index 0000000..66a2f38 --- /dev/null +++ b/external_sources/django/django/conf/locale/eo/LC_MESSAGES/django.po @@ -0,0 +1,1331 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Batist D 🐍 , 2012-2013 +# Batist D 🐍 , 2013-2019 +# batisteo , 2011 +# Dinu Gherman , 2011 +# kristjan , 2011 +# Matthieu Desplantes , 2021 +# Meiyer , 2022 +# Nikolay Korotkiy , 2017-2018 +# Robin van der Vliet , 2019 +# Adamo Mesha , 2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-05-17 05:23-0500\n" +"PO-Revision-Date: 2022-05-25 06:49+0000\n" +"Last-Translator: Meiyer , 2022\n" +"Language-Team: Esperanto (http://www.transifex.com/django/django/language/" +"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" + +msgid "Afrikaans" +msgstr "Afrikansa" + +msgid "Arabic" +msgstr "Araba" + +msgid "Algerian Arabic" +msgstr "Alĝeria araba" + +msgid "Asturian" +msgstr "Asturia" + +msgid "Azerbaijani" +msgstr "Azerbajĝana" + +msgid "Bulgarian" +msgstr "Bulgara" + +msgid "Belarusian" +msgstr "Belorusa" + +msgid "Bengali" +msgstr "Bengala" + +msgid "Breton" +msgstr "Bretona" + +msgid "Bosnian" +msgstr "Bosnia" + +msgid "Catalan" +msgstr "Kataluna" + +msgid "Czech" +msgstr "Ĉeĥa" + +msgid "Welsh" +msgstr "Kimra" + +msgid "Danish" +msgstr "Dana" + +msgid "German" +msgstr "Germana" + +msgid "Lower Sorbian" +msgstr "Malsuprasaroba" + +msgid "Greek" +msgstr "Greka" + +msgid "English" +msgstr "Angla" + +msgid "Australian English" +msgstr "Angla (Aŭstralia)" + +msgid "British English" +msgstr "Angla (Brita)" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Hispana" + +msgid "Argentinian Spanish" +msgstr "Hispana (Argentinio)" + +msgid "Colombian Spanish" +msgstr "Hispana (Kolombio)" + +msgid "Mexican Spanish" +msgstr "Hispana (Meksiko)" + +msgid "Nicaraguan Spanish" +msgstr "Hispana (Nikaragvo)" + +msgid "Venezuelan Spanish" +msgstr "Hispana (Venezuelo)" + +msgid "Estonian" +msgstr "Estona" + +msgid "Basque" +msgstr "Eŭska" + +msgid "Persian" +msgstr "Persa" + +msgid "Finnish" +msgstr "Finna" + +msgid "French" +msgstr "Franca" + +msgid "Frisian" +msgstr "Frisa" + +msgid "Irish" +msgstr "Irlanda" + +msgid "Scottish Gaelic" +msgstr "Skota gaela" + +msgid "Galician" +msgstr "Galega" + +msgid "Hebrew" +msgstr "Hebrea" + +msgid "Hindi" +msgstr "Hinda" + +msgid "Croatian" +msgstr "Kroata" + +msgid "Upper Sorbian" +msgstr "Suprasoraba" + +msgid "Hungarian" +msgstr "Hungara" + +msgid "Armenian" +msgstr "Armena" + +msgid "Interlingua" +msgstr "Interlingvaa" + +msgid "Indonesian" +msgstr "Indoneza" + +msgid "Igbo" +msgstr "Igba" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Islanda" + +msgid "Italian" +msgstr "Itala" + +msgid "Japanese" +msgstr "Japana" + +msgid "Georgian" +msgstr "Kartvela" + +msgid "Kabyle" +msgstr "Kabila" + +msgid "Kazakh" +msgstr "Kazaĥa" + +msgid "Khmer" +msgstr "Kmera" + +msgid "Kannada" +msgstr "Kanara" + +msgid "Korean" +msgstr "Korea" + +msgid "Kyrgyz" +msgstr "Kirgiza" + +msgid "Luxembourgish" +msgstr "Luksemburga" + +msgid "Lithuanian" +msgstr "Litova" + +msgid "Latvian" +msgstr "Latva" + +msgid "Macedonian" +msgstr "Makedona" + +msgid "Malayalam" +msgstr "Malajala" + +msgid "Mongolian" +msgstr "Mongola" + +msgid "Marathi" +msgstr "Marata" + +msgid "Malay" +msgstr "Malaja" + +msgid "Burmese" +msgstr "Birma" + +msgid "Norwegian Bokmål" +msgstr "Norvega (bokmål)" + +msgid "Nepali" +msgstr "Nepala" + +msgid "Dutch" +msgstr "Nederlanda" + +msgid "Norwegian Nynorsk" +msgstr "Norvega (nynorsk)" + +msgid "Ossetic" +msgstr "Oseta" + +msgid "Punjabi" +msgstr "Panĝaba" + +msgid "Polish" +msgstr "Pola" + +msgid "Portuguese" +msgstr "Portugala" + +msgid "Brazilian Portuguese" +msgstr "Portugala (Brazilo)" + +msgid "Romanian" +msgstr "Rumana" + +msgid "Russian" +msgstr "Rusa" + +msgid "Slovak" +msgstr "Slovaka" + +msgid "Slovenian" +msgstr "Slovena" + +msgid "Albanian" +msgstr "Albana" + +msgid "Serbian" +msgstr "Serba" + +msgid "Serbian Latin" +msgstr "Serba (latina)" + +msgid "Swedish" +msgstr "Sveda" + +msgid "Swahili" +msgstr "Svahila" + +msgid "Tamil" +msgstr "Tamila" + +msgid "Telugu" +msgstr "Telugua" + +msgid "Tajik" +msgstr "Taĝika" + +msgid "Thai" +msgstr "Taja" + +msgid "Turkmen" +msgstr "Turkmena" + +msgid "Turkish" +msgstr "Turka" + +msgid "Tatar" +msgstr "Tatara" + +msgid "Udmurt" +msgstr "Udmurta" + +msgid "Ukrainian" +msgstr "Ukraina" + +msgid "Urdu" +msgstr "Urdua" + +msgid "Uzbek" +msgstr "Uzbeka" + +msgid "Vietnamese" +msgstr "Vjetnama" + +msgid "Simplified Chinese" +msgstr "Ĉina (simpligite)" + +msgid "Traditional Chinese" +msgstr "Ĉina (tradicie)" + +msgid "Messages" +msgstr "Mesaĝoj" + +msgid "Site Maps" +msgstr "Retejaj mapoj" + +msgid "Static Files" +msgstr "Statikaj dosieroj" + +msgid "Syndication" +msgstr "Abonrilato" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "Tia paĝnumero ne estas entjero" + +msgid "That page number is less than 1" +msgstr "La paĝnumero estas malpli ol 1" + +msgid "That page contains no results" +msgstr "Tiu paĝo ne enhavas rezultojn" + +msgid "Enter a valid value." +msgstr "Enigu ĝustan valoron." + +msgid "Enter a valid URL." +msgstr "Enigu ĝustan retadreson." + +msgid "Enter a valid integer." +msgstr "Enigu ĝustaforman entjeron." + +msgid "Enter a valid email address." +msgstr "Enigu ĝustaforman retpoŝtan adreson." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Enigu ĝustan “ĵetonvorton” konsistantan el latinaj literoj, ciferoj, " +"substrekoj, aŭ dividstrekoj." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Enigu ĝustan “ĵetonvorton” konsistantan el Unikodaj literoj, ciferoj, " +"substrekoj, aŭ dividstrekoj." + +msgid "Enter a valid IPv4 address." +msgstr "Enigu ĝustaforman IPv4-adreson." + +msgid "Enter a valid IPv6 address." +msgstr "Enigu ĝustaforman IPv6-adreson." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Enigu ĝustaforman IPv4- aŭ IPv6-adreson." + +msgid "Enter only digits separated by commas." +msgstr "Enigu nur ciferojn apartigitajn per komoj." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Certigu ke ĉi tiu valoro estas %(limit_value)s (ĝi estas %(show_value)s). " + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Certigu ke ĉi tiu valoro estas malpli ol aŭ egala al %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Certigu ke ĉi tiu valoro estas pli ol aŭ egala al %(limit_value)s." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "Certigu ke ĉi tiu valoro estas oblo de paŝo-grando %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Certigu, ke tiu valoro havas %(limit_value)d signon (ĝi havas " +"%(show_value)d)." +msgstr[1] "" +"Certigu ke ĉi tiu valoro enhavas almenaŭ %(limit_value)d signojn (ĝi havas " +"%(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Certigu, ke tio valuto maksimume havas %(limit_value)d karakterojn (ĝi havas " +"%(show_value)d)." +msgstr[1] "" +"Certigu ke ĉi tiu valoro maksimume enhavas %(limit_value)d signojn (ĝi havas " +"%(show_value)d)." + +msgid "Enter a number." +msgstr "Enigu nombron." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Certigu ke ne estas pli ol %(max)s cifero entute." +msgstr[1] "Certigu ke ne estas pli ol %(max)s ciferoj entute." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Certigu, ke ne estas pli ol %(max)s dekumaj lokoj." +msgstr[1] "Certigu, ke ne estas pli ol %(max)s dekumaj lokoj." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "Certigu ke ne estas pli ol %(max)s ciferoj antaŭ la dekuma punkto." +msgstr[1] "Certigu ke ne estas pli ol %(max)s ciferoj antaŭ la dekuma punkto." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Sufikso “%(extension)s” de dosiernomo ne estas permesita. Eblaj sufiksoj " +"estas: %(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Nulsignoj ne estas permesitaj." + +msgid "and" +msgstr "kaj" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s kun tiuj %(field_labels)s jam ekzistas." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "Limigo “%(name)s” estas malobservita." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Valoro %(value)r ne estas ebla elekto." + +msgid "This field cannot be null." +msgstr "Tiu ĉi kampo ne povas esti senvalora (null)." + +msgid "This field cannot be blank." +msgstr "Tiu ĉi kampo ne povas esti malplena." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s kun tiu %(field_label)s jam ekzistas." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s devas esti unika por %(date_field_label)s %(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Kampo de tipo: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "La valoro “%(value)s” devas esti aŭ Vera (True) aŭ Malvera (False)." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" +"La valoro “%(value)s” devas esti Vera (True), Malvera (False), aŭ Nenia " +"(None)." + +msgid "Boolean (Either True or False)" +msgstr "Bulea (Vera aŭ Malvera)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Ĉeno (ĝis %(max_length)s)" + +msgid "Comma-separated integers" +msgstr "Perkome disigitaj entjeroj" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"La valoro “%(value)s” havas malĝustan datformaton. Ĝi devas esti en la " +"formato JJJJ-MM-TT." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"La valoro “%(value)s” havas la ĝustan formaton (JJJJ-MM-TT), sed ĝi estas " +"neekzistanta dato." + +msgid "Date (without time)" +msgstr "Dato (sen horo)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"La valoro “%(value)s” havas malĝustan formaton. Ĝi devas esti en la formato " +"JJJJ-MM-TT HH:MM[:ss[.µµµµµµ]][TZ]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"La valoro “%(value)s” havas la ĝustan formaton (JJJJ-MM-TT HH:MM[:ss[." +"µµµµµµ]][TZ]), sed ĝi estas neekzistanta dato/tempo." + +msgid "Date (with time)" +msgstr "Dato (kun horo)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "La valoro “%(value)s” devas esti dekuma frakcio." + +msgid "Decimal number" +msgstr "Dekuma nombro" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"La valoro “%(value)s” havas malĝustan formaton. Ĝi devas esti en la formato " +"[TT] [[HH:]MM:]ss[.µµµµµµ]." + +msgid "Duration" +msgstr "Daŭro" + +msgid "Email address" +msgstr "Retpoŝtadreso" + +msgid "File path" +msgstr "Dosierindiko" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "La valoro “%(value)s” devas esti glitpunkta nombro." + +msgid "Floating point number" +msgstr "Glitpunkta nombro" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "La valoro “%(value)s” devas esti entjero." + +msgid "Integer" +msgstr "Entjero" + +msgid "Big (8 byte) integer" +msgstr "Granda (8–bitoka) entjero" + +msgid "Small integer" +msgstr "Malgranda entjero" + +msgid "IPv4 address" +msgstr "IPv4-adreso" + +msgid "IP address" +msgstr "IP-adreso" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" +"La valoro “%(value)s” devas esti Nenia (None), Vera (True), aŭ Malvera " +"(False)." + +msgid "Boolean (Either True, False or None)" +msgstr "Buleo (Vera, Malvera, aŭ Nenia)" + +msgid "Positive big integer" +msgstr "Pozitiva granda entjero" + +msgid "Positive integer" +msgstr "Pozitiva entjero" + +msgid "Positive small integer" +msgstr "Pozitiva malgranda entjero" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Ĵetonvorto (ĝis %(max_length)s)" + +msgid "Text" +msgstr "Teksto" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"La valoro “%(value)s” havas malĝustan formaton. Ĝi devas esti en la formato " +"HH:MM[:ss[.µµµµµµ]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"La valoro “%(value)s” havas la (HH:MM[:ss[.µµµµµµ]]), sed tio estas " +"neekzistanta tempo." + +msgid "Time" +msgstr "Horo" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Kruda duuma datumo" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "“%(value)s” ne estas ĝustaforma UUID." + +msgid "Universally unique identifier" +msgstr "Universale unika identigilo" + +msgid "File" +msgstr "Dosiero" + +msgid "Image" +msgstr "Bildo" + +msgid "A JSON object" +msgstr "JSON-objekto" + +msgid "Value must be valid JSON." +msgstr "La valoro devas esti ĝustaforma JSON." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "Ekzemplero de %(model)s kun %(field)s egala al %(value)r ne ekzistas." + +msgid "Foreign Key (type determined by related field)" +msgstr "Fremda ŝlosilo (tipo determinita per rilata kampo)" + +msgid "One-to-one relationship" +msgstr "Unu-al-unu rilato" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s rilato" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s rilatoj" + +msgid "Many-to-many relationship" +msgstr "Mult-al-multa rilato" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Ĉi tiu kampo estas deviga." + +msgid "Enter a whole number." +msgstr "Enigu plenan nombron." + +msgid "Enter a valid date." +msgstr "Enigu ĝustan daton." + +msgid "Enter a valid time." +msgstr "Enigu ĝustan horon." + +msgid "Enter a valid date/time." +msgstr "Enigu ĝustan daton/tempon." + +msgid "Enter a valid duration." +msgstr "Enigu ĝustan daŭron." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "La nombro de tagoj devas esti inter {min_days} kaj {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"Neniu dosiero estis alŝutita. Kontrolu la kodoprezentan tipon en la " +"formularo." + +msgid "No file was submitted." +msgstr "Neniu dosiero estis alŝutita." + +msgid "The submitted file is empty." +msgstr "La alŝutita dosiero estas malplena." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Certigu, ke tio dosiernomo maksimume havas %(max)d karakteron (ĝi havas " +"%(length)d)." +msgstr[1] "" +"Certigu ke la dosiernomo maksimume havas %(max)d signojn (ĝi havas " +"%(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Bonvolu aŭ alŝuti dosieron, aŭ elekti la vakigan markobutonon, sed ne ambaŭ." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Alŝutu ĝustaforman bildon. La alŝutita dosiero ne estas bildo aŭ estas " +"difektita bildo." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Elektu ekzistantan opcion. %(value)s ne estas el la eblaj elektoj." + +msgid "Enter a list of values." +msgstr "Enigu liston de valoroj." + +msgid "Enter a complete value." +msgstr "Enigu kompletan valoron." + +msgid "Enter a valid UUID." +msgstr "Enigu ĝustaforman UUID." + +msgid "Enter a valid JSON." +msgstr "Enigu ĝustaforman JSON." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Kaŝita kampo %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"La datumoj de la mastruma ManagementForm mankas aŭ estis malice modifitaj. " +"Mankas la kampoj: %(field_names)s. Se la problemo plu okazas, vi poveble " +"devintus raporti cimon." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Bonvolu forsendi maksimume %(num)d formularon." +msgstr[1] "Bonvolu forsendi maksimume %(num)d formularojn." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Bonvolu forsendi almenaŭ %(num)d formularon." +msgstr[1] "Bonvolu forsendi almenaŭ %(num)d formularojn." + +msgid "Order" +msgstr "Ordo" + +msgid "Delete" +msgstr "Forigi" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Bonvolu ĝustigi la duoblan datumon por %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Bonvolu ĝustigi la duoblan datumon por %(field)s, kiu devas esti unika." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Bonvolu ĝustigi la duoblan datumon por %(field_name)s, kiu devas esti unika " +"por la %(lookup)s en %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Bonvolu ĝustigi la duoblan valoron sube." + +msgid "The inline value did not match the parent instance." +msgstr "La enteksta valoro ne egalas la patran ekzempleron." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Elektu ekzistantan opcion. Ĉi tiu opcio ne estas el la eblaj elektoj." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "“%(pk)s” estas neakceptebla valoro." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"Ne eblis interpreti %(datetime)s en la tempo-zono %(current_timezone)s. Ĝi " +"eble estas ambigua aŭ ne ekzistas en tiu tempo-zono." + +msgid "Clear" +msgstr "Vakigi" + +msgid "Currently" +msgstr "Nuntempe" + +msgid "Change" +msgstr "Ŝanĝi" + +msgid "Unknown" +msgstr "Nekonate" + +msgid "Yes" +msgstr "Jes" + +msgid "No" +msgstr "Ne" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "jes,ne,eble" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d bitoko" +msgstr[1] "%(size)d bitokoj" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "ptm" + +msgid "a.m." +msgstr "atm" + +msgid "PM" +msgstr "PTM" + +msgid "AM" +msgstr "ATM" + +msgid "midnight" +msgstr "noktomezo" + +msgid "noon" +msgstr "tagmezo" + +msgid "Monday" +msgstr "lundo" + +msgid "Tuesday" +msgstr "mardo" + +msgid "Wednesday" +msgstr "merkredo" + +msgid "Thursday" +msgstr "ĵaŭdo" + +msgid "Friday" +msgstr "vendredo" + +msgid "Saturday" +msgstr "sabato" + +msgid "Sunday" +msgstr "dimanĉo" + +msgid "Mon" +msgstr "lun" + +msgid "Tue" +msgstr "mar" + +msgid "Wed" +msgstr "mer" + +msgid "Thu" +msgstr "ĵaŭ" + +msgid "Fri" +msgstr "ven" + +msgid "Sat" +msgstr "sab" + +msgid "Sun" +msgstr "dim" + +msgid "January" +msgstr "januaro" + +msgid "February" +msgstr "februaro" + +msgid "March" +msgstr "marto" + +msgid "April" +msgstr "aprilo" + +msgid "May" +msgstr "majo" + +msgid "June" +msgstr "junio" + +msgid "July" +msgstr "julio" + +msgid "August" +msgstr "aŭgusto" + +msgid "September" +msgstr "septembro" + +msgid "October" +msgstr "oktobro" + +msgid "November" +msgstr "novembro" + +msgid "December" +msgstr "decembro" + +msgid "jan" +msgstr "jan" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "apr" + +msgid "may" +msgstr "maj" + +msgid "jun" +msgstr "jun" + +msgid "jul" +msgstr "jul" + +msgid "aug" +msgstr "aŭg" + +msgid "sep" +msgstr "sep" + +msgid "oct" +msgstr "okt" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "dec" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "jan." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "mar." + +msgctxt "abbrev. month" +msgid "April" +msgstr "apr." + +msgctxt "abbrev. month" +msgid "May" +msgstr "majo" + +msgctxt "abbrev. month" +msgid "June" +msgstr "jun." + +msgctxt "abbrev. month" +msgid "July" +msgstr "jul." + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "aŭg." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "sept." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "okt." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "dec." + +msgctxt "alt. month" +msgid "January" +msgstr "Januaro" + +msgctxt "alt. month" +msgid "February" +msgstr "Februaro" + +msgctxt "alt. month" +msgid "March" +msgstr "Marto" + +msgctxt "alt. month" +msgid "April" +msgstr "Aprilo" + +msgctxt "alt. month" +msgid "May" +msgstr "Majo" + +msgctxt "alt. month" +msgid "June" +msgstr "Junio" + +msgctxt "alt. month" +msgid "July" +msgstr "Julio" + +msgctxt "alt. month" +msgid "August" +msgstr "Aŭgusto" + +msgctxt "alt. month" +msgid "September" +msgstr "Septembro" + +msgctxt "alt. month" +msgid "October" +msgstr "Oktobro" + +msgctxt "alt. month" +msgid "November" +msgstr "Novembro" + +msgctxt "alt. month" +msgid "December" +msgstr "Decembro" + +msgid "This is not a valid IPv6 address." +msgstr "Tio ne estas ĝustaforma IPv6-adreso." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "aŭ" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d jaro" +msgstr[1] "%(num)d jaroj" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d monato" +msgstr[1] "%(num)d monatoj" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d semajno" +msgstr[1] "%(num)d semajnoj" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d tago" +msgstr[1] "%(num)d tagoj" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d horo" +msgstr[1] "%(num)d horoj" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d minuto" +msgstr[1] "%(num)d minutoj" + +msgid "Forbidden" +msgstr "Malpermesita" + +msgid "CSRF verification failed. Request aborted." +msgstr "Kontrolo de CSRF malsukcesis. Peto ĉesigita." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Vi vidas tiun ĉi mesaĝon ĉar ĉi-tiu HTTPS-retejo postulas ricevi la " +"kapinstrukcion “Referer” de via retumilo, sed neniu estis sendita. Tia " +"kapinstrukcio estas bezonata pro sekurecaj kialoj, por certigi ke via " +"retumilo ne agas laŭ nedezirataj instrukcioj de maliculoj." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Se la agordoj de via retumilo malebligas la kapinstrukciojn “Referer”, " +"bonvolu ebligi ilin por tiu ĉi retejo, aŭ por HTTPS-konektoj, aŭ por petoj " +"el sama fonto (“same-origin”)." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Se vi uzas la etikedon aŭ " +"sendas la kapinstrukcion “Referrer-Policy: no-referrer”, bonvolu forigi " +"ilin. La protekto kontraŭ CSRF postulas la ĉeeston de la kapinstrukcio " +"“Referer”, kaj strikte kontrolas la referencantan fonton. Se vi zorgas pri " +"privateco, uzu alternativojn kiajn por ligiloj al " +"eksteraj retejoj." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Vi vidas tiun ĉi mesaĝon ĉar ĉi-tiu retejo postulas ke CSRF-kuketo estu " +"sendita kune kun la formularoj. Tia kuketo estas bezonata pro sekurecaj " +"kialoj, por certigi ke via retumilo ne agas laŭ nedezirataj instrukcioj de " +"maliculoj." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Se la agordoj de via retumilo malebligas kuketojn, bonvolu ebligi ilin por " +"tiu ĉi retejo aŭ por petoj el sama fonto (“same-origin”)." + +msgid "More information is available with DEBUG=True." +msgstr "Pliaj informoj estas videblaj kun DEBUG=True." + +msgid "No year specified" +msgstr "Neniu jaro indikita" + +msgid "Date out of range" +msgstr "Dato ne en la intervalo" + +msgid "No month specified" +msgstr "Neniu monato indikita" + +msgid "No day specified" +msgstr "Neniu tago indikita" + +msgid "No week specified" +msgstr "Neniu semajno indikita" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Neniuj %(verbose_name_plural)s estas disponeblaj" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Estontaj %(verbose_name_plural)s ne disponeblas ĉar %(class_name)s." +"allow_future estas Malvera." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "Erarforma dato-ĉeno “%(datestr)s” se uzi la formaton “%(format)s”" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Neniu %(verbose_name)s trovita kongrua kun la informpeto" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "Paĝo ne estas “lasta”, nek eblas konverti ĝin en entjeron." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Malĝusta paĝo (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" +"La listo estas malplena dum “%(class_name)s.allow_empty” estas Malvera." + +msgid "Directory indexes are not allowed here." +msgstr "Dosierujaj indeksoj ne estas permesitaj ĉi tie." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "“%(path)s” ne ekzistas" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Indekso de %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "La instalado sukcesis! Gratulojn!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Vidu eldonajn notojn por Dĵango %(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Vi vidas ĉi tiun paĝon ĉar DEBUG = " +"True estas en via agorda dosiero kaj vi ne agordis ajnan URL." + +msgid "Django Documentation" +msgstr "Dĵanga dokumentaro" + +msgid "Topics, references, & how-to’s" +msgstr "Temoj, referencoj, kaj instruiloj" + +msgid "Tutorial: A Polling App" +msgstr "Instruilo: apo pri enketoj" + +msgid "Get started with Django" +msgstr "Komencu kun Dĵango" + +msgid "Django Community" +msgstr "Dĵanga komunumo" + +msgid "Connect, get help, or contribute" +msgstr "Konektiĝu, ricevu helpon aŭ kontribuu" diff --git a/external_sources/django/django/conf/locale/eo/__init__.py b/external_sources/django/django/conf/locale/eo/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/eo/formats.py b/external_sources/django/django/conf/locale/eo/formats.py new file mode 100644 index 0000000..d1346d1 --- /dev/null +++ b/external_sources/django/django/conf/locale/eo/formats.py @@ -0,0 +1,44 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = r"j\-\a \d\e F Y" # '26-a de julio 1887' +TIME_FORMAT = "H:i" # '18:59' +DATETIME_FORMAT = r"j\-\a \d\e F Y\, \j\e H:i" # '26-a de julio 1887, je 18:59' +YEAR_MONTH_FORMAT = r"F \d\e Y" # 'julio de 1887' +MONTH_DAY_FORMAT = r"j\-\a \d\e F" # '26-a de julio' +SHORT_DATE_FORMAT = "Y-m-d" # '1887-07-26' +SHORT_DATETIME_FORMAT = "Y-m-d H:i" # '1887-07-26 18:59' +FIRST_DAY_OF_WEEK = 1 # Monday (lundo) + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%Y-%m-%d", # '1887-07-26' + "%y-%m-%d", # '87-07-26' + "%Y %m %d", # '1887 07 26' + "%Y.%m.%d", # '1887.07.26' + "%d-a de %b %Y", # '26-a de jul 1887' + "%d %b %Y", # '26 jul 1887' + "%d-a de %B %Y", # '26-a de julio 1887' + "%d %B %Y", # '26 julio 1887' + "%d %m %Y", # '26 07 1887' + "%d/%m/%Y", # '26/07/1887' +] +TIME_INPUT_FORMATS = [ + "%H:%M:%S", # '18:59:00' + "%H:%M", # '18:59' +] +DATETIME_INPUT_FORMATS = [ + "%Y-%m-%d %H:%M:%S", # '1887-07-26 18:59:00' + "%Y-%m-%d %H:%M", # '1887-07-26 18:59' + "%Y.%m.%d %H:%M:%S", # '1887.07.26 18:59:00' + "%Y.%m.%d %H:%M", # '1887.07.26 18:59' + "%d/%m/%Y %H:%M:%S", # '26/07/1887 18:59:00' + "%d/%m/%Y %H:%M", # '26/07/1887 18:59' + "%y-%m-%d %H:%M:%S", # '87-07-26 18:59:00' + "%y-%m-%d %H:%M", # '87-07-26 18:59' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "\xa0" # non-breaking space +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/es/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/es/LC_MESSAGES/django.po new file mode 100644 index 0000000..77ec5f4 --- /dev/null +++ b/external_sources/django/django/conf/locale/es/LC_MESSAGES/django.po @@ -0,0 +1,1412 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# 8cb2d5a716c3c9a99b6d20472609a4d5_6d03802 , 2011 +# Abe Estrada, 2013 +# Abe Estrada, 2013 +# albertoalcolea , 2014 +# albertoalcolea , 2014 +# Amanda Copete, 2017 +# Amanda Copete, 2017 +# Antoni Aloy , 2011-2014,2017,2019 +# Claude Paroz , 2020 +# Diego Andres Sanabria Martin , 2012 +# Diego Schulz , 2012 +# e4db27214f7e7544f2022c647b585925_bb0e321, 2014,2020 +# e4db27214f7e7544f2022c647b585925_bb0e321, 2015-2016 +# e4db27214f7e7544f2022c647b585925_bb0e321, 2014 +# e4db27214f7e7544f2022c647b585925_bb0e321, 2020 +# Ernesto Rico Schmidt , 2017 +# Ernesto Rico Schmidt , 2017 +# 8cb2d5a716c3c9a99b6d20472609a4d5_6d03802 , 2011 +# Ignacio José Lizarán Rus , 2019 +# Igor Támara , 2015 +# Jannis Leidel , 2011 +# Jorge Andres Bravo Meza, 2024 +# José Luis , 2016 +# José Luis , 2016 +# Josue Naaman Nistal Guerra , 2014 +# Leonardo J. Caballero G. , 2011,2013 +# Luigy, 2019 +# Luigy, 2019 +# Marc Garcia , 2011 +# Mariusz Felisiak , 2021 +# mpachas , 2022 +# monobotsoft , 2012 +# Natalia, 2024 +# ntrrgc , 2013 +# ntrrgc , 2013 +# Pablo, 2015 +# Pablo, 2015 +# Sebastián Magrí, 2013 +# Sebastián Magrí, 2013 +# Uriel Medina , 2020-2021,2023 +# Veronicabh , 2015 +# Veronicabh , 2015 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 06:49+0000\n" +"Last-Translator: Jorge Andres Bravo Meza, 2024\n" +"Language-Team: Spanish (http://app.transifex.com/django/django/language/" +"es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es\n" +"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? " +"1 : 2;\n" + +msgid "Afrikaans" +msgstr "Africano" + +msgid "Arabic" +msgstr "Árabe" + +msgid "Algerian Arabic" +msgstr "Árabe argelino" + +msgid "Asturian" +msgstr "Asturiano" + +msgid "Azerbaijani" +msgstr "Azerbaiyán" + +msgid "Bulgarian" +msgstr "Búlgaro" + +msgid "Belarusian" +msgstr "Bielorruso" + +msgid "Bengali" +msgstr "Bengalí" + +msgid "Breton" +msgstr "Bretón" + +msgid "Bosnian" +msgstr "Bosnio" + +msgid "Catalan" +msgstr "Catalán" + +msgid "Central Kurdish (Sorani)" +msgstr "Kurdo central (Sorani)" + +msgid "Czech" +msgstr "Checo" + +msgid "Welsh" +msgstr "Galés" + +msgid "Danish" +msgstr "Danés" + +msgid "German" +msgstr "Alemán" + +msgid "Lower Sorbian" +msgstr "Bajo sorbio" + +msgid "Greek" +msgstr "Griego" + +msgid "English" +msgstr "Inglés" + +msgid "Australian English" +msgstr "Inglés australiano" + +msgid "British English" +msgstr "Inglés británico" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Español" + +msgid "Argentinian Spanish" +msgstr "Español de Argentina" + +msgid "Colombian Spanish" +msgstr "Español de Colombia" + +msgid "Mexican Spanish" +msgstr "Español de México" + +msgid "Nicaraguan Spanish" +msgstr "Español de Nicaragua" + +msgid "Venezuelan Spanish" +msgstr "Español de Venezuela" + +msgid "Estonian" +msgstr "Estonio" + +msgid "Basque" +msgstr "Vasco" + +msgid "Persian" +msgstr "Persa" + +msgid "Finnish" +msgstr "Finés" + +msgid "French" +msgstr "Francés" + +msgid "Frisian" +msgstr "Frisón" + +msgid "Irish" +msgstr "Irlandés" + +msgid "Scottish Gaelic" +msgstr "Gaélico Escocés" + +msgid "Galician" +msgstr "Gallego" + +msgid "Hebrew" +msgstr "Hebreo" + +msgid "Hindi" +msgstr "Hindi" + +msgid "Croatian" +msgstr "Croata" + +msgid "Upper Sorbian" +msgstr "Alto sorbio" + +msgid "Hungarian" +msgstr "Húngaro" + +msgid "Armenian" +msgstr "Armenio" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indonesio" + +msgid "Igbo" +msgstr "Igbo" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Islandés" + +msgid "Italian" +msgstr "Italiano" + +msgid "Japanese" +msgstr "Japonés" + +msgid "Georgian" +msgstr "Georgiano" + +msgid "Kabyle" +msgstr "Cabilio" + +msgid "Kazakh" +msgstr "Kazajo" + +msgid "Khmer" +msgstr "Khmer" + +msgid "Kannada" +msgstr "Kannada" + +msgid "Korean" +msgstr "Coreano" + +msgid "Kyrgyz" +msgstr "Kirguís" + +msgid "Luxembourgish" +msgstr "Luxenburgués" + +msgid "Lithuanian" +msgstr "Lituano" + +msgid "Latvian" +msgstr "Letón" + +msgid "Macedonian" +msgstr "Macedonio" + +msgid "Malayalam" +msgstr "Malayalam" + +msgid "Mongolian" +msgstr "Mongol" + +msgid "Marathi" +msgstr "Maratí" + +msgid "Malay" +msgstr "Malayo" + +msgid "Burmese" +msgstr "Birmano" + +msgid "Norwegian Bokmål" +msgstr "Bokmål noruego" + +msgid "Nepali" +msgstr "Nepalí" + +msgid "Dutch" +msgstr "Holandés" + +msgid "Norwegian Nynorsk" +msgstr "Nynorsk" + +msgid "Ossetic" +msgstr "Osetio" + +msgid "Punjabi" +msgstr "Panyabí" + +msgid "Polish" +msgstr "Polaco" + +msgid "Portuguese" +msgstr "Portugués" + +msgid "Brazilian Portuguese" +msgstr "Portugués de Brasil" + +msgid "Romanian" +msgstr "Rumano" + +msgid "Russian" +msgstr "Ruso" + +msgid "Slovak" +msgstr "Eslovaco" + +msgid "Slovenian" +msgstr "Esloveno" + +msgid "Albanian" +msgstr "Albanés" + +msgid "Serbian" +msgstr "Serbio" + +msgid "Serbian Latin" +msgstr "Serbio latino" + +msgid "Swedish" +msgstr "Sueco" + +msgid "Swahili" +msgstr "Suajili" + +msgid "Tamil" +msgstr "Tamil" + +msgid "Telugu" +msgstr "Telugu" + +msgid "Tajik" +msgstr "Tayiko" + +msgid "Thai" +msgstr "Tailandés" + +msgid "Turkmen" +msgstr "Turcomanos" + +msgid "Turkish" +msgstr "Turco" + +msgid "Tatar" +msgstr "Tártaro" + +msgid "Udmurt" +msgstr "Udmurt" + +msgid "Uyghur" +msgstr "Uigur" + +msgid "Ukrainian" +msgstr "Ucraniano" + +msgid "Urdu" +msgstr "Urdu" + +msgid "Uzbek" +msgstr "Uzbeko" + +msgid "Vietnamese" +msgstr "Vietnamita" + +msgid "Simplified Chinese" +msgstr "Chino simplificado" + +msgid "Traditional Chinese" +msgstr "Chino tradicional" + +msgid "Messages" +msgstr "Mensajes" + +msgid "Site Maps" +msgstr "Mapas del sitio" + +msgid "Static Files" +msgstr "Archivos estáticos" + +msgid "Syndication" +msgstr "Sindicación" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "..." + +msgid "That page number is not an integer" +msgstr "Este número de página no es un entero" + +msgid "That page number is less than 1" +msgstr "Este número de página es menor que 1" + +msgid "That page contains no results" +msgstr "Esa página no contiene resultados" + +msgid "Enter a valid value." +msgstr "Introduzca un valor válido." + +msgid "Enter a valid domain name." +msgstr "Ingrese un nombre de dominio válido." + +msgid "Enter a valid URL." +msgstr "Introduzca una URL válida." + +msgid "Enter a valid integer." +msgstr "Introduzca un número entero válido." + +msgid "Enter a valid email address." +msgstr "Introduzca una dirección de correo electrónico válida." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Introduzca un 'slug' válido, consistente en letras, números, guiones bajos o " +"medios." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Introduzca un 'slug' válido, consistente en letras, números, guiones bajos o " +"medios de Unicode." + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "Ingrese una dirección de %(protocol)s válida." + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "IPv4 or IPv6" +msgstr "IPv4 o IPv6" + +msgid "Enter only digits separated by commas." +msgstr "Introduzca sólo dígitos separados por comas." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Asegúrese de que este valor es %(limit_value)s (actualmente es " +"%(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Asegúrese de que este valor es menor o igual a %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Asegúrese de que este valor es mayor o igual a %(limit_value)s." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "Asegúrese de que este valor es múltiplo de %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"Asegúrese de que este valor sea un múltiplo del tamaño del " +"paso%(limit_value)s, comenzando en%(offset)s, p.ej. %(offset)s, " +"%(valid_value1)s, %(valid_value2)s, etcétera." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Asegúrese de que este valor tenga al menos %(limit_value)d caracter (tiene " +"%(show_value)d)." +msgstr[1] "" +"Asegúrese de que este valor tenga al menos %(limit_value)d carácter(es) " +"(tiene%(show_value)d)." +msgstr[2] "" +"Asegúrese de que este valor tenga al menos %(limit_value)d carácter(es) " +"(tiene%(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Asegúrese de que este valor tenga menos de %(limit_value)d caracter (tiene " +"%(show_value)d)." +msgstr[1] "" +"Asegúrese de que este valor tenga menos de %(limit_value)d caracteres (tiene " +"%(show_value)d)." +msgstr[2] "" +"Asegúrese de que este valor tenga menos de %(limit_value)d caracteres (tiene " +"%(show_value)d)." + +msgid "Enter a number." +msgstr "Introduzca un número." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Asegúrese de que no hay más de %(max)s dígito en total." +msgstr[1] "Asegúrese de que no haya más de %(max)s dígitos en total." +msgstr[2] "Asegúrese de que no haya más de %(max)s dígitos en total." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Asegúrese de que no haya más de %(max)s dígito decimal." +msgstr[1] "Asegúrese de que no haya más de %(max)s dígitos decimales." +msgstr[2] "Asegúrese de que no haya más de %(max)s dígitos decimales." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Asegúrese de que no haya más de %(max)s dígito antes del punto decimal" +msgstr[1] "" +"Asegúrese de que no haya más de %(max)s dígitos antes del punto decimal." +msgstr[2] "" +"Asegúrese de que no haya más de %(max)s dígitos antes del punto decimal." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"La extensión de archivo “%(extension)s” no esta permitida. Las extensiones " +"permitidas son: %(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Los caracteres nulos no están permitidos." + +msgid "and" +msgstr "y" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s con este %(field_labels)s ya existe." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "No se cumple la restricción \"%(name)s\"." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Valor %(value)r no es una opción válida." + +msgid "This field cannot be null." +msgstr "Este campo no puede ser nulo." + +msgid "This field cannot be blank." +msgstr "Este campo no puede estar vacío." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "Ya existe %(model_name)s con este %(field_label)s." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s debe ser único para %(date_field_label)s %(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Campo de tipo: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "“%(value)s”: el valor debe ser Verdadero o Falso." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "“%(value)s”: el valor debe ser Verdadero, Falso o Nulo." + +msgid "Boolean (Either True or False)" +msgstr "Booleano (Verdadero o Falso)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Cadena (máximo %(max_length)s)" + +msgid "String (unlimited)" +msgstr "Cadena (ilimitado)" + +msgid "Comma-separated integers" +msgstr "Enteros separados por coma" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"“%(value)s” : el valor tiene un formato de fecha inválido. Debería estar en " +"el formato YYYY-MM-DD." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"“%(value)s” : el valor tiene el formato correcto (YYYY-MM-DD) pero es una " +"fecha inválida." + +msgid "Date (without time)" +msgstr "Fecha (sin hora)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"“%(value)s”: el valor tiene un formato inválido. Debería estar en el formato " +"YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"“%(value)s”: el valor tiene el formato correcto (YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ]) pero es una fecha inválida." + +msgid "Date (with time)" +msgstr "Fecha (con hora)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "“%(value)s”: el valor debe ser un número decimal." + +msgid "Decimal number" +msgstr "Número decimal" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"“%(value)s”: el valor tiene un formato inválido. Debería estar en el formato " +"[DD] [[HH:]MM:]ss[.uuuuuu]" + +msgid "Duration" +msgstr "Duración" + +msgid "Email address" +msgstr "Correo electrónico" + +msgid "File path" +msgstr "Ruta de fichero" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "“%(value)s”: el valor debería ser un número de coma flotante." + +msgid "Floating point number" +msgstr "Número en coma flotante" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "“%(value)s”: el valor debería ser un numero entero" + +msgid "Integer" +msgstr "Entero" + +msgid "Big (8 byte) integer" +msgstr "Entero grande (8 bytes)" + +msgid "Small integer" +msgstr "Entero corto" + +msgid "IPv4 address" +msgstr "Dirección IPv4" + +msgid "IP address" +msgstr "Dirección IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "“%(value)s”: el valor debería ser None, Verdadero o Falso." + +msgid "Boolean (Either True, False or None)" +msgstr "Booleano (Verdadero, Falso o Nulo)" + +msgid "Positive big integer" +msgstr "Entero grande positivo" + +msgid "Positive integer" +msgstr "Entero positivo" + +msgid "Positive small integer" +msgstr "Entero positivo corto" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (hasta %(max_length)s)" + +msgid "Text" +msgstr "Texto" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"“%(value)s”: el valor tiene un formato inválido. Debería estar en el formato " +"HH:MM[:ss[.uuuuuu]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"“%(value)s” : el valor tiene el formato correcto (HH:MM[:ss[.uuuuuu]]) pero " +"es un tiempo inválido." + +msgid "Time" +msgstr "Hora" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Datos binarios en bruto" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "“%(value)s” no es un UUID válido." + +msgid "Universally unique identifier" +msgstr "Identificador universal único" + +msgid "File" +msgstr "Archivo" + +msgid "Image" +msgstr "Imagen" + +msgid "A JSON object" +msgstr "Un objeto JSON" + +msgid "Value must be valid JSON." +msgstr "El valor debe ser un objeto JSON válido." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "La instancia de %(model)s con %(field)s %(value)r no existe." + +msgid "Foreign Key (type determined by related field)" +msgstr "Clave foránea (tipo determinado por el campo relacionado)" + +msgid "One-to-one relationship" +msgstr "Relación uno-a-uno" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "relación %(from)s-%(to)s" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "relaciones %(from)s-%(to)s" + +msgid "Many-to-many relationship" +msgstr "Relación muchos-a-muchos" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Este campo es obligatorio." + +msgid "Enter a whole number." +msgstr "Introduzca un número entero." + +msgid "Enter a valid date." +msgstr "Introduzca una fecha válida." + +msgid "Enter a valid time." +msgstr "Introduzca una hora válida." + +msgid "Enter a valid date/time." +msgstr "Introduzca una fecha/hora válida." + +msgid "Enter a valid duration." +msgstr "Introduzca una duración válida." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "El número de días debe estar entre {min_days} y {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"No se ha enviado ningún fichero. Compruebe el tipo de codificación en el " +"formulario." + +msgid "No file was submitted." +msgstr "No se ha enviado ningún fichero" + +msgid "The submitted file is empty." +msgstr "El fichero enviado está vacío." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Asegúrese de que este nombre de archivo tenga como máximo %(max)d caracter " +"(tiene %(length)d)." +msgstr[1] "" +"Asegúrese de que este nombre de archivo tenga como máximo %(max)d " +"carácter(es) (tiene %(length)d)." +msgstr[2] "" +"Asegúrese de que este nombre de archivo tenga como máximo %(max)d " +"carácter(es) (tiene %(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Por favor envíe un fichero o marque la casilla de limpiar, pero no ambos." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Envíe una imagen válida. El fichero que ha enviado no era una imagen o se " +"trataba de una imagen corrupta." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Escoja una opción válida. %(value)s no es una de las opciones disponibles." + +msgid "Enter a list of values." +msgstr "Introduzca una lista de valores." + +msgid "Enter a complete value." +msgstr "Introduzca un valor completo." + +msgid "Enter a valid UUID." +msgstr "Introduzca un UUID válido." + +msgid "Enter a valid JSON." +msgstr "Ingresa un JSON válido." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Campo oculto %(name)s) *%(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"Los datos de ManagementForm faltan o han sido alterados. Campos que faltan: " +"%(field_names)s. Es posible que deba presentar un informe de error si el " +"problema persiste." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Por favor, envíe %(num)d formulario como máximo." +msgstr[1] "Por favor, envíe %(num)d formularios como máximo." +msgstr[2] "Por favor, envíe %(num)d formularios como máximo." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Por favor, envíe %(num)d formulario como mínimo." +msgstr[1] "Por favor, envíe %(num)d formularios como mínimo." +msgstr[2] "Por favor, envíe %(num)d formularios como mínimo." + +msgid "Order" +msgstr "Orden" + +msgid "Delete" +msgstr "Eliminar" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Por favor, corrija el dato duplicado para %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Por favor corrija el dato duplicado para %(field)s, ya que debe ser único." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Por favor corrija los datos duplicados para %(field_name)s ya que debe ser " +"único para %(lookup)s en %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Por favor, corrija los valores duplicados abajo." + +msgid "The inline value did not match the parent instance." +msgstr "El valor en línea no coincide con la instancia padre." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Escoja una opción válida. Esa opción no está entre las disponibles." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "“%(pk)s” no es un valor válido." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s no pudo ser interpretado en la zona horaria " +"%(current_timezone)s; podría ser ambiguo o no existir." + +msgid "Clear" +msgstr "Limpiar" + +msgid "Currently" +msgstr "Actualmente" + +msgid "Change" +msgstr "Modificar" + +msgid "Unknown" +msgstr "Desconocido" + +msgid "Yes" +msgstr "Sí" + +msgid "No" +msgstr "No" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "sí,no,quizás" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d byte" +msgstr[1] "%(size)d bytes" +msgstr[2] "%(size)d bytes" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "medianoche" + +msgid "noon" +msgstr "mediodía" + +msgid "Monday" +msgstr "lunes" + +msgid "Tuesday" +msgstr "martes" + +msgid "Wednesday" +msgstr "miércoles" + +msgid "Thursday" +msgstr "jueves" + +msgid "Friday" +msgstr "viernes" + +msgid "Saturday" +msgstr "sábado" + +msgid "Sunday" +msgstr "domingo" + +msgid "Mon" +msgstr "lun" + +msgid "Tue" +msgstr "mar" + +msgid "Wed" +msgstr "mié" + +msgid "Thu" +msgstr "jue" + +msgid "Fri" +msgstr "vie" + +msgid "Sat" +msgstr "sáb" + +msgid "Sun" +msgstr "dom" + +msgid "January" +msgstr "enero" + +msgid "February" +msgstr "febrero" + +msgid "March" +msgstr "marzo" + +msgid "April" +msgstr "abril" + +msgid "May" +msgstr "mayo" + +msgid "June" +msgstr "junio" + +msgid "July" +msgstr "julio" + +msgid "August" +msgstr "agosto" + +msgid "September" +msgstr "septiembre" + +msgid "October" +msgstr "octubre" + +msgid "November" +msgstr "noviembre" + +msgid "December" +msgstr "diciembre" + +msgid "jan" +msgstr "ene" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "abr" + +msgid "may" +msgstr "may" + +msgid "jun" +msgstr "jun" + +msgid "jul" +msgstr "jul" + +msgid "aug" +msgstr "ago" + +msgid "sep" +msgstr "sep" + +msgid "oct" +msgstr "oct" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "dic" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Ene." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "marzo" + +msgctxt "abbrev. month" +msgid "April" +msgstr "abril" + +msgctxt "abbrev. month" +msgid "May" +msgstr "mayo" + +msgctxt "abbrev. month" +msgid "June" +msgstr "junio" + +msgctxt "abbrev. month" +msgid "July" +msgstr "julio" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "ago." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "sept." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "oct." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "dic." + +msgctxt "alt. month" +msgid "January" +msgstr "enero" + +msgctxt "alt. month" +msgid "February" +msgstr "febrero" + +msgctxt "alt. month" +msgid "March" +msgstr "marzo" + +msgctxt "alt. month" +msgid "April" +msgstr "abril" + +msgctxt "alt. month" +msgid "May" +msgstr "mayo" + +msgctxt "alt. month" +msgid "June" +msgstr "junio" + +msgctxt "alt. month" +msgid "July" +msgstr "julio" + +msgctxt "alt. month" +msgid "August" +msgstr "agosto" + +msgctxt "alt. month" +msgid "September" +msgstr "septiembre" + +msgctxt "alt. month" +msgid "October" +msgstr "octubre" + +msgctxt "alt. month" +msgid "November" +msgstr "noviembre" + +msgctxt "alt. month" +msgid "December" +msgstr "diciembre" + +msgid "This is not a valid IPv6 address." +msgstr "No es una dirección IPv6 válida." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "o" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d año" +msgstr[1] "%(num)d años" +msgstr[2] "%(num)d años" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d mes" +msgstr[1] "%(num)d meses" +msgstr[2] "%(num)d meses" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d semana" +msgstr[1] "%(num)d semanas" +msgstr[2] "%(num)d semanas" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d día" +msgstr[1] "%(num)d días" +msgstr[2] "%(num)d días" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d hora" +msgstr[1] "%(num)d horas" +msgstr[2] "%(num)d horas" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d minuto" +msgstr[1] "%(num)d minutos" +msgstr[2] "%(num)d minutos" + +msgid "Forbidden" +msgstr "Prohibido" + +msgid "CSRF verification failed. Request aborted." +msgstr "La verificación CSRF ha fallado. Solicitud abortada." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Estás viendo este mensaje porque este sitio HTTPS requiere que tu navegador " +"web envíe un \"encabezado de referencia\", pero no se envió ninguno. Este " +"encabezado es necesario por razones de seguridad, para garantizar que su " +"navegador no sea secuestrado por terceros." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Si ha configurado su navegador para deshabilitar los encabezados " +"\"Referer\", vuelva a habilitarlos, al menos para este sitio, o para " +"conexiones HTTPS, o para solicitudes del \"mismo origen\"." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Si esta utilizando la etiqueta o incluyendo el encabezado \"Referrer-Policy: no-referrer\", " +"elimínelos. La protección CSRF requiere que el encabezado \"Referer\" " +"realice una comprobación estricta del referente. Si le preocupa la " +"privacidad, utilice alternativas como para los " +"enlaces a sitios de terceros." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Estás viendo este mensaje porqué esta web requiere una cookie CSRF cuando se " +"envían formularios. Esta cookie se necesita por razones de seguridad, para " +"asegurar que tu navegador no ha sido comprometido por terceras partes." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Si ha configurado su navegador para deshabilitar las cookies, vuelva a " +"habilitarlas, al menos para este sitio o para solicitudes del \"mismo " +"origen\"." + +msgid "More information is available with DEBUG=True." +msgstr "Más información disponible si se establece DEBUG=True." + +msgid "No year specified" +msgstr "No se ha indicado el año" + +msgid "Date out of range" +msgstr "Fecha fuera de rango" + +msgid "No month specified" +msgstr "No se ha indicado el mes" + +msgid "No day specified" +msgstr "No se ha indicado el día" + +msgid "No week specified" +msgstr "No se ha indicado la semana" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "No %(verbose_name_plural)s disponibles" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Los futuros %(verbose_name_plural)s no están disponibles porque " +"%(class_name)s.allow_future es Falso." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "Cadena de fecha no valida “%(datestr)s” dado el formato “%(format)s”" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "No se encontró ningún %(verbose_name)s coincidente con la consulta" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "La página no es la \"última\", ni se puede convertir a un entero." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Página inválida (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Lista vacía y “%(class_name)s.allow_empty” es Falso" + +msgid "Directory indexes are not allowed here." +msgstr "Los índices de directorio no están permitidos." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "“%(path)s” no existe" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Índice de %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "¡La instalación funcionó con éxito! ¡Felicitaciones!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Ve la notas de la versión de Django " +"%(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Estás viendo esta página porque DEBUG=True está en su archivo de configuración y no ha " +"configurado ninguna URL." + +msgid "Django Documentation" +msgstr "Documentación de Django" + +msgid "Topics, references, & how-to’s" +msgstr "Temas, referencias, & como hacer" + +msgid "Tutorial: A Polling App" +msgstr "Tutorial: Una aplicación de encuesta" + +msgid "Get started with Django" +msgstr "Comienza con Django" + +msgid "Django Community" +msgstr "Comunidad Django" + +msgid "Connect, get help, or contribute" +msgstr "Conéctate, obtén ayuda o contribuye" diff --git a/external_sources/django/django/conf/locale/es/__init__.py b/external_sources/django/django/conf/locale/es/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/es/formats.py b/external_sources/django/django/conf/locale/es/formats.py new file mode 100644 index 0000000..f2716bb --- /dev/null +++ b/external_sources/django/django/conf/locale/es/formats.py @@ -0,0 +1,30 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = r"j \d\e F \d\e Y" +TIME_FORMAT = "H:i" +DATETIME_FORMAT = r"j \d\e F \d\e Y \a \l\a\s H:i" +YEAR_MONTH_FORMAT = r"F \d\e Y" +MONTH_DAY_FORMAT = r"j \d\e F" +SHORT_DATE_FORMAT = "d/m/Y" +SHORT_DATETIME_FORMAT = "d/m/Y H:i" +FIRST_DAY_OF_WEEK = 1 # Monday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d/%m/%Y", # '31/12/2009' + "%d/%m/%y", # '31/12/09' +] +DATETIME_INPUT_FORMATS = [ + "%d/%m/%Y %H:%M:%S", + "%d/%m/%Y %H:%M:%S.%f", + "%d/%m/%Y %H:%M", + "%d/%m/%y %H:%M:%S", + "%d/%m/%y %H:%M:%S.%f", + "%d/%m/%y %H:%M", +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "\xa0" # non-breaking space +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/es_AR/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/es_AR/LC_MESSAGES/django.po new file mode 100644 index 0000000..17680c6 --- /dev/null +++ b/external_sources/django/django/conf/locale/es_AR/LC_MESSAGES/django.po @@ -0,0 +1,1377 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel , 2011 +# lardissone , 2014 +# Natalia, 2023 +# poli , 2014 +# Ramiro Morales, 2013-2024 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-10-07 06:49+0000\n" +"Last-Translator: Ramiro Morales, 2013-2024\n" +"Language-Team: Spanish (Argentina) (http://app.transifex.com/django/django/" +"language/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" + +msgid "Afrikaans" +msgstr "afrikáans" + +msgid "Arabic" +msgstr "árabe" + +msgid "Algerian Arabic" +msgstr "Árabe de Argelia" + +msgid "Asturian" +msgstr "asturiano" + +msgid "Azerbaijani" +msgstr "azerbaiyán" + +msgid "Bulgarian" +msgstr "búlgaro" + +msgid "Belarusian" +msgstr "bielorruso" + +msgid "Bengali" +msgstr "bengalí" + +msgid "Breton" +msgstr "bretón" + +msgid "Bosnian" +msgstr "bosnio" + +msgid "Catalan" +msgstr "catalán" + +msgid "Central Kurdish (Sorani)" +msgstr "Kurdo central (Sorani)" + +msgid "Czech" +msgstr "checo" + +msgid "Welsh" +msgstr "galés" + +msgid "Danish" +msgstr "danés" + +msgid "German" +msgstr "alemán" + +msgid "Lower Sorbian" +msgstr "bajo sorabo" + +msgid "Greek" +msgstr "griego" + +msgid "English" +msgstr "inglés" + +msgid "Australian English" +msgstr "inglés australiano" + +msgid "British English" +msgstr "inglés británico" + +msgid "Esperanto" +msgstr "esperanto" + +msgid "Spanish" +msgstr "español" + +msgid "Argentinian Spanish" +msgstr "español (Argentina)" + +msgid "Colombian Spanish" +msgstr "español (Colombia)" + +msgid "Mexican Spanish" +msgstr "español (México)" + +msgid "Nicaraguan Spanish" +msgstr "español (Nicaragua)" + +msgid "Venezuelan Spanish" +msgstr "español (Venezuela)" + +msgid "Estonian" +msgstr "estonio" + +msgid "Basque" +msgstr "vasco" + +msgid "Persian" +msgstr "persa" + +msgid "Finnish" +msgstr "finlandés" + +msgid "French" +msgstr "francés" + +msgid "Frisian" +msgstr "frisón" + +msgid "Irish" +msgstr "irlandés" + +msgid "Scottish Gaelic" +msgstr "gaélico escocés" + +msgid "Galician" +msgstr "gallego" + +msgid "Hebrew" +msgstr "hebreo" + +msgid "Hindi" +msgstr "hindi" + +msgid "Croatian" +msgstr "croata" + +msgid "Upper Sorbian" +msgstr "alto sorabo" + +msgid "Hungarian" +msgstr "húngaro" + +msgid "Armenian" +msgstr "armenio" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "indonesio" + +msgid "Igbo" +msgstr "Igbo" + +msgid "Ido" +msgstr "ido" + +msgid "Icelandic" +msgstr "islandés" + +msgid "Italian" +msgstr "italiano" + +msgid "Japanese" +msgstr "japonés" + +msgid "Georgian" +msgstr "georgiano" + +msgid "Kabyle" +msgstr "cabilio" + +msgid "Kazakh" +msgstr "kazajo" + +msgid "Khmer" +msgstr "jémer" + +msgid "Kannada" +msgstr "canarés" + +msgid "Korean" +msgstr "coreano" + +msgid "Kyrgyz" +msgstr "kirguís" + +msgid "Luxembourgish" +msgstr "luxemburgués" + +msgid "Lithuanian" +msgstr "lituano" + +msgid "Latvian" +msgstr "letón" + +msgid "Macedonian" +msgstr "macedonio" + +msgid "Malayalam" +msgstr "malabar" + +msgid "Mongolian" +msgstr "mongol" + +msgid "Marathi" +msgstr "maratí" + +msgid "Malay" +msgstr "malayo" + +msgid "Burmese" +msgstr "burmés" + +msgid "Norwegian Bokmål" +msgstr "bokmål noruego" + +msgid "Nepali" +msgstr "nepalés" + +msgid "Dutch" +msgstr "holandés" + +msgid "Norwegian Nynorsk" +msgstr "nynorsk" + +msgid "Ossetic" +msgstr "osetio" + +msgid "Punjabi" +msgstr "panyabí" + +msgid "Polish" +msgstr "polaco" + +msgid "Portuguese" +msgstr "portugués" + +msgid "Brazilian Portuguese" +msgstr "portugués de Brasil" + +msgid "Romanian" +msgstr "rumano" + +msgid "Russian" +msgstr "ruso" + +msgid "Slovak" +msgstr "eslovaco" + +msgid "Slovenian" +msgstr "esloveno" + +msgid "Albanian" +msgstr "albanés" + +msgid "Serbian" +msgstr "serbio" + +msgid "Serbian Latin" +msgstr "latín de Serbia" + +msgid "Swedish" +msgstr "sueco" + +msgid "Swahili" +msgstr "suajili" + +msgid "Tamil" +msgstr "tamil" + +msgid "Telugu" +msgstr "telugu" + +msgid "Tajik" +msgstr "tayiko" + +msgid "Thai" +msgstr "tailandés" + +msgid "Turkmen" +msgstr "turcomano" + +msgid "Turkish" +msgstr "turco" + +msgid "Tatar" +msgstr "tártaro" + +msgid "Udmurt" +msgstr "udmurto" + +msgid "Uyghur" +msgstr "Uigur" + +msgid "Ukrainian" +msgstr "ucraniano" + +msgid "Urdu" +msgstr "urdu" + +msgid "Uzbek" +msgstr "uzbeko" + +msgid "Vietnamese" +msgstr "vietnamita" + +msgid "Simplified Chinese" +msgstr "chino simplificado" + +msgid "Traditional Chinese" +msgstr "chino tradicional" + +msgid "Messages" +msgstr "Mensajes" + +msgid "Site Maps" +msgstr "Mapas de sitio" + +msgid "Static Files" +msgstr "Archivos estáticos" + +msgid "Syndication" +msgstr "Sindicación" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "El número de página no es un entero" + +msgid "That page number is less than 1" +msgstr "El número de página es menor a 1" + +msgid "That page contains no results" +msgstr "Esa página no contiene resultados" + +msgid "Enter a valid value." +msgstr "Introduzca un valor válido." + +msgid "Enter a valid domain name." +msgstr "Introduzca un nombre de dominio válido." + +msgid "Enter a valid URL." +msgstr "Introduzca una URL válida." + +msgid "Enter a valid integer." +msgstr "Introduzca un valor numérico entero válido." + +msgid "Enter a valid email address." +msgstr "Introduzca una dirección de email válida." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "Introduzca un “slug” válido compuesto por letras, números o guiones." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Introduzca un “slug” compuesto por letras Unicode, números, guiones bajos o " +"guiones." + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "Introduzca una dirección de %(protocol)s válida." + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "IPv4 or IPv6" +msgstr "IPv4 o IPv6" + +msgid "Enter only digits separated by commas." +msgstr "Introduzca sólo dígitos separados por comas." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Asegúrese de que este valor sea %(limit_value)s (actualmente es " +"%(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Asegúrese de que este valor sea menor o igual a %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Asegúrese de que este valor sea mayor o igual a %(limit_value)s." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "Asegúrese de que este valor sea múltiplo de %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"Confirme que este valor sea un múltiplo del tamaño del paso %(limit_value)s, " +"empezando por %(offset)s, por ejemplo %(offset)s, %(valid_value1)s, " +"%(valid_value2)s, y así sucesivamente." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Asegúrese de que este valor tenga como mínimo %(limit_value)d caracter " +"(tiene %(show_value)d)." +msgstr[1] "" +"Asegúrese de que este valor tenga como mínimo %(limit_value)d caracteres " +"(tiene %(show_value)d)." +msgstr[2] "" +"Asegúrese de que este valor tenga como mínimo %(limit_value)d caracteres " +"(tiene %(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Asegúrese de que este valor tenga como máximo %(limit_value)d caracter " +"(tiene %(show_value)d)." +msgstr[1] "" +"Asegúrese de que este valor tenga como máximo %(limit_value)d caracteres " +"(tiene %(show_value)d)." +msgstr[2] "" +"Asegúrese de que este valor tenga como máximo %(limit_value)d caracteres " +"(tiene %(show_value)d)." + +msgid "Enter a number." +msgstr "Introduzca un número." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Asegúrese de que no exista en total mas de %(max)s dígito." +msgstr[1] "Asegúrese de que no existan en total mas de %(max)s dígitos." +msgstr[2] "Asegúrese de que no existan en total mas de %(max)s dígitos." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Asegúrese de que no exista mas de %(max)s lugar decimal." +msgstr[1] "Asegúrese de que no existan mas de %(max)s lugares decimales." +msgstr[2] "Asegúrese de que no existan mas de %(max)s lugares decimales." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Asegúrese de que no exista mas de %(max)s dígito antes del punto decimal." +msgstr[1] "" +"Asegúrese de que no existan mas de %(max)s dígitos antes del punto decimal." +msgstr[2] "" +"Asegúrese de que no existan mas de %(max)s dígitos antes del punto decimal." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"La extensión de archivo “%(extension)s” no está permitida. Las extensiones " +"aceptadas son: “%(allowed_extensions)s”." + +msgid "Null characters are not allowed." +msgstr "No se admiten caracteres nulos." + +msgid "and" +msgstr "y" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "Ya existe un/a %(model_name)s con este/a %(field_labels)s." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "No se cumple la restricción “%(name)s”." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "El valor %(value)r no es una opción válida." + +msgid "This field cannot be null." +msgstr "Este campo no puede ser nulo." + +msgid "This field cannot be blank." +msgstr "Este campo no puede estar en blanco." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "Ya existe un/a %(model_name)s con este/a %(field_label)s." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s debe ser único/a para un %(lookup_type)s " +"%(date_field_label)s determinado." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Campo tipo: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "El valor de “%(value)s” debe ser Verdadero o Falso." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "El valor de “%(value)s” debe ser Verdadero, Falso o None." + +msgid "Boolean (Either True or False)" +msgstr "Booleano (Verdadero o Falso)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Cadena (máximo %(max_length)s)" + +msgid "String (unlimited)" +msgstr "Cadena (ilimitado)" + +msgid "Comma-separated integers" +msgstr "Enteros separados por comas" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"El valor de “%(value)s” tiene un formato de fecha inválido. Debe usar el " +"formato AAAA-MM-DD." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"El valor de “%(value)s” tiene un formato de fecha correcto (AAAA-MM-DD) pero " +"representa una fecha inválida." + +msgid "Date (without time)" +msgstr "Fecha (sin hora)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"El valor de “%(value)s” tiene un formato inválido. Debe usar el formato AAAA-" +"MM-DD HH:MM[:ss[.uuuuuu]][TZ]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"El valor de “%(value)s” tiene un formato correcto (AAAA-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ]) pero representa una fecha/hora inválida." + +msgid "Date (with time)" +msgstr "Fecha (con hora)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "El valor de “%(value)s” debe ser un número decimal." + +msgid "Decimal number" +msgstr "Número decimal" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"El valor de “%(value)s” tiene un formato inválido. Debe usar el formato [DD] " +"[[HH:]MM:]ss[.uuuuuu]." + +msgid "Duration" +msgstr "Duración" + +msgid "Email address" +msgstr "Dirección de correo electrónico" + +msgid "File path" +msgstr "Ruta de archivo" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "El valor de “%(value)s” debe ser un número de coma flotante." + +msgid "Floating point number" +msgstr "Número de coma flotante" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "El valor de “%(value)s” debe ser un número entero." + +msgid "Integer" +msgstr "Entero" + +msgid "Big (8 byte) integer" +msgstr "Entero grande (8 bytes)" + +msgid "Small integer" +msgstr "Entero pequeño" + +msgid "IPv4 address" +msgstr "Dirección IPv4" + +msgid "IP address" +msgstr "Dirección IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "El valor de “%(value)s” debe ser None, Verdadero o Falso." + +msgid "Boolean (Either True, False or None)" +msgstr "Booleano (Verdadero, Falso o Nulo)" + +msgid "Positive big integer" +msgstr "Entero grande positivo" + +msgid "Positive integer" +msgstr "Entero positivo" + +msgid "Positive small integer" +msgstr "Entero pequeño positivo" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (de hasta %(max_length)s caracteres)" + +msgid "Text" +msgstr "Texto" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"El valor de “%(value)s” tiene un formato inválido. Debe usar el formato HH:" +"MM[:ss[.uuuuuu]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"El valor de “%(value)s” tiene un formato correcto (HH:MM[:ss[.uuuuuu]]) pero " +"representa una hora inválida." + +msgid "Time" +msgstr "Hora" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Datos binarios crudos" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "“%(value)s” no es un UUID válido." + +msgid "Universally unique identifier" +msgstr "Identificador universalmente único" + +msgid "File" +msgstr "Archivo" + +msgid "Image" +msgstr "Imagen" + +msgid "A JSON object" +msgstr "Un objeto JSON" + +msgid "Value must be valid JSON." +msgstr "El valor debe ser JSON válido." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "No existe una instancia de %(model)s con %(field)s %(value)r." + +msgid "Foreign Key (type determined by related field)" +msgstr "Clave foránea (el tipo está determinado por el campo relacionado)" + +msgid "One-to-one relationship" +msgstr "Relación uno-a-uno" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "relación %(from)s-%(to)s" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "relaciones %(from)s-%(to)s" + +msgid "Many-to-many relationship" +msgstr "Relación muchos-a-muchos" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Este campo es obligatorio." + +msgid "Enter a whole number." +msgstr "Introduzca un número entero." + +msgid "Enter a valid date." +msgstr "Introduzca una fecha válida." + +msgid "Enter a valid time." +msgstr "Introduzca un valor de hora válido." + +msgid "Enter a valid date/time." +msgstr "Introduzca un valor de fecha/hora válido." + +msgid "Enter a valid duration." +msgstr "Introduzca una duración válida." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "La cantidad de días debe tener valores entre {min_days} y {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"No se envió un archivo. Verifique el tipo de codificación en el formulario." + +msgid "No file was submitted." +msgstr "No se envió ningún archivo." + +msgid "The submitted file is empty." +msgstr "El archivo enviado está vacío." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Asegúrese de que este nombre de archivo tenga como máximo %(max)d caracter " +"(tiene %(length)d)." +msgstr[1] "" +"Asegúrese de que este nombre de archivo tenga como máximo %(max)d caracteres " +"(tiene %(length)d)." +msgstr[2] "" +"Asegúrese de que este nombre de archivo tenga como máximo %(max)d caracteres " +"(tiene %(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Por favor envíe un archivo o active el checkbox, pero no ambas cosas." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Seleccione una imagen válida. El archivo que ha seleccionado no es una " +"imagen o es un archivo de imagen corrupto." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Seleccione una opción válida. %(value)s no es una de las opciones " +"disponibles." + +msgid "Enter a list of values." +msgstr "Introduzca una lista de valores." + +msgid "Enter a complete value." +msgstr "Introduzca un valor completo." + +msgid "Enter a valid UUID." +msgstr "Introduzca un UUID válido." + +msgid "Enter a valid JSON." +msgstr "Introduzca JSON válido." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Campo oculto %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"Los datos de ManagementForm faltan o han sido alterados. Campos faltantes: " +"%(field_names)s. Si el problema persiste es posible que deba reportarlo como " +"un error." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Por favor envíe un máximo de %(num)d formulario." +msgstr[1] "Por favor envíe un máximo de %(num)d formularios." +msgstr[2] "Por favor envíe un máximo de %(num)d formularios." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Por favor envíe %(num)d o mas formularios." +msgstr[1] "Por favor envíe %(num)d o mas formularios." +msgstr[2] "Por favor envíe %(num)d o mas formularios." + +msgid "Order" +msgstr "Ordenar" + +msgid "Delete" +msgstr "Eliminar" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Por favor, corrija la información duplicada en %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Por favor corrija la información duplicada en %(field)s, que debe ser única." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Por favor corrija la información duplicada en %(field_name)s que debe ser " +"única para el %(lookup)s en %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Por favor, corrija los valores duplicados detallados mas abajo." + +msgid "The inline value did not match the parent instance." +msgstr "El valor inline no coincide con el de la instancia padre." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Seleccione una opción válida. La opción seleccionada no es una de las " +"disponibles." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "“%(pk)s” no es un valor válido." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s no puede ser interpretado en la zona horaria " +"%(current_timezone)s; ya que podría ser ambiguo o podría no existir." + +msgid "Clear" +msgstr "Eliminar" + +msgid "Currently" +msgstr "Actualmente" + +msgid "Change" +msgstr "Modificar" + +msgid "Unknown" +msgstr "Desconocido" + +msgid "Yes" +msgstr "Sí" + +msgid "No" +msgstr "No" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "si,no,talvez" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d byte" +msgstr[1] "%(size)d bytes" +msgstr[2] "%(size)d bytes" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "medianoche" + +msgid "noon" +msgstr "mediodía" + +msgid "Monday" +msgstr "lunes" + +msgid "Tuesday" +msgstr "martes" + +msgid "Wednesday" +msgstr "miércoles" + +msgid "Thursday" +msgstr "jueves" + +msgid "Friday" +msgstr "viernes" + +msgid "Saturday" +msgstr "sábado" + +msgid "Sunday" +msgstr "Domingo" + +msgid "Mon" +msgstr "Lun" + +msgid "Tue" +msgstr "Mar" + +msgid "Wed" +msgstr "Mie" + +msgid "Thu" +msgstr "Jue" + +msgid "Fri" +msgstr "Vie" + +msgid "Sat" +msgstr "Sab" + +msgid "Sun" +msgstr "Dom" + +msgid "January" +msgstr "enero" + +msgid "February" +msgstr "febrero" + +msgid "March" +msgstr "marzo" + +msgid "April" +msgstr "abril" + +msgid "May" +msgstr "mayo" + +msgid "June" +msgstr "junio" + +msgid "July" +msgstr "julio" + +msgid "August" +msgstr "agosto" + +msgid "September" +msgstr "setiembre" + +msgid "October" +msgstr "octubre" + +msgid "November" +msgstr "noviembre" + +msgid "December" +msgstr "diciembre" + +msgid "jan" +msgstr "ene" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "abr" + +msgid "may" +msgstr "may" + +msgid "jun" +msgstr "jun" + +msgid "jul" +msgstr "jul" + +msgid "aug" +msgstr "ago" + +msgid "sep" +msgstr "set" + +msgid "oct" +msgstr "oct" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "dic" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Enero" + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Marzo" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Abril" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Mayo" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Junio" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Julio" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Ago." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Set." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Oct." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Dic." + +msgctxt "alt. month" +msgid "January" +msgstr "enero" + +msgctxt "alt. month" +msgid "February" +msgstr "febrero" + +msgctxt "alt. month" +msgid "March" +msgstr "marzo" + +msgctxt "alt. month" +msgid "April" +msgstr "abril" + +msgctxt "alt. month" +msgid "May" +msgstr "mayo" + +msgctxt "alt. month" +msgid "June" +msgstr "junio" + +msgctxt "alt. month" +msgid "July" +msgstr "julio" + +msgctxt "alt. month" +msgid "August" +msgstr "agosto" + +msgctxt "alt. month" +msgid "September" +msgstr "setiembre" + +msgctxt "alt. month" +msgid "October" +msgstr "octubre" + +msgctxt "alt. month" +msgid "November" +msgstr "noviembre" + +msgctxt "alt. month" +msgid "December" +msgstr "diciembre" + +msgid "This is not a valid IPv6 address." +msgstr "Esta no es una dirección IPv6 válida." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "o" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d año" +msgstr[1] "%(num)d años" +msgstr[2] "%(num)d años" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d mes" +msgstr[1] "%(num)d meses" +msgstr[2] "%(num)d meses" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d semana" +msgstr[1] "%(num)d semanas" +msgstr[2] "%(num)d semanas" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d día" +msgstr[1] "%(num)d días" +msgstr[2] "%(num)d días" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d hora" +msgstr[1] "%(num)d horas" +msgstr[2] "%(num)d horas" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d minuto" +msgstr[1] "%(num)d minutos" +msgstr[2] "%(num)d minutos" + +msgid "Forbidden" +msgstr "Prohibido" + +msgid "CSRF verification failed. Request aborted." +msgstr "Verificación CSRF fallida. Petición abortada." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Ud. está viendo este mensaje porque este sitio HTTPS tiene como " +"requerimiento que su navegador web envíe un encabezado “Referer” pero el " +"mismo no ha enviado uno. El hecho de que este encabezado sea obligatorio es " +"una medida de seguridad para comprobar que su navegador no está siendo " +"controlado por terceros." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Si ha configurado su browser para deshabilitar las cabeceras “Referer”, por " +"favor activelas al menos para este sitio, o para conexiones HTTPS o para " +"peticiones generadas desde el mismo origen." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Si está usando la etiqueta " +"o está incluyendo el encabezado “Referrer-Policy: no-referrer” por favor " +"quitelos. La protección CSRF necesita el encabezado “Referer” para realizar " +"una comprobación estricta de los referers. Si le preocupa la privacidad " +"tiene alternativas tales como usar en los enlaces a " +"sitios de terceros." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Ud. está viendo este mensaje porque este sitio tiene como requerimiento el " +"uso de una 'cookie' CSRF cuando se envíen formularios. El hecho de que esta " +"'cookie' sea obligatoria es una medida de seguridad para comprobar que su " +"browser no está siendo controlado por terceros." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Si ha configurado su browser para deshabilitar “cookies”, por favor " +"activelas al menos para este sitio o para peticiones generadas desde el " +"mismo origen." + +msgid "More information is available with DEBUG=True." +msgstr "Hay mas información disponible. Para ver la misma use DEBUG=True." + +msgid "No year specified" +msgstr "No se ha especificado el valor año" + +msgid "Date out of range" +msgstr "Fecha fuera de rango" + +msgid "No month specified" +msgstr "No se ha especificado el valor mes" + +msgid "No day specified" +msgstr "No se ha especificado el valor día" + +msgid "No week specified" +msgstr "No se ha especificado el valor semana" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "No hay %(verbose_name_plural)s disponibles" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"No hay %(verbose_name_plural)s futuros disponibles porque %(class_name)s." +"allow_future tiene el valor False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "Cadena de fecha inválida “%(datestr)s”, formato “%(format)s”" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "No se han encontrado %(verbose_name)s que coincidan con la consulta " + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "Página debe tener el valor “last” o un valor número entero." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Página inválida (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Lista vacía y “%(class_name)s.allow_empty” tiene el valor False." + +msgid "Directory indexes are not allowed here." +msgstr "" +"No está habilitada la generación de listados de directorios en esta " +"ubicación." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "“%(path)s” no existe" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Listado de %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "La instalación ha sido exitosa. ¡Felicitaciones!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Ver las release notes de Django %(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Está viendo esta página porque el archivo de configuración contiene DEBUG=True y no ha configurado " +"ninguna URL." + +msgid "Django Documentation" +msgstr "Documentación de Django" + +msgid "Topics, references, & how-to’s" +msgstr "Tópicos, referencia & how-to’s" + +msgid "Tutorial: A Polling App" +msgstr "Tutorial: Una app de encuesta" + +msgid "Get started with Django" +msgstr "Comience a aprender Django" + +msgid "Django Community" +msgstr "Comunidad Django" + +msgid "Connect, get help, or contribute" +msgstr "Conéctese, consiga ayuda o contribuya" diff --git a/external_sources/django/django/conf/locale/es_AR/__init__.py b/external_sources/django/django/conf/locale/es_AR/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/es_AR/formats.py b/external_sources/django/django/conf/locale/es_AR/formats.py new file mode 100644 index 0000000..601b458 --- /dev/null +++ b/external_sources/django/django/conf/locale/es_AR/formats.py @@ -0,0 +1,30 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = r"j N Y" +TIME_FORMAT = r"H:i" +DATETIME_FORMAT = r"j N Y H:i" +YEAR_MONTH_FORMAT = r"F Y" +MONTH_DAY_FORMAT = r"j \d\e F" +SHORT_DATE_FORMAT = r"d/m/Y" +SHORT_DATETIME_FORMAT = r"d/m/Y H:i" +FIRST_DAY_OF_WEEK = 0 # 0: Sunday, 1: Monday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d/%m/%Y", # '31/12/2009' + "%d/%m/%y", # '31/12/09' +] +DATETIME_INPUT_FORMATS = [ + "%d/%m/%Y %H:%M:%S", + "%d/%m/%Y %H:%M:%S.%f", + "%d/%m/%Y %H:%M", + "%d/%m/%y %H:%M:%S", + "%d/%m/%y %H:%M:%S.%f", + "%d/%m/%y %H:%M", +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "." +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/es_CO/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/es_CO/LC_MESSAGES/django.po new file mode 100644 index 0000000..9f839fe --- /dev/null +++ b/external_sources/django/django/conf/locale/es_CO/LC_MESSAGES/django.po @@ -0,0 +1,1258 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Carlos Muñoz , 2015 +# Claude Paroz , 2020 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-05-19 20:23+0200\n" +"PO-Revision-Date: 2020-07-14 21:42+0000\n" +"Last-Translator: Transifex Bot <>\n" +"Language-Team: Spanish (Colombia) (http://www.transifex.com/django/django/" +"language/es_CO/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_CO\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "Afrikáans" + +msgid "Arabic" +msgstr "Árabe" + +msgid "Algerian Arabic" +msgstr "" + +msgid "Asturian" +msgstr "Asturiano" + +msgid "Azerbaijani" +msgstr "Azerí" + +msgid "Bulgarian" +msgstr "Búlgaro" + +msgid "Belarusian" +msgstr "Bielorruso" + +msgid "Bengali" +msgstr "Bengalí" + +msgid "Breton" +msgstr "Bretón" + +msgid "Bosnian" +msgstr "Bosnio" + +msgid "Catalan" +msgstr "Catalán" + +msgid "Czech" +msgstr "Checo" + +msgid "Welsh" +msgstr "Galés" + +msgid "Danish" +msgstr "Danés" + +msgid "German" +msgstr "Alemán" + +msgid "Lower Sorbian" +msgstr "" + +msgid "Greek" +msgstr "Griego" + +msgid "English" +msgstr "Inglés" + +msgid "Australian English" +msgstr "Inglés Australiano" + +msgid "British English" +msgstr "Inglés Británico" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Español" + +msgid "Argentinian Spanish" +msgstr "Español de Argentina" + +msgid "Colombian Spanish" +msgstr "" + +msgid "Mexican Spanish" +msgstr "Español de México" + +msgid "Nicaraguan Spanish" +msgstr "Español de Nicaragua" + +msgid "Venezuelan Spanish" +msgstr "Español venezolano" + +msgid "Estonian" +msgstr "Estonio" + +msgid "Basque" +msgstr "Vasco" + +msgid "Persian" +msgstr "Persa" + +msgid "Finnish" +msgstr "Finés" + +msgid "French" +msgstr "Francés" + +msgid "Frisian" +msgstr "Frisón" + +msgid "Irish" +msgstr "Irlandés" + +msgid "Scottish Gaelic" +msgstr "" + +msgid "Galician" +msgstr "Gallego" + +msgid "Hebrew" +msgstr "Hebreo" + +msgid "Hindi" +msgstr "Hindi" + +msgid "Croatian" +msgstr "Croata" + +msgid "Upper Sorbian" +msgstr "" + +msgid "Hungarian" +msgstr "Húngaro" + +msgid "Armenian" +msgstr "" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indonesio" + +msgid "Igbo" +msgstr "" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Islandés" + +msgid "Italian" +msgstr "Italiano" + +msgid "Japanese" +msgstr "Japonés" + +msgid "Georgian" +msgstr "Georgiano" + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "Kazajo" + +msgid "Khmer" +msgstr "Khmer" + +msgid "Kannada" +msgstr "Kannada" + +msgid "Korean" +msgstr "Koreano" + +msgid "Kyrgyz" +msgstr "" + +msgid "Luxembourgish" +msgstr "Luxenburgués" + +msgid "Lithuanian" +msgstr "Lituano" + +msgid "Latvian" +msgstr "Letón" + +msgid "Macedonian" +msgstr "Macedonio" + +msgid "Malayalam" +msgstr "Malayalam" + +msgid "Mongolian" +msgstr "Mongol" + +msgid "Marathi" +msgstr "Maratí" + +msgid "Burmese" +msgstr "Birmano" + +msgid "Norwegian Bokmål" +msgstr "" + +msgid "Nepali" +msgstr "Nepalí" + +msgid "Dutch" +msgstr "Holandés" + +msgid "Norwegian Nynorsk" +msgstr "Nynorsk" + +msgid "Ossetic" +msgstr "Osetio" + +msgid "Punjabi" +msgstr "Panyabí" + +msgid "Polish" +msgstr "Polaco" + +msgid "Portuguese" +msgstr "Portugués" + +msgid "Brazilian Portuguese" +msgstr "Portugués brasileño" + +msgid "Romanian" +msgstr "Rumano" + +msgid "Russian" +msgstr "Ruso" + +msgid "Slovak" +msgstr "Eslovaco" + +msgid "Slovenian" +msgstr "Esloveno" + +msgid "Albanian" +msgstr "Albanés" + +msgid "Serbian" +msgstr "Serbio" + +msgid "Serbian Latin" +msgstr "Serbio latino" + +msgid "Swedish" +msgstr "Sueco" + +msgid "Swahili" +msgstr "Suajili" + +msgid "Tamil" +msgstr "Tamil" + +msgid "Telugu" +msgstr "Telugu" + +msgid "Tajik" +msgstr "" + +msgid "Thai" +msgstr "Tailandés" + +msgid "Turkmen" +msgstr "" + +msgid "Turkish" +msgstr "Turco" + +msgid "Tatar" +msgstr "Tártaro" + +msgid "Udmurt" +msgstr "Udmurt" + +msgid "Ukrainian" +msgstr "Ucraniano" + +msgid "Urdu" +msgstr "Urdu" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "Vietnamita" + +msgid "Simplified Chinese" +msgstr "Chino simplificado" + +msgid "Traditional Chinese" +msgstr "Chino tradicional" + +msgid "Messages" +msgstr "Mensajes" + +msgid "Site Maps" +msgstr "Mapas del sitio" + +msgid "Static Files" +msgstr "Archivos estáticos" + +msgid "Syndication" +msgstr "Sindicación" + +msgid "That page number is not an integer" +msgstr "" + +msgid "That page number is less than 1" +msgstr "" + +msgid "That page contains no results" +msgstr "" + +msgid "Enter a valid value." +msgstr "Ingrese un valor válido." + +msgid "Enter a valid URL." +msgstr "Ingrese una URL válida." + +msgid "Enter a valid integer." +msgstr "Ingrese un entero válido." + +msgid "Enter a valid email address." +msgstr "Ingrese una dirección de correo electrónico válida." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "Ingrese una dirección IPv4 válida." + +msgid "Enter a valid IPv6 address." +msgstr "Ingrese una dirección IPv6 válida." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Ingrese una dirección IPv4 o IPv6 válida." + +msgid "Enter only digits separated by commas." +msgstr "Ingrese solo números separados por comas." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Asegúrese de que este valor es %(limit_value)s (es %(show_value)s )." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Asegúrese de que este valor sea menor o igual a %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Asegúrese de que este valor sea mayor o igual a %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Asegúrese de que este valor tenga como mínimo %(limit_value)d carácter " +"(tiene %(show_value)d)." +msgstr[1] "" +"Asegúrese de que este valor tenga como mínimo %(limit_value)d caracteres " +"(tiene %(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Asegúrese de que este valor tenga como máximo %(limit_value)d carácter " +"(tiene %(show_value)d)." +msgstr[1] "" +"Asegúrese de que este valor tenga como máximo %(limit_value)d caracteres " +"(tiene %(show_value)d)." + +msgid "Enter a number." +msgstr "Ingrese un número." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Asegúrese de que no hayan mas de %(max)s dígito en total." +msgstr[1] "Asegúrese de que no hayan mas de %(max)s dígitos en total." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Asegúrese de que no hayan más de %(max)s decimal." +msgstr[1] "Asegúrese de que no hayan más de %(max)s decimales." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Asegúrese de que no hayan más de %(max)s dígito antes del punto decimal." +msgstr[1] "" +"Asegúrese de que no hayan más de %(max)s dígitos antes del punto decimal" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "" + +msgid "and" +msgstr "y" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "Ya existe un/a %(model_name)s con este/a %(field_labels)s." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Valor %(value)r no es una opción válida." + +msgid "This field cannot be null." +msgstr "Este campo no puede ser nulo." + +msgid "This field cannot be blank." +msgstr "Este campo no puede estar en blanco." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "Ya existe un/a %(model_name)s con este/a %(field_label)s." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s debe ser único para %(date_field_label)s %(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Tipo de campo: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "Booleano (Verdadero o Falso)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Cadena (máximo %(max_length)s)" + +msgid "Comma-separated integers" +msgstr "Enteros separados por comas" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "Fecha (sin hora)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "Fecha (con hora)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "Número decimal" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "Duración" + +msgid "Email address" +msgstr "Dirección de correo electrónico" + +msgid "File path" +msgstr "Ruta de archivo" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "Número de punto flotante" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "Entero" + +msgid "Big (8 byte) integer" +msgstr "Entero grande (8 bytes)" + +msgid "IPv4 address" +msgstr "Dirección IPv4" + +msgid "IP address" +msgstr "Dirección IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "Booleano (Verdadero, Falso o Nulo)" + +msgid "Positive big integer" +msgstr "" + +msgid "Positive integer" +msgstr "Entero positivo" + +msgid "Positive small integer" +msgstr "Entero positivo pequeño" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (hasta %(max_length)s)" + +msgid "Small integer" +msgstr "Entero pequeño" + +msgid "Text" +msgstr "Texto" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "Hora" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Datos de binarios brutos" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "Archivo" + +msgid "Image" +msgstr "Imagen" + +msgid "A JSON object" +msgstr "" + +msgid "Value must be valid JSON." +msgstr "" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "La instancia del %(model)s con %(field)s %(value)r no existe." + +msgid "Foreign Key (type determined by related field)" +msgstr "Llave foránea (tipo determinado por el campo relacionado)" + +msgid "One-to-one relationship" +msgstr "Relación uno-a-uno" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "" + +msgid "Many-to-many relationship" +msgstr "Relación muchos-a-muchos" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Este campo es obligatorio." + +msgid "Enter a whole number." +msgstr "Ingrese un número entero." + +msgid "Enter a valid date." +msgstr "Ingrese una fecha válida." + +msgid "Enter a valid time." +msgstr "Ingrese una hora válida." + +msgid "Enter a valid date/time." +msgstr "Ingrese una fecha/hora válida." + +msgid "Enter a valid duration." +msgstr "Ingrese una duración válida." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"No se ha enviado ningún fichero. Compruebe el tipo de codificación en el " +"formulario." + +msgid "No file was submitted." +msgstr "No se ha enviado ningún fichero." + +msgid "The submitted file is empty." +msgstr "El fichero enviado está vacío." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Asegúrese de que este nombre de archivo tenga como máximo %(max)d carácter " +"(tiene %(length)d)." +msgstr[1] "" +"Asegúrese de que este nombre de archivo tenga como máximo %(max)d caracteres " +"(tiene %(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Por favor envíe un fichero o marque la casilla de limpiar, pero no ambos." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Envíe una imagen válida. El fichero que ha enviado no era una imagen o se " +"trataba de una imagen corrupta." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Escoja una opción válida. %(value)s no es una de las opciones disponibles." + +msgid "Enter a list of values." +msgstr "Ingrese una lista de valores." + +msgid "Enter a complete value." +msgstr "Ingrese un valor completo." + +msgid "Enter a valid UUID." +msgstr "Ingrese un UUID válido." + +msgid "Enter a valid JSON." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Campo oculto %(name)s) *%(error)s" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "Los datos de ManagementForm faltan o han sido manipulados" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "Por favor, envíe %d o menos formularios." +msgstr[1] "Por favor, envíe %d o menos formularios." + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "Por favor, envíe %d o mas formularios." +msgstr[1] "Por favor, envíe %d o mas formularios." + +msgid "Order" +msgstr "Orden" + +msgid "Delete" +msgstr "Eliminar" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Por favor, corrija el dato duplicado para %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Por favor corrija el dato duplicado para %(field)s, este debe ser único." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Por favor corrija los datos duplicados para %(field_name)s este debe ser " +"único para %(lookup)s en %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Por favor, corrija los valores duplicados abajo." + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Escoja una opción válida. Esa opción no está entre las disponibles." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "Limpiar" + +msgid "Currently" +msgstr "Actualmente" + +msgid "Change" +msgstr "Cambiar" + +msgid "Unknown" +msgstr "Desconocido" + +msgid "Yes" +msgstr "Sí" + +msgid "No" +msgstr "No" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "sí,no,quizás" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d byte" +msgstr[1] "%(size)d bytes" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "medianoche" + +msgid "noon" +msgstr "mediodía" + +msgid "Monday" +msgstr "Lunes" + +msgid "Tuesday" +msgstr "Martes" + +msgid "Wednesday" +msgstr "Miércoles" + +msgid "Thursday" +msgstr "Jueves" + +msgid "Friday" +msgstr "Viernes" + +msgid "Saturday" +msgstr "Sábado" + +msgid "Sunday" +msgstr "Domingo" + +msgid "Mon" +msgstr "Lun" + +msgid "Tue" +msgstr "Mar" + +msgid "Wed" +msgstr "Mié" + +msgid "Thu" +msgstr "Jue" + +msgid "Fri" +msgstr "Vie" + +msgid "Sat" +msgstr "Sáb" + +msgid "Sun" +msgstr "Dom" + +msgid "January" +msgstr "Enero" + +msgid "February" +msgstr "Febrero" + +msgid "March" +msgstr "Marzo" + +msgid "April" +msgstr "Abril" + +msgid "May" +msgstr "Mayo" + +msgid "June" +msgstr "Junio" + +msgid "July" +msgstr "Julio" + +msgid "August" +msgstr "Agosto" + +msgid "September" +msgstr "Septiembre" + +msgid "October" +msgstr "Octubre" + +msgid "November" +msgstr "Noviembre" + +msgid "December" +msgstr "Diciembre" + +msgid "jan" +msgstr "ene" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "abr" + +msgid "may" +msgstr "may" + +msgid "jun" +msgstr "jun" + +msgid "jul" +msgstr "jul" + +msgid "aug" +msgstr "ago" + +msgid "sep" +msgstr "sep" + +msgid "oct" +msgstr "oct" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "dic" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Ene." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Marzo" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Abril" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Mayo" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Junio" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Julio" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Ago." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Sep." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Oct." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Dic." + +msgctxt "alt. month" +msgid "January" +msgstr "Enero" + +msgctxt "alt. month" +msgid "February" +msgstr "Febrero" + +msgctxt "alt. month" +msgid "March" +msgstr "Marzo" + +msgctxt "alt. month" +msgid "April" +msgstr "Abril" + +msgctxt "alt. month" +msgid "May" +msgstr "Mayo" + +msgctxt "alt. month" +msgid "June" +msgstr "Junio" + +msgctxt "alt. month" +msgid "July" +msgstr "Julio" + +msgctxt "alt. month" +msgid "August" +msgstr "Agosto" + +msgctxt "alt. month" +msgid "September" +msgstr "Septiembre" + +msgctxt "alt. month" +msgid "October" +msgstr "Octubre" + +msgctxt "alt. month" +msgid "November" +msgstr "Noviembre" + +msgctxt "alt. month" +msgid "December" +msgstr "Diciembre" + +msgid "This is not a valid IPv6 address." +msgstr "Esta no es una dirección IPv6 válida." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "o" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr "," + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "%d año" +msgstr[1] "%d años" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "%d mes" +msgstr[1] "%d meses" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "%d semana" +msgstr[1] "%d semanas" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "%d día" +msgstr[1] "%d días" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "%d hora" +msgstr[1] "%d horas" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "%d minuto" +msgstr[1] "%d minutos" + +msgid "Forbidden" +msgstr "Prohibido" + +msgid "CSRF verification failed. Request aborted." +msgstr "Verificación CSRF fallida. Solicitud abortada." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Estás viendo este mensaje porqué esta web requiere una cookie CSRF cuando se " +"envían formularios. Esta cookie se necesita por razones de seguridad, para " +"asegurar que tu navegador no ha sido comprometido por terceras partes." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "Se puede ver más información si se establece DEBUG=True." + +msgid "No year specified" +msgstr "No se ha indicado el año" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "No se ha indicado el mes" + +msgid "No day specified" +msgstr "No se ha indicado el día" + +msgid "No week specified" +msgstr "No se ha indicado la semana" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "No %(verbose_name_plural)s disponibles" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Los futuros %(verbose_name_plural)s no están disponibles porque " +"%(class_name)s.allow_future es Falso." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "No se encontró ningún %(verbose_name)s coincidente con la consulta" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Página inválida (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "Los índices de directorio no están permitidos." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Índice de %(directory)s" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/es_CO/__init__.py b/external_sources/django/django/conf/locale/es_CO/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/es_CO/formats.py b/external_sources/django/django/conf/locale/es_CO/formats.py new file mode 100644 index 0000000..056d0ad --- /dev/null +++ b/external_sources/django/django/conf/locale/es_CO/formats.py @@ -0,0 +1,26 @@ +# This file is distributed under the same license as the Django package. +# +DATE_FORMAT = r"j \d\e F \d\e Y" +TIME_FORMAT = "H:i" +DATETIME_FORMAT = r"j \d\e F \d\e Y \a \l\a\s H:i" +YEAR_MONTH_FORMAT = r"F \d\e Y" +MONTH_DAY_FORMAT = r"j \d\e F" +SHORT_DATE_FORMAT = "d/m/Y" +SHORT_DATETIME_FORMAT = "d/m/Y H:i" +FIRST_DAY_OF_WEEK = 1 +DATE_INPUT_FORMATS = [ + "%d/%m/%Y", # '25/10/2006' + "%d/%m/%y", # '25/10/06' + "%Y%m%d", # '20061025' +] +DATETIME_INPUT_FORMATS = [ + "%d/%m/%Y %H:%M:%S", + "%d/%m/%Y %H:%M:%S.%f", + "%d/%m/%Y %H:%M", + "%d/%m/%y %H:%M:%S", + "%d/%m/%y %H:%M:%S.%f", + "%d/%m/%y %H:%M", +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "." +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/es_MX/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/es_MX/LC_MESSAGES/django.po new file mode 100644 index 0000000..93b81a4 --- /dev/null +++ b/external_sources/django/django/conf/locale/es_MX/LC_MESSAGES/django.po @@ -0,0 +1,1279 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Abe Estrada, 2011-2013 +# Claude Paroz , 2020 +# Gustavo López Hernández, 2022 +# Jesús Bautista , 2019-2020 +# Sergio Benitez , 2021 +# zodman , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-05-17 05:23-0500\n" +"PO-Revision-Date: 2022-07-25 06:49+0000\n" +"Last-Translator: Gustavo López Hernández\n" +"Language-Team: Spanish (Mexico) (http://www.transifex.com/django/django/" +"language/es_MX/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_MX\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "afrikáans" + +msgid "Arabic" +msgstr "Árabe" + +msgid "Algerian Arabic" +msgstr "Árabe argelino" + +msgid "Asturian" +msgstr "Asturiano" + +msgid "Azerbaijani" +msgstr "Azerbaijani" + +msgid "Bulgarian" +msgstr "Búlgaro" + +msgid "Belarusian" +msgstr "bielorruso" + +msgid "Bengali" +msgstr "Bengalí" + +msgid "Breton" +msgstr "bretón" + +msgid "Bosnian" +msgstr "Bosnio" + +msgid "Catalan" +msgstr "Catalán" + +msgid "Czech" +msgstr "Checo" + +msgid "Welsh" +msgstr "Galés" + +msgid "Danish" +msgstr "Danés" + +msgid "German" +msgstr "Alemán" + +msgid "Lower Sorbian" +msgstr "Bajo sorbio" + +msgid "Greek" +msgstr "Griego" + +msgid "English" +msgstr "Inglés" + +msgid "Australian English" +msgstr "Inglés australiano" + +msgid "British English" +msgstr "Inglés británico" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Español" + +msgid "Argentinian Spanish" +msgstr "Español de Argentina" + +msgid "Colombian Spanish" +msgstr "Español Colombiano" + +msgid "Mexican Spanish" +msgstr "Español de México" + +msgid "Nicaraguan Spanish" +msgstr "Español de nicaragua" + +msgid "Venezuelan Spanish" +msgstr "español de Venezuela" + +msgid "Estonian" +msgstr "Estonio" + +msgid "Basque" +msgstr "Vasco" + +msgid "Persian" +msgstr "Persa" + +msgid "Finnish" +msgstr "Finés" + +msgid "French" +msgstr "Francés" + +msgid "Frisian" +msgstr "Frisón" + +msgid "Irish" +msgstr "Irlandés" + +msgid "Scottish Gaelic" +msgstr "Gaélico escocés" + +msgid "Galician" +msgstr "Gallego" + +msgid "Hebrew" +msgstr "Hebreo" + +msgid "Hindi" +msgstr "Hindi" + +msgid "Croatian" +msgstr "Croata" + +msgid "Upper Sorbian" +msgstr "Alto sorbio" + +msgid "Hungarian" +msgstr "Húngaro" + +msgid "Armenian" +msgstr "Armenio" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indonesio" + +msgid "Igbo" +msgstr "Igbo" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Islandés" + +msgid "Italian" +msgstr "Italiano" + +msgid "Japanese" +msgstr "Japonés" + +msgid "Georgian" +msgstr "Georgiano" + +msgid "Kabyle" +msgstr "Cabilio" + +msgid "Kazakh" +msgstr "Kazajstán" + +msgid "Khmer" +msgstr "Khmer" + +msgid "Kannada" +msgstr "Kannada" + +msgid "Korean" +msgstr "Coreano" + +msgid "Kyrgyz" +msgstr "" + +msgid "Luxembourgish" +msgstr "luxemburgués" + +msgid "Lithuanian" +msgstr "Lituano" + +msgid "Latvian" +msgstr "Letón" + +msgid "Macedonian" +msgstr "Macedonio" + +msgid "Malayalam" +msgstr "Malayalam" + +msgid "Mongolian" +msgstr "Mongol" + +msgid "Marathi" +msgstr "" + +msgid "Malay" +msgstr "" + +msgid "Burmese" +msgstr "burmés" + +msgid "Norwegian Bokmål" +msgstr "" + +msgid "Nepali" +msgstr "Nepal" + +msgid "Dutch" +msgstr "Holandés" + +msgid "Norwegian Nynorsk" +msgstr "Noruego Nynorsk" + +msgid "Ossetic" +msgstr "osetio" + +msgid "Punjabi" +msgstr "Punjabi" + +msgid "Polish" +msgstr "Polaco" + +msgid "Portuguese" +msgstr "Portugués" + +msgid "Brazilian Portuguese" +msgstr "Portugués de Brasil" + +msgid "Romanian" +msgstr "Rumano" + +msgid "Russian" +msgstr "Ruso" + +msgid "Slovak" +msgstr "Eslovaco" + +msgid "Slovenian" +msgstr "Esloveno" + +msgid "Albanian" +msgstr "Albanés" + +msgid "Serbian" +msgstr "Serbio" + +msgid "Serbian Latin" +msgstr "Latin Serbio" + +msgid "Swedish" +msgstr "Sueco" + +msgid "Swahili" +msgstr "Swahili" + +msgid "Tamil" +msgstr "Tamil" + +msgid "Telugu" +msgstr "Telugu" + +msgid "Tajik" +msgstr "" + +msgid "Thai" +msgstr "Tailandés" + +msgid "Turkmen" +msgstr "" + +msgid "Turkish" +msgstr "Turco" + +msgid "Tatar" +msgstr "Tatar" + +msgid "Udmurt" +msgstr "udmurto" + +msgid "Ukrainian" +msgstr "Ucraniano" + +msgid "Urdu" +msgstr "Urdu" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "Vietnamita" + +msgid "Simplified Chinese" +msgstr "Chino simplificado" + +msgid "Traditional Chinese" +msgstr "Chino tradicional" + +msgid "Messages" +msgstr "Mensajes" + +msgid "Site Maps" +msgstr "Mapas del sitio" + +msgid "Static Files" +msgstr "Archivos Estáticos" + +msgid "Syndication" +msgstr "Sindicación" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "" + +msgid "That page number is not an integer" +msgstr "Ese número de página no es un número entero" + +msgid "That page number is less than 1" +msgstr "Ese número de página es menor que 1" + +msgid "That page contains no results" +msgstr "Esa página no contiene resultados" + +msgid "Enter a valid value." +msgstr "Introduzca un valor válido." + +msgid "Enter a valid URL." +msgstr "Ingrese una URL válida." + +msgid "Enter a valid integer." +msgstr "Ingrese un entero válido." + +msgid "Enter a valid email address." +msgstr "Introduzca una dirección de correo electrónico válida." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Introduzca un \"slug\" válido que conste de letras, números, guiones bajos o " +"guiones." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Introduzca un \"slug\" válido que conste de letras Unicode, números, guiones " +"bajos o guiones." + +msgid "Enter a valid IPv4 address." +msgstr "Introduzca una dirección IPv4 válida." + +msgid "Enter a valid IPv6 address." +msgstr "Introduzca una dirección IPv6 válida." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Introduzca una dirección IPv4 o IPv6 válida." + +msgid "Enter only digits separated by commas." +msgstr "Introduzca sólo números separados por comas." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Asegúrese de que este valor es %(limit_value)s (es %(show_value)s )." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Asegúrese de que este valor sea menor o igual a %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Asegúrese de que este valor sea mayor o igual a %(limit_value)s." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Asegúrese de que este valor tenga como mínimo %(limit_value)d caracter " +"(tiene %(show_value)d)." +msgstr[1] "" +"Asegúrese de que este valor tenga como mínimo %(limit_value)d caracteres " +"(tiene %(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Asegúrese de que este valor tenga como máximo %(limit_value)d caracteres " +"(tiene %(show_value)d)." +msgstr[1] "" +"Asegúrese de que este valor tenga como máximo %(limit_value)d caracteres " +"(tiene %(show_value)d)." + +msgid "Enter a number." +msgstr "Introduzca un número." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Asegúrese de que no hay más de %(max)s dígito en total." +msgstr[1] "Asegúrese de que no hay más de %(max)s dígitos en total." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "Caracteres nulos no están permitidos." + +msgid "and" +msgstr "y" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "El valor %(value)r no es una opción válida." + +msgid "This field cannot be null." +msgstr "Este campo no puede ser nulo." + +msgid "This field cannot be blank." +msgstr "Este campo no puede estar en blanco." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "Ya existe un/a %(model_name)s con este/a %(field_label)s." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Campo tipo: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "El valor \"%(value)s\" debe ser Verdadero o Falso. " + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "Boolean (Verdadero o Falso)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Cadena (máximo %(max_length)s)" + +msgid "Comma-separated integers" +msgstr "Enteros separados por comas" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"“%(value)s” : el valor tiene un formato de fecha inválido. Debería estar en " +"el formato YYYY-MM-DD." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"“%(value)s” : el valor tiene el formato correcto (YYYY-MM-DD) pero es una " +"fecha inválida." + +msgid "Date (without time)" +msgstr "Fecha (sin hora)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"'%(value)s' tiene un formato de fecha no válido. Este valor debe estar en el " +"formato AAAA-MM-DD HH:MM[:ss[.uuuuuu]][TZ]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "Fecha (con hora)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "Número decimal" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "Duración" + +msgid "Email address" +msgstr "Dirección de correo electrónico" + +msgid "File path" +msgstr "Ruta de archivo" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "El valor \"%(value)s\" debe ser flotante." + +msgid "Floating point number" +msgstr "Número de punto flotante" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "Entero" + +msgid "Big (8 byte) integer" +msgstr "Entero grande (8 bytes)" + +msgid "Small integer" +msgstr "Entero pequeño" + +msgid "IPv4 address" +msgstr "Dirección IPv4" + +msgid "IP address" +msgstr "Dirección IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "Booleano (Verdadero, Falso o Nulo)" + +msgid "Positive big integer" +msgstr "" + +msgid "Positive integer" +msgstr "Entero positivo" + +msgid "Positive small integer" +msgstr "Entero positivo pequeño" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (hasta %(max_length)s)" + +msgid "Text" +msgstr "Texto" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "Hora" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Los datos en bruto" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "Archivo" + +msgid "Image" +msgstr "Imagen" + +msgid "A JSON object" +msgstr "Un objeto JSON" + +msgid "Value must be valid JSON." +msgstr "El valor debe ser JSON válido" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "La instancia de %(model)s con %(field)s %(value)r no existe." + +msgid "Foreign Key (type determined by related field)" +msgstr "Clave foránea (el tipo está determinado por el campo relacionado)" + +msgid "One-to-one relationship" +msgstr "Relación uno-a-uno" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "Relación %(from)s - %(to)s " + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "Relaciones %(from)s - %(to)s" + +msgid "Many-to-many relationship" +msgstr "Relación muchos-a-muchos" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Este campo es obligatorio." + +msgid "Enter a whole number." +msgstr "Introduzca un número entero." + +msgid "Enter a valid date." +msgstr "Introduzca una fecha válida." + +msgid "Enter a valid time." +msgstr "Introduzca una hora válida." + +msgid "Enter a valid date/time." +msgstr "Introduzca una fecha/hora válida." + +msgid "Enter a valid duration." +msgstr "Introduzca una duración válida." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "La cantidad de días debe tener valores entre {min_days} y {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"No se envió un archivo. Verifique el tipo de codificación en el formulario." + +msgid "No file was submitted." +msgstr "No se envió ningún archivo." + +msgid "The submitted file is empty." +msgstr "El archivo enviado está vacío." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Por favor envíe un archivo o marque la casilla, no ambos." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Seleccione una imagen válida. El archivo que ha seleccionado no es una " +"imagen o es un un archivo de imagen corrupto." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Seleccione una opción válida. %(value)s no es una de las opciones " +"disponibles." + +msgid "Enter a list of values." +msgstr "Introduzca una lista de valores." + +msgid "Enter a complete value." +msgstr "Ingrese un valor completo." + +msgid "Enter a valid UUID." +msgstr "Ingrese un UUID válido." + +msgid "Enter a valid JSON." +msgstr "Ingresa un JSON válido." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Campo oculto %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "" +msgstr[1] "" + +msgid "Order" +msgstr "Ordenar" + +msgid "Delete" +msgstr "Eliminar" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Por favor, corrija la información duplicada en %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Por favor corrija la información duplicada en %(field)s, que debe ser única." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Por favor corrija la información duplicada en %(field_name)s que debe ser " +"única para el %(lookup)s en %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Por favor, corrija los valores duplicados detallados mas abajo." + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Seleccione una opción válida. La opción seleccionada no es una de las " +"disponibles." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "Borrar" + +msgid "Currently" +msgstr "Actualmente" + +msgid "Change" +msgstr "Modificar" + +msgid "Unknown" +msgstr "Desconocido" + +msgid "Yes" +msgstr "Sí" + +msgid "No" +msgstr "No" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "sí,no,tal vez" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d byte" +msgstr[1] "%(size)d bytes" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "medianoche" + +msgid "noon" +msgstr "mediodía" + +msgid "Monday" +msgstr "Lunes" + +msgid "Tuesday" +msgstr "Martes" + +msgid "Wednesday" +msgstr "Miércoles" + +msgid "Thursday" +msgstr "Jueves" + +msgid "Friday" +msgstr "Viernes" + +msgid "Saturday" +msgstr "Sábado" + +msgid "Sunday" +msgstr "Domingo" + +msgid "Mon" +msgstr "Lun" + +msgid "Tue" +msgstr "Mar" + +msgid "Wed" +msgstr "Mie" + +msgid "Thu" +msgstr "Jue" + +msgid "Fri" +msgstr "Vie" + +msgid "Sat" +msgstr "Sab" + +msgid "Sun" +msgstr "Dom" + +msgid "January" +msgstr "Enero" + +msgid "February" +msgstr "Febrero" + +msgid "March" +msgstr "Marzo" + +msgid "April" +msgstr "Abril" + +msgid "May" +msgstr "Mayo" + +msgid "June" +msgstr "Junio" + +msgid "July" +msgstr "Julio" + +msgid "August" +msgstr "Agosto" + +msgid "September" +msgstr "Septiembre" + +msgid "October" +msgstr "Octubre" + +msgid "November" +msgstr "Noviembre" + +msgid "December" +msgstr "Diciembre" + +msgid "jan" +msgstr "ene" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "abr" + +msgid "may" +msgstr "may" + +msgid "jun" +msgstr "jun" + +msgid "jul" +msgstr "jul" + +msgid "aug" +msgstr "ago" + +msgid "sep" +msgstr "sep" + +msgid "oct" +msgstr "oct" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "dic" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Ene." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Marzo" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Abril" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Mayo" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Junio" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Julio" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Ago." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Sep." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Oct." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Dic." + +msgctxt "alt. month" +msgid "January" +msgstr "Enero" + +msgctxt "alt. month" +msgid "February" +msgstr "Febrero" + +msgctxt "alt. month" +msgid "March" +msgstr "Marzo" + +msgctxt "alt. month" +msgid "April" +msgstr "Abril" + +msgctxt "alt. month" +msgid "May" +msgstr "Mayo" + +msgctxt "alt. month" +msgid "June" +msgstr "Junio" + +msgctxt "alt. month" +msgid "July" +msgstr "Julio" + +msgctxt "alt. month" +msgid "August" +msgstr "Agosto" + +msgctxt "alt. month" +msgid "September" +msgstr "Septiembre" + +msgctxt "alt. month" +msgid "October" +msgstr "Octubre" + +msgctxt "alt. month" +msgid "November" +msgstr "Noviembre" + +msgctxt "alt. month" +msgid "December" +msgstr "Diciembre" + +msgid "This is not a valid IPv6 address." +msgstr "Esta no es una dirección IPv6 válida." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "o" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr "," + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d hora" +msgstr[1] "%(num)d horas" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "" +msgstr[1] "" + +msgid "Forbidden" +msgstr "Prohibido" + +msgid "CSRF verification failed. Request aborted." +msgstr "" + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "" + +msgid "No year specified" +msgstr "No se ha especificado el valor año" + +msgid "Date out of range" +msgstr "Fecha fuera de rango" + +msgid "No month specified" +msgstr "No se ha especificado el valor mes" + +msgid "No day specified" +msgstr "No se ha especificado el valor dia" + +msgid "No week specified" +msgstr "No se ha especificado el valor semana" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "No hay %(verbose_name_plural)s disponibles" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"No hay %(verbose_name_plural)s futuros disponibles porque %(class_name)s." +"allow_future tiene el valor False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "No se han encontrado %(verbose_name)s que coincidan con la consulta" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "La página no es \"last\", ni puede ser convertido a un int." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Página inválida (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "Los índices del directorio no están permitidos." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Índice de %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "¡La instalación funcionó con éxito! ¡Felicidades!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "Documentación de Django" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "Comunidad de Django" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/es_MX/__init__.py b/external_sources/django/django/conf/locale/es_MX/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/es_MX/formats.py b/external_sources/django/django/conf/locale/es_MX/formats.py new file mode 100644 index 0000000..d675d79 --- /dev/null +++ b/external_sources/django/django/conf/locale/es_MX/formats.py @@ -0,0 +1,26 @@ +# This file is distributed under the same license as the Django package. +# +DATE_FORMAT = r"j \d\e F \d\e Y" +TIME_FORMAT = "H:i" +DATETIME_FORMAT = r"j \d\e F \d\e Y \a \l\a\s H:i" +YEAR_MONTH_FORMAT = r"F \d\e Y" +MONTH_DAY_FORMAT = r"j \d\e F" +SHORT_DATE_FORMAT = "d/m/Y" +SHORT_DATETIME_FORMAT = "d/m/Y H:i" +FIRST_DAY_OF_WEEK = 1 # Monday: ISO 8601 +DATE_INPUT_FORMATS = [ + "%d/%m/%Y", # '25/10/2006' + "%d/%m/%y", # '25/10/06' + "%Y%m%d", # '20061025' +] +DATETIME_INPUT_FORMATS = [ + "%d/%m/%Y %H:%M:%S", + "%d/%m/%Y %H:%M:%S.%f", + "%d/%m/%Y %H:%M", + "%d/%m/%y %H:%M:%S", + "%d/%m/%y %H:%M:%S.%f", + "%d/%m/%y %H:%M", +] +DECIMAL_SEPARATOR = "." # ',' is also official (less common): NOM-008-SCFI-2002 +THOUSAND_SEPARATOR = "," +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/es_NI/__init__.py b/external_sources/django/django/conf/locale/es_NI/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/es_NI/formats.py b/external_sources/django/django/conf/locale/es_NI/formats.py new file mode 100644 index 0000000..0c8112a --- /dev/null +++ b/external_sources/django/django/conf/locale/es_NI/formats.py @@ -0,0 +1,26 @@ +# This file is distributed under the same license as the Django package. +# +DATE_FORMAT = r"j \d\e F \d\e Y" +TIME_FORMAT = "H:i" +DATETIME_FORMAT = r"j \d\e F \d\e Y \a \l\a\s H:i" +YEAR_MONTH_FORMAT = r"F \d\e Y" +MONTH_DAY_FORMAT = r"j \d\e F" +SHORT_DATE_FORMAT = "d/m/Y" +SHORT_DATETIME_FORMAT = "d/m/Y H:i" +FIRST_DAY_OF_WEEK = 1 # Monday: ISO 8601 +DATE_INPUT_FORMATS = [ + "%d/%m/%Y", # '25/10/2006' + "%d/%m/%y", # '25/10/06' + "%Y%m%d", # '20061025' +] +DATETIME_INPUT_FORMATS = [ + "%d/%m/%Y %H:%M:%S", + "%d/%m/%Y %H:%M:%S.%f", + "%d/%m/%Y %H:%M", + "%d/%m/%y %H:%M:%S", + "%d/%m/%y %H:%M:%S.%f", + "%d/%m/%y %H:%M", +] +DECIMAL_SEPARATOR = "." +THOUSAND_SEPARATOR = "," +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/es_PR/__init__.py b/external_sources/django/django/conf/locale/es_PR/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/es_PR/formats.py b/external_sources/django/django/conf/locale/es_PR/formats.py new file mode 100644 index 0000000..d50fe5d --- /dev/null +++ b/external_sources/django/django/conf/locale/es_PR/formats.py @@ -0,0 +1,27 @@ +# This file is distributed under the same license as the Django package. +# +DATE_FORMAT = r"j \d\e F \d\e Y" +TIME_FORMAT = "H:i" +DATETIME_FORMAT = r"j \d\e F \d\e Y \a \l\a\s H:i" +YEAR_MONTH_FORMAT = r"F \d\e Y" +MONTH_DAY_FORMAT = r"j \d\e F" +SHORT_DATE_FORMAT = "d/m/Y" +SHORT_DATETIME_FORMAT = "d/m/Y H:i" +FIRST_DAY_OF_WEEK = 0 # Sunday + +DATE_INPUT_FORMATS = [ + "%d/%m/%Y", # '31/12/2009' + "%d/%m/%y", # '31/12/09' +] +DATETIME_INPUT_FORMATS = [ + "%d/%m/%Y %H:%M:%S", + "%d/%m/%Y %H:%M:%S.%f", + "%d/%m/%Y %H:%M", + "%d/%m/%y %H:%M:%S", + "%d/%m/%y %H:%M:%S.%f", + "%d/%m/%y %H:%M", +] + +DECIMAL_SEPARATOR = "." +THOUSAND_SEPARATOR = "," +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/es_VE/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/es_VE/LC_MESSAGES/django.po new file mode 100644 index 0000000..bd0a904 --- /dev/null +++ b/external_sources/django/django/conf/locale/es_VE/LC_MESSAGES/django.po @@ -0,0 +1,1260 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Claude Paroz , 2020 +# Eduardo , 2017 +# Leonardo J. Caballero G. , 2016 +# Sebastián Magrí, 2011 +# Yoel Acevedo, 2017 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-05-19 20:23+0200\n" +"PO-Revision-Date: 2020-07-14 21:42+0000\n" +"Last-Translator: Transifex Bot <>\n" +"Language-Team: Spanish (Venezuela) (http://www.transifex.com/django/django/" +"language/es_VE/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_VE\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "Afrikáans" + +msgid "Arabic" +msgstr "Árabe" + +msgid "Algerian Arabic" +msgstr "" + +msgid "Asturian" +msgstr "Asturiano" + +msgid "Azerbaijani" +msgstr "Azerí" + +msgid "Bulgarian" +msgstr "Búlgaro" + +msgid "Belarusian" +msgstr "Bielorruso" + +msgid "Bengali" +msgstr "Bengalí" + +msgid "Breton" +msgstr "Bretón" + +msgid "Bosnian" +msgstr "Bosnio" + +msgid "Catalan" +msgstr "Catalán" + +msgid "Czech" +msgstr "Checo" + +msgid "Welsh" +msgstr "Galés" + +msgid "Danish" +msgstr "Danés" + +msgid "German" +msgstr "Alemán" + +msgid "Lower Sorbian" +msgstr "Sorbio Inferior" + +msgid "Greek" +msgstr "Griego" + +msgid "English" +msgstr "Inglés" + +msgid "Australian English" +msgstr "Inglés Australiano" + +msgid "British English" +msgstr "Inglés Británico" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Español" + +msgid "Argentinian Spanish" +msgstr "Español de Argentina" + +msgid "Colombian Spanish" +msgstr "Español de Colombia" + +msgid "Mexican Spanish" +msgstr "Español de México" + +msgid "Nicaraguan Spanish" +msgstr "Español de Nicaragua" + +msgid "Venezuelan Spanish" +msgstr "Español de Venezuela" + +msgid "Estonian" +msgstr "Estonio" + +msgid "Basque" +msgstr "Vazco" + +msgid "Persian" +msgstr "Persa" + +msgid "Finnish" +msgstr "Finlandés" + +msgid "French" +msgstr "Francés" + +msgid "Frisian" +msgstr "Frisio" + +msgid "Irish" +msgstr "Irlandés" + +msgid "Scottish Gaelic" +msgstr "Gaélico Escocés" + +msgid "Galician" +msgstr "Galés" + +msgid "Hebrew" +msgstr "Hebreo" + +msgid "Hindi" +msgstr "Hindi" + +msgid "Croatian" +msgstr "Croata" + +msgid "Upper Sorbian" +msgstr "Sorbio Superior" + +msgid "Hungarian" +msgstr "Húngaro" + +msgid "Armenian" +msgstr "" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indonesio" + +msgid "Igbo" +msgstr "" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Islandés" + +msgid "Italian" +msgstr "Italiano" + +msgid "Japanese" +msgstr "Japonés" + +msgid "Georgian" +msgstr "Georgiano" + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "Kazajo" + +msgid "Khmer" +msgstr "Khmer" + +msgid "Kannada" +msgstr "Canarés" + +msgid "Korean" +msgstr "Coreano" + +msgid "Kyrgyz" +msgstr "" + +msgid "Luxembourgish" +msgstr "Luxenburgués" + +msgid "Lithuanian" +msgstr "Lituano" + +msgid "Latvian" +msgstr "Latvio" + +msgid "Macedonian" +msgstr "Macedonio" + +msgid "Malayalam" +msgstr "Malayala" + +msgid "Mongolian" +msgstr "Mongol" + +msgid "Marathi" +msgstr "Maratí" + +msgid "Burmese" +msgstr "Birmano" + +msgid "Norwegian Bokmål" +msgstr "Noruego" + +msgid "Nepali" +msgstr "Nepalí" + +msgid "Dutch" +msgstr "Holandés" + +msgid "Norwegian Nynorsk" +msgstr "Nynorsk" + +msgid "Ossetic" +msgstr "Osetio" + +msgid "Punjabi" +msgstr "Punjabi" + +msgid "Polish" +msgstr "Polaco" + +msgid "Portuguese" +msgstr "Portugués" + +msgid "Brazilian Portuguese" +msgstr "Portugués de Brasil" + +msgid "Romanian" +msgstr "Ruman" + +msgid "Russian" +msgstr "Ruso" + +msgid "Slovak" +msgstr "Eslovaco" + +msgid "Slovenian" +msgstr "Eslovenio" + +msgid "Albanian" +msgstr "Albano" + +msgid "Serbian" +msgstr "Serbi" + +msgid "Serbian Latin" +msgstr "Latín Serbio" + +msgid "Swedish" +msgstr "Sueco" + +msgid "Swahili" +msgstr "Suajili" + +msgid "Tamil" +msgstr "Tamil" + +msgid "Telugu" +msgstr "Telugu" + +msgid "Tajik" +msgstr "" + +msgid "Thai" +msgstr "Tailandés" + +msgid "Turkmen" +msgstr "" + +msgid "Turkish" +msgstr "Turco" + +msgid "Tatar" +msgstr "Tártaro" + +msgid "Udmurt" +msgstr "Udmurt" + +msgid "Ukrainian" +msgstr "Ucranio" + +msgid "Urdu" +msgstr "Urdu" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "Vietnamita" + +msgid "Simplified Chinese" +msgstr "Chino simplificado" + +msgid "Traditional Chinese" +msgstr "Chino tradicional" + +msgid "Messages" +msgstr "Mensajes" + +msgid "Site Maps" +msgstr "Mapas del sitio" + +msgid "Static Files" +msgstr "Archivos estáticos" + +msgid "Syndication" +msgstr "Sindicación" + +msgid "That page number is not an integer" +msgstr "Ese número de página no es un número entero" + +msgid "That page number is less than 1" +msgstr "Ese número de página es menor que 1" + +msgid "That page contains no results" +msgstr "Esa página no contiene resultados" + +msgid "Enter a valid value." +msgstr "Introduzca un valor válido." + +msgid "Enter a valid URL." +msgstr "Introduzca una URL válida." + +msgid "Enter a valid integer." +msgstr "Ingrese un valor válido." + +msgid "Enter a valid email address." +msgstr "Ingrese una dirección de correo electrónico válida." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "Introduzca una dirección IPv4 válida." + +msgid "Enter a valid IPv6 address." +msgstr "Ingrese una dirección IPv6 válida." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Ingrese una dirección IPv4 o IPv6 válida." + +msgid "Enter only digits separated by commas." +msgstr "Introduzca solo dígitos separados por comas." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Asegúrese de que este valor %(limit_value)s (ahora es %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Asegúrese de que este valor es menor o igual que %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Asegúrese de que este valor es mayor o igual que %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Asegúrese de que este valor tenga como mínimo %(limit_value)d carácter " +"(tiene %(show_value)d)." +msgstr[1] "" +"Asegúrese de que este valor tenga como mínimo %(limit_value)d caracteres " +"(tiene %(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Asegúrese de que este valor tenga como máximo %(limit_value)d carácter " +"(tiene %(show_value)d)." +msgstr[1] "" +"Asegúrese de que este valor tenga como máximo %(limit_value)d caracteres " +"(tiene %(show_value)d)." + +msgid "Enter a number." +msgstr "Introduzca un número." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Asegúrese de que no hayan más de %(max)s dígito en total." +msgstr[1] "Asegúrese de que no hayan más de %(max)s dígitos en total." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Asegúrese de que no hayan más de %(max)s decimal." +msgstr[1] "Asegúrese de que no hayan más de %(max)s decimales." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Asegúrese de que no hayan más de %(max)s dígito antes del punto decimal." +msgstr[1] "" +"Asegúrese de que no hayan más de %(max)s dígitos antes del punto decimal." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "" + +msgid "and" +msgstr "y" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s con este %(field_labels)s ya existe." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Valor %(value)r no es una opción válida." + +msgid "This field cannot be null." +msgstr "Este campo no puede ser nulo." + +msgid "This field cannot be blank." +msgstr "Este campo no puede estar en blanco." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s con esta %(field_label)s ya existe." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s debe ser único para %(date_field_label)s %(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Tipo de campo: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "Booleano (Verdadero o Falso)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Cadena (máximo %(max_length)s)" + +msgid "Comma-separated integers" +msgstr "Enteros separados por comas" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "Fecha (sin hora)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "Fecha (con hora)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "Número decimal" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "Duración" + +msgid "Email address" +msgstr "Dirección de correo electrónico" + +msgid "File path" +msgstr "Ruta de archivo" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "Número de punto flotante" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "Entero" + +msgid "Big (8 byte) integer" +msgstr "Entero grande (8 bytes)" + +msgid "IPv4 address" +msgstr "Dirección IPv4" + +msgid "IP address" +msgstr "Dirección IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "Booleano (Verdadero, Falso o Nulo)" + +msgid "Positive big integer" +msgstr "" + +msgid "Positive integer" +msgstr "Entero positivo" + +msgid "Positive small integer" +msgstr "Entero positivo pequeño" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (hasta %(max_length)s)" + +msgid "Small integer" +msgstr "Entero pequeño" + +msgid "Text" +msgstr "Texto" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "Hora" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Datos de binarios brutos" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "Archivo" + +msgid "Image" +msgstr "Imagen" + +msgid "A JSON object" +msgstr "" + +msgid "Value must be valid JSON." +msgstr "" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "la instancia del %(model)s con %(field)s %(value)r no existe." + +msgid "Foreign Key (type determined by related field)" +msgstr "Clave foránea (tipo determinado por el campo relacionado)" + +msgid "One-to-one relationship" +msgstr "Relación uno a uno" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "Relación %(from)s - %(to)s " + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "Relaciones %(from)s - %(to)s" + +msgid "Many-to-many relationship" +msgstr "Relación muchos a muchos" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Este campo es obligatorio." + +msgid "Enter a whole number." +msgstr "Introduzca un número completo." + +msgid "Enter a valid date." +msgstr "Introduzca una fecha válida." + +msgid "Enter a valid time." +msgstr "Introduzca una hora válida." + +msgid "Enter a valid date/time." +msgstr "Introduzca una hora y fecha válida." + +msgid "Enter a valid duration." +msgstr "Ingrese una duración válida." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"No se envió archivo alguno. Revise el tipo de codificación del formulario." + +msgid "No file was submitted." +msgstr "No se envió ningún archivo." + +msgid "The submitted file is empty." +msgstr "El archivo enviado está vacío." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Asegúrese de que este nombre de archivo tenga como máximo %(max)d carácter " +"(tiene %(length)d)." +msgstr[1] "" +"Asegúrese de que este nombre de archivo tenga como máximo %(max)d caracteres " +"(tiene %(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Por favor provea un archivo o active el selector de limpiar, no ambos." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Envíe una imagen válida. El fichero que ha enviado no era una imagen o se " +"trataba de una imagen corrupta." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Escoja una opción válida. %(value)s no es una de las opciones disponibles." + +msgid "Enter a list of values." +msgstr "Ingrese una lista de valores." + +msgid "Enter a complete value." +msgstr "Ingrese un valor completo." + +msgid "Enter a valid UUID." +msgstr "Ingrese un UUID válido." + +msgid "Enter a valid JSON." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Campo oculto %(name)s) %(error)s" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "Los datos de ManagementForm faltan o han sido manipulados" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "Por favor, envíe %d o un menor número de formularios." +msgstr[1] "Por favor, envíe %d o un menor número de formularios." + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "Por favor, envíe %d o más formularios." +msgstr[1] "Por favor, envíe %d o más formularios." + +msgid "Order" +msgstr "Orden" + +msgid "Delete" +msgstr "Eliminar" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Por favor, corrija el dato duplicado para %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Por favor, corrija el dato duplicado para %(field)s, este debe ser único." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Por favor, corrija los datos duplicados para %(field_name)s este debe ser " +"único para %(lookup)s en %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Por favor, corrija los valores duplicados abajo." + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Escoja una opción válida. Esa opción no está entre las opciones disponibles." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "Limpiar" + +msgid "Currently" +msgstr "Actualmente" + +msgid "Change" +msgstr "Cambiar" + +msgid "Unknown" +msgstr "Desconocido" + +msgid "Yes" +msgstr "Sí" + +msgid "No" +msgstr "No" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "sí,no,quizás" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d byte" +msgstr[1] "%(size)d bytes" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "medianoche" + +msgid "noon" +msgstr "mediodía" + +msgid "Monday" +msgstr "Lunes" + +msgid "Tuesday" +msgstr "Martes" + +msgid "Wednesday" +msgstr "Miércoles" + +msgid "Thursday" +msgstr "Jueves" + +msgid "Friday" +msgstr "Viernes" + +msgid "Saturday" +msgstr "Sábado" + +msgid "Sunday" +msgstr "Domingo" + +msgid "Mon" +msgstr "Lun" + +msgid "Tue" +msgstr "Mar" + +msgid "Wed" +msgstr "Mié" + +msgid "Thu" +msgstr "Jue" + +msgid "Fri" +msgstr "Vie" + +msgid "Sat" +msgstr "Sáb" + +msgid "Sun" +msgstr "Dom" + +msgid "January" +msgstr "Enero" + +msgid "February" +msgstr "Febrero" + +msgid "March" +msgstr "Marzo" + +msgid "April" +msgstr "Abril" + +msgid "May" +msgstr "Mayo" + +msgid "June" +msgstr "Junio" + +msgid "July" +msgstr "Julio" + +msgid "August" +msgstr "Agosto" + +msgid "September" +msgstr "Septiembre" + +msgid "October" +msgstr "Octubre" + +msgid "November" +msgstr "Noviembre" + +msgid "December" +msgstr "Diciembre" + +msgid "jan" +msgstr "ene" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "abr" + +msgid "may" +msgstr "may" + +msgid "jun" +msgstr "jun" + +msgid "jul" +msgstr "jul" + +msgid "aug" +msgstr "ago" + +msgid "sep" +msgstr "sep" + +msgid "oct" +msgstr "oct" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "dic" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Ene." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Marzo" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Abril" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Mayo" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Junio" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Julio" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Ago." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Sep." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Oct." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Dic." + +msgctxt "alt. month" +msgid "January" +msgstr "Enero" + +msgctxt "alt. month" +msgid "February" +msgstr "Febrero" + +msgctxt "alt. month" +msgid "March" +msgstr "Marzo" + +msgctxt "alt. month" +msgid "April" +msgstr "Abril" + +msgctxt "alt. month" +msgid "May" +msgstr "Mayo" + +msgctxt "alt. month" +msgid "June" +msgstr "Junio" + +msgctxt "alt. month" +msgid "July" +msgstr "Julio" + +msgctxt "alt. month" +msgid "August" +msgstr "Agosto" + +msgctxt "alt. month" +msgid "September" +msgstr "Septiembre" + +msgctxt "alt. month" +msgid "October" +msgstr "Octubre" + +msgctxt "alt. month" +msgid "November" +msgstr "Noviembre" + +msgctxt "alt. month" +msgid "December" +msgstr "Diciembre" + +msgid "This is not a valid IPv6 address." +msgstr "Esta no es una dirección IPv6 válida." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "o" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "%d año" +msgstr[1] "%d años" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "%d mes" +msgstr[1] "%d meses" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "%d semana" +msgstr[1] "%d semanas" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "%d día" +msgstr[1] "%d días" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "%d hora" +msgstr[1] "%d horas" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "%d minuto" +msgstr[1] "%d minutos" + +msgid "Forbidden" +msgstr "Prohibido" + +msgid "CSRF verification failed. Request aborted." +msgstr "Verificación CSRF fallida. Solicitud abortada." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Estás viendo este mensaje porqué esta web requiere una cookie CSRF cuando se " +"envían formularios. Esta cookie se necesita por razones de seguridad, para " +"asegurar que tu navegador no ha sido comprometido por terceras partes." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "Se puede ver más información si se establece DEBUG=True." + +msgid "No year specified" +msgstr "No se ha indicado el año" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "No se ha indicado el mes" + +msgid "No day specified" +msgstr "No se ha indicado el día" + +msgid "No week specified" +msgstr "No se ha indicado la semana" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "No %(verbose_name_plural)s disponibles" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Los futuros %(verbose_name_plural)s no están disponibles porque " +"%(class_name)s.allow_future es Falso." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "No se encontró ningún %(verbose_name)s coincidente con la consulta" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Página inválida (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "Los índices de directorio no están permitidos." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Índice de %(directory)s" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/et/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/et/LC_MESSAGES/django.po new file mode 100644 index 0000000..813f3ab --- /dev/null +++ b/external_sources/django/django/conf/locale/et/LC_MESSAGES/django.po @@ -0,0 +1,1341 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# eallik , 2011 +# Erlend Eelmets , 2020 +# Jannis Leidel , 2011 +# Janno Liivak , 2013-2015 +# madisvain , 2011 +# Martin , 2014-2015,2021-2024 +# Martin , 2016-2017,2019-2020 +# Marti Raudsepp , 2014,2016 +# Ragnar Rebase , 2019 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 06:49+0000\n" +"Last-Translator: Martin , 2014-2015,2021-2024\n" +"Language-Team: Estonian (http://app.transifex.com/django/django/language/" +"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" + +msgid "Afrikaans" +msgstr "afrikaani" + +msgid "Arabic" +msgstr "araabia" + +msgid "Algerian Arabic" +msgstr "Alžeeria Araabia" + +msgid "Asturian" +msgstr "astuuria" + +msgid "Azerbaijani" +msgstr "aserbaidžaani" + +msgid "Bulgarian" +msgstr "bulgaaria" + +msgid "Belarusian" +msgstr "valgevene" + +msgid "Bengali" +msgstr "bengali" + +msgid "Breton" +msgstr "bretooni" + +msgid "Bosnian" +msgstr "bosnia" + +msgid "Catalan" +msgstr "katalaani" + +msgid "Central Kurdish (Sorani)" +msgstr "Keskkurdi keel (sorani)" + +msgid "Czech" +msgstr "tšehhi" + +msgid "Welsh" +msgstr "uelsi" + +msgid "Danish" +msgstr "taani" + +msgid "German" +msgstr "saksa" + +msgid "Lower Sorbian" +msgstr "alamsorbi" + +msgid "Greek" +msgstr "kreeka" + +msgid "English" +msgstr "inglise" + +msgid "Australian English" +msgstr "austraalia inglise" + +msgid "British English" +msgstr "briti inglise" + +msgid "Esperanto" +msgstr "esperanto" + +msgid "Spanish" +msgstr "hispaania" + +msgid "Argentinian Spanish" +msgstr "argentiina hispaani" + +msgid "Colombian Spanish" +msgstr "kolumbia hispaania" + +msgid "Mexican Spanish" +msgstr "mehhiko hispaania" + +msgid "Nicaraguan Spanish" +msgstr "nikaraagua hispaania" + +msgid "Venezuelan Spanish" +msgstr "venetsueela hispaania" + +msgid "Estonian" +msgstr "eesti" + +msgid "Basque" +msgstr "baski" + +msgid "Persian" +msgstr "pärsia" + +msgid "Finnish" +msgstr "soome" + +msgid "French" +msgstr "prantsuse" + +msgid "Frisian" +msgstr "friisi" + +msgid "Irish" +msgstr "iiri" + +msgid "Scottish Gaelic" +msgstr "šoti gaeli" + +msgid "Galician" +msgstr "galiitsia" + +msgid "Hebrew" +msgstr "heebrea" + +msgid "Hindi" +msgstr "hindi" + +msgid "Croatian" +msgstr "horvaatia" + +msgid "Upper Sorbian" +msgstr "ülemsorbi" + +msgid "Hungarian" +msgstr "ungari" + +msgid "Armenian" +msgstr "armeenia" + +msgid "Interlingua" +msgstr "interlingua" + +msgid "Indonesian" +msgstr "indoneesi" + +msgid "Igbo" +msgstr "ibo" + +msgid "Ido" +msgstr "ido" + +msgid "Icelandic" +msgstr "islandi" + +msgid "Italian" +msgstr "itaalia" + +msgid "Japanese" +msgstr "jaapani" + +msgid "Georgian" +msgstr "gruusia" + +msgid "Kabyle" +msgstr "Kabiili" + +msgid "Kazakh" +msgstr "kasahhi" + +msgid "Khmer" +msgstr "khmeri" + +msgid "Kannada" +msgstr "kannada" + +msgid "Korean" +msgstr "korea" + +msgid "Kyrgyz" +msgstr "kirgiisi" + +msgid "Luxembourgish" +msgstr "letseburgi" + +msgid "Lithuanian" +msgstr "leedu" + +msgid "Latvian" +msgstr "läti" + +msgid "Macedonian" +msgstr "makedoonia" + +msgid "Malayalam" +msgstr "malaia" + +msgid "Mongolian" +msgstr "mongoolia" + +msgid "Marathi" +msgstr "marathi" + +msgid "Malay" +msgstr "malai" + +msgid "Burmese" +msgstr "birma" + +msgid "Norwegian Bokmål" +msgstr "norra bokmål" + +msgid "Nepali" +msgstr "nepali" + +msgid "Dutch" +msgstr "hollandi" + +msgid "Norwegian Nynorsk" +msgstr "norra (nynorsk)" + +msgid "Ossetic" +msgstr "osseetia" + +msgid "Punjabi" +msgstr "pandžab" + +msgid "Polish" +msgstr "poola" + +msgid "Portuguese" +msgstr "portugali" + +msgid "Brazilian Portuguese" +msgstr "brasiilia portugali" + +msgid "Romanian" +msgstr "rumeenia" + +msgid "Russian" +msgstr "vene" + +msgid "Slovak" +msgstr "slovaki" + +msgid "Slovenian" +msgstr "sloveeni" + +msgid "Albanian" +msgstr "albaania" + +msgid "Serbian" +msgstr "serbia" + +msgid "Serbian Latin" +msgstr "serbia (ladina)" + +msgid "Swedish" +msgstr "rootsi" + +msgid "Swahili" +msgstr "suahiili" + +msgid "Tamil" +msgstr "tamiili" + +msgid "Telugu" +msgstr "telugu" + +msgid "Tajik" +msgstr "tadžiki" + +msgid "Thai" +msgstr "tai" + +msgid "Turkmen" +msgstr "türkmeeni" + +msgid "Turkish" +msgstr "türgi" + +msgid "Tatar" +msgstr "tatari" + +msgid "Udmurt" +msgstr "udmurdi" + +msgid "Uyghur" +msgstr "Uiguuri" + +msgid "Ukrainian" +msgstr "ukrania" + +msgid "Urdu" +msgstr "urdu" + +msgid "Uzbek" +msgstr "Usbeki" + +msgid "Vietnamese" +msgstr "vietnami" + +msgid "Simplified Chinese" +msgstr "lihtsustatud hiina" + +msgid "Traditional Chinese" +msgstr "traditsiooniline hiina" + +msgid "Messages" +msgstr "Sõnumid" + +msgid "Site Maps" +msgstr "Saidikaardid" + +msgid "Static Files" +msgstr "Staatilised failid" + +msgid "Syndication" +msgstr "Sündikeerimine" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "See lehe number ei ole täisarv" + +msgid "That page number is less than 1" +msgstr "See lehe number on väiksem kui 1" + +msgid "That page contains no results" +msgstr "See leht ei sisalda tulemusi" + +msgid "Enter a valid value." +msgstr "Sisestage korrektne väärtus." + +msgid "Enter a valid domain name." +msgstr "Sisestage korrektne domeeninimi." + +msgid "Enter a valid URL." +msgstr "Sisestage korrektne URL." + +msgid "Enter a valid integer." +msgstr "Sisestage korrektne täisarv." + +msgid "Enter a valid email address." +msgstr "Sisestage korrektne e-posti aadress." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Sisestage korrektne “nälk”, mis koosneb tähtedest, numbritest, " +"alakriipsudest või sidekriipsudest." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Sisestage korrektne “nälk”, mis koosneb Unicode tähtedest, numbritest, ala- " +"või sidekriipsudest." + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "Sisestage korrektne %(protocol)s aadress." + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "IPv4 or IPv6" +msgstr "IPv4 või IPv6" + +msgid "Enter only digits separated by commas." +msgstr "Sisestage ainult komaga eraldatud numbreid." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Veendu, et see väärtus on %(limit_value)s (hetkel on %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Veendu, et see väärtus on väiksem või võrdne kui %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Veendu, et see väärtus on suurem või võrdne kui %(limit_value)s." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "Veendu, et see väärtus on arvu %(limit_value)s kordne." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Väärtuses peab olema vähemalt %(limit_value)d tähemärk (praegu on " +"%(show_value)d)." +msgstr[1] "" +"Väärtuses peab olema vähemalt %(limit_value)d tähemärki (praegu on " +"%(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Väärtuses võib olla kõige rohkem %(limit_value)d tähemärk (praegu on " +"%(show_value)d)." +msgstr[1] "" +"Väärtuses võib olla kõige rohkem %(limit_value)d tähemärki (praegu on " +"%(show_value)d)." + +msgid "Enter a number." +msgstr "Sisestage arv." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Veenduge, et kogu numbrikohtade arv ei oleks suurem kui %(max)s." +msgstr[1] "Veenduge, et kogu numbrikohtade arv ei oleks suurem kui %(max)s." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Veenduge, et komakohtade arv ei oleks suurem kui %(max)s." +msgstr[1] "Veenduge, et komakohtade arv ei oleks suurem kui %(max)s." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Veenduge, et komast vasakul olevaid numbreid ei oleks rohkem kui %(max)s." +msgstr[1] "" +"Veenduge, et komast vasakul olevaid numbreid ei oleks rohkem kui %(max)s." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Faililaiend “%(extension)s” pole lubatud. Lubatud laiendid on: " +"%(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Tühjad tähemärgid ei ole lubatud." + +msgid "and" +msgstr "ja" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s väljaga %(field_labels)s on juba olemas." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "Kitsendust “%(name)s” on rikutud." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Väärtus %(value)r ei ole kehtiv valik." + +msgid "This field cannot be null." +msgstr "See lahter ei tohi olla tühi." + +msgid "This field cannot be blank." +msgstr "See väli ei saa olla tühi." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "Sellise %(field_label)s-väljaga %(model_name)s on juba olemas." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s peab olema unikaalne %(date_field_label)s %(lookup_type)s " +"suhtes." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Lahter tüüpi: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "“%(value)s” väärtus peab olema Tõene või Väär." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "“%(value)s” väärtus peab olema Tõene, Väär või Tühi." + +msgid "Boolean (Either True or False)" +msgstr "Tõeväärtus (Kas tõene või väär)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "String (kuni %(max_length)s märki)" + +msgid "String (unlimited)" +msgstr "String (piiramatu)" + +msgid "Comma-separated integers" +msgstr "Komaga eraldatud täisarvud" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"“%(value)s” väärtusel on vale kuupäevaformaat. See peab olema kujul AAAA-KK-" +"PP." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"“%(value)s” väärtusel on õige formaat (AAAA-KK-PP), kuid kuupäev on vale." + +msgid "Date (without time)" +msgstr "Kuupäev (kellaajata)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"“%(value)s” väärtusel on vale formaat. Peab olema formaadis AAAA-KK-PP HH:" +"MM[:ss[.uuuuuu]][TZ]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"“%(value)s” väärtusel on õige formaat (AAAA-KK-PP HH:MM[:ss[.uuuuuu]][TZ]), " +"kuid kuupäev/kellaaeg on vale." + +msgid "Date (with time)" +msgstr "Kuupäev (kellaajaga)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "“%(value)s” väärtus peab olema kümnendarv." + +msgid "Decimal number" +msgstr "Kümnendmurd" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"“%(value)s” väärtusel on vale formaat. Peab olema formaadis [DD] " +"[[HH:]MM:]ss[.uuuuuu]." + +msgid "Duration" +msgstr "Kestus" + +msgid "Email address" +msgstr "E-posti aadress" + +msgid "File path" +msgstr "Faili asukoht" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "“%(value)s” väärtus peab olema ujukomaarv." + +msgid "Floating point number" +msgstr "Ujukomaarv" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "“%(value)s” väärtus peab olema täisarv." + +msgid "Integer" +msgstr "Täisarv" + +msgid "Big (8 byte) integer" +msgstr "Suur (8 baiti) täisarv" + +msgid "Small integer" +msgstr "Väike täisarv" + +msgid "IPv4 address" +msgstr "IPv4 aadress" + +msgid "IP address" +msgstr "IP aadress" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "“%(value)s” väärtus peab olema kas Tühi, Tõene või Väär." + +msgid "Boolean (Either True, False or None)" +msgstr "Tõeväärtus (Kas tõene, väär või tühi)" + +msgid "Positive big integer" +msgstr "Positiivne suur täisarv" + +msgid "Positive integer" +msgstr "Positiivne täisarv" + +msgid "Positive small integer" +msgstr "Positiivne väikene täisarv" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Nälk (kuni %(max_length)s märki)" + +msgid "Text" +msgstr "Tekst" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"“%(value)s” väärtusel on vale formaat. Peab olema formaadis HH:MM[:ss[." +"uuuuuu]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"“%(value)s” väärtusel on õige formaat (HH:MM[:ss[.uuuuuu]]), kuid kellaaeg " +"on vale." + +msgid "Time" +msgstr "Aeg" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Töötlemata binaarandmed" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "“%(value)s” ei ole korrektne UUID." + +msgid "Universally unique identifier" +msgstr "Universaalne unikaalne identifikaator" + +msgid "File" +msgstr "Fail" + +msgid "Image" +msgstr "Pilt" + +msgid "A JSON object" +msgstr "JSON objekt" + +msgid "Value must be valid JSON." +msgstr "Väärtus peab olema korrektne JSON." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "%(model)s isendit %(field)s %(value)r ei leidu." + +msgid "Foreign Key (type determined by related field)" +msgstr "Välisvõti (tüübi määrab seotud väli) " + +msgid "One-to-one relationship" +msgstr "Üks-ühele seos" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s seos" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s seosed" + +msgid "Many-to-many relationship" +msgstr "Mitu-mitmele seos" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "See lahter on nõutav." + +msgid "Enter a whole number." +msgstr "Sisestage täisarv." + +msgid "Enter a valid date." +msgstr "Sisestage korrektne kuupäev." + +msgid "Enter a valid time." +msgstr "Sisestage korrektne kellaaeg." + +msgid "Enter a valid date/time." +msgstr "Sisestage korrektne kuupäev ja kellaaeg." + +msgid "Enter a valid duration." +msgstr "Sisestage korrektne kestus." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Päevade arv peab jääma vahemikku {min_days} kuni {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Ühtegi faili ei saadetud. Kontrollige vormi kodeeringutüüpi." + +msgid "No file was submitted." +msgstr "Ühtegi faili ei saadetud." + +msgid "The submitted file is empty." +msgstr "Saadetud fail on tühi." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Veenduge, et faili nimes poleks rohkem kui %(max)d märk (praegu on " +"%(length)d)." +msgstr[1] "" +"Veenduge, et faili nimes poleks rohkem kui %(max)d märki (praegu on " +"%(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Palun laadige fail või märgistage 'tühjenda' kast, mitte mõlemat." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Laadige korrektne pilt. Fail, mille laadisite, ei olnud kas pilt või oli " +"fail vigane." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Valige korrektne väärtus. %(value)s ei ole valitav." + +msgid "Enter a list of values." +msgstr "Sisestage väärtuste nimekiri." + +msgid "Enter a complete value." +msgstr "Sisestage täielik väärtus." + +msgid "Enter a valid UUID." +msgstr "Sisestage korrektne UUID." + +msgid "Enter a valid JSON." +msgstr "Sisestage korrektne JSON." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Peidetud väli %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Palun kinnitage kõige rohkem %(num)d vormi." +msgstr[1] "Palun kinnitage kõige rohkem %(num)d vormi." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Palun kinnitage vähemalt %(num)d vormi." +msgstr[1] "Palun kinnitage vähemalt %(num)d vormi." + +msgid "Order" +msgstr "Järjestus" + +msgid "Delete" +msgstr "Kustuta" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Palun parandage duplikaat-andmed lahtris %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Palun parandage duplikaat-andmed lahtris %(field)s, mis peab olema unikaalne." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Palun parandage allolevad duplikaat-väärtused" + +msgid "The inline value did not match the parent instance." +msgstr "Pesastatud väärtus ei sobi ülemobjektiga." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Valige korrektne väärtus. Valitud väärtus ei ole valitav." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "“%(pk)s” ei ole korrektne väärtus." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s ei saanud tõlgendada ajavööndis %(current_timezone)s; see on " +"kas mitmetähenduslik või seda ei eksisteeri." + +msgid "Clear" +msgstr "Tühjenda" + +msgid "Currently" +msgstr "Hetkel" + +msgid "Change" +msgstr "Muuda" + +msgid "Unknown" +msgstr "Tundmatu" + +msgid "Yes" +msgstr "Jah" + +msgid "No" +msgstr "Ei" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "jah,ei,võib-olla" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d bait" +msgstr[1] "%(size)d baiti" + +#, python-format +msgid "%s KB" +msgstr "%s kB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.l." + +msgid "a.m." +msgstr "e.l." + +msgid "PM" +msgstr "PL" + +msgid "AM" +msgstr "EL" + +msgid "midnight" +msgstr "südaöö" + +msgid "noon" +msgstr "keskpäev" + +msgid "Monday" +msgstr "esmaspäev" + +msgid "Tuesday" +msgstr "teisipäev" + +msgid "Wednesday" +msgstr "kolmapäev" + +msgid "Thursday" +msgstr "neljapäev" + +msgid "Friday" +msgstr "reede" + +msgid "Saturday" +msgstr "laupäev" + +msgid "Sunday" +msgstr "pühapäev" + +msgid "Mon" +msgstr "esmasp." + +msgid "Tue" +msgstr "teisip." + +msgid "Wed" +msgstr "kolmap." + +msgid "Thu" +msgstr "neljap." + +msgid "Fri" +msgstr "reede" + +msgid "Sat" +msgstr "laup." + +msgid "Sun" +msgstr "pühap." + +msgid "January" +msgstr "jaanuar" + +msgid "February" +msgstr "veebruar" + +msgid "March" +msgstr "märts" + +msgid "April" +msgstr "aprill" + +msgid "May" +msgstr "mai" + +msgid "June" +msgstr "juuni" + +msgid "July" +msgstr "juuli" + +msgid "August" +msgstr "august" + +msgid "September" +msgstr "september" + +msgid "October" +msgstr "oktoober" + +msgid "November" +msgstr "november" + +msgid "December" +msgstr "detsember" + +msgid "jan" +msgstr "jaan" + +msgid "feb" +msgstr "veeb" + +msgid "mar" +msgstr "märts" + +msgid "apr" +msgstr "apr" + +msgid "may" +msgstr "mai" + +msgid "jun" +msgstr "jun" + +msgid "jul" +msgstr "jul" + +msgid "aug" +msgstr "aug" + +msgid "sep" +msgstr "sept" + +msgid "oct" +msgstr "okt" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "dets" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "jaan." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "veeb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "mär." + +msgctxt "abbrev. month" +msgid "April" +msgstr "apr." + +msgctxt "abbrev. month" +msgid "May" +msgstr "mai" + +msgctxt "abbrev. month" +msgid "June" +msgstr "juuni" + +msgctxt "abbrev. month" +msgid "July" +msgstr "juuli" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "aug." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "sept." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "okt." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "dets." + +msgctxt "alt. month" +msgid "January" +msgstr "jaanuar" + +msgctxt "alt. month" +msgid "February" +msgstr "veebruar" + +msgctxt "alt. month" +msgid "March" +msgstr "märts" + +msgctxt "alt. month" +msgid "April" +msgstr "aprill" + +msgctxt "alt. month" +msgid "May" +msgstr "mai" + +msgctxt "alt. month" +msgid "June" +msgstr "juuni" + +msgctxt "alt. month" +msgid "July" +msgstr "juuli" + +msgctxt "alt. month" +msgid "August" +msgstr "august" + +msgctxt "alt. month" +msgid "September" +msgstr "september" + +msgctxt "alt. month" +msgid "October" +msgstr "oktoober" + +msgctxt "alt. month" +msgid "November" +msgstr "november" + +msgctxt "alt. month" +msgid "December" +msgstr "detsember" + +msgid "This is not a valid IPv6 address." +msgstr "See ei ole korrektne IPv6 aadress." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "või" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d aasta" +msgstr[1] "%(num)d aastat" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d kuu" +msgstr[1] "%(num)d kuud" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d nädal" +msgstr[1] "%(num)d nädalat" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d päev" +msgstr[1] "%(num)d päeva" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d tund" +msgstr[1] "%(num)d tundi" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d minut" +msgstr[1] "%(num)d minutit" + +msgid "Forbidden" +msgstr "Keelatud" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF verifitseerimine ebaõnnestus. Päring katkestati." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Näete seda sõnumit, kuna käesolev HTTPS leht nõuab “Viitaja päise” saatmist " +"teie brauserile, kuid seda ei saadetud. Seda päist on vaja " +"turvakaalutlustel, kindlustamaks et teie brauserit ei ole kolmandate " +"osapoolte poolt üle võetud." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Kui olete oma brauseri seadistustes välja lülitanud “Viitaja” päised siis " +"lülitage need taas sisse vähemalt antud lehe jaoks või HTTPS üheduste jaoks " +"või “sama-allika” päringute jaoks." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Kui kasutate silti või " +"saadate päist “Referrer-Policy: no-referrer”, siis palun eemaldage need. " +"CSRF kaitse vajab range viitaja kontrolliks päist “Referer”. Kui privaatsus " +"on probleemiks, kasutage alternatiive nagu " +"linkidele, mis viivad kolmandate poolte lehtedele." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Näete seda teadet, kuna see leht vajab CSRF küpsist vormide postitamiseks. " +"Seda küpsist on vaja turvakaalutlustel, kindlustamaks et teie brauserit ei " +"ole kolmandate osapoolte poolt üle võetud." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Kui olete oma brauseris küpsised keelanud, siis palun lubage need vähemalt " +"selle lehe jaoks või “sama-allika” päringute jaoks." + +msgid "More information is available with DEBUG=True." +msgstr "Saadaval on rohkem infot kasutades DEBUG=True" + +msgid "No year specified" +msgstr "Aasta on valimata" + +msgid "Date out of range" +msgstr "Kuupäev vahemikust väljas" + +msgid "No month specified" +msgstr "Kuu on valimata" + +msgid "No day specified" +msgstr "Päev on valimata" + +msgid "No week specified" +msgstr "Nädal on valimata" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Ei leitud %(verbose_name_plural)s" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Tulevane %(verbose_name_plural)s pole saadaval, sest %(class_name)s." +"allow_future on False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "Vigane kuupäeva sõne “%(datestr)s” lähtudes formaadist “%(format)s”" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Päringule vastavat %(verbose_name)s ei leitud" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "Lehekülg pole “viimane” ja ei saa teda konvertida täisarvuks." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Vigane leht (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Tühi list ja “%(class_name)s.allow_empty” on Väär." + +msgid "Directory indexes are not allowed here." +msgstr "Kausta sisuloendid ei ole siin lubatud." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "“%(path)s” ei eksisteeri" + +#, python-format +msgid "Index of %(directory)s" +msgstr "%(directory)s sisuloend" + +msgid "The install worked successfully! Congratulations!" +msgstr "Paigaldamine õnnestus! Palju õnne!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Vaata release notes Djangole %(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Näete seda lehte, kuna teil on määratud DEBUG=True Django seadete failis ja te ei ole ühtki " +"URLi seadistanud." + +msgid "Django Documentation" +msgstr "Django dokumentatsioon" + +msgid "Topics, references, & how-to’s" +msgstr "Teemad, viited, & õpetused" + +msgid "Tutorial: A Polling App" +msgstr "Õpetus: Küsitlusrakendus" + +msgid "Get started with Django" +msgstr "Alusta Djangoga" + +msgid "Django Community" +msgstr "Django Kogukond" + +msgid "Connect, get help, or contribute" +msgstr "Suhelge, küsige abi või panustage" diff --git a/external_sources/django/django/conf/locale/et/__init__.py b/external_sources/django/django/conf/locale/et/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/et/formats.py b/external_sources/django/django/conf/locale/et/formats.py new file mode 100644 index 0000000..3b2d9ba --- /dev/null +++ b/external_sources/django/django/conf/locale/et/formats.py @@ -0,0 +1,21 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j. F Y" +TIME_FORMAT = "G:i" +# DATETIME_FORMAT = +# YEAR_MONTH_FORMAT = +MONTH_DAY_FORMAT = "j. F" +SHORT_DATE_FORMAT = "d.m.Y" +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = " " # Non-breaking space +# NUMBER_GROUPING = diff --git a/external_sources/django/django/conf/locale/eu/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/eu/LC_MESSAGES/django.po new file mode 100644 index 0000000..f3e91a8 --- /dev/null +++ b/external_sources/django/django/conf/locale/eu/LC_MESSAGES/django.po @@ -0,0 +1,1313 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Aitzol Naberan , 2013,2016 +# Ander Martinez , 2013-2014 +# Eneko Illarramendi , 2017-2019,2021-2022,2024 +# Jannis Leidel , 2011 +# jazpillaga , 2011 +# julen, 2011-2012 +# julen, 2013,2015 +# Mikel Maldonado , 2021 +# totorika93 , 2012 +# 67feb0cba3962a6c9f09eb0e43697461_528661a , 2013 +# Urtzi Odriozola , 2017 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 06:49+0000\n" +"Last-Translator: Eneko Illarramendi , " +"2017-2019,2021-2022,2024\n" +"Language-Team: Basque (http://app.transifex.com/django/django/language/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" + +msgid "Afrikaans" +msgstr "Afrikaans" + +msgid "Arabic" +msgstr "Arabiera" + +msgid "Algerian Arabic" +msgstr "Algeriar Arabiera" + +msgid "Asturian" +msgstr "Asturiera" + +msgid "Azerbaijani" +msgstr "Azerbaijanera" + +msgid "Bulgarian" +msgstr "Bulgariera" + +msgid "Belarusian" +msgstr "Bielorrusiera" + +msgid "Bengali" +msgstr "Bengalera" + +msgid "Breton" +msgstr "Bretoia" + +msgid "Bosnian" +msgstr "Bosniera" + +msgid "Catalan" +msgstr "Katalana" + +msgid "Central Kurdish (Sorani)" +msgstr "" + +msgid "Czech" +msgstr "Txekiera" + +msgid "Welsh" +msgstr "Galesa" + +msgid "Danish" +msgstr "Daniera" + +msgid "German" +msgstr "Alemana" + +msgid "Lower Sorbian" +msgstr "Behe-sorbiera" + +msgid "Greek" +msgstr "Greziera" + +msgid "English" +msgstr "Ingelesa" + +msgid "Australian English" +msgstr "Australiar ingelesa" + +msgid "British English" +msgstr "Ingelesa" + +msgid "Esperanto" +msgstr "Esperantoa" + +msgid "Spanish" +msgstr "Gaztelania" + +msgid "Argentinian Spanish" +msgstr "Gaztelania (Argentina)" + +msgid "Colombian Spanish" +msgstr "Gaztelania (Kolonbia)" + +msgid "Mexican Spanish" +msgstr "Gaztelania (Mexiko)" + +msgid "Nicaraguan Spanish" +msgstr "Gaztelania (Nikaragua)" + +msgid "Venezuelan Spanish" +msgstr "Gaztelania (Venezuela)" + +msgid "Estonian" +msgstr "Estoniera" + +msgid "Basque" +msgstr "Euskara" + +msgid "Persian" +msgstr "Persiera" + +msgid "Finnish" +msgstr "Finlandiera" + +msgid "French" +msgstr "Frantsesa" + +msgid "Frisian" +msgstr "Frisiera" + +msgid "Irish" +msgstr "Irlandako gaelikoa" + +msgid "Scottish Gaelic" +msgstr "Eskoziako gaelikoa" + +msgid "Galician" +msgstr "Galiziera" + +msgid "Hebrew" +msgstr "Hebreera" + +msgid "Hindi" +msgstr "Hindi" + +msgid "Croatian" +msgstr "Kroaziera" + +msgid "Upper Sorbian" +msgstr "Goi-sorbiera" + +msgid "Hungarian" +msgstr "Hungariera" + +msgid "Armenian" +msgstr "Armeniera" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indonesiera" + +msgid "Igbo" +msgstr "Igboera" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Islandiera" + +msgid "Italian" +msgstr "Italiera" + +msgid "Japanese" +msgstr "Japoniera" + +msgid "Georgian" +msgstr "Georgiera" + +msgid "Kabyle" +msgstr "Kabylera" + +msgid "Kazakh" +msgstr "Kazakhera" + +msgid "Khmer" +msgstr "Khmerera" + +msgid "Kannada" +msgstr "Kannada" + +msgid "Korean" +msgstr "Koreera" + +msgid "Kyrgyz" +msgstr "" + +msgid "Luxembourgish" +msgstr "Luxenburgera" + +msgid "Lithuanian" +msgstr "Lituaniera" + +msgid "Latvian" +msgstr "Letoniera" + +msgid "Macedonian" +msgstr "Mazedoniera" + +msgid "Malayalam" +msgstr "Malabarera" + +msgid "Mongolian" +msgstr "Mongoliera" + +msgid "Marathi" +msgstr "Marathera" + +msgid "Malay" +msgstr "" + +msgid "Burmese" +msgstr "Birmaniera" + +msgid "Norwegian Bokmål" +msgstr "Bokmåla (Norvegia)" + +msgid "Nepali" +msgstr "Nepalera" + +msgid "Dutch" +msgstr "Nederlandera" + +msgid "Norwegian Nynorsk" +msgstr "Nynorsk (Norvegia)" + +msgid "Ossetic" +msgstr "Osetiera" + +msgid "Punjabi" +msgstr "Punjabera" + +msgid "Polish" +msgstr "Poloniera" + +msgid "Portuguese" +msgstr "Portugesa" + +msgid "Brazilian Portuguese" +msgstr "Portugesa (Brazil)" + +msgid "Romanian" +msgstr "Errumaniera" + +msgid "Russian" +msgstr "Errusiera" + +msgid "Slovak" +msgstr "Eslovakiera" + +msgid "Slovenian" +msgstr "Esloveniera" + +msgid "Albanian" +msgstr "Albaniera" + +msgid "Serbian" +msgstr "Serbiera" + +msgid "Serbian Latin" +msgstr "Serbiera" + +msgid "Swedish" +msgstr "Suediera" + +msgid "Swahili" +msgstr "Swahilia" + +msgid "Tamil" +msgstr "Tamilera" + +msgid "Telugu" +msgstr "Telugua" + +msgid "Tajik" +msgstr "" + +msgid "Thai" +msgstr "Thailandiera" + +msgid "Turkmen" +msgstr "" + +msgid "Turkish" +msgstr "Turkiera" + +msgid "Tatar" +msgstr "Tatarera" + +msgid "Udmurt" +msgstr "Udmurtera" + +msgid "Uyghur" +msgstr "" + +msgid "Ukrainian" +msgstr "Ukrainera" + +msgid "Urdu" +msgstr "Urdua" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "Vietnamera" + +msgid "Simplified Chinese" +msgstr "Txinera (sinpletua)" + +msgid "Traditional Chinese" +msgstr "Txinera (tradizionala)" + +msgid "Messages" +msgstr "Mezuak" + +msgid "Site Maps" +msgstr "Sitemap-ak" + +msgid "Static Files" +msgstr "Fitxategi estatikoak" + +msgid "Syndication" +msgstr "Sindikazioa" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "..." + +msgid "That page number is not an integer" +msgstr "Orrialde hori ez da zenbaki bat" + +msgid "That page number is less than 1" +msgstr "Orrialde zenbaki hori 1 baino txikiagoa da" + +msgid "That page contains no results" +msgstr "Orrialde horrek ez du emaitzarik" + +msgid "Enter a valid value." +msgstr "Idatzi baleko balio bat." + +msgid "Enter a valid domain name." +msgstr "" + +msgid "Enter a valid URL." +msgstr "Idatzi baleko URL bat." + +msgid "Enter a valid integer." +msgstr "Idatzi baleko zenbaki bat." + +msgid "Enter a valid email address." +msgstr "Idatzi baleko helbide elektroniko bat." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "" + +msgid "IPv4" +msgstr "" + +msgid "IPv6" +msgstr "" + +msgid "IPv4 or IPv6" +msgstr "" + +msgid "Enter only digits separated by commas." +msgstr "Idatzi komaz bereizitako digitoak soilik." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Ziurtatu balio hau gutxienez %(limit_value)s dela (orain %(show_value)s da)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Ziurtatu balio hau %(limit_value)s baino txikiagoa edo berdina dela." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Ziurtatu balio hau %(limit_value)s baino handiagoa edo berdina dela." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "" + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Ziurtatu balio honek gutxienez karaktere %(limit_value)d duela " +"(%(show_value)d ditu)." +msgstr[1] "" +"Ziurtatu balio honek gutxienez %(limit_value)d karaktere dituela " +"(%(show_value)d ditu)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Ziurtatu balio honek gehienez karaktere %(limit_value)d duela " +"(%(show_value)d ditu)." +msgstr[1] "" +"Ziurtatu balio honek gehienez %(limit_value)d karaktere dituela " +"(%(show_value)d ditu)." + +msgid "Enter a number." +msgstr "Idatzi zenbaki bat." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Ziurtatu digitu %(max)s baino gehiago ez dagoela guztira." +msgstr[1] "Ziurtatu %(max)s digitu baino gehiago ez dagoela guztira." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Ziurtatu ez dagoela digitu %(max)s baino gehiago komaren atzetik." +msgstr[1] "Ziurtatu ez dagoela %(max)s digitu baino gehiago komaren atzetik." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "Ziurtatu ez dagoela digitu %(max)s baino gehiago komaren aurretik." +msgstr[1] "Ziurtatu ez dagoela %(max)s digitu baino gehiago komaren aurretik." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "Null karaktereak ez daude baimenduta." + +msgid "and" +msgstr "eta" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(field_labels)s hauek dauzkan %(model_name)s dagoeneko existitzen da." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "%(value)r balioa ez da baleko aukera bat." + +msgid "This field cannot be null." +msgstr "Eremu hau ezin daiteke hutsa izan (null)." + +msgid "This field cannot be blank." +msgstr "Eremu honek ezin du hutsik egon." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(field_label)s hori daukan %(model_name)s dagoeneko existitzen da." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Eremuaren mota: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "\"%(value)s\" blioa True edo False izan behar da." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "\"%(value)s\" balioa, True, False edo None izan behar da." + +msgid "Boolean (Either True or False)" +msgstr "Boolearra (True edo False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "String-a (%(max_length)s gehienez)" + +msgid "String (unlimited)" +msgstr "" + +msgid "Comma-separated integers" +msgstr "Komaz bereiztutako zenbaki osoak" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"\"%(value)s\" balioa data formatu okerra dauka. UUUU-HH-EE formatua izan " +"behar da." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"\"%(value)s\" balioa formatu egokia dauka (UUUU-HH-EE), baina data okerra." + +msgid "Date (without time)" +msgstr "Data (ordurik gabe)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "Data (orduarekin)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "\"%(value)s\" balioa zenbaki hamartarra izan behar da." + +msgid "Decimal number" +msgstr "Zenbaki hamartarra" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"\"%(value)s\" balioa formatu okerra dauka. [EE][[OO:]MM:]ss[.uuuuuu] " +"formatua izan behar du." + +msgid "Duration" +msgstr "Iraupena" + +msgid "Email address" +msgstr "Helbide elektronikoa" + +msgid "File path" +msgstr "Fitxategiaren bidea" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "\"%(value)s\" float izan behar da." + +msgid "Floating point number" +msgstr "Koma higikorreko zenbakia (float)" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "\"%(value)s\" zenbaki osoa izan behar da." + +msgid "Integer" +msgstr "Zenbaki osoa" + +msgid "Big (8 byte) integer" +msgstr "Zenbaki osoa (handia 8 byte)" + +msgid "Small integer" +msgstr "Osoko txikia" + +msgid "IPv4 address" +msgstr "IPv4 sare-helbidea" + +msgid "IP address" +msgstr "IP helbidea" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "\"%(value)s\" None, True edo False izan behar da." + +msgid "Boolean (Either True, False or None)" +msgstr "Boolearra (True, False edo None)" + +msgid "Positive big integer" +msgstr "Zenbaki positivo osoa-handia" + +msgid "Positive integer" +msgstr "Osoko positiboa" + +msgid "Positive small integer" +msgstr "Osoko positibo txikia" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (gehienez %(max_length)s)" + +msgid "Text" +msgstr "Testua" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "Ordua" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Datu bitar gordinak" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "\"Universally unique identifier\"" + +msgid "File" +msgstr "Fitxategia" + +msgid "Image" +msgstr "Irudia" + +msgid "A JSON object" +msgstr "JSON objektu bat" + +msgid "Value must be valid JSON." +msgstr "Balioa baliozko JSON bat izan behar da." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" +"%(field)s %(value)r edukidun %(model)s modeloko instantziarik ez da " +"exiistitzen." + +msgid "Foreign Key (type determined by related field)" +msgstr "1-N (mota erlazionatutako eremuaren arabera)" + +msgid "One-to-one relationship" +msgstr "Bat-bat erlazioa" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s erlazioa" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s erlazioak" + +msgid "Many-to-many relationship" +msgstr "M:N erlazioa" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Eremu hau beharrezkoa da." + +msgid "Enter a whole number." +msgstr "Idatzi zenbaki oso bat." + +msgid "Enter a valid date." +msgstr "Idatzi baleko data bat." + +msgid "Enter a valid time." +msgstr "Idatzi baleko ordu bat." + +msgid "Enter a valid date/time." +msgstr "Idatzi baleko data/ordu bat." + +msgid "Enter a valid duration." +msgstr "Idatzi baleko iraupen bat." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Egun kopuruak {min_days} eta {max_days} artean egon behar du." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Ez da fitxategirik bidali. Egiaztatu formularioaren kodeketa-mota." + +msgid "No file was submitted." +msgstr "Ez da fitxategirik bidali." + +msgid "The submitted file is empty." +msgstr "Bidalitako fitxategia hutsik dago." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Ziurtatu fitxategi izen honek gehienez karaktere %(max)d duela (%(length)d " +"ditu)." +msgstr[1] "" +"Ziurtatu fitxategi izen honek gehienez %(max)d karaktere dituela (%(length)d " +"ditu)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Mesedez, igo fitxategi bat edo egin klik garbitu botoian, ez biak." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Igo baleko irudi bat. Zuk igotako fitxategia ez da irudi bat edo akatsen bat " +"du." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Hautatu baleko aukera bat. %(value)s ez dago erabilgarri." + +msgid "Enter a list of values." +msgstr "Idatzi balio-zerrenda bat." + +msgid "Enter a complete value." +msgstr "Sartu balio osoa." + +msgid "Enter a valid UUID." +msgstr "Idatzi baleko UUID bat." + +msgid "Enter a valid JSON." +msgstr "Sartu baliozko JSON bat" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(%(name)s eremu ezkutua) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "" +msgstr[1] "" + +msgid "Order" +msgstr "Ordena" + +msgid "Delete" +msgstr "Ezabatu" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Zuzendu bikoiztketa %(field)s eremuan." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "Zuzendu bikoizketa %(field)s eremuan. Bakarra izan behar da." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Zuzendu bakarra izan behar den%(field_name)s eremuarentzako bikoiztutako " +"data %(lookup)s egiteko %(date_field)s eremuan" + +msgid "Please correct the duplicate values below." +msgstr "Zuzendu hurrengo balio bikoiztuak." + +msgid "The inline value did not match the parent instance." +msgstr "Barneko balioa eta gurasoaren instantzia ez datoz bat." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Hautatu aukera zuzen bat. Hautatutakoa ez da zuzena." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "Garbitu" + +msgid "Currently" +msgstr "Orain" + +msgid "Change" +msgstr "Aldatu" + +msgid "Unknown" +msgstr "Ezezaguna" + +msgid "Yes" +msgstr "Bai" + +msgid "No" +msgstr "Ez" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "bai,ez,agian" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "byte %(size)d " +msgstr[1] "%(size)d byte" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "gauerdia" + +msgid "noon" +msgstr "eguerdia" + +msgid "Monday" +msgstr "astelehena" + +msgid "Tuesday" +msgstr "asteartea" + +msgid "Wednesday" +msgstr "asteazkena" + +msgid "Thursday" +msgstr "osteguna" + +msgid "Friday" +msgstr "ostirala" + +msgid "Saturday" +msgstr "larunbata" + +msgid "Sunday" +msgstr "igandea" + +msgid "Mon" +msgstr "al" + +msgid "Tue" +msgstr "ar" + +msgid "Wed" +msgstr "az" + +msgid "Thu" +msgstr "og" + +msgid "Fri" +msgstr "ol" + +msgid "Sat" +msgstr "lr" + +msgid "Sun" +msgstr "ig" + +msgid "January" +msgstr "urtarrila" + +msgid "February" +msgstr "otsaila" + +msgid "March" +msgstr "martxoa" + +msgid "April" +msgstr "apirila" + +msgid "May" +msgstr "maiatza" + +msgid "June" +msgstr "ekaina" + +msgid "July" +msgstr "uztaila" + +msgid "August" +msgstr "abuztua" + +msgid "September" +msgstr "iraila" + +msgid "October" +msgstr "urria" + +msgid "November" +msgstr "azaroa" + +msgid "December" +msgstr "abendua" + +msgid "jan" +msgstr "urt" + +msgid "feb" +msgstr "ots" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "api" + +msgid "may" +msgstr "mai" + +msgid "jun" +msgstr "eka" + +msgid "jul" +msgstr "uzt" + +msgid "aug" +msgstr "abu" + +msgid "sep" +msgstr "ira" + +msgid "oct" +msgstr "urr" + +msgid "nov" +msgstr "aza" + +msgid "dec" +msgstr "abe" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "urt." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "ots." + +msgctxt "abbrev. month" +msgid "March" +msgstr "mar." + +msgctxt "abbrev. month" +msgid "April" +msgstr "api." + +msgctxt "abbrev. month" +msgid "May" +msgstr "mai." + +msgctxt "abbrev. month" +msgid "June" +msgstr "eka." + +msgctxt "abbrev. month" +msgid "July" +msgstr "uzt." + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "abu." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "ira." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "urr." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "aza." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "abe." + +msgctxt "alt. month" +msgid "January" +msgstr "urtarrila" + +msgctxt "alt. month" +msgid "February" +msgstr "otsaila" + +msgctxt "alt. month" +msgid "March" +msgstr "martxoa" + +msgctxt "alt. month" +msgid "April" +msgstr "apirila" + +msgctxt "alt. month" +msgid "May" +msgstr "maiatza" + +msgctxt "alt. month" +msgid "June" +msgstr "ekaina" + +msgctxt "alt. month" +msgid "July" +msgstr "uztaila" + +msgctxt "alt. month" +msgid "August" +msgstr "abuztua" + +msgctxt "alt. month" +msgid "September" +msgstr "iraila" + +msgctxt "alt. month" +msgid "October" +msgstr "urria" + +msgctxt "alt. month" +msgid "November" +msgstr "azaroa" + +msgctxt "alt. month" +msgid "December" +msgstr "abendua" + +msgid "This is not a valid IPv6 address." +msgstr "Hau ez da baleko IPv6 helbide bat." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "edo" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "urte %(num)d" +msgstr[1] "%(num)d urte" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "hilabete %(num)d" +msgstr[1] "%(num)d hilabete" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "aste %(num)d" +msgstr[1] "%(num)d aste" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "egun %(num)d" +msgstr[1] "%(num)d egun" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "ordu %(num)d" +msgstr[1] "%(num)d ordu" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "minutu %(num)d" +msgstr[1] "%(num)d minutu" + +msgid "Forbidden" +msgstr "Debekatuta" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF egiaztapenak huts egin du. Eskaera abortatu da." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Formularioa bidaltzean gune honek CSRF cookie bat behar duelako ikusten duzu " +"mezu hau. Cookie hau beharrezkoa da segurtasun arrazoiengatik, zure " +"nabigatzailea beste batek ordezkatzen ez duela ziurtatzeko." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "Informazio gehiago erabilgarri dago DEBUG=True ezarrita." + +msgid "No year specified" +msgstr "Ez da urterik zehaztu" + +msgid "Date out of range" +msgstr "Data baliozko tartetik kanpo" + +msgid "No month specified" +msgstr "Ez da hilabeterik zehaztu" + +msgid "No day specified" +msgstr "Ez da egunik zehaztu" + +msgid "No week specified" +msgstr "Ez da asterik zehaztu" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Ez dago %(verbose_name_plural)s" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Etorkizuneko %(verbose_name_plural)s ez dago aukeran %(class_name)s." +"allow_future False delako" + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Bilaketarekin bat datorren %(verbose_name)s-rik ez dago" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Orri baliogabea (%(page_number)s):%(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "Direktorio zerrendak ez daude baimenduak." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "\"%(path)s\" ez da existitzen" + +#, python-format +msgid "Index of %(directory)s" +msgstr "%(directory)s zerrenda" + +msgid "The install worked successfully! Congratulations!" +msgstr "Instalazioak arrakastaz funtzionatu du! Zorionak!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Ikusi Django %(version)s-ren argitaratze " +"oharrak" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Zure settings fitxategian DEBUG=True jarrita eta URLrik konfiguratu gabe duzulako " +"ari zara ikusten orrialde hau." + +msgid "Django Documentation" +msgstr "Django dokumentazioa" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "Tutoriala: Galdetegi aplikazioa" + +msgid "Get started with Django" +msgstr "Hasi Djangorekin" + +msgid "Django Community" +msgstr "Django Komunitatea" + +msgid "Connect, get help, or contribute" +msgstr "Konektatu, lortu laguntza edo lagundu" diff --git a/external_sources/django/django/conf/locale/eu/__init__.py b/external_sources/django/django/conf/locale/eu/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/eu/formats.py b/external_sources/django/django/conf/locale/eu/formats.py new file mode 100644 index 0000000..61b16fb --- /dev/null +++ b/external_sources/django/django/conf/locale/eu/formats.py @@ -0,0 +1,21 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = r"Y\k\o N j\a" +TIME_FORMAT = "H:i" +DATETIME_FORMAT = r"Y\k\o N j\a, H:i" +YEAR_MONTH_FORMAT = r"Y\k\o F" +MONTH_DAY_FORMAT = r"F\r\e\n j\a" +SHORT_DATE_FORMAT = "Y-m-d" +SHORT_DATETIME_FORMAT = "Y-m-d H:i" +FIRST_DAY_OF_WEEK = 1 # Astelehena + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "." +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/fa/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/fa/LC_MESSAGES/django.po new file mode 100644 index 0000000..440cf8e --- /dev/null +++ b/external_sources/django/django/conf/locale/fa/LC_MESSAGES/django.po @@ -0,0 +1,1343 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Ahmad Hosseini , 2020 +# alirezamastery , 2021 +# ali salehi, 2023 +# Ali Vakilzade , 2015 +# Arash Fazeli , 2012 +# Eric Hamiter , 2019 +# Eshagh , 2022 +# Farshad Asadpour, 2021 +# Jannis Leidel , 2011 +# Mariusz Felisiak , 2021 +# Mazdak Badakhshan , 2014 +# Milad Hazrati , 2019 +# MJafar Mashhadi , 2018 +# Mohammad Hossein Mojtahedi , 2013,2019 +# Pouya Abbassi, 2016 +# Pouya Abbassi, 2016 +# rahim agh , 2020-2021 +# Reza Mohammadi , 2013-2016 +# Saeed , 2011 +# Sina Cheraghi , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 11:41-0300\n" +"PO-Revision-Date: 2023-12-04 06:49+0000\n" +"Last-Translator: ali salehi, 2023\n" +"Language-Team: Persian (http://app.transifex.com/django/django/language/" +"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" + +msgid "Afrikaans" +msgstr "آفریکانس" + +msgid "Arabic" +msgstr "عربی" + +msgid "Algerian Arabic" +msgstr "عربی الجزایری" + +msgid "Asturian" +msgstr "آستوری" + +msgid "Azerbaijani" +msgstr "آذربایجانی" + +msgid "Bulgarian" +msgstr "بلغاری" + +msgid "Belarusian" +msgstr "بلاروس" + +msgid "Bengali" +msgstr "بنگالی" + +msgid "Breton" +msgstr "برتون" + +msgid "Bosnian" +msgstr "بوسنیایی" + +msgid "Catalan" +msgstr "کاتالونیایی" + +msgid "Central Kurdish (Sorani)" +msgstr "" + +msgid "Czech" +msgstr "چکی" + +msgid "Welsh" +msgstr "ویلزی" + +msgid "Danish" +msgstr "دانمارکی" + +msgid "German" +msgstr "آلمانی" + +msgid "Lower Sorbian" +msgstr "صربستانی پایین" + +msgid "Greek" +msgstr "یونانی" + +msgid "English" +msgstr "انگلیسی" + +msgid "Australian English" +msgstr "انگلیسی استرالیایی" + +msgid "British English" +msgstr "انگلیسی بریتیش" + +msgid "Esperanto" +msgstr "اسپرانتو" + +msgid "Spanish" +msgstr "اسپانیایی" + +msgid "Argentinian Spanish" +msgstr "اسپانیایی آرژانتینی" + +msgid "Colombian Spanish" +msgstr "اسپانیایی کلمبیایی" + +msgid "Mexican Spanish" +msgstr "اسپانیولی مکزیکی" + +msgid "Nicaraguan Spanish" +msgstr "نیکاراگوئه اسپانیایی" + +msgid "Venezuelan Spanish" +msgstr "ونزوئلا اسپانیایی" + +msgid "Estonian" +msgstr "استونی" + +msgid "Basque" +msgstr "باسکی" + +msgid "Persian" +msgstr "فارسی" + +msgid "Finnish" +msgstr "فنلاندی" + +msgid "French" +msgstr "فرانسوی" + +msgid "Frisian" +msgstr "فریزی" + +msgid "Irish" +msgstr "ایرلندی" + +msgid "Scottish Gaelic" +msgstr "گیلیک اسکاتلندی" + +msgid "Galician" +msgstr "گالیسیایی" + +msgid "Hebrew" +msgstr "عبری" + +msgid "Hindi" +msgstr "هندی" + +msgid "Croatian" +msgstr "کرواتی" + +msgid "Upper Sorbian" +msgstr "صربستانی بالا" + +msgid "Hungarian" +msgstr "مجاری" + +msgid "Armenian" +msgstr "ارمنی" + +msgid "Interlingua" +msgstr "اینترلینگوا" + +msgid "Indonesian" +msgstr "اندونزیایی" + +msgid "Igbo" +msgstr "ایگبو" + +msgid "Ido" +msgstr "ایدو" + +msgid "Icelandic" +msgstr "ایسلندی" + +msgid "Italian" +msgstr "ایتالیایی" + +msgid "Japanese" +msgstr "ژاپنی" + +msgid "Georgian" +msgstr "گرجی" + +msgid "Kabyle" +msgstr "قبایلی" + +msgid "Kazakh" +msgstr "قزاقستان" + +msgid "Khmer" +msgstr "خمری" + +msgid "Kannada" +msgstr "کناده‌ای" + +msgid "Korean" +msgstr "کره‌ای" + +msgid "Kyrgyz" +msgstr "قرقیزی" + +msgid "Luxembourgish" +msgstr "لوگزامبورگی" + +msgid "Lithuanian" +msgstr "لیتوانی" + +msgid "Latvian" +msgstr "لتونیایی" + +msgid "Macedonian" +msgstr "مقدونی" + +msgid "Malayalam" +msgstr "مالایایی" + +msgid "Mongolian" +msgstr "مغولی" + +msgid "Marathi" +msgstr "مِراتی" + +msgid "Malay" +msgstr "Malay" + +msgid "Burmese" +msgstr "برمه‌ای" + +msgid "Norwegian Bokmål" +msgstr "نروژی" + +msgid "Nepali" +msgstr "نپالی" + +msgid "Dutch" +msgstr "هلندی" + +msgid "Norwegian Nynorsk" +msgstr "نروژی Nynorsk" + +msgid "Ossetic" +msgstr "آسی" + +msgid "Punjabi" +msgstr "پنجابی" + +msgid "Polish" +msgstr "لهستانی" + +msgid "Portuguese" +msgstr "پرتغالی" + +msgid "Brazilian Portuguese" +msgstr "پرتغالیِ برزیل" + +msgid "Romanian" +msgstr "رومانی" + +msgid "Russian" +msgstr "روسی" + +msgid "Slovak" +msgstr "اسلواکی" + +msgid "Slovenian" +msgstr "اسلووِنی" + +msgid "Albanian" +msgstr "آلبانیایی" + +msgid "Serbian" +msgstr "صربی" + +msgid "Serbian Latin" +msgstr "صربی لاتین" + +msgid "Swedish" +msgstr "سوئدی" + +msgid "Swahili" +msgstr "سواحیلی" + +msgid "Tamil" +msgstr "تامیلی" + +msgid "Telugu" +msgstr "تلوگویی" + +msgid "Tajik" +msgstr "تاجیک" + +msgid "Thai" +msgstr "تایلندی" + +msgid "Turkmen" +msgstr "ترکمن" + +msgid "Turkish" +msgstr "ترکی" + +msgid "Tatar" +msgstr "تاتار" + +msgid "Udmurt" +msgstr "ادمورت" + +msgid "Uyghur" +msgstr "" + +msgid "Ukrainian" +msgstr "اکراینی" + +msgid "Urdu" +msgstr "اردو" + +msgid "Uzbek" +msgstr "ازبکی" + +msgid "Vietnamese" +msgstr "ویتنامی" + +msgid "Simplified Chinese" +msgstr "چینی ساده‌شده" + +msgid "Traditional Chinese" +msgstr "چینی سنتی" + +msgid "Messages" +msgstr "پیغام‌ها" + +msgid "Site Maps" +msgstr "نقشه‌های وب‌گاه" + +msgid "Static Files" +msgstr "پرونده‌های استاتیک" + +msgid "Syndication" +msgstr "پیوند" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "شمارهٔ صفحه یک عدد طبیعی نیست" + +msgid "That page number is less than 1" +msgstr "شمارهٔ صفحه کوچکتر از ۱ است" + +msgid "That page contains no results" +msgstr "این صفحه خالی از اطلاعات است" + +msgid "Enter a valid value." +msgstr "یک مقدار معتبر وارد کنید." + +msgid "Enter a valid URL." +msgstr "یک نشانی اینترنتی معتبر وارد کنید." + +msgid "Enter a valid integer." +msgstr "یک عدد معتبر وارد کنید." + +msgid "Enter a valid email address." +msgstr "یک ایمیل آدرس معتبر وارد کنید." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"یک \"اسلاگ\" معتبر متشکل از حروف، اعداد، خط زیر یا خط فاصله، وارد کنید. " + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"یک \"اسلاگ\" معتبر وارد کنید که شامل حروف یونیکد، اعداد، خط زیر یا خط فاصله " +"باشد." + +msgid "Enter a valid IPv4 address." +msgstr "یک نشانی IPv4 معتبر وارد کنید." + +msgid "Enter a valid IPv6 address." +msgstr "یک آدرس معتبر IPv6 وارد کنید." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "IPv4 یا IPv6 آدرس معتبر وارد کنید." + +msgid "Enter only digits separated by commas." +msgstr "فقط ارقام جدا شده با کاما وارد کنید." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "مطمئن شوید مقدار %(limit_value)s است. (اکنون %(show_value)s می باشد)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "مطمئن شوید این مقدار کوچکتر و یا مساوی %(limit_value)s است." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "مطمئن شوید این مقدار بزرگتر و یا مساوی %(limit_value)s است." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "" + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"طول این مقدار باید حداقل %(limit_value)d کاراکتر باشد (طولش %(show_value)d " +"است)." +msgstr[1] "" +"طول این مقدار باید حداقل %(limit_value)d کاراکتر باشد (طولش %(show_value)d " +"است)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"طول این مقدار باید حداکثر %(limit_value)d کاراکتر باشد (طولش %(show_value)d " +"است)." +msgstr[1] "" +"طول این مقدار باید حداکثر %(limit_value)d کاراکتر باشد (طولش %(show_value)d " +"است)." + +msgid "Enter a number." +msgstr "یک عدد وارد کنید." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "نباید در مجموع بیش از %(max)s رقم داشته باشد." +msgstr[1] "نباید در مجموع بیش از %(max)s رقم داشته باشد." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "نباید بیش از %(max)s رقم اعشار داشته باشد." +msgstr[1] "نباید بیش از %(max)s رقم اعشار داشته باشد." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "نباید بیش از %(max)s رقم قبل ممیز داشته باشد." +msgstr[1] "نباید بیش از %(max)s رقم قبل ممیز داشته باشد." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"استفاده از پرونده با پسوند '%(extension)s' مجاز نیست. پسوند‌های مجاز عبارتند " +"از: '%(allowed_extensions)s'" + +msgid "Null characters are not allowed." +msgstr "کاراکترهای تهی مجاز نیستند." + +msgid "and" +msgstr "و" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "‏%(model_name)s با این %(field_labels)s وجود دارد." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "مقدار %(value)r انتخاب معتبری نیست. " + +msgid "This field cannot be null." +msgstr "این فیلد نمی تواند پوچ باشد." + +msgid "This field cannot be blank." +msgstr "این فیلد نمی تواند خالی باشد." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s با این %(field_label)s از قبل موجود است." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"‏%(field_label)s باید برای %(lookup_type)s %(date_field_label)s یکتا باشد." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "فیلد با نوع: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "مقدار «%(value)s» باید True یا False باشد." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "مقدار «%(value)s» باید True یا False یا None باشد." + +msgid "Boolean (Either True or False)" +msgstr "بولی (درست یا غلط)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "رشته (تا %(max_length)s)" + +msgid "String (unlimited)" +msgstr "رشته (بی نهایت)" + +msgid "Comma-separated integers" +msgstr "اعداد صحیح جدا-شده با ویلگول" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"مقدار «%(value)s» در قالب نادرستی وارد شده است. تاریخ باید در قالب YYYY-MM-" +"DD باشد." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"مقدار تاریخ «%(value)s» با اینکه در قالب درستی (YYYY-MM-DD) است ولی تاریخ " +"ناممکنی را نشان می‌دهد." + +msgid "Date (without time)" +msgstr "تاریخ (بدون زمان)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"مقدار \"%(value)s\" یک قالب نامعتبر دارد. باید در قالب YYYY-MM-DD HH:MM[:" +"ss[.uuuuuu]][TZ] باشد." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"مقدار \"%(value)s\" یک قالب معتبر دارد (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]) " +"اما یک تاریخ/زمان نامعتبر است." + +msgid "Date (with time)" +msgstr "تاریخ (با زمان)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "مقدار '%(value)s' باید عدد دسیمال باشد." + +msgid "Decimal number" +msgstr "عدد دهدهی" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"مقدار «%(value)s» در قالب نادرستی وارد شده است. باید در قالب ‎[DD] [HH:" +"[MM:]]ss[.uuuuuu]‎ باشد." + +msgid "Duration" +msgstr "بازهٔ زمانی" + +msgid "Email address" +msgstr "نشانی پست الکترونیکی" + +msgid "File path" +msgstr "مسیر پرونده" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "مقدار «%(value)s» باید عدد اعشاری فلوت باشد." + +msgid "Floating point number" +msgstr "عدد اعشاری" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "مقدار «%(value)s» باید عدد حقیقی باشد." + +msgid "Integer" +msgstr "عدد صحیح" + +msgid "Big (8 byte) integer" +msgstr "بزرگ (8 بایت) عدد صحیح" + +msgid "Small integer" +msgstr "عدد صحیح کوچک" + +msgid "IPv4 address" +msgstr "IPv4 آدرس" + +msgid "IP address" +msgstr "نشانی IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "مقدار «%(value)s» باید True یا False یا None باشد." + +msgid "Boolean (Either True, False or None)" +msgstr "‌بولی (درست، نادرست یا پوچ)" + +msgid "Positive big integer" +msgstr "عدد صحیح مثبت" + +msgid "Positive integer" +msgstr "عدد صحیح مثبت" + +msgid "Positive small integer" +msgstr "مثبت عدد صحیح کوچک" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "تیتر (حداکثر %(max_length)s)" + +msgid "Text" +msgstr "متن" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"مقدار «%(value)s» در قالب نادرستی وارد شده است. باید در قالب HH:MM[:ss[." +"uuuuuu]]‎ باشد." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"مقدار «%(value)s» با اینکه در قالب درستی (HH:MM[:ss[.uuuuuu]]‎) است ولی زمان " +"ناممکنی را نشان می‌دهد." + +msgid "Time" +msgstr "زمان" + +msgid "URL" +msgstr "نشانی اینترنتی" + +msgid "Raw binary data" +msgstr "دادهٔ دودویی خام" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "\"%(value)s\" یک UUID معتبر نیست." + +msgid "Universally unique identifier" +msgstr "شناسه منحصر به فرد سراسری" + +msgid "File" +msgstr "پرونده" + +msgid "Image" +msgstr "تصویر" + +msgid "A JSON object" +msgstr "یک شیء JSON" + +msgid "Value must be valid JSON." +msgstr "مقدار، باید یک JSON معتبر باشد." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "%(model)s با %(field)s %(value)r وجود ندارد." + +msgid "Foreign Key (type determined by related field)" +msgstr "کلید خارجی ( نوع بر اساس فیلد رابط مشخص میشود )" + +msgid "One-to-one relationship" +msgstr "رابطه یک به یک " + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "رابطه %(from)s به %(to)s" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "روابط %(from)s به %(to)s" + +msgid "Many-to-many relationship" +msgstr "رابطه چند به چند" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":؟.!" + +msgid "This field is required." +msgstr "این فیلد لازم است." + +msgid "Enter a whole number." +msgstr "به طور کامل یک عدد وارد کنید." + +msgid "Enter a valid date." +msgstr "یک تاریخ معتبر وارد کنید." + +msgid "Enter a valid time." +msgstr "یک زمان معتبر وارد کنید." + +msgid "Enter a valid date/time." +msgstr "یک تاریخ/زمان معتبر وارد کنید." + +msgid "Enter a valid duration." +msgstr "یک بازهٔ زمانی معتبر وارد کنید." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "عدد روز باید بین {min_days} و {max_days} باشد." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "پرونده‌ای ارسال نشده است. نوع کدگذاری فرم را بررسی کنید." + +msgid "No file was submitted." +msgstr "پرونده‌ای ارسال نشده است." + +msgid "The submitted file is empty." +msgstr "پروندهٔ ارسال‌شده خالیست." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"طول عنوان پرونده باید حداقل %(max)d کاراکتر باشد (طولش %(length)d است)." +msgstr[1] "" +"طول عنوان پرونده باید حداقل %(max)d کاراکتر باشد (طولش %(length)d است)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "لطفا یا فایل ارسال کنید یا دکمه پاک کردن را علامت بزنید، نه هردو." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"یک تصویر معتبر بارگذاری کنید. پرونده‌ای که بارگذاری کردید یا تصویر نبوده و یا " +"تصویری مخدوش بوده است." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "یک گزینهٔ معتبر انتخاب کنید. %(value)s از گزینه‌های موجود نیست." + +msgid "Enter a list of values." +msgstr "فهرستی از مقادیر وارد کنید." + +msgid "Enter a complete value." +msgstr "یک مقدار کامل وارد کنید." + +msgid "Enter a valid UUID." +msgstr "یک UUID معتبر وارد کنید." + +msgid "Enter a valid JSON." +msgstr "یک JSON معتبر وارد کنید" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(فیلد پنهان %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"اطلاعات ManagementForm مفقود یا دستکاری شده است. ردیف های مفقود شده: " +"%(field_names)s. اگر این مشکل ادامه داشت، آن را گزارش کنید." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "" +msgstr[1] "" + +msgid "Order" +msgstr "ترتیب:" + +msgid "Delete" +msgstr "حذف" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "لطفا محتوی تکراری برای %(field)s را اصلاح کنید." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "لطفا محتوی تکراری برای %(field)s را که باید یکتا باشد اصلاح کنید." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"لطفا اطلاعات تکراری %(field_name)s را اصلاح کنید که باید در %(lookup)s " +"یکتا باشد %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "لطفا مقدار تکراری را اصلاح کنید." + +msgid "The inline value did not match the parent instance." +msgstr "مقدار درون خطی موجود با نمونه والد آن مطابقت ندارد." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "یک گزینهٔ معتبر انتخاب کنید. آن گزینه از گزینه‌های موجود نیست." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "\"%(pk)s\" یک مقدار معتبر نیست." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)sدر محدوده زمانی %(current_timezone)s، قابل تفسیر نیست؛ ممکن است " +"نامشخص باشد یا اصلاً وجود نداشته باشد." + +msgid "Clear" +msgstr "پاک کردن" + +msgid "Currently" +msgstr "در حال حاضر" + +msgid "Change" +msgstr "تغییر" + +msgid "Unknown" +msgstr "ناشناخته" + +msgid "Yes" +msgstr "بله" + +msgid "No" +msgstr "خیر" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "بله،خیر،شاید" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d بایت" +msgstr[1] "%(size)d بایت" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "ب.ظ." + +msgid "a.m." +msgstr "صبح" + +msgid "PM" +msgstr "بعد از ظهر" + +msgid "AM" +msgstr "صبح" + +msgid "midnight" +msgstr "نیمه شب" + +msgid "noon" +msgstr "ظهر" + +msgid "Monday" +msgstr "دوشنبه" + +msgid "Tuesday" +msgstr "سه شنبه" + +msgid "Wednesday" +msgstr "چهارشنبه" + +msgid "Thursday" +msgstr "پنجشنبه" + +msgid "Friday" +msgstr "جمعه" + +msgid "Saturday" +msgstr "شنبه" + +msgid "Sunday" +msgstr "یکشنبه" + +msgid "Mon" +msgstr "دوشنبه" + +msgid "Tue" +msgstr "سه‌شنبه" + +msgid "Wed" +msgstr "چهارشنبه" + +msgid "Thu" +msgstr "پنجشنبه" + +msgid "Fri" +msgstr "جمعه" + +msgid "Sat" +msgstr "شنبه" + +msgid "Sun" +msgstr "یکشنبه" + +msgid "January" +msgstr "ژانویه" + +msgid "February" +msgstr "فوریه" + +msgid "March" +msgstr "مارس" + +msgid "April" +msgstr "آوریل" + +msgid "May" +msgstr "مه" + +msgid "June" +msgstr "ژوئن" + +msgid "July" +msgstr "ژوئیه" + +msgid "August" +msgstr "اوت" + +msgid "September" +msgstr "سپتامبر" + +msgid "October" +msgstr "اکتبر" + +msgid "November" +msgstr "نوامبر" + +msgid "December" +msgstr "دسامبر" + +msgid "jan" +msgstr "ژانویه" + +msgid "feb" +msgstr "فوریه" + +msgid "mar" +msgstr "مارس" + +msgid "apr" +msgstr "آوریل" + +msgid "may" +msgstr "مه" + +msgid "jun" +msgstr "ژوئن" + +msgid "jul" +msgstr "ژوئیه" + +msgid "aug" +msgstr "اوت" + +msgid "sep" +msgstr "سپتامبر" + +msgid "oct" +msgstr "اکتبر" + +msgid "nov" +msgstr "نوامبر" + +msgid "dec" +msgstr "دسامبر" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "ژانویه" + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "فوریه" + +msgctxt "abbrev. month" +msgid "March" +msgstr "مارس" + +msgctxt "abbrev. month" +msgid "April" +msgstr "آوریل" + +msgctxt "abbrev. month" +msgid "May" +msgstr "مه" + +msgctxt "abbrev. month" +msgid "June" +msgstr "ژوئن" + +msgctxt "abbrev. month" +msgid "July" +msgstr "جولای" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "اوت" + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "سپتامبر" + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "اکتبر" + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "نوامبر" + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "دسامبر" + +msgctxt "alt. month" +msgid "January" +msgstr "ژانویه" + +msgctxt "alt. month" +msgid "February" +msgstr "فوریه" + +msgctxt "alt. month" +msgid "March" +msgstr "مارس" + +msgctxt "alt. month" +msgid "April" +msgstr "آوریل" + +msgctxt "alt. month" +msgid "May" +msgstr "مه" + +msgctxt "alt. month" +msgid "June" +msgstr "ژوئن" + +msgctxt "alt. month" +msgid "July" +msgstr "جولای" + +msgctxt "alt. month" +msgid "August" +msgstr "اوت" + +msgctxt "alt. month" +msgid "September" +msgstr "سپتامبر" + +msgctxt "alt. month" +msgid "October" +msgstr "اکتبر" + +msgctxt "alt. month" +msgid "November" +msgstr "نوامبر" + +msgctxt "alt. month" +msgid "December" +msgstr "دسامبر" + +msgid "This is not a valid IPv6 address." +msgstr "این مقدار آدرس IPv6 معتبری نیست." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "یا" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr "،" + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d سال" +msgstr[1] "%(num)d سال" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d ماه" +msgstr[1] "%(num)d ماه" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d هفته" +msgstr[1] "%(num)d هفته" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d روز" +msgstr[1] "%(num)d روز" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d ساعت" +msgstr[1] "%(num)d ساعت" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d دقیقه" +msgstr[1] "%(num)d دقیقه" + +msgid "Forbidden" +msgstr "ممنوع" + +msgid "CSRF verification failed. Request aborted." +msgstr "‏CSRF تأیید نشد. درخواست لغو شد." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"شما این پیغام را مشاهده میکنید برای اینکه این HTTPS site نیازمند یک " +"\"Referer header\" برای ارسال توسط مرورگر شما دارد،‌اما مقداری ارسال " +"نمیشود . این هدر الزامی میباشد برای امنیت ، در واقع برای اینکه مرورگر شما " +"مطمین شود hijack به عنوان نفر سوم (third parties) در میان نیست" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"اگر در مرورگر خود سر تیتر \"Referer\" را غیرفعال کرده‌اید، لطفاً آن را فعال " +"کنید، یا حداقل برای این وب‌گاه یا برای ارتباطات HTTPS و یا برای درخواست‌های " +"\"Same-origin\" فعال کنید." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"اگر شما از تگ استفاده " +"می‌کنید یا سر تیتر \"Referrer-Policy: no-referrer\" را اضافه کرده‌اید، لطفاً " +"آن را حذف کنید. محافظ CSRF به سرتیتر \"Referer\" نیاز دارد تا بتواند بررسی " +"سخت‌گیرانه ارجاع دهنده را انجام دهد. اگر ملاحظاتی در مورد حریم خصوصی دارید از " +"روش‎‌های جایگزین مانند برای ارجاع دادن به وب‌گاه‌های " +"شخص ثالث استفاده کنید." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"شما این پیام را میبینید چون این سایت نیازمند کوکی «جعل درخواست میان وبگاهی " +"(CSRF)» است. این کوکی برای امنیت شما ضروری است. با این کوکی می‌توانیم از " +"اینکه شخص ثالثی کنترل مرورگرتان را به دست نگرفته است اطمینان پیدا کنیم." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"اگر مرورگر خود را تنظیم کرده‌اید که کوکی غیرفعال باشد، لطفاً مجدداً آن را فعال " +"کنید؛ حداقل برای این وب‌گاه یا برای درخواست‌های \"same-origin\"." + +msgid "More information is available with DEBUG=True." +msgstr "اطلاعات بیشتر با DEBUG=True ارائه خواهد شد." + +msgid "No year specified" +msgstr "هیچ سالی مشخص نشده است" + +msgid "Date out of range" +msgstr "تاریخ غیرمجاز است" + +msgid "No month specified" +msgstr "هیچ ماهی مشخص نشده است" + +msgid "No day specified" +msgstr "هیچ روزی مشخص نشده است" + +msgid "No week specified" +msgstr "هیچ هفته‌ای مشخص نشده است" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "هیچ %(verbose_name_plural)s موجود نیست" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"آینده %(verbose_name_plural)s امکان پذیر نیست زیرا مقدار %(class_name)s." +"allow_future برابر False تنظیم شده است." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "نوشته تاریخ \"%(datestr)s\" در قالب \"%(format)s\" نامعتبر است" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "هیچ %(verbose_name)s ای مطابق جستجو پیدا نشد." + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "صفحه \"آخرین\" نیست یا شماره صفحه قابل ترجمه به یک عدد صحیح نیست." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "صفحه‌ی اشتباه (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "لیست خالی و \"%(class_name)s.allow_empty\" برابر False است." + +msgid "Directory indexes are not allowed here." +msgstr "شاخص دایرکتوری اینجا قابل قبول نیست." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "\"%(path)s\" وجود ندارد " + +#, python-format +msgid "Index of %(directory)s" +msgstr "فهرست %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "نصب درست کار کرد. تبریک می گویم!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"نمایش release notes برای نسخه %(version)s " +"جنگو" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"شما این صفحه را به این دلیل مشاهده می کنید که DEBUG=True در فایل تنظیمات شما وجود دارد و شما هیچ URL " +"تنظیم نکرده اید." + +msgid "Django Documentation" +msgstr "مستندات جنگو" + +msgid "Topics, references, & how-to’s" +msgstr "سرفصل‌ها، منابع و دستورالعمل‌ها" + +msgid "Tutorial: A Polling App" +msgstr "آموزش گام به گام: برنامکی برای رأی‌گیری" + +msgid "Get started with Django" +msgstr "شروع به کار با جنگو" + +msgid "Django Community" +msgstr "جامعهٔ جنگو" + +msgid "Connect, get help, or contribute" +msgstr "متصل شوید، کمک بگیرید یا مشارکت کنید" diff --git a/external_sources/django/django/conf/locale/fa/__init__.py b/external_sources/django/django/conf/locale/fa/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/fa/formats.py b/external_sources/django/django/conf/locale/fa/formats.py new file mode 100644 index 0000000..e7019bc --- /dev/null +++ b/external_sources/django/django/conf/locale/fa/formats.py @@ -0,0 +1,21 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j F Y" +TIME_FORMAT = "G:i" +DATETIME_FORMAT = "j F Y، ساعت G:i" +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "Y/n/j" +SHORT_DATETIME_FORMAT = "Y/n/j،‏ G:i" +FIRST_DAY_OF_WEEK = 6 + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = "." +THOUSAND_SEPARATOR = "," +# NUMBER_GROUPING = diff --git a/external_sources/django/django/conf/locale/fi/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/fi/LC_MESSAGES/django.po new file mode 100644 index 0000000..afea426 --- /dev/null +++ b/external_sources/django/django/conf/locale/fi/LC_MESSAGES/django.po @@ -0,0 +1,1332 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Aarni Koskela, 2015,2017-2018,2020-2022 +# Antti Kaihola , 2011 +# Jannis Leidel , 2011 +# Jiri Grönroos , 2021,2023 +# Lasse Liehu , 2015 +# Mika Mäkelä , 2018 +# Klaus Dahlén, 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 11:41-0300\n" +"PO-Revision-Date: 2023-12-04 06:49+0000\n" +"Last-Translator: Jiri Grönroos , 2021,2023\n" +"Language-Team: Finnish (http://app.transifex.com/django/django/language/" +"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" + +msgid "Afrikaans" +msgstr "afrikaans" + +msgid "Arabic" +msgstr "arabia" + +msgid "Algerian Arabic" +msgstr "Algerian arabia" + +msgid "Asturian" +msgstr "asturian kieli" + +msgid "Azerbaijani" +msgstr "azeri" + +msgid "Bulgarian" +msgstr "bulgaria" + +msgid "Belarusian" +msgstr "valkovenäjän kieli" + +msgid "Bengali" +msgstr "bengali" + +msgid "Breton" +msgstr "bretoni" + +msgid "Bosnian" +msgstr "bosnia" + +msgid "Catalan" +msgstr "katalaani" + +msgid "Central Kurdish (Sorani)" +msgstr "" + +msgid "Czech" +msgstr "tšekki" + +msgid "Welsh" +msgstr "wales" + +msgid "Danish" +msgstr "tanska" + +msgid "German" +msgstr "saksa" + +msgid "Lower Sorbian" +msgstr "Alasorbi" + +msgid "Greek" +msgstr "kreikka" + +msgid "English" +msgstr "englanti" + +msgid "Australian English" +msgstr "australianenglanti" + +msgid "British English" +msgstr "brittienglanti" + +msgid "Esperanto" +msgstr "esperanto" + +msgid "Spanish" +msgstr "espanja" + +msgid "Argentinian Spanish" +msgstr "Argentiinan espanja" + +msgid "Colombian Spanish" +msgstr "Kolumbian espanja" + +msgid "Mexican Spanish" +msgstr "Meksikon espanja" + +msgid "Nicaraguan Spanish" +msgstr "Nicaraguan espanja" + +msgid "Venezuelan Spanish" +msgstr "Venezuelan espanja" + +msgid "Estonian" +msgstr "viro" + +msgid "Basque" +msgstr "baski" + +msgid "Persian" +msgstr "persia" + +msgid "Finnish" +msgstr "suomi" + +msgid "French" +msgstr "ranska" + +msgid "Frisian" +msgstr "friisi" + +msgid "Irish" +msgstr "irlanti" + +msgid "Scottish Gaelic" +msgstr "skottilainen gaeli" + +msgid "Galician" +msgstr "galicia" + +msgid "Hebrew" +msgstr "heprea" + +msgid "Hindi" +msgstr "hindi" + +msgid "Croatian" +msgstr "kroatia" + +msgid "Upper Sorbian" +msgstr "Yläsorbi" + +msgid "Hungarian" +msgstr "unkari" + +msgid "Armenian" +msgstr "armenian kieli" + +msgid "Interlingua" +msgstr "interlingua" + +msgid "Indonesian" +msgstr "indonesia" + +msgid "Igbo" +msgstr "igbo" + +msgid "Ido" +msgstr "ido" + +msgid "Icelandic" +msgstr "islanti" + +msgid "Italian" +msgstr "italia" + +msgid "Japanese" +msgstr "japani" + +msgid "Georgian" +msgstr "georgia" + +msgid "Kabyle" +msgstr "Kabyle" + +msgid "Kazakh" +msgstr "kazakin kieli" + +msgid "Khmer" +msgstr "khmerin kieli" + +msgid "Kannada" +msgstr "kannada" + +msgid "Korean" +msgstr "korea" + +msgid "Kyrgyz" +msgstr "kirgiisi" + +msgid "Luxembourgish" +msgstr "luxemburgin kieli" + +msgid "Lithuanian" +msgstr "liettua" + +msgid "Latvian" +msgstr "latvia" + +msgid "Macedonian" +msgstr "makedonia" + +msgid "Malayalam" +msgstr "malajalam" + +msgid "Mongolian" +msgstr "mongolia" + +msgid "Marathi" +msgstr "marathi" + +msgid "Malay" +msgstr "malaiji" + +msgid "Burmese" +msgstr "burman kieli" + +msgid "Norwegian Bokmål" +msgstr "norja (bokmål)" + +msgid "Nepali" +msgstr "nepalin kieli" + +msgid "Dutch" +msgstr "hollanti" + +msgid "Norwegian Nynorsk" +msgstr "norja (uusnorja)" + +msgid "Ossetic" +msgstr "osseetin kieli" + +msgid "Punjabi" +msgstr "punjabin kieli" + +msgid "Polish" +msgstr "puola" + +msgid "Portuguese" +msgstr "portugali" + +msgid "Brazilian Portuguese" +msgstr "brasilian portugali" + +msgid "Romanian" +msgstr "romania" + +msgid "Russian" +msgstr "venäjä" + +msgid "Slovak" +msgstr "slovakia" + +msgid "Slovenian" +msgstr "slovenia" + +msgid "Albanian" +msgstr "albaani" + +msgid "Serbian" +msgstr "serbia" + +msgid "Serbian Latin" +msgstr "serbian latina" + +msgid "Swedish" +msgstr "ruotsi" + +msgid "Swahili" +msgstr "swahili" + +msgid "Tamil" +msgstr "tamili" + +msgid "Telugu" +msgstr "telugu" + +msgid "Tajik" +msgstr "tadžikki" + +msgid "Thai" +msgstr "thain kieli" + +msgid "Turkmen" +msgstr "turkmeeni" + +msgid "Turkish" +msgstr "turkki" + +msgid "Tatar" +msgstr "tataarin kieli" + +msgid "Udmurt" +msgstr "udmurtti" + +msgid "Uyghur" +msgstr "uiguuri" + +msgid "Ukrainian" +msgstr "ukraina" + +msgid "Urdu" +msgstr "urdu" + +msgid "Uzbek" +msgstr "uzbekki" + +msgid "Vietnamese" +msgstr "vietnam" + +msgid "Simplified Chinese" +msgstr "kiina (yksinkertaistettu)" + +msgid "Traditional Chinese" +msgstr "kiina (perinteinen)" + +msgid "Messages" +msgstr "Viestit" + +msgid "Site Maps" +msgstr "Sivukartat" + +msgid "Static Files" +msgstr "Staattiset tiedostot" + +msgid "Syndication" +msgstr "Syndikointi" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "..." + +msgid "That page number is not an integer" +msgstr "Annettu sivunumero ei ole kokonaisluku" + +msgid "That page number is less than 1" +msgstr "Annettu sivunumero on alle 1" + +msgid "That page contains no results" +msgstr "Annetulla sivulla ei ole tuloksia" + +msgid "Enter a valid value." +msgstr "Syötä oikea arvo." + +msgid "Enter a valid URL." +msgstr "Syötä oikea URL-osoite." + +msgid "Enter a valid integer." +msgstr "Syötä kelvollinen kokonaisluku." + +msgid "Enter a valid email address." +msgstr "Syötä kelvollinen sähköpostiosoite." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Anna lyhytnimi joka koostuu vain kirjaimista, numeroista sekä ala- ja " +"tavuviivoista." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Anna lyhytnimi joka koostuu vain Unicode-kirjaimista, numeroista sekä ala- " +"ja tavuviivoista." + +msgid "Enter a valid IPv4 address." +msgstr "Syötä kelvollinen IPv4-osoite." + +msgid "Enter a valid IPv6 address." +msgstr "Syötä kelvollinen IPv6-osoite." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Syötä kelvollinen IPv4- tai IPv6-osoite." + +msgid "Enter only digits separated by commas." +msgstr "Vain pilkulla erotetut numeromerkit kelpaavat tässä." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Tämän arvon on oltava %(limit_value)s (nyt %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Tämän arvon on oltava enintään %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Tämän luvun on oltava vähintään %(limit_value)s." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "Varmista, että arvo on askelkoon %(limit_value)smonikerta. " + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Varmista, että tämä arvo on vähintään %(limit_value)d merkin pituinen (tällä " +"hetkellä %(show_value)d)." +msgstr[1] "" +"Varmista, että tämä arvo on vähintään %(limit_value)d merkkiä pitkä (tällä " +"hetkellä %(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Varmista, että tämä arvo on enintään %(limit_value)d merkin pituinen (tällä " +"hetkellä %(show_value)d)." +msgstr[1] "" +"Varmista, että tämä arvo on enintään %(limit_value)d merkkiä pitkä (tällä " +"hetkellä %(show_value)d)." + +msgid "Enter a number." +msgstr "Syötä luku." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Tässä luvussa voi olla yhteensä enintään %(max)s numero." +msgstr[1] "Tässä luvussa voi olla yhteensä enintään %(max)s numeroa." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Tässä luvussa saa olla enintään %(max)s desimaali." +msgstr[1] "Tässä luvussa saa olla enintään %(max)s desimaalia." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Tässä luvussa saa olla enintään %(max)s numero ennen desimaalipilkkua." +msgstr[1] "" +"Tässä luvussa saa olla enintään %(max)s numeroa ennen desimaalipilkkua." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Pääte \"%(extension)s\" ei ole sallittu. Sallittuja päätteitä ovat " +"\"%(allowed_extensions)s\"." + +msgid "Null characters are not allowed." +msgstr "Tyhjiä merkkejä (null) ei sallita." + +msgid "and" +msgstr "ja" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s jolla on nämä %(field_labels)s on jo olemassa." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "Rajoitetta \"%(name)s\" loukataan." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Arvo %(value)r ei kelpaa." + +msgid "This field cannot be null." +msgstr "Tämän kentän arvo ei voi olla \"null\"." + +msgid "This field cannot be blank." +msgstr "Tämä kenttä ei voi olla tyhjä." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s jolla on tämä %(field_label)s, on jo olemassa." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"\"%(field_label)s\"-kentän on oltava uniikki suhteessa: %(date_field_label)s " +"%(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Kenttä tyyppiä: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "%(value)s-arvo pitää olla joko tosi tai epätosi." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "%(value)s-arvo pitää olla joko tosi, epätosi tai ei mitään." + +msgid "Boolean (Either True or False)" +msgstr "Totuusarvo: joko tosi (True) tai epätosi (False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Merkkijono (enintään %(max_length)s merkkiä)" + +msgid "String (unlimited)" +msgstr "Merkkijono (rajoittamaton)" + +msgid "Comma-separated integers" +msgstr "Pilkulla erotetut kokonaisluvut" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"%(value)s-arvo on väärässä päivämäärämuodossa. Sen tulee olla VVVV-KK-PP -" +"muodossa." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"%(value)s-arvo on oikeassa päivämäärämuodossa (VVVV-KK-PP), muttei ole " +"kelvollinen päivämäärä." + +msgid "Date (without time)" +msgstr "Päivämäärä (ilman kellonaikaa)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"%(value)s-arvon muoto ei kelpaa. Se tulee olla VVVV-KK-PP TT:MM[:ss[.uuuuuu]]" +"[TZ] -muodossa." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"%(value)s-arvon muoto on oikea (VVVV-KK-PP TT:MM[:ss[.uuuuuu]][TZ]), mutta " +"päivämäärä/aika ei ole kelvollinen." + +msgid "Date (with time)" +msgstr "Päivämäärä ja kellonaika" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "%(value)s-arvo tulee olla desimaaliluku." + +msgid "Decimal number" +msgstr "Desimaaliluku" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "%(value)s-arvo pitää olla muodossa [PP] TT:MM[:ss[.uuuuuu]]." + +msgid "Duration" +msgstr "Kesto" + +msgid "Email address" +msgstr "Sähköpostiosoite" + +msgid "File path" +msgstr "Tiedostopolku" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "%(value)s-arvo tulee olla liukuluku." + +msgid "Floating point number" +msgstr "Liukuluku" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "%(value)s-arvo tulee olla kokonaisluku." + +msgid "Integer" +msgstr "Kokonaisluku" + +msgid "Big (8 byte) integer" +msgstr "Suuri (8-tavuinen) kokonaisluku" + +msgid "Small integer" +msgstr "Pieni kokonaisluku" + +msgid "IPv4 address" +msgstr "IPv4-osoite" + +msgid "IP address" +msgstr "IP-osoite" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "%(value)s-arvo tulee olla joko ei mitään, tosi tai epätosi." + +msgid "Boolean (Either True, False or None)" +msgstr "Totuusarvo: joko tosi (True), epätosi (False) tai ei mikään (None)" + +msgid "Positive big integer" +msgstr "Suuri positiivinen kokonaisluku" + +msgid "Positive integer" +msgstr "Positiivinen kokonaisluku" + +msgid "Positive small integer" +msgstr "Pieni positiivinen kokonaisluku" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Lyhytnimi (enintään %(max_length)s merkkiä)" + +msgid "Text" +msgstr "Tekstiä" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "%(value)s-arvo pitää olla muodossa TT:MM[:ss[.uuuuuu]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"%(value)s-arvo on oikeassa muodossa (TT:MM[:ss[.uuuuuu]]), mutta kellonaika " +"ei kelpaa." + +msgid "Time" +msgstr "Kellonaika" + +msgid "URL" +msgstr "URL-osoite" + +msgid "Raw binary data" +msgstr "Raaka binaaridata" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "%(value)s ei ole kelvollinen UUID." + +msgid "Universally unique identifier" +msgstr "UUID-tunnus" + +msgid "File" +msgstr "Tiedosto" + +msgid "Image" +msgstr "Kuva" + +msgid "A JSON object" +msgstr "JSON-tietue" + +msgid "Value must be valid JSON." +msgstr "Arvon pitää olla kelvollista JSONia." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "%(model)s-tietuetta %(field)s-kentällä %(value)r ei ole olemassa." + +msgid "Foreign Key (type determined by related field)" +msgstr "Vierasavain (tyyppi määräytyy liittyvän kentän mukaan)" + +msgid "One-to-one relationship" +msgstr "Yksi-yhteen -relaatio" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s -suhde" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s -suhteet" + +msgid "Many-to-many relationship" +msgstr "Moni-moneen -relaatio" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Tämä kenttä vaaditaan." + +msgid "Enter a whole number." +msgstr "Syötä kokonaisluku." + +msgid "Enter a valid date." +msgstr "Syötä oikea päivämäärä." + +msgid "Enter a valid time." +msgstr "Syötä oikea kellonaika." + +msgid "Enter a valid date/time." +msgstr "Syötä oikea pvm/kellonaika." + +msgid "Enter a valid duration." +msgstr "Syötä oikea kesto." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Päivien määrä täytyy olla välillä {min_days} ja {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Tiedostoa ei lähetetty. Tarkista lomakkeen koodaus (encoding)." + +msgid "No file was submitted." +msgstr "Yhtään tiedostoa ei ole lähetetty." + +msgid "The submitted file is empty." +msgstr "Lähetetty tiedosto on tyhjä." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Varmista, että tämä tiedostonimi on enintään %(max)d merkin pituinen (tällä " +"hetkellä %(length)d)." +msgstr[1] "" +"Varmista, että tämä tiedostonimi on enintään %(max)d merkkiä pitkä (tällä " +"hetkellä %(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Voit joko lähettää tai poistaa tiedoston, muttei kumpaakin samalla." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Kuva ei kelpaa. Lähettämäsi tiedosto ei ole kuva, tai tiedosto on vioittunut." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Valitse oikea vaihtoehto. %(value)s ei ole vaihtoehtojen joukossa." + +msgid "Enter a list of values." +msgstr "Syötä lista." + +msgid "Enter a complete value." +msgstr "Syötä kokonainen arvo." + +msgid "Enter a valid UUID." +msgstr "Syötä oikea UUID." + +msgid "Enter a valid JSON." +msgstr "Syötä oikea JSON-arvo." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Piilokenttä %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"ManagementForm-tiedot puuttuvat tai niitä on muutettu. Puuttuvat kentät ovat " +"%(field_names)s. Jos ongelma toistuu, voi olla että joudut raportoimaan " +"tämän bugina." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Lähetä enintään%(num)d lomake." +msgstr[1] "Lähetä enintään %(num)d lomaketta." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Lähetä vähintään %(num)d lomake." +msgstr[1] "Lähetä vähintään %(num)d lomaketta. " + +msgid "Order" +msgstr "Järjestys" + +msgid "Delete" +msgstr "Poista" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Korjaa kaksoisarvo kentälle %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "Ole hyvä ja korjaa uniikin kentän %(field)s kaksoisarvo." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Korjaa alla olevat kaksoisarvot." + +msgid "The inline value did not match the parent instance." +msgstr "Liittyvä arvo ei vastannut vanhempaa instanssia." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Valitse oikea vaihtoehto. Valintasi ei löydy vaihtoehtojen joukosta." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "\"%(pk)s\" ei ole kelvollinen arvo." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s -arvoa ei pystytty lukemaan aikavyöhykkeellä " +"%(current_timezone)s; se saattaa olla moniarvoinen tai määrittämätön." + +msgid "Clear" +msgstr "Poista" + +msgid "Currently" +msgstr "Tällä hetkellä" + +msgid "Change" +msgstr "Muokkaa" + +msgid "Unknown" +msgstr "Tuntematon" + +msgid "Yes" +msgstr "Kyllä" + +msgid "No" +msgstr "Ei" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "kyllä,ei,ehkä" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d tavu" +msgstr[1] "%(size)d tavua" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "ip" + +msgid "a.m." +msgstr "ap" + +msgid "PM" +msgstr "IP" + +msgid "AM" +msgstr "AP" + +msgid "midnight" +msgstr "keskiyö" + +msgid "noon" +msgstr "keskipäivä" + +msgid "Monday" +msgstr "maanantai" + +msgid "Tuesday" +msgstr "tiistai" + +msgid "Wednesday" +msgstr "keskiviikko" + +msgid "Thursday" +msgstr "torstai" + +msgid "Friday" +msgstr "perjantai" + +msgid "Saturday" +msgstr "lauantai" + +msgid "Sunday" +msgstr "sunnuntai" + +msgid "Mon" +msgstr "ma" + +msgid "Tue" +msgstr "ti" + +msgid "Wed" +msgstr "ke" + +msgid "Thu" +msgstr "to" + +msgid "Fri" +msgstr "pe" + +msgid "Sat" +msgstr "la" + +msgid "Sun" +msgstr "su" + +msgid "January" +msgstr "tammikuu" + +msgid "February" +msgstr "helmikuu" + +msgid "March" +msgstr "maaliskuu" + +msgid "April" +msgstr "huhtikuu" + +msgid "May" +msgstr "toukokuu" + +msgid "June" +msgstr "kesäkuu" + +msgid "July" +msgstr "heinäkuu" + +msgid "August" +msgstr "elokuu" + +msgid "September" +msgstr "syyskuu" + +msgid "October" +msgstr "lokakuu" + +msgid "November" +msgstr "marraskuu" + +msgid "December" +msgstr "joulukuu" + +msgid "jan" +msgstr "tam" + +msgid "feb" +msgstr "hel" + +msgid "mar" +msgstr "maa" + +msgid "apr" +msgstr "huh" + +msgid "may" +msgstr "tou" + +msgid "jun" +msgstr "kes" + +msgid "jul" +msgstr "hei" + +msgid "aug" +msgstr "elo" + +msgid "sep" +msgstr "syy" + +msgid "oct" +msgstr "lok" + +msgid "nov" +msgstr "mar" + +msgid "dec" +msgstr "jou" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "tammi" + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "helmi" + +msgctxt "abbrev. month" +msgid "March" +msgstr "maalis" + +msgctxt "abbrev. month" +msgid "April" +msgstr "huhti" + +msgctxt "abbrev. month" +msgid "May" +msgstr "touko" + +msgctxt "abbrev. month" +msgid "June" +msgstr "kesä" + +msgctxt "abbrev. month" +msgid "July" +msgstr "heinä" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "elo" + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "syys" + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "loka" + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "marras" + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "joulu" + +msgctxt "alt. month" +msgid "January" +msgstr "tammikuuta" + +msgctxt "alt. month" +msgid "February" +msgstr "helmikuuta" + +msgctxt "alt. month" +msgid "March" +msgstr "maaliskuuta" + +msgctxt "alt. month" +msgid "April" +msgstr "huhtikuuta" + +msgctxt "alt. month" +msgid "May" +msgstr "toukokuuta" + +msgctxt "alt. month" +msgid "June" +msgstr "kesäkuuta" + +msgctxt "alt. month" +msgid "July" +msgstr "heinäkuuta" + +msgctxt "alt. month" +msgid "August" +msgstr "elokuuta" + +msgctxt "alt. month" +msgid "September" +msgstr "syyskuuta" + +msgctxt "alt. month" +msgid "October" +msgstr "lokakuuta" + +msgctxt "alt. month" +msgid "November" +msgstr "marraskuuta" + +msgctxt "alt. month" +msgid "December" +msgstr "joulukuuta" + +msgid "This is not a valid IPv6 address." +msgstr "Tämä ei ole kelvollinen IPv6-osoite." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "tai" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d vuosi" +msgstr[1] "%(num)d vuotta" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d kuukausi" +msgstr[1] "%(num)d kuukautta " + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d viikko" +msgstr[1] "%(num)d viikkoa" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d päivä" +msgstr[1] "%(num)d päivää" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d tunti" +msgstr[1] "%(num)d tuntia" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d minuutti" +msgstr[1] "%(num)d minuuttia" + +msgid "Forbidden" +msgstr "Kielletty" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF-vahvistus epäonnistui. Pyyntö hylätty." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Näet tämän viestin, koska tämä HTTPS-sivusto vaatii selaintasi lähettämään " +"Referer-otsakkeen, mutta sitä ei vastaanotettu. Otsake vaaditaan " +"turvallisuussyistä, varmistamaan etteivät kolmannet osapuolet ole ottaneet " +"selaintasi haltuun." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Jos olet konfiguroinut selaimesi olemaan lähettämättä Referer-otsaketta, ole " +"hyvä ja kytke otsake takaisin päälle ainakin tälle sivulle, HTTPS-" +"yhteyksille tai saman lähteen (\"same-origin\") pyynnöille." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Jos käytät -tagia tai " +"\"Referrer-Policy: no-referrer\" -otsaketta, ole hyvä ja poista ne. CSRF-" +"suojaus vaatii Referer-otsakkeen tehdäkseen tarkan referer-tarkistuksen. Jos " +"vaadit yksityisyyttä, käytä vaihtoehtoja kuten linkittääksesi kolmannen osapuolen sivuille." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Näet tämän viestin, koska tämä sivusto vaatii CSRF-evästeen " +"vastaanottaessaan lomaketietoja. Eväste vaaditaan turvallisuussyistä, " +"varmistamaan etteivät kolmannet osapuolet ole ottaneet selaintasi haltuun." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Jos olet konfiguroinut selaimesi olemaan vastaanottamatta tai lähettämättä " +"evästeitä, ole hyvä ja kytke evästeet takaisin päälle ainakin tälle sivulle " +"tai saman lähteen (\"same-origin\") pyynnöille." + +msgid "More information is available with DEBUG=True." +msgstr "Lisätietoja `DEBUG=True`-konfiguraatioasetuksella." + +msgid "No year specified" +msgstr "Vuosi puuttuu" + +msgid "Date out of range" +msgstr "Päivämäärä ei alueella" + +msgid "No month specified" +msgstr "Kuukausi puuttuu" + +msgid "No day specified" +msgstr "Päivä puuttuu" + +msgid "No week specified" +msgstr "Viikko puuttuu" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "%(verbose_name_plural)s: yhtään kohdetta ei löydy" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"%(verbose_name_plural)s: tulevia kohteita ei löydy, koska %(class_name)s." +"allow_future:n arvo on False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "Päivämäärä '%(datestr)s' ei ole muotoa '%(format)s'" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Hakua vastaavaa %(verbose_name)s -kohdetta ei löytynyt" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "Sivunumero ei ole 'last' (viimeinen) eikä näytä luvulta." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Epäkelpo sivu (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Lista on tyhjä, ja '%(class_name)s.allow_empty':n arvo on False." + +msgid "Directory indexes are not allowed here." +msgstr "Hakemistolistauksia ei sallita täällä." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "\"%(path)s\" ei ole olemassa" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Hakemistolistaus: %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "Asennus toimi! Onneksi olkoon!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Katso Djangon version %(version)s julkaisutiedot" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Näet tämän viestin, koska asetuksissasi on DEBUG = True etkä ole konfiguroinut yhtään URL-" +"osoitetta." + +msgid "Django Documentation" +msgstr "Django-dokumentaatio" + +msgid "Topics, references, & how-to’s" +msgstr "Aiheet, viittaukset & how-tot" + +msgid "Tutorial: A Polling App" +msgstr "Tutoriaali: kyselyapplikaatio" + +msgid "Get started with Django" +msgstr "Miten päästä alkuun Djangolla" + +msgid "Django Community" +msgstr "Django-yhteisö" + +msgid "Connect, get help, or contribute" +msgstr "Verkostoidu, saa apua tai jatkokehitä" diff --git a/external_sources/django/django/conf/locale/fi/__init__.py b/external_sources/django/django/conf/locale/fi/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/fi/formats.py b/external_sources/django/django/conf/locale/fi/formats.py new file mode 100644 index 0000000..d9fb6d2 --- /dev/null +++ b/external_sources/django/django/conf/locale/fi/formats.py @@ -0,0 +1,36 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j. E Y" +TIME_FORMAT = "G.i" +DATETIME_FORMAT = r"j. E Y \k\e\l\l\o G.i" +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j. F" +SHORT_DATE_FORMAT = "j.n.Y" +SHORT_DATETIME_FORMAT = "j.n.Y G.i" +FIRST_DAY_OF_WEEK = 1 # Monday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d.%m.%Y", # '20.3.2014' + "%d.%m.%y", # '20.3.14' +] +DATETIME_INPUT_FORMATS = [ + "%d.%m.%Y %H.%M.%S", # '20.3.2014 14.30.59' + "%d.%m.%Y %H.%M.%S.%f", # '20.3.2014 14.30.59.000200' + "%d.%m.%Y %H.%M", # '20.3.2014 14.30' + "%d.%m.%y %H.%M.%S", # '20.3.14 14.30.59' + "%d.%m.%y %H.%M.%S.%f", # '20.3.14 14.30.59.000200' + "%d.%m.%y %H.%M", # '20.3.14 14.30' +] +TIME_INPUT_FORMATS = [ + "%H.%M.%S", # '14.30.59' + "%H.%M.%S.%f", # '14.30.59.000200' + "%H.%M", # '14.30' +] + +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "\xa0" # Non-breaking space +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/fr/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/fr/LC_MESSAGES/django.po new file mode 100644 index 0000000..253672e --- /dev/null +++ b/external_sources/django/django/conf/locale/fr/LC_MESSAGES/django.po @@ -0,0 +1,1394 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Bruno Brouard , 2021 +# Simon Charette , 2012 +# Claude Paroz , 2013-2024 +# Claude Paroz , 2011 +# Jannis Leidel , 2011 +# Jean-Baptiste Mora, 2014 +# Larlet David , 2011 +# Marie-Cécile Gohier , 2014 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-10-07 06:49+0000\n" +"Last-Translator: Claude Paroz , 2013-2024\n" +"Language-Team: French (http://app.transifex.com/django/django/language/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgid "Afrikaans" +msgstr "Afrikaans" + +msgid "Arabic" +msgstr "Arabe" + +msgid "Algerian Arabic" +msgstr "Arabe algérien" + +msgid "Asturian" +msgstr "Asturien" + +msgid "Azerbaijani" +msgstr "Azéri" + +msgid "Bulgarian" +msgstr "Bulgare" + +msgid "Belarusian" +msgstr "Biélorusse" + +msgid "Bengali" +msgstr "Bengali" + +msgid "Breton" +msgstr "Breton" + +msgid "Bosnian" +msgstr "Bosniaque" + +msgid "Catalan" +msgstr "Catalan" + +msgid "Central Kurdish (Sorani)" +msgstr "Kurde central (sorani)" + +msgid "Czech" +msgstr "Tchèque" + +msgid "Welsh" +msgstr "Gallois" + +msgid "Danish" +msgstr "Danois" + +msgid "German" +msgstr "Allemand" + +msgid "Lower Sorbian" +msgstr "Bas-sorabe" + +msgid "Greek" +msgstr "Grec" + +msgid "English" +msgstr "Anglais" + +msgid "Australian English" +msgstr "Anglais australien" + +msgid "British English" +msgstr "Anglais britannique" + +msgid "Esperanto" +msgstr "Espéranto" + +msgid "Spanish" +msgstr "Espagnol" + +msgid "Argentinian Spanish" +msgstr "Espagnol argentin" + +msgid "Colombian Spanish" +msgstr "Espagnol colombien" + +msgid "Mexican Spanish" +msgstr "Espagnol mexicain" + +msgid "Nicaraguan Spanish" +msgstr "Espagnol nicaraguayen" + +msgid "Venezuelan Spanish" +msgstr "Espagnol vénézuélien" + +msgid "Estonian" +msgstr "Estonien" + +msgid "Basque" +msgstr "Basque" + +msgid "Persian" +msgstr "Perse" + +msgid "Finnish" +msgstr "Finlandais" + +msgid "French" +msgstr "Français" + +msgid "Frisian" +msgstr "Frison" + +msgid "Irish" +msgstr "Irlandais" + +msgid "Scottish Gaelic" +msgstr "Gaélique écossais" + +msgid "Galician" +msgstr "Galicien" + +msgid "Hebrew" +msgstr "Hébreu" + +msgid "Hindi" +msgstr "Hindi" + +msgid "Croatian" +msgstr "Croate" + +msgid "Upper Sorbian" +msgstr "Haut-sorabe" + +msgid "Hungarian" +msgstr "Hongrois" + +msgid "Armenian" +msgstr "Arménien" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indonésien" + +msgid "Igbo" +msgstr "Igbo" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Islandais" + +msgid "Italian" +msgstr "Italien" + +msgid "Japanese" +msgstr "Japonais" + +msgid "Georgian" +msgstr "Géorgien" + +msgid "Kabyle" +msgstr "Kabyle" + +msgid "Kazakh" +msgstr "Kazakh" + +msgid "Khmer" +msgstr "Khmer" + +msgid "Kannada" +msgstr "Kannada" + +msgid "Korean" +msgstr "Coréen" + +msgid "Kyrgyz" +msgstr "Kirghiz" + +msgid "Luxembourgish" +msgstr "Luxembourgeois" + +msgid "Lithuanian" +msgstr "Lituanien" + +msgid "Latvian" +msgstr "Letton" + +msgid "Macedonian" +msgstr "Macédonien" + +msgid "Malayalam" +msgstr "Malayalam" + +msgid "Mongolian" +msgstr "Mongole" + +msgid "Marathi" +msgstr "Marathi" + +msgid "Malay" +msgstr "Malais" + +msgid "Burmese" +msgstr "Birman" + +msgid "Norwegian Bokmål" +msgstr "Norvégien bokmål" + +msgid "Nepali" +msgstr "Népalais" + +msgid "Dutch" +msgstr "Néerlandais" + +msgid "Norwegian Nynorsk" +msgstr "Norvégien nynorsk" + +msgid "Ossetic" +msgstr "Ossète" + +msgid "Punjabi" +msgstr "Penjabi" + +msgid "Polish" +msgstr "Polonais" + +msgid "Portuguese" +msgstr "Portugais" + +msgid "Brazilian Portuguese" +msgstr "Portugais brésilien" + +msgid "Romanian" +msgstr "Roumain" + +msgid "Russian" +msgstr "Russe" + +msgid "Slovak" +msgstr "Slovaque" + +msgid "Slovenian" +msgstr "Slovène" + +msgid "Albanian" +msgstr "Albanais" + +msgid "Serbian" +msgstr "Serbe" + +msgid "Serbian Latin" +msgstr "Serbe latin" + +msgid "Swedish" +msgstr "Suédois" + +msgid "Swahili" +msgstr "Swahili" + +msgid "Tamil" +msgstr "Tamoul" + +msgid "Telugu" +msgstr "Télougou" + +msgid "Tajik" +msgstr "Tadjik" + +msgid "Thai" +msgstr "Thaï" + +msgid "Turkmen" +msgstr "Turkmène" + +msgid "Turkish" +msgstr "Turc" + +msgid "Tatar" +msgstr "Tatar" + +msgid "Udmurt" +msgstr "Oudmourte" + +msgid "Uyghur" +msgstr "Ouïghour" + +msgid "Ukrainian" +msgstr "Ukrainien" + +msgid "Urdu" +msgstr "Ourdou" + +msgid "Uzbek" +msgstr "Ouzbek" + +msgid "Vietnamese" +msgstr "Vietnamien" + +msgid "Simplified Chinese" +msgstr "Chinois simplifié" + +msgid "Traditional Chinese" +msgstr "Chinois traditionnel" + +msgid "Messages" +msgstr "Messages" + +msgid "Site Maps" +msgstr "Plans des sites" + +msgid "Static Files" +msgstr "Fichiers statiques" + +msgid "Syndication" +msgstr "Syndication" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "Ce numéro de page n’est pas un nombre entier" + +msgid "That page number is less than 1" +msgstr "Ce numéro de page est plus petit que 1" + +msgid "That page contains no results" +msgstr "Cette page ne contient aucun résultat" + +msgid "Enter a valid value." +msgstr "Saisissez une valeur valide." + +msgid "Enter a valid domain name." +msgstr "Saisissez un nom de domaine valide." + +msgid "Enter a valid URL." +msgstr "Saisissez une URL valide." + +msgid "Enter a valid integer." +msgstr "Saisissez un nombre entier valide." + +msgid "Enter a valid email address." +msgstr "Saisissez une adresse de courriel valide." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Ce champ ne doit contenir que des lettres, des nombres, des tirets bas (_) " +"et des traits d’union." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Ce champ ne doit contenir que des caractères Unicode, des nombres, des " +"tirets bas (_) et des traits d’union." + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "Saisissez une adresse %(protocol)s valide." + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "IPv4 or IPv6" +msgstr "IPv4 ou IPv6" + +msgid "Enter only digits separated by commas." +msgstr "Saisissez uniquement des chiffres séparés par des virgules." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Assurez-vous que cette valeur est %(limit_value)s (actuellement " +"%(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" +"Assurez-vous que cette valeur est inférieure ou égale à %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" +"Assurez-vous que cette valeur est supérieure ou égale à %(limit_value)s." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "" +"Assurez-vous que cette valeur est un multiple de la taille de pas " +"%(limit_value)s." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"Assurez-vous que cette valeur est un multiple de la taille de pas " +"%(limit_value)s, débutant à %(offset)s, par ex. %(offset)s, " +"%(valid_value1)s, %(valid_value2)s, etc." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Assurez-vous que cette valeur comporte au moins %(limit_value)d caractère " +"(actuellement %(show_value)d)." +msgstr[1] "" +"Assurez-vous que cette valeur comporte au moins %(limit_value)d caractères " +"(actuellement %(show_value)d)." +msgstr[2] "" +"Assurez-vous que cette valeur comporte au moins %(limit_value)d caractères " +"(actuellement %(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Assurez-vous que cette valeur comporte au plus %(limit_value)d caractère " +"(actuellement %(show_value)d)." +msgstr[1] "" +"Assurez-vous que cette valeur comporte au plus %(limit_value)d caractères " +"(actuellement %(show_value)d)." +msgstr[2] "" +"Assurez-vous que cette valeur comporte au plus %(limit_value)d caractères " +"(actuellement %(show_value)d)." + +msgid "Enter a number." +msgstr "Saisissez un nombre." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Assurez-vous qu'il n'y a pas plus de %(max)s chiffre au total." +msgstr[1] "Assurez-vous qu’il n’y a pas plus de %(max)s chiffres au total." +msgstr[2] "Assurez-vous qu’il n’y a pas plus de %(max)s chiffres au total." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" +"Assurez-vous qu'il n'y a pas plus de %(max)s chiffre après la virgule." +msgstr[1] "" +"Assurez-vous qu’il n’y a pas plus de %(max)s chiffres après la virgule." +msgstr[2] "" +"Assurez-vous qu’il n’y a pas plus de %(max)s chiffres après la virgule." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Assurez-vous qu'il n'y a pas plus de %(max)s chiffre avant la virgule." +msgstr[1] "" +"Assurez-vous qu’il n’y a pas plus de %(max)s chiffres avant la virgule." +msgstr[2] "" +"Assurez-vous qu’il n’y a pas plus de %(max)s chiffres avant la virgule." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"L'extension de fichier « %(extension)s » n’est pas autorisée. Les extensions " +"autorisées sont : %(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Le caractère nul n’est pas autorisé." + +msgid "and" +msgstr "et" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "Un objet %(model_name)s avec ces champs %(field_labels)s existe déjà." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "La contrainte « %(name)s » n’est pas respectée." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "La valeur « %(value)r » n’est pas un choix valide." + +msgid "This field cannot be null." +msgstr "Ce champ ne peut pas contenir la valeur nulle." + +msgid "This field cannot be blank." +msgstr "Ce champ ne peut pas être vide." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "Un objet %(model_name)s avec ce champ %(field_label)s existe déjà." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s doit être unique pour la partie %(lookup_type)s de " +"%(date_field_label)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Champ de type : %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "La valeur « %(value)s » doit être soit True (vrai), soit False (faux)." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" +"La valeur « %(value)s » doit être True (vrai), False (faux) ou None (vide)." + +msgid "Boolean (Either True or False)" +msgstr "Booléen (soit True (vrai) ou False (faux))" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Chaîne de caractères (jusqu'à %(max_length)s)" + +msgid "String (unlimited)" +msgstr "Chaîne de caractères (illimitée)" + +msgid "Comma-separated integers" +msgstr "Des entiers séparés par une virgule" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"Le format de date de la valeur « %(value)s » n’est pas valide. Le format " +"correct est AAAA-MM-JJ." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"Le format de date de la valeur « %(value)s » est correct (AAAA-MM-JJ), mais " +"la date n’est pas valide." + +msgid "Date (without time)" +msgstr "Date (sans l’heure)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"Le format de la valeur « %(value)s » n’est pas valide. Le format correct est " +"AAAA-MM-JJ HH:MM[:ss[.uuuuuu]][FH]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"Le format de date de la valeur « %(value)s » est correct (AAAA-MM-JJ HH:MM[:" +"ss[.uuuuuu]][FH]), mais la date ou l’heure n’est pas valide." + +msgid "Date (with time)" +msgstr "Date (avec l’heure)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "La valeur « %(value)s » doit être un nombre décimal." + +msgid "Decimal number" +msgstr "Nombre décimal" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"Le format de la valeur « %(value)s » n’est pas valide. Le format correct est " +"[JJ] [[HH:]MM:]ss[.uuuuuu]." + +msgid "Duration" +msgstr "Durée" + +msgid "Email address" +msgstr "Adresse électronique" + +msgid "File path" +msgstr "Chemin vers le fichier" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "La valeur « %(value)s » doit être un nombre à virgule flottante." + +msgid "Floating point number" +msgstr "Nombre à virgule flottante" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "La valeur « %(value)s » doit être un nombre entier." + +msgid "Integer" +msgstr "Entier" + +msgid "Big (8 byte) integer" +msgstr "Grand entier (8 octets)" + +msgid "Small integer" +msgstr "Petit nombre entier" + +msgid "IPv4 address" +msgstr "Adresse IPv4" + +msgid "IP address" +msgstr "Adresse IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" +"La valeur « %(value)s » doit être None (vide), True (vrai) ou False (faux)." + +msgid "Boolean (Either True, False or None)" +msgstr "Booléen (soit None (vide), True (vrai) ou False (faux))" + +msgid "Positive big integer" +msgstr "Grand nombre entier positif" + +msgid "Positive integer" +msgstr "Nombre entier positif" + +msgid "Positive small integer" +msgstr "Petit nombre entier positif" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (jusqu'à %(max_length)s car.)" + +msgid "Text" +msgstr "Texte" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"Le format de la valeur « %(value)s » n’est pas valide. Le format correct est " +"HH:MM[:ss[.uuuuuu]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"Le format de la valeur « %(value)s » est correct (HH:MM[:ss[.uuuuuu]]), mais " +"l’heure n’est pas valide." + +msgid "Time" +msgstr "Heure" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Données binaires brutes" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "La valeur « %(value)s » n’est pas un UUID valide." + +msgid "Universally unique identifier" +msgstr "Identifiant unique universel" + +msgid "File" +msgstr "Fichier" + +msgid "Image" +msgstr "Image" + +msgid "A JSON object" +msgstr "Un objet JSON" + +msgid "Value must be valid JSON." +msgstr "La valeur doit respecter la syntaxe JSON." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "L’instance %(model)s avec %(value)r dans %(field)s n’existe pas." + +msgid "Foreign Key (type determined by related field)" +msgstr "Clé étrangère (type défini par le champ lié)" + +msgid "One-to-one relationship" +msgstr "Relation un à un" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "Relation %(from)s-%(to)s" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "Relations %(from)s-%(to)s" + +msgid "Many-to-many relationship" +msgstr "Relation plusieurs à plusieurs" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Ce champ est obligatoire." + +msgid "Enter a whole number." +msgstr "Saisissez un nombre entier." + +msgid "Enter a valid date." +msgstr "Saisissez une date valide." + +msgid "Enter a valid time." +msgstr "Saisissez une heure valide." + +msgid "Enter a valid date/time." +msgstr "Saisissez une date et une heure valides." + +msgid "Enter a valid duration." +msgstr "Saisissez une durée valide." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Le nombre de jours doit être entre {min_days} et {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"Aucun fichier n’a été soumis. Vérifiez le type d’encodage du formulaire." + +msgid "No file was submitted." +msgstr "Aucun fichier n’a été soumis." + +msgid "The submitted file is empty." +msgstr "Le fichier soumis est vide." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Assurez-vous que ce nom de fichier comporte au plus %(max)d caractère " +"(actuellement %(length)d)." +msgstr[1] "" +"Assurez-vous que ce nom de fichier comporte au plus %(max)d caractères " +"(actuellement %(length)d)." +msgstr[2] "" +"Assurez-vous que ce nom de fichier comporte au plus %(max)d caractères " +"(actuellement %(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Envoyez un fichier ou cochez la case d’effacement, mais pas les deux." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Téléversez une image valide. Le fichier que vous avez transféré n’est pas " +"une image ou bien est corrompu." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Sélectionnez un choix valide. %(value)s n’en fait pas partie." + +msgid "Enter a list of values." +msgstr "Saisissez une liste de valeurs." + +msgid "Enter a complete value." +msgstr "Saisissez une valeur complète." + +msgid "Enter a valid UUID." +msgstr "Saisissez un UUID valide." + +msgid "Enter a valid JSON." +msgstr "Saisissez du contenu JSON valide." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr " :" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(champ masqué %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"Des données du formulaire ManagementForm sont manquantes ou ont été " +"manipulées. Champs manquants : %(field_names)s. Vous pourriez créer un " +"rapport de bogue si le problème persiste." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Veuillez soumettre au plus %(num)d formulaire." +msgstr[1] "Veuillez soumettre au plus %(num)d formulaires." +msgstr[2] "Veuillez soumettre au plus %(num)d formulaires." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Veuillez soumettre au moins %(num)d formulaire." +msgstr[1] "Veuillez soumettre au moins %(num)d formulaires." +msgstr[2] "Veuillez soumettre au moins %(num)d formulaires." + +msgid "Order" +msgstr "Ordre" + +msgid "Delete" +msgstr "Supprimer" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Corrigez les données en double dans %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Corrigez les données en double dans %(field)s qui doit contenir des valeurs " +"uniques." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Corrigez les données en double dans %(field_name)s qui doit contenir des " +"valeurs uniques pour la partie %(lookup)s de %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Corrigez les valeurs en double ci-dessous." + +msgid "The inline value did not match the parent instance." +msgstr "La valeur en ligne ne correspond pas à l’instance parente." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Sélectionnez un choix valide. Ce choix ne fait pas partie de ceux " +"disponibles." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "« %(pk)s » n’est pas une valeur correcte." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"La valeur %(datetime)s n’a pas pu être interprétée dans le fuseau horaire " +"%(current_timezone)s ; elle est peut-être ambigüe ou elle n’existe pas." + +msgid "Clear" +msgstr "Effacer" + +msgid "Currently" +msgstr "Actuellement" + +msgid "Change" +msgstr "Modifier" + +msgid "Unknown" +msgstr "Inconnu" + +msgid "Yes" +msgstr "Oui" + +msgid "No" +msgstr "Non" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "oui,non,peut-être" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d octet" +msgstr[1] "%(size)d octets" +msgstr[2] "%(size)d octets" + +#, python-format +msgid "%s KB" +msgstr "%s Kio" + +#, python-format +msgid "%s MB" +msgstr "%s Mio" + +#, python-format +msgid "%s GB" +msgstr "%s Gio" + +#, python-format +msgid "%s TB" +msgstr "%s Tio" + +#, python-format +msgid "%s PB" +msgstr "%s Pio" + +msgid "p.m." +msgstr "après-midi" + +msgid "a.m." +msgstr "matin" + +msgid "PM" +msgstr "Après-midi" + +msgid "AM" +msgstr "Matin" + +msgid "midnight" +msgstr "minuit" + +msgid "noon" +msgstr "midi" + +msgid "Monday" +msgstr "lundi" + +msgid "Tuesday" +msgstr "mardi" + +msgid "Wednesday" +msgstr "mercredi" + +msgid "Thursday" +msgstr "jeudi" + +msgid "Friday" +msgstr "vendredi" + +msgid "Saturday" +msgstr "samedi" + +msgid "Sunday" +msgstr "dimanche" + +msgid "Mon" +msgstr "lun" + +msgid "Tue" +msgstr "mar" + +msgid "Wed" +msgstr "mer" + +msgid "Thu" +msgstr "jeu" + +msgid "Fri" +msgstr "ven" + +msgid "Sat" +msgstr "sam" + +msgid "Sun" +msgstr "dim" + +msgid "January" +msgstr "janvier" + +msgid "February" +msgstr "février" + +msgid "March" +msgstr "mars" + +msgid "April" +msgstr "avril" + +msgid "May" +msgstr "mai" + +msgid "June" +msgstr "juin" + +msgid "July" +msgstr "juillet" + +msgid "August" +msgstr "août" + +msgid "September" +msgstr "septembre" + +msgid "October" +msgstr "octobre" + +msgid "November" +msgstr "novembre" + +msgid "December" +msgstr "décembre" + +msgid "jan" +msgstr "jan" + +msgid "feb" +msgstr "fév" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "avr" + +msgid "may" +msgstr "mai" + +msgid "jun" +msgstr "jui" + +msgid "jul" +msgstr "jul" + +msgid "aug" +msgstr "aoû" + +msgid "sep" +msgstr "sep" + +msgid "oct" +msgstr "oct" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "déc" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "jan." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "fév." + +msgctxt "abbrev. month" +msgid "March" +msgstr "mars" + +msgctxt "abbrev. month" +msgid "April" +msgstr "avr." + +msgctxt "abbrev. month" +msgid "May" +msgstr "mai" + +msgctxt "abbrev. month" +msgid "June" +msgstr "juin" + +msgctxt "abbrev. month" +msgid "July" +msgstr "juil." + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "août" + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "sept." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "oct." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "déc." + +msgctxt "alt. month" +msgid "January" +msgstr "Janvier" + +msgctxt "alt. month" +msgid "February" +msgstr "Février" + +msgctxt "alt. month" +msgid "March" +msgstr "Mars" + +msgctxt "alt. month" +msgid "April" +msgstr "Avril" + +msgctxt "alt. month" +msgid "May" +msgstr "Mai" + +msgctxt "alt. month" +msgid "June" +msgstr "Juin" + +msgctxt "alt. month" +msgid "July" +msgstr "Juillet" + +msgctxt "alt. month" +msgid "August" +msgstr "Août" + +msgctxt "alt. month" +msgid "September" +msgstr "Septembre" + +msgctxt "alt. month" +msgid "October" +msgstr "Octobre" + +msgctxt "alt. month" +msgid "November" +msgstr "Novembre" + +msgctxt "alt. month" +msgid "December" +msgstr "Décembre" + +msgid "This is not a valid IPv6 address." +msgstr "Ceci n’est pas une adresse IPv6 valide." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "ou" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d année" +msgstr[1] "%(num)d ans" +msgstr[2] "%(num)d ans" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d mois" +msgstr[1] "%(num)d mois" +msgstr[2] "%(num)d mois" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d semaine" +msgstr[1] "%(num)d semaines" +msgstr[2] "%(num)d semaines" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d jour" +msgstr[1] "%(num)d jours" +msgstr[2] "%(num)d jours" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d heure" +msgstr[1] "%(num)d heures" +msgstr[2] "%(num)d heures" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d minute" +msgstr[1] "%(num)d minutes" +msgstr[2] "%(num)d minutes" + +msgid "Forbidden" +msgstr "Interdit" + +msgid "CSRF verification failed. Request aborted." +msgstr "La vérification CSRF a échoué. La requête a été interrompue." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Vous voyez ce message parce que ce site HTTPS exige que le navigateur web " +"envoie un en-tête « Referer », ce qu’il n'a pas fait. Cet en-tête est exigé " +"pour des raisons de sécurité, afin de s’assurer que le navigateur n’ait pas " +"été piraté par un intervenant externe." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Si vous avez désactivé l’envoi des en-têtes « Referer » par votre " +"navigateur, veuillez les réactiver, au moins pour ce site ou pour les " +"connexions HTTPS, ou encore pour les requêtes de même origine (« same-" +"origin »)." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Si vous utilisez la balise " +"ou que vous incluez l’en-tête « Referrer-Policy: no-referrer », il est " +"préférable de les enlever. La protection CSRF exige que l’en-tête " +"``Referer`` effectue un contrôle de référant strict. Si vous vous souciez de " +"la confidentialité, utilisez des alternatives comme " +"pour les liens vers des sites tiers." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Vous voyez ce message parce que ce site exige la présence d’un cookie CSRF " +"lors de l’envoi de formulaires. Ce cookie est nécessaire pour des raisons de " +"sécurité, afin de s’assurer que le navigateur n’ait pas été piraté par un " +"intervenant externe." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Si vous avez désactivé l’envoi des cookies par votre navigateur, veuillez " +"les réactiver au moins pour ce site ou pour les requêtes de même origine " +"(« same-origin »)." + +msgid "More information is available with DEBUG=True." +msgstr "" +"Des informations plus détaillées sont affichées lorsque la variable DEBUG " +"vaut True." + +msgid "No year specified" +msgstr "Aucune année indiquée" + +msgid "Date out of range" +msgstr "Date hors limites" + +msgid "No month specified" +msgstr "Aucun mois indiqué" + +msgid "No day specified" +msgstr "Aucun jour indiqué" + +msgid "No week specified" +msgstr "Aucune semaine indiquée" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Pas de %(verbose_name_plural)s disponible" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Pas de %(verbose_name_plural)s disponible dans le futur car %(class_name)s." +"allow_future est faux (False)." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" +"Le format « %(format)s » appliqué à la chaîne date « %(datestr)s » n’est pas " +"valide" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Aucun objet %(verbose_name)s trouvé en réponse à la requête" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" +"La page n’est pas la « dernière », elle ne peut pas non plus être convertie " +"en nombre entier." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Page non valide (%(page_number)s) : %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Liste vide et « %(class_name)s.allow_empty » est faux (False)." + +msgid "Directory indexes are not allowed here." +msgstr "Il n’est pas autorisé d’afficher le contenu de ce répertoire." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "« %(path)s » n’existe pas" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Index de %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "L’installation s’est déroulée avec succès. Félicitations !" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Afficher les notes de publication de " +"Django %(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Vous voyez cette page parce que votre fichier de réglages contient DEBUG=True et que vous n’avez pas " +"encore configuré d’URL." + +msgid "Django Documentation" +msgstr "Documentation de Django" + +msgid "Topics, references, & how-to’s" +msgstr "Thématiques, références et guides pratiques" + +msgid "Tutorial: A Polling App" +msgstr "Tutoriel : une application de sondage" + +msgid "Get started with Django" +msgstr "Premiers pas avec Django" + +msgid "Django Community" +msgstr "Communauté Django" + +msgid "Connect, get help, or contribute" +msgstr "Se connecter, obtenir de l’aide ou contribuer" diff --git a/external_sources/django/django/conf/locale/fr/__init__.py b/external_sources/django/django/conf/locale/fr/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/fr/formats.py b/external_sources/django/django/conf/locale/fr/formats.py new file mode 100644 index 0000000..338d8ad --- /dev/null +++ b/external_sources/django/django/conf/locale/fr/formats.py @@ -0,0 +1,27 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j F Y" +TIME_FORMAT = "H:i" +DATETIME_FORMAT = "j F Y H:i" +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "d/m/Y" +SHORT_DATETIME_FORMAT = "d/m/Y H:i" +FIRST_DAY_OF_WEEK = 1 # Monday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d/%m/%Y", # '25/10/2006' + "%d/%m/%y", # '25/10/06' +] +DATETIME_INPUT_FORMATS = [ + "%d/%m/%Y %H:%M:%S", # '25/10/2006 14:30:59' + "%d/%m/%Y %H:%M:%S.%f", # '25/10/2006 14:30:59.000200' + "%d/%m/%Y %H:%M", # '25/10/2006 14:30' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "\xa0" # non-breaking space +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/fr_BE/__init__.py b/external_sources/django/django/conf/locale/fr_BE/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/fr_BE/formats.py b/external_sources/django/django/conf/locale/fr_BE/formats.py new file mode 100644 index 0000000..84f0657 --- /dev/null +++ b/external_sources/django/django/conf/locale/fr_BE/formats.py @@ -0,0 +1,32 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j F Y" +TIME_FORMAT = "H:i" +DATETIME_FORMAT = "j F Y H:i" +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "d.m.Y" +SHORT_DATETIME_FORMAT = "d.m.Y H:i" +FIRST_DAY_OF_WEEK = 1 # Monday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d.%m.%Y", # '25.10.2006' + "%d.%m.%y", # '25.10.06' + "%d/%m/%Y", # '25/10/2006' + "%d/%m/%y", # '25/10/06' +] +DATETIME_INPUT_FORMATS = [ + "%d.%m.%Y %H:%M:%S", # '25.10.2006 14:30:59' + "%d.%m.%Y %H:%M:%S.%f", # '25.10.2006 14:30:59.000200' + "%d.%m.%Y %H:%M", # '25.10.2006 14:30' + "%d/%m/%Y %H:%M:%S", # '25/10/2006 14:30:59' + "%d/%m/%Y %H:%M:%S.%f", # '25/10/2006 14:30:59.000200' + "%d/%m/%Y %H:%M", # '25/10/2006 14:30' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "\xa0" # non-breaking space +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/fr_CA/__init__.py b/external_sources/django/django/conf/locale/fr_CA/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/fr_CA/formats.py b/external_sources/django/django/conf/locale/fr_CA/formats.py new file mode 100644 index 0000000..4f1a017 --- /dev/null +++ b/external_sources/django/django/conf/locale/fr_CA/formats.py @@ -0,0 +1,30 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j F Y" # 31 janvier 2024 +TIME_FORMAT = "H\xa0h\xa0i" # 13 h 40 +DATETIME_FORMAT = "j F Y, H\xa0h\xa0i" # 31 janvier 2024, 13 h 40 +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "Y-m-d" +SHORT_DATETIME_FORMAT = "Y-m-d H\xa0h\xa0i" +FIRST_DAY_OF_WEEK = 0 # Dimanche + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%Y-%m-%d", # '2006-05-15' + "%y-%m-%d", # '06-05-15' +] +DATETIME_INPUT_FORMATS = [ + "%Y-%m-%d %H:%M:%S", # '2006-05-15 14:30:57' + "%y-%m-%d %H:%M:%S", # '06-05-15 14:30:57' + "%Y-%m-%d %H:%M:%S.%f", # '2006-05-15 14:30:57.000200' + "%y-%m-%d %H:%M:%S.%f", # '06-05-15 14:30:57.000200' + "%Y-%m-%d %H:%M", # '2006-05-15 14:30' + "%y-%m-%d %H:%M", # '06-05-15 14:30' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "\xa0" # non-breaking space +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/fr_CH/__init__.py b/external_sources/django/django/conf/locale/fr_CH/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/fr_CH/formats.py b/external_sources/django/django/conf/locale/fr_CH/formats.py new file mode 100644 index 0000000..84f0657 --- /dev/null +++ b/external_sources/django/django/conf/locale/fr_CH/formats.py @@ -0,0 +1,32 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j F Y" +TIME_FORMAT = "H:i" +DATETIME_FORMAT = "j F Y H:i" +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "d.m.Y" +SHORT_DATETIME_FORMAT = "d.m.Y H:i" +FIRST_DAY_OF_WEEK = 1 # Monday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d.%m.%Y", # '25.10.2006' + "%d.%m.%y", # '25.10.06' + "%d/%m/%Y", # '25/10/2006' + "%d/%m/%y", # '25/10/06' +] +DATETIME_INPUT_FORMATS = [ + "%d.%m.%Y %H:%M:%S", # '25.10.2006 14:30:59' + "%d.%m.%Y %H:%M:%S.%f", # '25.10.2006 14:30:59.000200' + "%d.%m.%Y %H:%M", # '25.10.2006 14:30' + "%d/%m/%Y %H:%M:%S", # '25/10/2006 14:30:59' + "%d/%m/%Y %H:%M:%S.%f", # '25/10/2006 14:30:59.000200' + "%d/%m/%Y %H:%M", # '25/10/2006 14:30' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "\xa0" # non-breaking space +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/fy/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/fy/LC_MESSAGES/django.po new file mode 100644 index 0000000..172f283 --- /dev/null +++ b/external_sources/django/django/conf/locale/fy/LC_MESSAGES/django.po @@ -0,0 +1,1218 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-27 22:40+0200\n" +"PO-Revision-Date: 2019-11-05 00:38+0000\n" +"Last-Translator: Ramiro Morales\n" +"Language-Team: Western Frisian (http://www.transifex.com/django/django/" +"language/fy/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fy\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "" + +msgid "Arabic" +msgstr "" + +msgid "Asturian" +msgstr "" + +msgid "Azerbaijani" +msgstr "" + +msgid "Bulgarian" +msgstr "" + +msgid "Belarusian" +msgstr "" + +msgid "Bengali" +msgstr "" + +msgid "Breton" +msgstr "" + +msgid "Bosnian" +msgstr "" + +msgid "Catalan" +msgstr "" + +msgid "Czech" +msgstr "" + +msgid "Welsh" +msgstr "" + +msgid "Danish" +msgstr "" + +msgid "German" +msgstr "" + +msgid "Lower Sorbian" +msgstr "" + +msgid "Greek" +msgstr "" + +msgid "English" +msgstr "" + +msgid "Australian English" +msgstr "" + +msgid "British English" +msgstr "" + +msgid "Esperanto" +msgstr "" + +msgid "Spanish" +msgstr "" + +msgid "Argentinian Spanish" +msgstr "" + +msgid "Colombian Spanish" +msgstr "" + +msgid "Mexican Spanish" +msgstr "" + +msgid "Nicaraguan Spanish" +msgstr "" + +msgid "Venezuelan Spanish" +msgstr "" + +msgid "Estonian" +msgstr "" + +msgid "Basque" +msgstr "" + +msgid "Persian" +msgstr "" + +msgid "Finnish" +msgstr "" + +msgid "French" +msgstr "" + +msgid "Frisian" +msgstr "" + +msgid "Irish" +msgstr "" + +msgid "Scottish Gaelic" +msgstr "" + +msgid "Galician" +msgstr "" + +msgid "Hebrew" +msgstr "" + +msgid "Hindi" +msgstr "" + +msgid "Croatian" +msgstr "" + +msgid "Upper Sorbian" +msgstr "" + +msgid "Hungarian" +msgstr "" + +msgid "Armenian" +msgstr "" + +msgid "Interlingua" +msgstr "" + +msgid "Indonesian" +msgstr "" + +msgid "Ido" +msgstr "" + +msgid "Icelandic" +msgstr "" + +msgid "Italian" +msgstr "" + +msgid "Japanese" +msgstr "" + +msgid "Georgian" +msgstr "" + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "" + +msgid "Khmer" +msgstr "" + +msgid "Kannada" +msgstr "" + +msgid "Korean" +msgstr "" + +msgid "Luxembourgish" +msgstr "" + +msgid "Lithuanian" +msgstr "" + +msgid "Latvian" +msgstr "" + +msgid "Macedonian" +msgstr "" + +msgid "Malayalam" +msgstr "" + +msgid "Mongolian" +msgstr "" + +msgid "Marathi" +msgstr "" + +msgid "Burmese" +msgstr "" + +msgid "Norwegian Bokmål" +msgstr "" + +msgid "Nepali" +msgstr "" + +msgid "Dutch" +msgstr "" + +msgid "Norwegian Nynorsk" +msgstr "" + +msgid "Ossetic" +msgstr "" + +msgid "Punjabi" +msgstr "" + +msgid "Polish" +msgstr "" + +msgid "Portuguese" +msgstr "" + +msgid "Brazilian Portuguese" +msgstr "" + +msgid "Romanian" +msgstr "" + +msgid "Russian" +msgstr "" + +msgid "Slovak" +msgstr "" + +msgid "Slovenian" +msgstr "" + +msgid "Albanian" +msgstr "" + +msgid "Serbian" +msgstr "" + +msgid "Serbian Latin" +msgstr "" + +msgid "Swedish" +msgstr "" + +msgid "Swahili" +msgstr "" + +msgid "Tamil" +msgstr "" + +msgid "Telugu" +msgstr "" + +msgid "Thai" +msgstr "" + +msgid "Turkish" +msgstr "" + +msgid "Tatar" +msgstr "" + +msgid "Udmurt" +msgstr "" + +msgid "Ukrainian" +msgstr "" + +msgid "Urdu" +msgstr "" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "" + +msgid "Simplified Chinese" +msgstr "" + +msgid "Traditional Chinese" +msgstr "" + +msgid "Messages" +msgstr "" + +msgid "Site Maps" +msgstr "" + +msgid "Static Files" +msgstr "" + +msgid "Syndication" +msgstr "" + +msgid "That page number is not an integer" +msgstr "" + +msgid "That page number is less than 1" +msgstr "" + +msgid "That page contains no results" +msgstr "" + +msgid "Enter a valid value." +msgstr "Jou in falide wearde." + +msgid "Enter a valid URL." +msgstr "Jou in falide URL." + +msgid "Enter a valid integer." +msgstr "" + +msgid "Enter a valid email address." +msgstr "" + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "Jou in falide IPv4-adres." + +msgid "Enter a valid IPv6 address." +msgstr "" + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "" + +msgid "Enter only digits separated by commas." +msgstr "Jou allinnich sifers, skieden troch komma's." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Enter a number." +msgstr "Jou in nûmer." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "" + +msgid "and" +msgstr "" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "" + +msgid "This field cannot be null." +msgstr "Dit fjild kin net leech wêze." + +msgid "This field cannot be blank." +msgstr "" + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s mei dit %(field_label)s bestiet al." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "" + +msgid "Comma-separated integers" +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "" + +msgid "Email address" +msgstr "" + +msgid "File path" +msgstr "" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "" + +msgid "Big (8 byte) integer" +msgstr "" + +msgid "IPv4 address" +msgstr "" + +msgid "IP address" +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "" + +msgid "Positive integer" +msgstr "" + +msgid "Positive small integer" +msgstr "" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "" + +msgid "Small integer" +msgstr "" + +msgid "Text" +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "" + +msgid "URL" +msgstr "" + +msgid "Raw binary data" +msgstr "" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "" + +msgid "Image" +msgstr "" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" + +msgid "Foreign Key (type determined by related field)" +msgstr "" + +msgid "One-to-one relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "" + +msgid "Many-to-many relationship" +msgstr "" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr "" + +msgid "This field is required." +msgstr "Dit fjild is fereaske." + +msgid "Enter a whole number." +msgstr "Jou in folslein nûmer." + +msgid "Enter a valid date." +msgstr "Jou in falide datum." + +msgid "Enter a valid time." +msgstr "Jou in falide tiid." + +msgid "Enter a valid date/time." +msgstr "Jou in falide datum.tiid." + +msgid "Enter a valid duration." +msgstr "" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"Der is gjin bestân yntsjinne. Kontrolearje it kodearringstype op it " +"formulier." + +msgid "No file was submitted." +msgstr "Der is gjin bestân yntsjinne." + +msgid "The submitted file is empty." +msgstr "It yntsjinne bestân is leech." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Laad in falide ôfbylding op. It bestân dy't jo opladen hawwe wie net in " +"ôfbylding of in skansearre ôfbylding." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Selektearje in falide kar. %(value)s is net ien fan de beskikbere karren." + +msgid "Enter a list of values." +msgstr "Jou in list mei weardes." + +msgid "Enter a complete value." +msgstr "" + +msgid "Enter a valid UUID." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr "" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "" +msgstr[1] "" + +msgid "Order" +msgstr "Oarder" + +msgid "Delete" +msgstr "" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "" + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" + +msgid "Please correct the duplicate values below." +msgstr "" + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Selektearje in falide kar. Dizze kar is net ien fan de beskikbere karren." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "" + +msgid "Currently" +msgstr "" + +msgid "Change" +msgstr "" + +msgid "Unknown" +msgstr "" + +msgid "Yes" +msgstr "" + +msgid "No" +msgstr "" + +msgid "Year" +msgstr "" + +msgid "Month" +msgstr "" + +msgid "Day" +msgstr "" + +msgid "yes,no,maybe" +msgstr "" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%s KB" +msgstr "" + +#, python-format +msgid "%s MB" +msgstr "" + +#, python-format +msgid "%s GB" +msgstr "" + +#, python-format +msgid "%s TB" +msgstr "" + +#, python-format +msgid "%s PB" +msgstr "" + +msgid "p.m." +msgstr "" + +msgid "a.m." +msgstr "" + +msgid "PM" +msgstr "" + +msgid "AM" +msgstr "" + +msgid "midnight" +msgstr "" + +msgid "noon" +msgstr "" + +msgid "Monday" +msgstr "" + +msgid "Tuesday" +msgstr "" + +msgid "Wednesday" +msgstr "" + +msgid "Thursday" +msgstr "" + +msgid "Friday" +msgstr "" + +msgid "Saturday" +msgstr "" + +msgid "Sunday" +msgstr "" + +msgid "Mon" +msgstr "" + +msgid "Tue" +msgstr "" + +msgid "Wed" +msgstr "" + +msgid "Thu" +msgstr "" + +msgid "Fri" +msgstr "" + +msgid "Sat" +msgstr "" + +msgid "Sun" +msgstr "" + +msgid "January" +msgstr "" + +msgid "February" +msgstr "" + +msgid "March" +msgstr "" + +msgid "April" +msgstr "" + +msgid "May" +msgstr "" + +msgid "June" +msgstr "" + +msgid "July" +msgstr "" + +msgid "August" +msgstr "" + +msgid "September" +msgstr "" + +msgid "October" +msgstr "" + +msgid "November" +msgstr "" + +msgid "December" +msgstr "" + +msgid "jan" +msgstr "" + +msgid "feb" +msgstr "" + +msgid "mar" +msgstr "" + +msgid "apr" +msgstr "" + +msgid "may" +msgstr "" + +msgid "jun" +msgstr "" + +msgid "jul" +msgstr "" + +msgid "aug" +msgstr "" + +msgid "sep" +msgstr "" + +msgid "oct" +msgstr "" + +msgid "nov" +msgstr "" + +msgid "dec" +msgstr "" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "" + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "" + +msgctxt "abbrev. month" +msgid "March" +msgstr "" + +msgctxt "abbrev. month" +msgid "April" +msgstr "" + +msgctxt "abbrev. month" +msgid "May" +msgstr "" + +msgctxt "abbrev. month" +msgid "June" +msgstr "" + +msgctxt "abbrev. month" +msgid "July" +msgstr "" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "" + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "" + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "" + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "" + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "" + +msgctxt "alt. month" +msgid "January" +msgstr "" + +msgctxt "alt. month" +msgid "February" +msgstr "" + +msgctxt "alt. month" +msgid "March" +msgstr "" + +msgctxt "alt. month" +msgid "April" +msgstr "" + +msgctxt "alt. month" +msgid "May" +msgstr "" + +msgctxt "alt. month" +msgid "June" +msgstr "" + +msgctxt "alt. month" +msgid "July" +msgstr "" + +msgctxt "alt. month" +msgid "August" +msgstr "" + +msgctxt "alt. month" +msgid "September" +msgstr "" + +msgctxt "alt. month" +msgid "October" +msgstr "" + +msgctxt "alt. month" +msgid "November" +msgstr "" + +msgctxt "alt. month" +msgid "December" +msgstr "" + +msgid "This is not a valid IPv6 address." +msgstr "" + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr "" + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "" +msgstr[1] "" + +msgid "0 minutes" +msgstr "" + +msgid "Forbidden" +msgstr "" + +msgid "CSRF verification failed. Request aborted." +msgstr "" + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "" + +msgid "No year specified" +msgstr "" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "" + +msgid "No day specified" +msgstr "" + +msgid "No week specified" +msgstr "" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "" + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/fy/__init__.py b/external_sources/django/django/conf/locale/fy/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/fy/formats.py b/external_sources/django/django/conf/locale/fy/formats.py new file mode 100644 index 0000000..3825be4 --- /dev/null +++ b/external_sources/django/django/conf/locale/fy/formats.py @@ -0,0 +1,21 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +# DATE_FORMAT = +# TIME_FORMAT = +# DATETIME_FORMAT = +# YEAR_MONTH_FORMAT = +# MONTH_DAY_FORMAT = +# SHORT_DATE_FORMAT = +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +# DECIMAL_SEPARATOR = +# THOUSAND_SEPARATOR = +# NUMBER_GROUPING = diff --git a/external_sources/django/django/conf/locale/ga/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/ga/LC_MESSAGES/django.po new file mode 100644 index 0000000..21a1e19 --- /dev/null +++ b/external_sources/django/django/conf/locale/ga/LC_MESSAGES/django.po @@ -0,0 +1,1426 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Aindriú Mac Giolla Eoin, 2024 +# Claude Paroz , 2020 +# Jannis Leidel , 2011 +# John Moylan , 2013 +# John Stafford , 2013 +# Seán de Búrca , 2011 +# Luke Blaney , 2019 +# Michael Thornhill , 2011-2012,2015 +# Séamus Ó Cúile , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-10-07 06:49+0000\n" +"Last-Translator: Aindriú Mac Giolla Eoin, 2024\n" +"Language-Team: Irish (http://app.transifex.com/django/django/language/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" + +msgid "Afrikaans" +msgstr "Afracáinis" + +msgid "Arabic" +msgstr "Araibis" + +msgid "Algerian Arabic" +msgstr "Araibis na hAilgéire" + +msgid "Asturian" +msgstr "Astúiris" + +msgid "Azerbaijani" +msgstr "Asarbaiseáinis" + +msgid "Bulgarian" +msgstr "Bulgáiris" + +msgid "Belarusian" +msgstr "Bealarúisis" + +msgid "Bengali" +msgstr "Beangáilis" + +msgid "Breton" +msgstr "Briotánach" + +msgid "Bosnian" +msgstr "Boisnis" + +msgid "Catalan" +msgstr "Catalóinis" + +msgid "Central Kurdish (Sorani)" +msgstr "Coirdis Láir (Sorani)" + +msgid "Czech" +msgstr "Seicis" + +msgid "Welsh" +msgstr "Breatnais" + +msgid "Danish" +msgstr "Danmhairgis " + +msgid "German" +msgstr "Gearmáinis" + +msgid "Lower Sorbian" +msgstr "Sorbais Íochtarach" + +msgid "Greek" +msgstr "Gréigis" + +msgid "English" +msgstr "Béarla" + +msgid "Australian English" +msgstr "Béarla Astrálach" + +msgid "British English" +msgstr "Béarla na Breataine" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Spáinnis" + +msgid "Argentinian Spanish" +msgstr "Spáinnis na hAirgintíne" + +msgid "Colombian Spanish" +msgstr "Spáinnis na Colóime" + +msgid "Mexican Spanish" +msgstr "Spáinnis Mheicsiceo " + +msgid "Nicaraguan Spanish" +msgstr "Spáinnis Nicearagua" + +msgid "Venezuelan Spanish" +msgstr "Spáinnis Veiniséalach" + +msgid "Estonian" +msgstr "Eastóinis" + +msgid "Basque" +msgstr "Bascais" + +msgid "Persian" +msgstr "Peirsis" + +msgid "Finnish" +msgstr "Fionlainnis" + +msgid "French" +msgstr "Fraincis" + +msgid "Frisian" +msgstr "Freaslainnis" + +msgid "Irish" +msgstr "Gaeilge" + +msgid "Scottish Gaelic" +msgstr "Gaeilge na hAlban" + +msgid "Galician" +msgstr "Gailísis" + +msgid "Hebrew" +msgstr "Eabhrais" + +msgid "Hindi" +msgstr "Hiondúis" + +msgid "Croatian" +msgstr "Cróitis" + +msgid "Upper Sorbian" +msgstr "Sorbian Uachtarach" + +msgid "Hungarian" +msgstr "Ungáiris" + +msgid "Armenian" +msgstr "Airméinis" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indinéisis" + +msgid "Igbo" +msgstr "Igbo" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Íoslainnis" + +msgid "Italian" +msgstr "Iodáilis" + +msgid "Japanese" +msgstr "Seapáinis" + +msgid "Georgian" +msgstr "Seoirsis" + +msgid "Kabyle" +msgstr "Cabaill" + +msgid "Kazakh" +msgstr "Casaicis" + +msgid "Khmer" +msgstr "Ciméiris" + +msgid "Kannada" +msgstr "Cannadais" + +msgid "Korean" +msgstr "Cóiréis" + +msgid "Kyrgyz" +msgstr "Chirgeastáin" + +msgid "Luxembourgish" +msgstr "Lucsamburgach" + +msgid "Lithuanian" +msgstr "Liotuáinis" + +msgid "Latvian" +msgstr "Laitvis" + +msgid "Macedonian" +msgstr "Macadóinis" + +msgid "Malayalam" +msgstr "Mailéalaimis" + +msgid "Mongolian" +msgstr "Mongóilis" + +msgid "Marathi" +msgstr "Maraitis" + +msgid "Malay" +msgstr "Malaeis" + +msgid "Burmese" +msgstr "Burmais" + +msgid "Norwegian Bokmål" +msgstr "Ioruais Bokmål" + +msgid "Nepali" +msgstr "Neipeailis" + +msgid "Dutch" +msgstr "Ollainnis" + +msgid "Norwegian Nynorsk" +msgstr "Ioruais Nynorsk" + +msgid "Ossetic" +msgstr "Oiséitis" + +msgid "Punjabi" +msgstr "Puinseáibis" + +msgid "Polish" +msgstr "Polainnis" + +msgid "Portuguese" +msgstr "Portaingéilis" + +msgid "Brazilian Portuguese" +msgstr "Portaingéilis na Brasaíle" + +msgid "Romanian" +msgstr "Rómáinis" + +msgid "Russian" +msgstr "Rúisis" + +msgid "Slovak" +msgstr "Slóvaicis" + +msgid "Slovenian" +msgstr "Slóivéinis" + +msgid "Albanian" +msgstr "Albáinis" + +msgid "Serbian" +msgstr "Seirbis" + +msgid "Serbian Latin" +msgstr "Seirbis (Laidineach)" + +msgid "Swedish" +msgstr "Sualainnis" + +msgid "Swahili" +msgstr "Svahaílis" + +msgid "Tamil" +msgstr "Tamailis" + +msgid "Telugu" +msgstr "Teileagúis" + +msgid "Tajik" +msgstr "Táidsíc" + +msgid "Thai" +msgstr "Téalainnis" + +msgid "Turkmen" +msgstr "Tuircméinis" + +msgid "Turkish" +msgstr "Tuircis" + +msgid "Tatar" +msgstr "Tatairis" + +msgid "Udmurt" +msgstr "Udmurt" + +msgid "Uyghur" +msgstr "Uighur" + +msgid "Ukrainian" +msgstr "Úcráinis" + +msgid "Urdu" +msgstr "Urdais" + +msgid "Uzbek" +msgstr "Úisbéicis" + +msgid "Vietnamese" +msgstr "Vítneamais" + +msgid "Simplified Chinese" +msgstr "Sínis Simplithe" + +msgid "Traditional Chinese" +msgstr "Sínis Traidisiúnta" + +msgid "Messages" +msgstr "Teachtaireachtaí" + +msgid "Site Maps" +msgstr "Léarscáileanna Suímh" + +msgid "Static Files" +msgstr "Comhaid Statach" + +msgid "Syndication" +msgstr "Sindeacáitiú" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "Ní slánuimhir í an uimhir leathanaigh sin" + +msgid "That page number is less than 1" +msgstr "Tá uimhir an leathanaigh sin níos lú ná 1" + +msgid "That page contains no results" +msgstr "Níl aon torthaí ar an leathanach sin" + +msgid "Enter a valid value." +msgstr "Iontráil luach bailí" + +msgid "Enter a valid domain name." +msgstr "Cuir isteach ainm fearainn bailí." + +msgid "Enter a valid URL." +msgstr "Iontráil URL bailí." + +msgid "Enter a valid integer." +msgstr "Cuir isteach slánuimhir bhailí." + +msgid "Enter a valid email address." +msgstr "Cuir isteach seoladh ríomhphoist bailí." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Cuir isteach “sluga” bailí ar a bhfuil litreacha, uimhreacha, foscórthaí nó " +"fleiscíní." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Cuir isteach “sluga” bailí ar a bhfuil litreacha Unicode, uimhreacha, fo-" +"scóranna, nó fleiscíní." + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "Cuir isteach seoladh bailí %(protocol)s." + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "IPv4 or IPv6" +msgstr "IPv4 nó IPv6" + +msgid "Enter only digits separated by commas." +msgstr "Ná hiontráil ach digití atá deighilte le camóga." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Cinntigh go bhfuil an luach seo %(limit_value)s (tá sé %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" +"Cinntigh go bhfuil an luach seo níos lú ná nó cothrom le %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" +"Cinntigh go bhfuil an luach seo níos mó ná nó cothrom le %(limit_value)s." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "Cinntigh gur iolraí de chéimmhéid %(limit_value)s an luach seo." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"Cinntigh gur iolraí de chéimmhéid %(limit_value)s an luach seo, ag tosú ó " +"%(offset)s, m.sh. %(offset)s, %(valid_value1)s, %(valid_value2)s, agus mar " +"sin de." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Cinntigh go bhfuil ar a laghad %(limit_value)d carachtar ag an luach seo (tá " +"%(show_value)d aige)." +msgstr[1] "" +"Cinntigh go bhfuil ar a laghad %(limit_value)d carachtar ag an luach seo (tá " +"%(show_value)d aige)." +msgstr[2] "" +"Cinntigh go bhfuil ar a laghad %(limit_value)d carachtar ag an luach seo (tá " +"%(show_value)d aige)." +msgstr[3] "" +"Cinntigh go bhfuil ar a laghad %(limit_value)d carachtar ag an luach seo (tá " +"%(show_value)d aige)." +msgstr[4] "" +"Cinntigh go bhfuil ar a laghad %(limit_value)d carachtar ag an luach seo (tá " +"%(show_value)d aige)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Cinntigh go bhfuil %(limit_value)d carachtar ar a mhéad ag an luach seo (tá " +"%(show_value)d aige)." +msgstr[1] "" +"Cinntigh go bhfuil %(limit_value)d carachtar ar a mhéad ag an luach seo (tá " +"%(show_value)d aige)." +msgstr[2] "" +"Cinntigh go bhfuil %(limit_value)d carachtar ar a mhéad ag an luach seo (tá " +"%(show_value)d aige)." +msgstr[3] "" +"Cinntigh go bhfuil %(limit_value)d carachtar ar a mhéad ag an luach seo (tá " +"%(show_value)d aige)." +msgstr[4] "" +"Cinntigh go bhfuil %(limit_value)d carachtar ar a mhéad ag an luach seo (tá " +"%(show_value)d aige)." + +msgid "Enter a number." +msgstr "Iontráil uimhir." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Cinntigh nach bhfuil níos mó ná %(max)s digit san iomlán." +msgstr[1] "Cinntigh nach bhfuil níos mó ná %(max)s digit san iomlán." +msgstr[2] "Cinntigh nach bhfuil níos mó ná %(max)s digit san iomlán." +msgstr[3] "Cinntigh nach bhfuil níos mó ná %(max)s digit san iomlán." +msgstr[4] "Cinntigh nach bhfuil níos mó ná %(max)s digit san iomlán." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Cinntigh nach bhfuil níos mó ná %(max)s ionad deachúlach ann." +msgstr[1] "Cinntigh nach bhfuil níos mó ná %(max)s de dheachúlacha ann." +msgstr[2] "Cinntigh nach bhfuil níos mó ná %(max)s de dheachúlacha ann." +msgstr[3] "Cinntigh nach bhfuil níos mó ná %(max)s de dheachúlacha ann." +msgstr[4] "Cinntigh nach bhfuil níos mó ná %(max)s de dheachúlacha ann." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Cinntigh nach bhfuil níos mó ná %(max)s digit ann roimh an bpointe deachúil." +msgstr[1] "" +"Cinntigh nach bhfuil níos mó ná %(max)s dhigit roimh an bpointe deachúil." +msgstr[2] "" +"Cinntigh nach bhfuil níos mó ná %(max)s dhigit roimh an bpointe deachúil." +msgstr[3] "" +"Cinntigh nach bhfuil níos mó ná %(max)s dhigit roimh an bpointe deachúil." +msgstr[4] "" +"Cinntigh nach bhfuil níos mó ná %(max)s dhigit roimh an bpointe deachúil." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Ní cheadaítear iarmhír chomhaid “%(extension)s”. Is iad seo a leanas " +"eisínteachtaí ceadaithe: %(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Ní cheadaítear carachtair null." + +msgid "and" +msgstr "agus" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "Tá %(model_name)s leis an %(field_labels)s seo ann cheana." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "Tá srian “%(name)s” sáraithe." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Ní rogha bhailí é luach %(value)r." + +msgid "This field cannot be null." +msgstr "Ní cheadaítear luach nialasach sa réimse seo." + +msgid "This field cannot be blank." +msgstr "Ní cheadaítear luach nialasach sa réimse seo." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "Tá %(model_name)s leis an %(field_label)s seo ann cheana." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"Caithfidh %(field_label)s a bheith uathúil le haghaidh %(date_field_label)s " +"%(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Réimse de Cineál: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "Caithfidh luach “%(value)s” a bheith Fíor nó Bréagach." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "Caithfidh luach “%(value)s” a bheith Fíor, Bréagach, nó Neamhní." + +msgid "Boolean (Either True or False)" +msgstr "Boole" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Teaghrán (suas go %(max_length)s)" + +msgid "String (unlimited)" +msgstr "Teaghrán (gan teorainn)" + +msgid "Comma-separated integers" +msgstr "Slánuimhireacha camóg-scartha" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"Tá formáid dáta neamhbhailí ag luach “%(value)s”. Caithfidh sé a bheith i " +"bhformáid BBBB-MM-LL." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"Tá an fhormáid cheart ag luach “%(value)s” (BBBB-MM-DD) ach is dáta " +"neamhbhailí é." + +msgid "Date (without time)" +msgstr "Dáta (gan am)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"Tá formáid neamhbhailí ag luach “%(value)s”. Caithfidh sé a bheith san " +"fhormáid BBBB-MM-DD HH:MM[:ss[.uuuuuu]][TZ]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"Tá an fhormáid cheart ag luach “%(value)s” (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) ach is dáta/am neamhbhailí é." + +msgid "Date (with time)" +msgstr "Dáta (le am)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "Caithfidh luach “%(value)s” a bheith ina uimhir dheachúil." + +msgid "Decimal number" +msgstr "Uimhir deachúlach" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"Tá formáid neamhbhailí ag luach “%(value)s”. Caithfidh sé a bheith i " +"bhformáid [DD] [[HH:]MM:]ss[.uuuuuu]." + +msgid "Duration" +msgstr "Fad" + +msgid "Email address" +msgstr "R-phost" + +msgid "File path" +msgstr "Conair comhaid" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "Caithfidh luach “%(value)s” a bheith ina shnámhán." + +msgid "Floating point number" +msgstr "Snámhphointe" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "Caithfidh luach “%(value)s” a bheith ina shlánuimhir." + +msgid "Integer" +msgstr "Slánuimhir" + +msgid "Big (8 byte) integer" +msgstr "Mór (8 byte) slánuimhi" + +msgid "Small integer" +msgstr "Slánuimhir beag" + +msgid "IPv4 address" +msgstr "Seoladh IPv4" + +msgid "IP address" +msgstr "Seoladh IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "Ní mór luach “%(value)s” a bheith Easpa, Fíor nó Bréagach." + +msgid "Boolean (Either True, False or None)" +msgstr "Boole (Fíor, Bréagach nó Dada)" + +msgid "Positive big integer" +msgstr "Slánuimhir mhór dhearfach" + +msgid "Positive integer" +msgstr "Slánuimhir dearfach" + +msgid "Positive small integer" +msgstr "Slánuimhir beag dearfach" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (suas go %(max_length)s)" + +msgid "Text" +msgstr "Téacs" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"Tá formáid neamhbhailí ag luach “%(value)s”. Caithfidh sé a bheith i " +"bhformáid HH:MM[:ss[.uuuuuu]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"Tá an fhormáid cheart ag luach “%(value)s” (HH:MM[:ss[.uuuuuu]]) ach is am " +"neamhbhailí é." + +msgid "Time" +msgstr "Am" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Sonraí dénártha amh" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "Ní UUID bailí é “%(value)s”." + +msgid "Universally unique identifier" +msgstr "Aitheantóir uathúil uilíoch" + +msgid "File" +msgstr "Comhaid" + +msgid "Image" +msgstr "Íomhá" + +msgid "A JSON object" +msgstr "Réad JSON" + +msgid "Value must be valid JSON." +msgstr "Caithfidh an luach a bheith bailí JSON." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "Níl sampla %(model)s le %(field)s %(value)r ann." + +msgid "Foreign Key (type determined by related field)" +msgstr "Eochair Eachtracha (cineál a chinnfear de réir réimse a bhaineann)" + +msgid "One-to-one relationship" +msgstr "Duine-le-duine caidreamh" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s caidreamh" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s caidrimh" + +msgid "Many-to-many relationship" +msgstr "Go leor le go leor caidreamh" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Tá an réimse seo riachtanach." + +msgid "Enter a whole number." +msgstr "Iontráil slánuimhir." + +msgid "Enter a valid date." +msgstr "Iontráil dáta bailí." + +msgid "Enter a valid time." +msgstr "Iontráil am bailí." + +msgid "Enter a valid date/time." +msgstr "Iontráil dáta/am bailí." + +msgid "Enter a valid duration." +msgstr "Cuir isteach ré bailí." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Caithfidh líon na laethanta a bheith idir {min_days} agus {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Níor seoladh comhad. Deimhnigh cineál an ionchódaithe ar an bhfoirm." + +msgid "No file was submitted." +msgstr "Níor seoladh aon chomhad." + +msgid "The submitted file is empty." +msgstr "Tá an comhad a seoladh folamh." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Cinntigh go bhfuil %(max)d carachtar ar a mhéad ag an gcomhadainm seo (tá " +"%(length)d aige)." +msgstr[1] "" +"Cinntigh go bhfuil %(max)d carachtar ar a mhéad ag an gcomhadainm seo (tá " +"%(length)d aige)." +msgstr[2] "" +"Cinntigh go bhfuil %(max)d carachtar ar a mhéad ag an gcomhadainm seo (tá " +"%(length)d aige)." +msgstr[3] "" +"Cinntigh go bhfuil %(max)d carachtar ar a mhéad ag an gcomhadainm seo (tá " +"%(length)d aige)." +msgstr[4] "" +"Cinntigh go bhfuil %(max)d carachtar ar a mhéad ag an gcomhadainm seo (tá " +"%(length)d aige)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Cuir ceachtar isteach comhad nó an ticbhosca soiléir, ní féidir an dá " +"sheiceáil." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Uasluchtaigh íomhá bhailí. Níorbh íomhá é an comhad a d'uasluchtaigh tú, nó " +"b'íomhá thruaillithe é." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Déan rogha bhailí. Ní ceann de na roghanna é %(value)s." + +msgid "Enter a list of values." +msgstr "Cuir liosta de luachanna isteach." + +msgid "Enter a complete value." +msgstr "Cuir isteach luach iomlán." + +msgid "Enter a valid UUID." +msgstr "Cuir isteach UUID bailí." + +msgid "Enter a valid JSON." +msgstr "Cuir isteach JSON bailí." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Réimse folaithe %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"Tá sonraí ManagementForm in easnamh nó ar cuireadh isteach orthu. Réimsí ar " +"iarraidh: %(field_names)s. Seans go mbeidh ort tuairisc fhabht a chomhdú má " +"leanann an cheist." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Cuir isteach %(num)d foirm ar a mhéad." +msgstr[1] "Cuir isteach %(num)d foirm ar a mhéad." +msgstr[2] "Cuir isteach %(num)d foirm ar a mhéad." +msgstr[3] "Cuir isteach %(num)d foirm ar a mhéad." +msgstr[4] "Cuir isteach %(num)d foirm ar a mhéad." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Cuir isteach ar a laghad %(num)d foirm." +msgstr[1] "Cuir isteach %(num)d foirm ar a laghad." +msgstr[2] "Cuir isteach %(num)d foirm ar a laghad." +msgstr[3] "Cuir isteach %(num)d foirm ar a laghad." +msgstr[4] "Cuir isteach %(num)d foirm ar a laghad." + +msgid "Order" +msgstr "Ord" + +msgid "Delete" +msgstr "Scrios" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Le do thoil ceartaigh an sonra dúbail le %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Ceart le do thoil na sonraí a dhúbailt le haghaidh %(field)s, chaithfidh a " +"bheith uathúil." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Ceart le do thoil na sonraí a dhúbailt le haghaidh %(field_name)s ní mór a " +"bheith uaithúil le haghaidh an %(lookup)s i %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Le do thoil ceartaigh na luachanna dúbail thíos." + +msgid "The inline value did not match the parent instance." +msgstr "Níor mheaitseáil an luach inlíne leis an gcás tuismitheora." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Déan rogha bhailí. Ní ceann de na roghanna é do roghasa." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "Ní luach bailí é “%(pk)s”." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"Níorbh fhéidir %(datetime)s a léirmhíniú i gcrios ama %(current_timezone)s; " +"d'fhéadfadh sé a bheith débhríoch nó b'fhéidir nach bhfuil sé ann." + +msgid "Clear" +msgstr "Glan" + +msgid "Currently" +msgstr "Faoi láthair" + +msgid "Change" +msgstr "Athraigh" + +msgid "Unknown" +msgstr "Anaithnid" + +msgid "Yes" +msgstr "Tá" + +msgid "No" +msgstr "Níl" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "tá,níl,b'fhéidir" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d bheart" +msgstr[1] "%(size)d bheart" +msgstr[2] "%(size)d bheart" +msgstr[3] "%(size)d mbeart" +msgstr[4] "%(size)d beart" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "i.n." + +msgid "a.m." +msgstr "r.n." + +msgid "PM" +msgstr "IN" + +msgid "AM" +msgstr "RN" + +msgid "midnight" +msgstr "meán oíche" + +msgid "noon" +msgstr "nóin" + +msgid "Monday" +msgstr "Dé Luain" + +msgid "Tuesday" +msgstr "Dé Máirt" + +msgid "Wednesday" +msgstr "Dé Céadaoin" + +msgid "Thursday" +msgstr "Déardaoin" + +msgid "Friday" +msgstr "Dé hAoine" + +msgid "Saturday" +msgstr "Dé Sathairn" + +msgid "Sunday" +msgstr "Dé Domhnaigh" + +msgid "Mon" +msgstr "L" + +msgid "Tue" +msgstr "M" + +msgid "Wed" +msgstr "C" + +msgid "Thu" +msgstr "D" + +msgid "Fri" +msgstr "A" + +msgid "Sat" +msgstr "S" + +msgid "Sun" +msgstr "D" + +msgid "January" +msgstr "Eanáir" + +msgid "February" +msgstr "Feabhra" + +msgid "March" +msgstr "Márta" + +msgid "April" +msgstr "Aibreán" + +msgid "May" +msgstr "Bealtaine" + +msgid "June" +msgstr "Meitheamh" + +msgid "July" +msgstr "Iúil" + +msgid "August" +msgstr "Lúnasa" + +msgid "September" +msgstr "Meán Fómhair" + +msgid "October" +msgstr "Deireadh Fómhair" + +msgid "November" +msgstr "Samhain" + +msgid "December" +msgstr "Nollaig" + +msgid "jan" +msgstr "ean" + +msgid "feb" +msgstr "feabh" + +msgid "mar" +msgstr "márta" + +msgid "apr" +msgstr "aib" + +msgid "may" +msgstr "beal" + +msgid "jun" +msgstr "meith" + +msgid "jul" +msgstr "iúil" + +msgid "aug" +msgstr "lún" + +msgid "sep" +msgstr "mfómh" + +msgid "oct" +msgstr "dfómh" + +msgid "nov" +msgstr "samh" + +msgid "dec" +msgstr "noll" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Ean." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Feabh." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Márta" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Aib." + +msgctxt "abbrev. month" +msgid "May" +msgstr "Beal." + +msgctxt "abbrev. month" +msgid "June" +msgstr "Meith." + +msgctxt "abbrev. month" +msgid "July" +msgstr "Iúil" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Lún." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "MFómh." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "DFómh." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Samh." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Noll." + +msgctxt "alt. month" +msgid "January" +msgstr "Mí Eanáir" + +msgctxt "alt. month" +msgid "February" +msgstr "Mí Feabhra" + +msgctxt "alt. month" +msgid "March" +msgstr "Mí na Márta" + +msgctxt "alt. month" +msgid "April" +msgstr "Mí Aibreáin" + +msgctxt "alt. month" +msgid "May" +msgstr "Mí na Bealtaine" + +msgctxt "alt. month" +msgid "June" +msgstr "Mí an Mheithimh" + +msgctxt "alt. month" +msgid "July" +msgstr "Mí Iúil" + +msgctxt "alt. month" +msgid "August" +msgstr "Mí Lúnasa" + +msgctxt "alt. month" +msgid "September" +msgstr "Mí Mheán Fómhair" + +msgctxt "alt. month" +msgid "October" +msgstr "Mí Dheireadh Fómhair" + +msgctxt "alt. month" +msgid "November" +msgstr "Mí na Samhna" + +msgctxt "alt. month" +msgid "December" +msgstr "Mí na Nollag" + +msgid "This is not a valid IPv6 address." +msgstr "Ní seoladh IPv6 bailí é seo." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "nó" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d bhliain" +msgstr[1] "%(num)d bliain" +msgstr[2] "%(num)d bliain" +msgstr[3] "%(num)d bliain" +msgstr[4] "%(num)d bliain" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d mí" +msgstr[1] "%(num)d míonna" +msgstr[2] "%(num)d míonna" +msgstr[3] "%(num)d míonna" +msgstr[4] "%(num)d míonna" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d seachtain" +msgstr[1] "%(num)d seachtainí" +msgstr[2] "%(num)d seachtainí" +msgstr[3] "%(num)d seachtainí" +msgstr[4] "%(num)d seachtainí" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d lá" +msgstr[1] "%(num)d laethanta" +msgstr[2] "%(num)d laethanta" +msgstr[3] "%(num)d laethanta" +msgstr[4] "%(num)d laethanta" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d uair" +msgstr[1] "%(num)d huaireanta" +msgstr[2] "%(num)d huaireanta" +msgstr[3] "%(num)d huaireanta" +msgstr[4] "%(num)d huaireanta" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d nóiméad" +msgstr[1] "%(num)d nóiméad" +msgstr[2] "%(num)d nóiméad" +msgstr[3] "%(num)d nóiméad" +msgstr[4] "%(num)d nóiméad" + +msgid "Forbidden" +msgstr "Toirmiscthe" + +msgid "CSRF verification failed. Request aborted." +msgstr "Theip ar fhíorú CSRF. Cuireadh deireadh leis an iarratas." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Tá an teachtaireacht seo á fheiceáil agat toisc go bhfuil “ceanntásc " +"tarchuir” ag teastáil ón suíomh HTTPS seo le bheith seolta ag do bhrabhsálaí " +"gréasáin, ach níor seoladh aon cheann. Tá an ceanntásc seo ag teastáil ar " +"chúiseanna slándála, lena chinntiú nach bhfuil do bhrabhsálaí á fuadach ag " +"tríú páirtithe." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Má tá do bhrabhsálaí cumraithe agat chun ceanntásca “Tagairtí” a dhíchumasú, " +"le do thoil déan iad a athchumasú, le do thoil don suíomh seo, nó do naisc " +"HTTPS, nó d’iarratais “ar an mbunús céanna”." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Má tá an chlib 1 á úsáid agat nó má tá an ceanntásc “Polasaí Atreoraithe: " +"gan atreorú” san áireamh, bain amach iad le do thoil. Éilíonn an chosaint " +"CSRF go bhfuil an ceanntásc “Tagairtí” chun seiceáil docht atreoraithe a " +"dhéanamh. Má tá imní ort faoi phríobháideachas, bain úsáid as roghanna eile " +"amhail le haghaidh naisc chuig láithreáin tríú " +"páirtí." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Tá an teachtaireacht seo á fheiceáil agat toisc go bhfuil fianán CSRF ag " +"teastáil ón suíomh seo agus foirmeacha á gcur isteach agat. Tá an fianán seo " +"ag teastáil ar chúiseanna slándála, lena chinntiú nach bhfuil do bhrabhsálaí " +"á fuadach ag tríú páirtithe." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Má tá do bhrabhsálaí cumraithe agat chun fianáin a dhíchumasú, le do thoil " +"athchumasaigh iad, le do thoil, le haghaidh an tsuímh seo ar a laghad, nó le " +"haghaidh iarratais “ar an mbunús céanna”." + +msgid "More information is available with DEBUG=True." +msgstr "Tá tuilleadh eolais ar fáil le DEBUG=True." + +msgid "No year specified" +msgstr "Bliain gan sonrú" + +msgid "Date out of range" +msgstr "Dáta as raon" + +msgid "No month specified" +msgstr "Mí gan sonrú" + +msgid "No day specified" +msgstr "Lá gan sonrú" + +msgid "No week specified" +msgstr "Seachtain gan sonrú" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Gan %(verbose_name_plural)s ar fáil" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Níl %(verbose_name_plural)s sa todhchaí ar fáil mar tá %(class_name)s." +"allow_future Bréagach." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "Teaghrán dáta neamhbhailí “%(datestr)s” tugtha formáid “%(format)s”" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Níl bhfuarthas %(verbose_name)s le hadhaigh an iarratas" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" +"Níl an leathanach “deireadh”, agus ní féidir é a thiontú go slánuimhir." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Leathanach neamhbhailí (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Tá liosta folamh agus “%(class_name)s.allow_empty” bréagach." + +msgid "Directory indexes are not allowed here." +msgstr "Níl innéacsanna chomhadlann cheadaítear anseo." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "Níl “%(path)s” ann" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Innéacs de %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "D'éirigh leis an suiteáil! Comhghairdeachas!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Féach ar nótaí scaoilte le haghaidh Django " +"%(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Tá an leathanach seo á fheiceáil agat toisc go bhfuil DEBUG=True i do chomhad socruithe agus nach bhfuil aon " +"URL cumraithe agat." + +msgid "Django Documentation" +msgstr "Doiciméadú Django" + +msgid "Topics, references, & how-to’s" +msgstr "Ábhair, tagairtí, & conas atá" + +msgid "Tutorial: A Polling App" +msgstr "Teagaisc: A Vótaíocht Aip" + +msgid "Get started with Django" +msgstr "Tosaigh le Django" + +msgid "Django Community" +msgstr "Pobal Django" + +msgid "Connect, get help, or contribute" +msgstr "Ceangail, faigh cúnamh, nó ranníoc" diff --git a/external_sources/django/django/conf/locale/ga/__init__.py b/external_sources/django/django/conf/locale/ga/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/ga/formats.py b/external_sources/django/django/conf/locale/ga/formats.py new file mode 100644 index 0000000..7cde1a5 --- /dev/null +++ b/external_sources/django/django/conf/locale/ga/formats.py @@ -0,0 +1,21 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j F Y" +TIME_FORMAT = "H:i" +# DATETIME_FORMAT = +# YEAR_MONTH_FORMAT = +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "j M Y" +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = "." +THOUSAND_SEPARATOR = "," +# NUMBER_GROUPING = diff --git a/external_sources/django/django/conf/locale/gd/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/gd/LC_MESSAGES/django.po new file mode 100644 index 0000000..ba28564 --- /dev/null +++ b/external_sources/django/django/conf/locale/gd/LC_MESSAGES/django.po @@ -0,0 +1,1386 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Michael Bauer, 2014 +# GunChleoc, 2015-2017,2021 +# GunChleoc, 2015 +# GunChleoc, 2014-2015 +# Michael Bauer, 2014 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-09-21 10:22+0200\n" +"PO-Revision-Date: 2021-11-20 14:00+0000\n" +"Last-Translator: GunChleoc\n" +"Language-Team: Gaelic, Scottish (http://www.transifex.com/django/django/" +"language/gd/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gd\n" +"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : " +"(n > 2 && n < 20) ? 2 : 3;\n" + +msgid "Afrikaans" +msgstr "Afraganais" + +msgid "Arabic" +msgstr "Arabais" + +msgid "Algerian Arabic" +msgstr "Arabais Aildireach" + +msgid "Asturian" +msgstr "Astùrais" + +msgid "Azerbaijani" +msgstr "Asarbaideànais" + +msgid "Bulgarian" +msgstr "Bulgarais" + +msgid "Belarusian" +msgstr "Bealaruisis" + +msgid "Bengali" +msgstr "Beangailis" + +msgid "Breton" +msgstr "Breatnais" + +msgid "Bosnian" +msgstr "Bosnais" + +msgid "Catalan" +msgstr "Catalanais" + +msgid "Czech" +msgstr "Seacais" + +msgid "Welsh" +msgstr "Cuimris" + +msgid "Danish" +msgstr "Danmhairgis" + +msgid "German" +msgstr "Gearmailtis" + +msgid "Lower Sorbian" +msgstr "Sòrbais Ìochdarach" + +msgid "Greek" +msgstr "Greugais" + +msgid "English" +msgstr "Beurla" + +msgid "Australian English" +msgstr "Beurla Astràilia" + +msgid "British English" +msgstr "Beurla Bhreatainn" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Spàinntis" + +msgid "Argentinian Spanish" +msgstr "Spàinntis na h-Argantaine" + +msgid "Colombian Spanish" +msgstr "Spàinntis Choloimbia" + +msgid "Mexican Spanish" +msgstr "Spàinntis Mheagsagach" + +msgid "Nicaraguan Spanish" +msgstr "Spàinntis Niocaragua" + +msgid "Venezuelan Spanish" +msgstr "Spàinntis na Bheiniseala" + +msgid "Estonian" +msgstr "Eastoinis" + +msgid "Basque" +msgstr "Basgais" + +msgid "Persian" +msgstr "Farsaidh" + +msgid "Finnish" +msgstr "Fionnlannais" + +msgid "French" +msgstr "Fraingis" + +msgid "Frisian" +msgstr "Frìsis" + +msgid "Irish" +msgstr "Gaeilge" + +msgid "Scottish Gaelic" +msgstr "Gàidhlig" + +msgid "Galician" +msgstr "Gailìsis" + +msgid "Hebrew" +msgstr "Eabhra" + +msgid "Hindi" +msgstr "Hindis" + +msgid "Croatian" +msgstr "Cròthaisis" + +msgid "Upper Sorbian" +msgstr "Sòrbais Uachdarach" + +msgid "Hungarian" +msgstr "Ungairis" + +msgid "Armenian" +msgstr "Airmeinis" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Innd-Innsis" + +msgid "Igbo" +msgstr "Igbo" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Innis Tìlis" + +msgid "Italian" +msgstr "Eadailtis" + +msgid "Japanese" +msgstr "Seapanais" + +msgid "Georgian" +msgstr "Cairtbheilis" + +msgid "Kabyle" +msgstr "Kabyle" + +msgid "Kazakh" +msgstr "Casachais" + +msgid "Khmer" +msgstr "Cmèar" + +msgid "Kannada" +msgstr "Kannada" + +msgid "Korean" +msgstr "Coirèanais" + +msgid "Kyrgyz" +msgstr "Cìorgasais" + +msgid "Luxembourgish" +msgstr "Lugsamburgais" + +msgid "Lithuanian" +msgstr "Liotuainis" + +msgid "Latvian" +msgstr "Laitbheis" + +msgid "Macedonian" +msgstr "Masadonais" + +msgid "Malayalam" +msgstr "Malayalam" + +msgid "Mongolian" +msgstr "Mongolais" + +msgid "Marathi" +msgstr "Marathi" + +msgid "Malay" +msgstr "Malaidhis" + +msgid "Burmese" +msgstr "Burmais" + +msgid "Norwegian Bokmål" +msgstr "Nirribhis (Bokmål)" + +msgid "Nepali" +msgstr "Neapàlais" + +msgid "Dutch" +msgstr "Duitsis" + +msgid "Norwegian Nynorsk" +msgstr "Nirribhis (Nynorsk)" + +msgid "Ossetic" +msgstr "Ossetic" + +msgid "Punjabi" +msgstr "Panjabi" + +msgid "Polish" +msgstr "Pòlainnis" + +msgid "Portuguese" +msgstr "Portagailis" + +msgid "Brazilian Portuguese" +msgstr "Portagailis Bhraisileach" + +msgid "Romanian" +msgstr "Romàinis" + +msgid "Russian" +msgstr "Ruisis" + +msgid "Slovak" +msgstr "Slòbhacais" + +msgid "Slovenian" +msgstr "Slòbhainis" + +msgid "Albanian" +msgstr "Albàinis" + +msgid "Serbian" +msgstr "Sèirbis" + +msgid "Serbian Latin" +msgstr "Sèirbis (Laideann)" + +msgid "Swedish" +msgstr "Suainis" + +msgid "Swahili" +msgstr "Kiswahili" + +msgid "Tamil" +msgstr "Taimilis" + +msgid "Telugu" +msgstr "Telugu" + +msgid "Tajik" +msgstr "Taidigis" + +msgid "Thai" +msgstr "Tàidh" + +msgid "Turkmen" +msgstr "Turcmanais" + +msgid "Turkish" +msgstr "Turcais" + +msgid "Tatar" +msgstr "Tatarais" + +msgid "Udmurt" +msgstr "Udmurt" + +msgid "Ukrainian" +msgstr "Ucràinis" + +msgid "Urdu" +msgstr "Ùrdu" + +msgid "Uzbek" +msgstr "Usbagais" + +msgid "Vietnamese" +msgstr "Bhiet-Namais" + +msgid "Simplified Chinese" +msgstr "Sìnis Shimplichte" + +msgid "Traditional Chinese" +msgstr "Sìnis Thradaiseanta" + +msgid "Messages" +msgstr "Teachdaireachdan" + +msgid "Site Maps" +msgstr "Mapaichean-làraich" + +msgid "Static Files" +msgstr "Faidhlichean stadastaireachd" + +msgid "Syndication" +msgstr "Siondacaideadh" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "Chan eil àireamh na duilleige seo 'na àireamh slàn" + +msgid "That page number is less than 1" +msgstr "Tha àireamh na duilleige seo nas lugha na 1" + +msgid "That page contains no results" +msgstr "Chan eil toradh aig an duilleag seo" + +msgid "Enter a valid value." +msgstr "Cuir a-steach luach dligheach." + +msgid "Enter a valid URL." +msgstr "Cuir a-steach URL dligheach." + +msgid "Enter a valid integer." +msgstr "Cuir a-steach àireamh slàin dhligheach." + +msgid "Enter a valid email address." +msgstr "Cuir a-steach seòladh puist-d dligheach." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Cuir a-steach “sluga” dligheach anns nach eil ach litrichean, àireamhan, fo-" +"loidhnichean is tàthanan." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Cuir a-steach “sluga” dligheach anns nach eil ach litrichean Unicode, " +"àireamhan, fo-loidhnichean is tàthanan." + +msgid "Enter a valid IPv4 address." +msgstr "Cuir a-steach seòladh IPv4 dligheach." + +msgid "Enter a valid IPv6 address." +msgstr "Cuir a-steach seòladh IPv6 dligheach." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Cuir a-steach seòladh IPv4 no IPv6 dligheach." + +msgid "Enter only digits separated by commas." +msgstr "Na cuir a-steach ach àireamhan ’gan sgaradh le cromagan." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Dèan cinnteach gu bheil an luach seo %(limit_value)s (’s e %(show_value)s a " +"th’ ann)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" +"Dèan cinnteach gu bheil an luach seo nas lugha na no co-ionnan ri " +"%(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" +"Dèan cinnteach gu bheil an luach seo nas motha na no co-ionnan ri " +"%(limit_value)s." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Dèan cinnteach gu bheil %(limit_value)d charactar aig an luach seo air a’ " +"char as lugha (tha %(show_value)d aige an-dràsta)." +msgstr[1] "" +"Dèan cinnteach gu bheil %(limit_value)d charactar aig an luach seo air a’ " +"char as lugha (tha %(show_value)d aige an-dràsta)." +msgstr[2] "" +"Dèan cinnteach gu bheil %(limit_value)d caractaran aig an luach seo air a’ " +"char as lugha (tha %(show_value)d aige an-dràsta)." +msgstr[3] "" +"Dèan cinnteach gu bheil %(limit_value)d caractar aig an luach seo air a’ " +"char as lugha (tha %(show_value)d aige an-dràsta)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Dèan cinnteach gu bheil %(limit_value)d charactar aig an luach seo air a’ " +"char as motha (tha %(show_value)d aige an-dràsta)." +msgstr[1] "" +"Dèan cinnteach gu bheil %(limit_value)d charactar aig an luach seo air a’ " +"char as motha (tha %(show_value)d aige an-dràsta)." +msgstr[2] "" +"Dèan cinnteach gu bheil %(limit_value)d caractaran aig an luach seo air a’ " +"char as motha (tha %(show_value)d aige an-dràsta)." +msgstr[3] "" +"Dèan cinnteach gu bheil %(limit_value)d caractar aig an luach seo air a’ " +"char as motha (tha %(show_value)d aige an-dràsta)." + +msgid "Enter a number." +msgstr "Cuir a-steach àireamh." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "" +"Dèan cinnteach nach eil barrachd air %(max)s àireamh ann gu h-iomlan." +msgstr[1] "" +"Dèan cinnteach nach eil barrachd air %(max)s àireamh ann gu h-iomlan." +msgstr[2] "" +"Dèan cinnteach nach eil barrachd air %(max)s àireamhan ann gu h-iomlan." +msgstr[3] "" +"Dèan cinnteach nach eil barrachd air %(max)s àireamh ann gu h-iomlan." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Dèan cinnteach nach eil barrachd air %(max)s ionad deicheach ann." +msgstr[1] "Dèan cinnteach nach eil barrachd air %(max)s ionad deicheach ann." +msgstr[2] "Dèan cinnteach nach eil barrachd air %(max)s ionadan deicheach ann." +msgstr[3] "Dèan cinnteach nach eil barrachd air %(max)s ionad deicheach ann." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Dèan cinnteach nach eil barrachd air %(max)s àireamh ann ron phuing " +"dheicheach." +msgstr[1] "" +"Dèan cinnteach nach eil barrachd air %(max)s àireamh ann ron phuing " +"dheicheach." +msgstr[2] "" +"Dèan cinnteach nach eil barrachd air %(max)s àireamhan ann ron phuing " +"dheicheach." +msgstr[3] "" +"Dèan cinnteach nach eil barrachd air %(max)s àireamh ann ron phuing " +"dheicheach." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Chan eil an leudachan faidhle “%(extension)s” ceadaichte. Seo na leudachain " +"a tha ceadaichte: %(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Chan eil caractaran null ceadaichte." + +msgid "and" +msgstr "agus" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "Tha %(model_name)s lis a’ %(field_labels)s seo ann mar-thà." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Chan eil an luach %(value)r ’na roghainn dhligheach." + +msgid "This field cannot be null." +msgstr "Chan fhaod an raon seo a bhith ’na neoni." + +msgid "This field cannot be blank." +msgstr "Chan fhaod an raon seo a bhith bàn." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "Tha %(model_name)s leis a’ %(field_label)s seo ann mar-thà." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"Chan fhaod %(field_label)s a bhith ann ach aon turas airson " +"%(date_field_label)s %(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Raon dhen t-seòrsa: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "Feumaidh “%(value)s” a bhith True no False." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "Feumaidh “%(value)s” a bhith True, False no None." + +msgid "Boolean (Either True or False)" +msgstr "Booleach (True no False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Sreang (suas ri %(max_length)s)" + +msgid "Comma-separated integers" +msgstr "Àireamhan slàna sgaraichte le cromagan" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"Tha fòrmat cinn-là mì-dhligheach aig an luach “%(value)s”. Feumaidh e bhith " +"san fhòrmat BBBB-MM-LL." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"Tha fòrmat mar bu chòir (BBBB-MM-LL) aig an luach “%(value)s” ach tha an " +"ceann-là mì-dligheach." + +msgid "Date (without time)" +msgstr "Ceann-là (gun àm)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"Tha fòrmat mì-dhligheach aig an luach “%(value)s”. Feumaidh e bhith san " +"fhòrmat BBBB-MM-LL HH:MM[:dd[.uuuuuu]][TZ]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"Tha fòrmat mar bu chòir (BBBB-MM-LL HH:MM[:dd[.uuuuuu]][TZ]) aig an luach " +"“%(value)s” ach tha an ceann-là/an t-àm mì-dligheach." + +msgid "Date (with time)" +msgstr "Ceann-là (le àm)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "Feumaidh “%(value)s” a bhith ’na àireamh dheicheach." + +msgid "Decimal number" +msgstr "Àireamh dheicheach" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"Tha fòrmat mì-dhligheach aig an luach “%(value)s”. Feumaidh e bhith san " +"fhòrmat [DD] [[HH:]MM:]ss[.uuuuuu]." + +msgid "Duration" +msgstr "Faid" + +msgid "Email address" +msgstr "Seòladh puist-d" + +msgid "File path" +msgstr "Slighe an fhaidhle" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "Feumaidh “%(value)s” a bhith ’na àireamh floda." + +msgid "Floating point number" +msgstr "Àireamh le puing floda" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "Feumaidh “%(value)s” a bhith ’na àireamh shlàn." + +msgid "Integer" +msgstr "Àireamh shlàn" + +msgid "Big (8 byte) integer" +msgstr "Mòr-àireamh shlàn (8 baidht)" + +msgid "Small integer" +msgstr "Beag-àireamh slàn" + +msgid "IPv4 address" +msgstr "Seòladh IPv4" + +msgid "IP address" +msgstr "Seòladh IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "Feumaidh “%(value)s” a bhith None, True no False." + +msgid "Boolean (Either True, False or None)" +msgstr "Booleach (True, False no None)" + +msgid "Positive big integer" +msgstr "Àireamh shlàn dhearbh" + +msgid "Positive integer" +msgstr "Àireamh shlàn dhearbh" + +msgid "Positive small integer" +msgstr "Beag-àireamh shlàn dhearbh" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Sluga (suas ri %(max_length)s)" + +msgid "Text" +msgstr "Teacsa" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"Tha fòrmat mì-dhligheach aig an luach “%(value)s”. Feumaidh e bhith san " +"fhòrmat HH:MM[:dd[.uuuuuu]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"Tha fòrmat mar bu chòir (HH:MM[:dd[.uuuuuu]]) aig an luach “%(value)s” ach " +"tha an t-àm mì-dligheach." + +msgid "Time" +msgstr "Àm" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Dàta bìnearaidh amh" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "Chan eil “%(value)s” ’na UUID dligheach." + +msgid "Universally unique identifier" +msgstr "Aithnichear àraidh gu h-uile-choitcheann" + +msgid "File" +msgstr "Faidhle" + +msgid "Image" +msgstr "Dealbh" + +msgid "A JSON object" +msgstr "Oibseact JSON" + +msgid "Value must be valid JSON." +msgstr "Feumaidh an luach a bhith ’na JSON dligheach." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "Chan eil ionstans dhe %(model)s le %(field)s %(value)r ann." + +msgid "Foreign Key (type determined by related field)" +msgstr "Iuchair chèin (thèid a sheòrsa a mhìneachadh leis an raon dàimheach)" + +msgid "One-to-one relationship" +msgstr "Dàimh aonan gu aonan" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "Dàimh %(from)s-%(to)s" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "Dàimhean %(from)s-%(to)s" + +msgid "Many-to-many relationship" +msgstr "Dàimh iomadh rud gu iomadh rud" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Tha an raon seo riatanach." + +msgid "Enter a whole number." +msgstr "Cuir a-steach àireamh shlàn." + +msgid "Enter a valid date." +msgstr "Cuir a-steach ceann-là dligheach." + +msgid "Enter a valid time." +msgstr "Cuir a-steach àm dligheach." + +msgid "Enter a valid date/time." +msgstr "Cuir a-steach ceann-là ’s àm dligheach." + +msgid "Enter a valid duration." +msgstr "Cuir a-steach faid dhligheach." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" +"Feumaidh an àireamh de làithean a bhith eadar {min_days} is {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"Cha deach faidhle a chur a-null. Dearbhaich seòrsa a’ chòdachaidh air an " +"fhoirm." + +msgid "No file was submitted." +msgstr "Cha deach faidhle a chur a-null." + +msgid "The submitted file is empty." +msgstr "Tha am faidhle a chaidh a chur a-null falamh." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Dèan cinnteach nach eil barrachd air %(max)d charactar ann an ainm an " +"fhaidhle (tha %(length)d aige)." +msgstr[1] "" +"Dèan cinnteach nach eil barrachd air %(max)d charactar ann an ainm an " +"fhaidhle (tha %(length)d aige)." +msgstr[2] "" +"Dèan cinnteach nach eil barrachd air %(max)d caractaran ann an ainm an " +"fhaidhle (tha %(length)d aige)." +msgstr[3] "" +"Dèan cinnteach nach eil barrachd air %(max)d caractar ann an ainm an " +"fhaidhle (tha %(length)d aige)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Cuir a-null faidhle no cuir cromag sa bhogsa fhalamh, na dèan an dà chuidh " +"dhiubh." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Luchdaich suas dealbh dligheach. Cha robh am faidhle a luchdaich thu suas " +"’na dhealbh no bha an dealbh coirbte." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Tagh rud dligheach. Chan eil %(value)s ’na roghainn dhut." + +msgid "Enter a list of values." +msgstr "Cuir a-steach liosta de luachan." + +msgid "Enter a complete value." +msgstr "Cuir a-steach luach slàn." + +msgid "Enter a valid UUID." +msgstr "Cuir a-steach UUID dligheach." + +msgid "Enter a valid JSON." +msgstr "Cuir a-steach JSON dligheach." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Raon falaichte %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"Tha dàta an fhoirm stiùiridh a dhìth no chaidh beantainn ris. Seo na " +"raointean a tha a dhìth: %(field_names)s. Ma mhaireas an duilgheadas, saoil " +"an cuir thu aithris air buga thugainn?" + +#, python-format +msgid "Please submit at most %d form." +msgid_plural "Please submit at most %d forms." +msgstr[0] "Na cuir a-null barrachd air %d fhoirm." +msgstr[1] "Na cuir a-null barrachd air %d fhoirm." +msgstr[2] "Na cuir a-null barrachd air %d foirmean." +msgstr[3] "Na cuir a-null barrachd air %d foirm." + +#, python-format +msgid "Please submit at least %d form." +msgid_plural "Please submit at least %d forms." +msgstr[0] "Cuir a-null %d fhoirm air a char as lugha." +msgstr[1] "Cuir a-null %d fhoirm air a char as lugha." +msgstr[2] "Cuir a-null %d foirmichean air a char as lugha." +msgstr[3] "Cuir a-null %d foirm air a char as lugha." + +msgid "Order" +msgstr "Òrdugh" + +msgid "Delete" +msgstr "Sguab às" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Ceartaich an dàta dùblaichte airson %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Ceartaich an dàta dùblaichte airson %(field)s, chan fhaod gach nì a bhith " +"ann ach aon turas." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Ceartaich an dàta dùblaichte airson %(field_name)s nach fhaod a bhith ann " +"ach aon turas airson %(lookup)s ann an %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Ceartaich na luachan dùblaichte gu h-ìosal." + +msgid "The inline value did not match the parent instance." +msgstr "" +"Chan eil an luach am broinn na loidhne a’ freagairt ris an ionstans-pàraint." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Tagh rud dligheach. Chan eil an rud seo ’na roghainn dhut." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "Chan e luach dligheach a tha ann an “%(pk)s”." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"Cha chiall dha %(datetime)s san roinn-tìde %(current_timezone)s; dh’fhaoidte " +"gu bheil e dà-sheaghach no nach eil e ann." + +msgid "Clear" +msgstr "Falamhaich" + +msgid "Currently" +msgstr "An-dràsta" + +msgid "Change" +msgstr "Atharraich" + +msgid "Unknown" +msgstr "Chan eil fhios" + +msgid "Yes" +msgstr "Tha" + +msgid "No" +msgstr "Chan eil" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "yes,no,maybe" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d baidht" +msgstr[1] "%(size)d baidht" +msgstr[2] "%(size)d baidht" +msgstr[3] "%(size)d baidht" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "f" + +msgid "a.m." +msgstr "m" + +msgid "PM" +msgstr "f" + +msgid "AM" +msgstr "m" + +msgid "midnight" +msgstr "meadhan-oidhche" + +msgid "noon" +msgstr "meadhan-latha" + +msgid "Monday" +msgstr "DiLuain" + +msgid "Tuesday" +msgstr "DiMàirt" + +msgid "Wednesday" +msgstr "DiCiadain" + +msgid "Thursday" +msgstr "DiarDaoin" + +msgid "Friday" +msgstr "DihAoine" + +msgid "Saturday" +msgstr "DiSathairne" + +msgid "Sunday" +msgstr "DiDòmhnaich" + +msgid "Mon" +msgstr "DiL" + +msgid "Tue" +msgstr "DiM" + +msgid "Wed" +msgstr "DiC" + +msgid "Thu" +msgstr "Dia" + +msgid "Fri" +msgstr "Dih" + +msgid "Sat" +msgstr "DiS" + +msgid "Sun" +msgstr "DiD" + +msgid "January" +msgstr "Am Faoilleach" + +msgid "February" +msgstr "An Gearran" + +msgid "March" +msgstr "Am Màrt" + +msgid "April" +msgstr "An Giblean" + +msgid "May" +msgstr "An Cèitean" + +msgid "June" +msgstr "An t-Ògmhios" + +msgid "July" +msgstr "An t-Iuchar" + +msgid "August" +msgstr "An Lùnastal" + +msgid "September" +msgstr "An t-Sultain" + +msgid "October" +msgstr "An Dàmhair" + +msgid "November" +msgstr "An t-Samhain" + +msgid "December" +msgstr "An Dùbhlachd" + +msgid "jan" +msgstr "faoi" + +msgid "feb" +msgstr "gearr" + +msgid "mar" +msgstr "màrt" + +msgid "apr" +msgstr "gibl" + +msgid "may" +msgstr "cèit" + +msgid "jun" +msgstr "ògmh" + +msgid "jul" +msgstr "iuch" + +msgid "aug" +msgstr "lùna" + +msgid "sep" +msgstr "sult" + +msgid "oct" +msgstr "dàmh" + +msgid "nov" +msgstr "samh" + +msgid "dec" +msgstr "dùbh" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Faoi" + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Gearr" + +msgctxt "abbrev. month" +msgid "March" +msgstr "Màrt" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Gibl" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Cèit" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Ògmh" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Iuch" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Lùna" + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Sult" + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Dàmh" + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Samh" + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Dùbh" + +msgctxt "alt. month" +msgid "January" +msgstr "Am Faoilleach" + +msgctxt "alt. month" +msgid "February" +msgstr "An Gearran" + +msgctxt "alt. month" +msgid "March" +msgstr "Am Màrt" + +msgctxt "alt. month" +msgid "April" +msgstr "An Giblean" + +msgctxt "alt. month" +msgid "May" +msgstr "An Cèitean" + +msgctxt "alt. month" +msgid "June" +msgstr "An t-Ògmhios" + +msgctxt "alt. month" +msgid "July" +msgstr "An t-Iuchar" + +msgctxt "alt. month" +msgid "August" +msgstr "An Lùnastal" + +msgctxt "alt. month" +msgid "September" +msgstr "An t-Sultain" + +msgctxt "alt. month" +msgid "October" +msgstr "An Dàmhair" + +msgctxt "alt. month" +msgid "November" +msgstr "An t-Samhain" + +msgctxt "alt. month" +msgid "December" +msgstr "An Dùbhlachd" + +msgid "This is not a valid IPv6 address." +msgstr "Chan eil seo ’na sheòladh IPv6 dligheach." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "no" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d bliadhna" +msgstr[1] "%(num)d bhliadhna" +msgstr[2] "%(num)d bliadhnaichean" +msgstr[3] "%(num)d bliadhna" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d mhìos" +msgstr[1] "%(num)d mhìos" +msgstr[2] "%(num)d mìosan" +msgstr[3] "%(num)d mìos" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d seachdain" +msgstr[1] "%(num)d sheachdain" +msgstr[2] "%(num)d seachdainean" +msgstr[3] "%(num)d seachdain" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d latha" +msgstr[1] "%(num)d latha" +msgstr[2] "%(num)d làithean" +msgstr[3] "%(num)d latha" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d uair a thìde" +msgstr[1] "%(num)d uair a thìde" +msgstr[2] "%(num)d uairean a thìde" +msgstr[3] "%(num)d uair a thìde" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d mhionaid" +msgstr[1] "%(num)d mhionaid" +msgstr[2] "%(num)d mionaidean" +msgstr[3] "%(num)d mionaid" + +msgid "Forbidden" +msgstr "Toirmisgte" + +msgid "CSRF verification failed. Request aborted." +msgstr "Dh’fhàillig le dearbhadh CSRF. chaidh sgur dhen iarrtas." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Chì thu an teachdaireachd seo air sgàth ’s gu bheil an làrach-lìn HTTPS seo " +"ag iarraidh air a’ bhrabhsair-lìn agad gun cuir e bann-cinn “Referer” thuice " +"ach cha deach gin a chur a-null. Tha feum air a’ bhann-chinn seo a chum " +"tèarainteachd ach nach cleachd treas-phàrtaidh am brabhsair agad gu droch-" +"rùnach." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Ma rèitich thu am brabhsair agad ach an cuir e bannan-cinn “Referer” à " +"comas, cuir an comas iad a-rithist, co-dhiù airson na làraich seo no airson " +"ceanglaichean HTTPS no airson iarrtasan “same-origin”." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Ma tha thu a’ cleachdadh taga no a’ gabhail a-staigh bann-cinn “'Referrer-Policy: no-referrer” feuch " +"an doir thu air falbh iad. Iarraidh an dìon CSRF bann-cinn “Referer” gus na " +"referers a dhearbhadh gu teann. Ma tha thu iomagaineach a thaobh do " +"prìobhaideachd, cleachd roghainnean eile mar airson " +"ceangal gu làraichean-lìn threas-phàrtaidhean." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Chì thu an teachdaireachd seo air sgàth ’s gu bheil an làrach-lìn seo ag " +"iarraidh briosgaid CSRF nuair a chuireas tu foirm a-null. Tha feum air a’ " +"bhriosgaid seo a chum tèarainteachd ach nach cleachd treas-phàrtaidh am " +"brabhsair agad gu droch-rùnach." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Ma rèitich thu am brabhsair agad ach an cuir e briosgaidean à comas, cuir an " +"comas iad a-rithist, co-dhiù airson na làraich seo no airson iarrtasan “same-" +"origin”." + +msgid "More information is available with DEBUG=True." +msgstr "Gheibh thu barrachd fiosrachaidh le DEBUG=True." + +msgid "No year specified" +msgstr "Cha deach bliadhna a shònrachadh" + +msgid "Date out of range" +msgstr "Tha ceann-là taobh thar na rainse" + +msgid "No month specified" +msgstr "Cha deach mìos a shònrachadh" + +msgid "No day specified" +msgstr "Cha deach latha a shònrachadh" + +msgid "No week specified" +msgstr "Cha deach seachdain a shònrachadh" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Chan eil %(verbose_name_plural)s ri fhaighinn" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Chan eil %(verbose_name_plural)s san àm ri teachd ri fhaighinn air sgàth ’s " +"gun deach %(class_name)s.allow_future a shuidheachadh air False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" +"Sreang cinn-là “%(datestr)s” mì-dhligheach airson an fhòrmait “%(format)s”" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Cha deach %(verbose_name)s a lorg a fhreagras dhan cheist" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" +"Chan eil an duilleag ’na “last” is cha ghabh a h-iompachadh gu àireamh shlàn." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Duilleag mhì-dhligheach (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" +"Tha liosta fhalamh ann agus chaidh “%(class_name)s.allow_empty” a " +"shuidheachadh air False." + +msgid "Directory indexes are not allowed here." +msgstr "Chan eil clàran-amais pasgain falamh ceadaichte an-seo." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "Chan eil “%(path)s” ann" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Clàr-amais dhe %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "Chaidh a stàladh! Meal do naidheachd!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Seall na nòtaichean sgaoilidh airson Django " +"%(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" +"Chì thu an duilleag seo on a tha DEBUG=True ann am faidhle nan roghainnean agad agus cha do rèitich " +"thu URL sam bith fhathast." + +msgid "Django Documentation" +msgstr "Docamaideadh Django" + +msgid "Topics, references, & how-to’s" +msgstr "Cuspairean, iomraidhean ⁊ treòraichean" + +msgid "Tutorial: A Polling App" +msgstr "Oideachadh: Aplacaid cunntais-bheachd" + +msgid "Get started with Django" +msgstr "Dèan toiseach-tòiseachaidh le Django" + +msgid "Django Community" +msgstr "Coimhearsnachd Django" + +msgid "Connect, get help, or contribute" +msgstr "Dèan ceangal, faigh taic no cuidich" diff --git a/external_sources/django/django/conf/locale/gd/__init__.py b/external_sources/django/django/conf/locale/gd/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/gd/formats.py b/external_sources/django/django/conf/locale/gd/formats.py new file mode 100644 index 0000000..5ef6774 --- /dev/null +++ b/external_sources/django/django/conf/locale/gd/formats.py @@ -0,0 +1,21 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j F Y" +TIME_FORMAT = "h:ia" +DATETIME_FORMAT = "j F Y h:ia" +# YEAR_MONTH_FORMAT = +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "j M Y" +SHORT_DATETIME_FORMAT = "j M Y h:ia" +FIRST_DAY_OF_WEEK = 1 # Monday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = "." +THOUSAND_SEPARATOR = "," +# NUMBER_GROUPING = diff --git a/external_sources/django/django/conf/locale/gl/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/gl/LC_MESSAGES/django.po new file mode 100644 index 0000000..7ebeab2 --- /dev/null +++ b/external_sources/django/django/conf/locale/gl/LC_MESSAGES/django.po @@ -0,0 +1,1356 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# fasouto , 2011-2012 +# fonso , 2011,2013 +# fonso , 2013 +# fasouto , 2017 +# Jannis Leidel , 2011 +# Leandro Regueiro , 2013 +# 948a55bc37dd6d642f1875bb84258fff_07a28cc , 2012 +# X Bello , 2023-2024 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 06:49+0000\n" +"Last-Translator: X Bello , 2023-2024\n" +"Language-Team: Galician (http://app.transifex.com/django/django/language/" +"gl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "Africáner" + +msgid "Arabic" +msgstr "Árabe" + +msgid "Algerian Arabic" +msgstr "Árabe Arxelino" + +msgid "Asturian" +msgstr "Asturiano" + +msgid "Azerbaijani" +msgstr "Azerí" + +msgid "Bulgarian" +msgstr "Búlgaro" + +msgid "Belarusian" +msgstr "Bielorruso" + +msgid "Bengali" +msgstr "Bengalí" + +msgid "Breton" +msgstr "Bretón" + +msgid "Bosnian" +msgstr "Bosníaco" + +msgid "Catalan" +msgstr "Catalán" + +msgid "Central Kurdish (Sorani)" +msgstr "Kurdo Central (Sorani)" + +msgid "Czech" +msgstr "Checo" + +msgid "Welsh" +msgstr "Galés" + +msgid "Danish" +msgstr "Dinamarqués" + +msgid "German" +msgstr "Alemán" + +msgid "Lower Sorbian" +msgstr "Baixo Sorabo" + +msgid "Greek" +msgstr "Grego" + +msgid "English" +msgstr "Inglés" + +msgid "Australian English" +msgstr "Inglés australiano" + +msgid "British English" +msgstr "inglés británico" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Español" + +msgid "Argentinian Spanish" +msgstr "Español da Arxentina" + +msgid "Colombian Spanish" +msgstr "Español de Colombia" + +msgid "Mexican Spanish" +msgstr "Español de México" + +msgid "Nicaraguan Spanish" +msgstr "Español de Nicaragua" + +msgid "Venezuelan Spanish" +msgstr "Español de Venezuela" + +msgid "Estonian" +msgstr "Estoniano" + +msgid "Basque" +msgstr "Vasco" + +msgid "Persian" +msgstr "Persa" + +msgid "Finnish" +msgstr "Finés" + +msgid "French" +msgstr "Francés" + +msgid "Frisian" +msgstr "Frisón" + +msgid "Irish" +msgstr "Irlandés" + +msgid "Scottish Gaelic" +msgstr "Gaélico Escocés" + +msgid "Galician" +msgstr "Galego" + +msgid "Hebrew" +msgstr "Hebreo" + +msgid "Hindi" +msgstr "Hindi" + +msgid "Croatian" +msgstr "Croata" + +msgid "Upper Sorbian" +msgstr "Alto Sorabo" + +msgid "Hungarian" +msgstr "Húngaro" + +msgid "Armenian" +msgstr "Armenio" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indonesio" + +msgid "Igbo" +msgstr "Ibo" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Islandés" + +msgid "Italian" +msgstr "Italiano" + +msgid "Japanese" +msgstr "Xaponés" + +msgid "Georgian" +msgstr "Xeorxiano" + +msgid "Kabyle" +msgstr "Cabilio" + +msgid "Kazakh" +msgstr "Casaco" + +msgid "Khmer" +msgstr "Camboxano" + +msgid "Kannada" +msgstr "Canará" + +msgid "Korean" +msgstr "Coreano" + +msgid "Kyrgyz" +msgstr "Kirguiz" + +msgid "Luxembourgish" +msgstr "Luxemburgués" + +msgid "Lithuanian" +msgstr "Lituano" + +msgid "Latvian" +msgstr "Letón" + +msgid "Macedonian" +msgstr "Macedonio" + +msgid "Malayalam" +msgstr "Mala" + +msgid "Mongolian" +msgstr "Mongol" + +msgid "Marathi" +msgstr "Marathi" + +msgid "Malay" +msgstr "Malaio" + +msgid "Burmese" +msgstr "Birmano" + +msgid "Norwegian Bokmål" +msgstr "Bokmål Noruegués" + +msgid "Nepali" +msgstr "Nepalés" + +msgid "Dutch" +msgstr "Holandés" + +msgid "Norwegian Nynorsk" +msgstr "Noruegués (nynorsk)" + +msgid "Ossetic" +msgstr "Osetio" + +msgid "Punjabi" +msgstr "Panxabiano" + +msgid "Polish" +msgstr "Polaco" + +msgid "Portuguese" +msgstr "Portugués" + +msgid "Brazilian Portuguese" +msgstr "Portugués do Brasil" + +msgid "Romanian" +msgstr "Romanés" + +msgid "Russian" +msgstr "Ruso" + +msgid "Slovak" +msgstr "Eslovaco" + +msgid "Slovenian" +msgstr "Esloveno" + +msgid "Albanian" +msgstr "Albanés" + +msgid "Serbian" +msgstr "Serbio" + +msgid "Serbian Latin" +msgstr "Serbio (alfabeto latino)" + +msgid "Swedish" +msgstr "Sueco" + +msgid "Swahili" +msgstr "Suahili" + +msgid "Tamil" +msgstr "Támil" + +msgid "Telugu" +msgstr "Telugu" + +msgid "Tajik" +msgstr "Taxico" + +msgid "Thai" +msgstr "Tai" + +msgid "Turkmen" +msgstr "Turcomá" + +msgid "Turkish" +msgstr "Turco" + +msgid "Tatar" +msgstr "Tártaro" + +msgid "Udmurt" +msgstr "Udmurt" + +msgid "Uyghur" +msgstr "Uigur" + +msgid "Ukrainian" +msgstr "Ucraíno" + +msgid "Urdu" +msgstr "Urdu" + +msgid "Uzbek" +msgstr "Uzbeco" + +msgid "Vietnamese" +msgstr "Vietnamita" + +msgid "Simplified Chinese" +msgstr "Chinés simplificado" + +msgid "Traditional Chinese" +msgstr "Chinés tradicional" + +msgid "Messages" +msgstr "Mensaxes" + +msgid "Site Maps" +msgstr "Mapas do sitio" + +msgid "Static Files" +msgstr "Arquivos Estáticos" + +msgid "Syndication" +msgstr "Sindicación" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "Ese número de páxina non é un enteiro" + +msgid "That page number is less than 1" +msgstr "Ese número de páxina é menor que 1" + +msgid "That page contains no results" +msgstr "Esa páxina non contén resultados" + +msgid "Enter a valid value." +msgstr "Insira un valor válido." + +msgid "Enter a valid domain name." +msgstr "Introduza un nome de dominio válido." + +msgid "Enter a valid URL." +msgstr "Insira un URL válido." + +msgid "Enter a valid integer." +msgstr "Introduza un enteiro válido." + +msgid "Enter a valid email address." +msgstr "Insira un enderezo de correo electrónico válido." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Insira un “slug” valido composto por letras, números, guións baixos ou " +"medios." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Insira un “slug” valido composto por letras Unicode, números, guións baixos " +"ou medios." + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "Introduza unha dirección %(protocol)s válida." + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "IPv4 or IPv6" +msgstr "IPv4 ou IPv6" + +msgid "Enter only digits separated by commas." +msgstr "Insira só díxitos separados por comas." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Asegúrese de que este valor é %(limit_value)s (agora é %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Asegure que este valor é menor ou igual a %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Asegure que este valor é maior ou igual a %(limit_value)s." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "" +"Asegúrese de que este valor é un múltiplo do tamaño do paso %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"Asegúrese de que este valor é un múltiplo do tamaño do paso %(limit_value)s, " +"comezando por %(offset)s, p. ex. %(offset)s, %(valid_value1)s, " +"%(valid_value2)s, e sucesivos." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Asegúrese de que este valor ten polo menos %(limit_value)d caracter (agora " +"ten %(show_value)d)." +msgstr[1] "" +"Asegúrese de que este valor ten polo menos %(limit_value)d caracteres (agora " +"ten %(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Asegúrese de que este valor ten como moito %(limit_value)d caracter (agora " +"ten %(show_value)d)." +msgstr[1] "" +"Asegúrese de que este valor ten como moito %(limit_value)d caracteres (agora " +"ten %(show_value)d)." + +msgid "Enter a number." +msgstr "Insira un número." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Asegure que non hai mais de %(max)s díxito en total." +msgstr[1] "Asegure que non hai mais de %(max)s díxitos en total." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Asegúrese de que non hai máis de %(max)s lugar decimal." +msgstr[1] "Asegúrese de que non hai máis de %(max)s lugares decimais." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Asegúrese de que no hai máis de %(max)s díxito antes do punto decimal." +msgstr[1] "" +"Asegúrese de que non hai máis de %(max)s díxitos antes do punto decimal." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Non se permite a extensión “%(extension)s”. As extensións permitidas son: " +"%(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Non se permiten caracteres nulos." + +msgid "and" +msgstr "e" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "Xa existe un %(model_name)s con este %(field_labels)s." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "Viólase a restricción “%(name)s”." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "O valor %(value)r non é unha opción válida." + +msgid "This field cannot be null." +msgstr "Este campo non pode ser nulo." + +msgid "This field cannot be blank." +msgstr "Este campo non pode estar baleiro." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "" +"Xa existe un modelo %(model_name)s coa etiqueta de campo %(field_label)s." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s ten que ser único para %(lookup_type)s en " +"%(date_field_label)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Campo de tipo: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "O valor “%(value)s” ten que ser ou True ou False." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "O valor “%(value)s” ten que ser True, False ou None." + +msgid "Boolean (Either True or False)" +msgstr "Valor booleano (verdadeiro ou falso)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Cadea (máximo %(max_length)s)" + +msgid "String (unlimited)" +msgstr "Texto (sin límite)" + +msgid "Comma-separated integers" +msgstr "Números enteiros separados por comas" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"O valor “%(value)s” ten un formato inválido de data. Debe estar no formato " +"AAAA-MM-DD." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"O valor “%(value)s” ten o formato correcto (AAAA-MM-DD) pero non é unha data " +"válida." + +msgid "Date (without time)" +msgstr "Data (sen a hora)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"O valor “%(value)s” ten un formato non válido. Debe de ter o formato AAAA-MM-" +"DD HH:MM[:ss[.uuuuuu]][TZ]. " + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"O valor “%(value)s” ten o formato correcto (AAAA-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) pero non é unha data/hora válida." + +msgid "Date (with time)" +msgstr "Data (coa hora)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "“%(value)s” ten que ser un número en formato decimal." + +msgid "Decimal number" +msgstr "Número decimal" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"O valor “%(value)s” ten un formato non válido. Debe de ter o formato [DD] " +"[[HH:]MM:]ss[.uuuuuu]. " + +msgid "Duration" +msgstr "Duración" + +msgid "Email address" +msgstr "Enderezo electrónico" + +msgid "File path" +msgstr "Ruta de ficheiro" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "O valor “%(value)s” ten que ser un número en coma flotante." + +msgid "Floating point number" +msgstr "Número en coma flotante" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "O valor “%(value)s” ten que ser un número enteiro." + +msgid "Integer" +msgstr "Número enteiro" + +msgid "Big (8 byte) integer" +msgstr "Enteiro grande (8 bytes)" + +msgid "Small integer" +msgstr "Enteiro pequeno" + +msgid "IPv4 address" +msgstr "Enderezo IPv4" + +msgid "IP address" +msgstr "Enderezo IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "O valor “%(value)s” ten que ser None, True ou False." + +msgid "Boolean (Either True, False or None)" +msgstr "Booleano (verdadeiro, falso ou ningún)" + +msgid "Positive big integer" +msgstr "Número enteiro positivo grande" + +msgid "Positive integer" +msgstr "Numero enteiro positivo" + +msgid "Positive small integer" +msgstr "Enteiro pequeno positivo" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (ata %(max_length)s)" + +msgid "Text" +msgstr "Texto" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"O valor “%(value)s” ten un formato non válido. Ten que ter o formato HH:MM[:" +"ss[.uuuuuu]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"O valor “%(value)s” ten o formato correcto (HH:MM[:ss[.uuuuuu]]) pero non é " +"unha hora válida." + +msgid "Time" +msgstr "Hora" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Datos binarios en crú" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "“%(value)s” non é un UUID válido." + +msgid "Universally unique identifier" +msgstr "Identificador único universal" + +msgid "File" +msgstr "Ficheiro" + +msgid "Image" +msgstr "Imaxe" + +msgid "A JSON object" +msgstr "Un obxeto JSON" + +msgid "Value must be valid JSON." +msgstr "O valor ten que ser JSON válido." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "A instancia de %(model)s co %(field)s %(value)r non existe." + +msgid "Foreign Key (type determined by related field)" +msgstr "Clave Foránea (tipo determinado por un campo relacionado)" + +msgid "One-to-one relationship" +msgstr "Relación un a un" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "Relación %(from)s-%(to)s" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "Relacións %(from)s-%(to)s" + +msgid "Many-to-many relationship" +msgstr "Relación moitos a moitos" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Requírese este campo." + +msgid "Enter a whole number." +msgstr "Insira un número enteiro." + +msgid "Enter a valid date." +msgstr "Insira unha data válida." + +msgid "Enter a valid time." +msgstr "Insira unha hora válida." + +msgid "Enter a valid date/time." +msgstr "Insira unha data/hora válida." + +msgid "Enter a valid duration." +msgstr "Introduza unha duración válida." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "O número de días ten que estar entre {min_days} e {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"Non se enviou ficheiro ningún. Comprobe o tipo de codificación do formulario." + +msgid "No file was submitted." +msgstr "Non se enviou ficheiro ningún." + +msgid "The submitted file is empty." +msgstr "O ficheiro enviado está baleiro." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Asegúrese de que este nome de arquivo ten como moito %(max)d caracter (agora " +"ten %(length)d)." +msgstr[1] "" +"Asegúrese de que este nome de arquivo ten como moito %(max)d caracteres " +"(agora ten %(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Ou ben envíe un ficheiro, ou ben marque a casilla de eliminar, pero non " +"ambas as dúas cousas." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Suba unha imaxe válida. O ficheiro subido non era unha imaxe ou esta estaba " +"corrupta." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Escolla unha opción válida. %(value)s non se atopa entre as opcións " +"dispoñibles." + +msgid "Enter a list of values." +msgstr "Insira unha lista de valores." + +msgid "Enter a complete value." +msgstr "Introduza un valor completo." + +msgid "Enter a valid UUID." +msgstr "Insira un UUID válido." + +msgid "Enter a valid JSON." +msgstr "Introduza un JSON válido." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Campo oculto %(name)s) %(error)s." + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"Faltan datos ou foron manipulados de ManagementForm. Campos afectados: " +"%(field_names)s. Debería abrir un informe de bug si o problema é persistente." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Por favor envíe como moito %(num)d formulario." +msgstr[1] "Por favor envíe como moito %(num)d formularios." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Por favor envíe polo menos %(num)d formulario." +msgstr[1] "Pro favor envíe polo menos %(num)d formularios." + +msgid "Order" +msgstr "Orde" + +msgid "Delete" +msgstr "Eliminar" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Corrixa os datos duplicados no campo %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "Corrixa os datos duplicados no campo %(field)s, que debe ser único." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Corrixa os datos duplicados no campo %(field_name)s, que debe ser único para " +"a busca %(lookup)s no campo %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Corrixa os valores duplicados de abaixo." + +msgid "The inline value did not match the parent instance." +msgstr "O valor na liña non coincide ca instancia nai." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Escolla unha opción válida. Esta opción non se atopa entre as opcións " +"dispoñíbeis" + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "“%(pk)s” non é un valor válido." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s non se puido interpretar na zona hora horaria " +"%(current_timezone)s; pode ser ambiguo ou non existir." + +msgid "Clear" +msgstr "Limpar" + +msgid "Currently" +msgstr "Actualmente" + +msgid "Change" +msgstr "Modificar" + +msgid "Unknown" +msgstr "Descoñecido" + +msgid "Yes" +msgstr "Si" + +msgid "No" +msgstr "Non" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "si,non,quizais" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d byte" +msgstr[1] "%(size)d bytes" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "medianoite" + +msgid "noon" +msgstr "mediodía" + +msgid "Monday" +msgstr "Luns" + +msgid "Tuesday" +msgstr "Martes" + +msgid "Wednesday" +msgstr "Mércores" + +msgid "Thursday" +msgstr "Xoves" + +msgid "Friday" +msgstr "Venres" + +msgid "Saturday" +msgstr "Sábado" + +msgid "Sunday" +msgstr "Domingo" + +msgid "Mon" +msgstr "lun" + +msgid "Tue" +msgstr "mar" + +msgid "Wed" +msgstr "mér" + +msgid "Thu" +msgstr "xov" + +msgid "Fri" +msgstr "ven" + +msgid "Sat" +msgstr "sáb" + +msgid "Sun" +msgstr "dom" + +msgid "January" +msgstr "Xaneiro" + +msgid "February" +msgstr "Febreiro" + +msgid "March" +msgstr "Marzo" + +msgid "April" +msgstr "Abril" + +msgid "May" +msgstr "Maio" + +msgid "June" +msgstr "Xuño" + +msgid "July" +msgstr "Xullo" + +msgid "August" +msgstr "Agosto" + +msgid "September" +msgstr "Setembro" + +msgid "October" +msgstr "Outubro" + +msgid "November" +msgstr "Novembro" + +msgid "December" +msgstr "Decembro" + +msgid "jan" +msgstr "xan" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "abr" + +msgid "may" +msgstr "mai" + +msgid "jun" +msgstr "xuñ" + +msgid "jul" +msgstr "xul" + +msgid "aug" +msgstr "ago" + +msgid "sep" +msgstr "set" + +msgid "oct" +msgstr "out" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "dec" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Xan." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Marzo" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Abril" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Maio" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Xuño" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Xullo" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Ago." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Set." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Out." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Dec." + +msgctxt "alt. month" +msgid "January" +msgstr "Xaneiro" + +msgctxt "alt. month" +msgid "February" +msgstr "Febreiro" + +msgctxt "alt. month" +msgid "March" +msgstr "Marzo" + +msgctxt "alt. month" +msgid "April" +msgstr "Abril" + +msgctxt "alt. month" +msgid "May" +msgstr "Maio" + +msgctxt "alt. month" +msgid "June" +msgstr "Xuño" + +msgctxt "alt. month" +msgid "July" +msgstr "Xullo" + +msgctxt "alt. month" +msgid "August" +msgstr "Agosto" + +msgctxt "alt. month" +msgid "September" +msgstr "Setembro" + +msgctxt "alt. month" +msgid "October" +msgstr "Outubro" + +msgctxt "alt. month" +msgid "November" +msgstr "Novembro" + +msgctxt "alt. month" +msgid "December" +msgstr "Decembro" + +msgid "This is not a valid IPv6 address." +msgstr "Isto non é un enderezo IPv6 válido." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "ou" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d ano" +msgstr[1] "%(num)d anos" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d mes" +msgstr[1] "%(num)d meses" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d semana" +msgstr[1] "%(num)d semanas" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d día" +msgstr[1] "%(num)d días" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d hora" +msgstr[1] "%(num)d horas" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d minuto" +msgstr[1] "%(num)d minutos" + +msgid "Forbidden" +msgstr "Denegado" + +msgid "CSRF verification failed. Request aborted." +msgstr "Fallóu a verificación CSRF. Abortouse a petición." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Está vendo esta mensaxe porque este sitio HTTPS require que o navegador " +"envíe un \"Referer header\", pero non envióu ningún. Este encabezamento é " +"necesario por razóns de seguridade, para asegurar que o navegador non está " +"sendo suplantado por terceiros." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Se ten o navegador configurado para deshabilitar os encabezamentos " +"\"Referer\", por favor habilíteos polo menos para este sitio, ou para " +"conexións HTTPS, ou para peticións de \"mesmo-orixe\"." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Si está usando a etiqueta " +"ou incluíndo o encabezado “Referrer-Policy: no-referrer”, por favor quíteos. " +"A protección CSRF require o encabezado “Referer” para facer a comprobación " +"estricta de referer. Si lle preocupa a privacidade, use alternativas como para enlazar con sitios de terceiros." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Está vendo esta mensaxe porque este sitio HTTPS require unha cookie CSRF ó " +"enviar formularios. Esta cookie é necesaria por razóns de seguridade, para " +"asegurar que o navegador non está sendo suplantado por terceiros." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Se ten o navegador configurado para deshabilitar as cookies, por favor " +"habilíteas, polo menos para este sitio, ou para peticións de “same-origin”." + +msgid "More information is available with DEBUG=True." +msgstr "Pode ver máis información se establece DEBUG=True." + +msgid "No year specified" +msgstr "Non se especificou ningún ano" + +msgid "Date out of range" +msgstr "Data fora de rango" + +msgid "No month specified" +msgstr "Non se especificou ningún mes" + +msgid "No day specified" +msgstr "Non se especificou ningún día" + +msgid "No week specified" +msgstr "Non se especificou ningunha semana" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Non hai %(verbose_name_plural)s dispoñibles" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Non hai dispoñibles %(verbose_name_plural)s futuros/as porque %(class_name)s." +"allow_futuro é False" + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "A data “%(datestr)s” non é válida para o formato “%(format)s”" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Non se atopou ningún/ha %(verbose_name)s que coincidise coa consulta" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "A páxina non é “last” nin se pode converter a int." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Páxina non válida (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "A lista está baleira pero “%(class_name)s.allow_empty” é False." + +msgid "Directory indexes are not allowed here." +msgstr "Os índices de directorio non están permitidos aquí." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "“%(path)s” non existe" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Índice de %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "A instalación foi un éxito! Noraboa!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Ver as notas de publicación para Django " +"%(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Está vendo esta páxina porque no arquivo de axustes ten DEBUG=True e non hai ningunha URL " +"configurada." + +msgid "Django Documentation" +msgstr "Documentación de Django" + +msgid "Topics, references, & how-to’s" +msgstr "Temas, referencias, & guías de uso" + +msgid "Tutorial: A Polling App" +msgstr "Tutorial: aplicación de enquisas" + +msgid "Get started with Django" +msgstr "Comenzar con Django" + +msgid "Django Community" +msgstr "Comunidade de Django" + +msgid "Connect, get help, or contribute" +msgstr "Conectar, conseguir axuda, ou contribuir" diff --git a/external_sources/django/django/conf/locale/gl/__init__.py b/external_sources/django/django/conf/locale/gl/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/gl/formats.py b/external_sources/django/django/conf/locale/gl/formats.py new file mode 100644 index 0000000..7372935 --- /dev/null +++ b/external_sources/django/django/conf/locale/gl/formats.py @@ -0,0 +1,21 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = r"j \d\e F \d\e Y" +TIME_FORMAT = "H:i" +DATETIME_FORMAT = r"j \d\e F \d\e Y \á\s H:i" +YEAR_MONTH_FORMAT = r"F \d\e Y" +MONTH_DAY_FORMAT = r"j \d\e F" +SHORT_DATE_FORMAT = "d-m-Y" +SHORT_DATETIME_FORMAT = "d-m-Y, H:i" +FIRST_DAY_OF_WEEK = 1 # Monday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "." +# NUMBER_GROUPING = diff --git a/external_sources/django/django/conf/locale/he/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/he/LC_MESSAGES/django.po new file mode 100644 index 0000000..630a99b --- /dev/null +++ b/external_sources/django/django/conf/locale/he/LC_MESSAGES/django.po @@ -0,0 +1,1351 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# 534b44a19bf18d20b71ecc4eb77c572f_db336e9 , 2011-2012 +# Jannis Leidel , 2011 +# Meir Kriheli , 2011-2015,2017,2019-2020,2023 +# Menachem G., 2021 +# Menachem G., 2021 +# אורי רודברג , 2021 +# Yaron Shahrabani , 2021 +# אורי רודברג , 2020,2022-2023 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 11:41-0300\n" +"PO-Revision-Date: 2023-12-04 06:49+0000\n" +"Last-Translator: Meir Kriheli , " +"2011-2015,2017,2019-2020,2023\n" +"Language-Team: Hebrew (http://app.transifex.com/django/django/language/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" + +msgid "Afrikaans" +msgstr "אפריקאנס" + +msgid "Arabic" +msgstr "ערבית" + +msgid "Algerian Arabic" +msgstr "ערבית אלג'ירית" + +msgid "Asturian" +msgstr "אסטורית" + +msgid "Azerbaijani" +msgstr "אזרית" + +msgid "Bulgarian" +msgstr "בולגרית" + +msgid "Belarusian" +msgstr "בֶּלָרוּסִית" + +msgid "Bengali" +msgstr "בנגאלית" + +msgid "Breton" +msgstr "בְּרֶטוֹנִית" + +msgid "Bosnian" +msgstr "בוסנית" + +msgid "Catalan" +msgstr "קאטלונית" + +msgid "Central Kurdish (Sorani)" +msgstr "כורדית מרכזית (סוראני)" + +msgid "Czech" +msgstr "צ'כית" + +msgid "Welsh" +msgstr "וולשית" + +msgid "Danish" +msgstr "דנית" + +msgid "German" +msgstr "גרמנית" + +msgid "Lower Sorbian" +msgstr "סורבית תחתונה" + +msgid "Greek" +msgstr "יוונית" + +msgid "English" +msgstr "אנגלית" + +msgid "Australian English" +msgstr "אנגלית אוסטרלית" + +msgid "British English" +msgstr "אנגלית בריטית" + +msgid "Esperanto" +msgstr "אספרנטו" + +msgid "Spanish" +msgstr "ספרדית" + +msgid "Argentinian Spanish" +msgstr "ספרדית ארגנטינית" + +msgid "Colombian Spanish" +msgstr "ספרדית קולומביאנית" + +msgid "Mexican Spanish" +msgstr "ספרדית מקסיקנית" + +msgid "Nicaraguan Spanish" +msgstr "ספרדית ניקרגואה" + +msgid "Venezuelan Spanish" +msgstr "ספרדית ונצואלית" + +msgid "Estonian" +msgstr "אסטונית" + +msgid "Basque" +msgstr "בסקית" + +msgid "Persian" +msgstr "פרסית" + +msgid "Finnish" +msgstr "פינית" + +msgid "French" +msgstr "צרפתית" + +msgid "Frisian" +msgstr "פריזית" + +msgid "Irish" +msgstr "אירית" + +msgid "Scottish Gaelic" +msgstr "גאלית סקוטית" + +msgid "Galician" +msgstr "גאליציאנית" + +msgid "Hebrew" +msgstr "עברית" + +msgid "Hindi" +msgstr "הינדי" + +msgid "Croatian" +msgstr "קרואטית" + +msgid "Upper Sorbian" +msgstr "סורבית עילית" + +msgid "Hungarian" +msgstr "הונגרית" + +msgid "Armenian" +msgstr "ארמנית" + +msgid "Interlingua" +msgstr "אינטרלינגואה" + +msgid "Indonesian" +msgstr "אינדונזית" + +msgid "Igbo" +msgstr "איגבו" + +msgid "Ido" +msgstr "אידו" + +msgid "Icelandic" +msgstr "איסלנדית" + +msgid "Italian" +msgstr "איטלקית" + +msgid "Japanese" +msgstr "יפנית" + +msgid "Georgian" +msgstr "גיאורגית" + +msgid "Kabyle" +msgstr "קבילה" + +msgid "Kazakh" +msgstr "קזחית" + +msgid "Khmer" +msgstr "חמר" + +msgid "Kannada" +msgstr "קאנאדה" + +msgid "Korean" +msgstr "קוריאנית" + +msgid "Kyrgyz" +msgstr "קירגיזית" + +msgid "Luxembourgish" +msgstr "לוקסמבורגית" + +msgid "Lithuanian" +msgstr "ליטאית" + +msgid "Latvian" +msgstr "לטבית" + +msgid "Macedonian" +msgstr "מקדונית" + +msgid "Malayalam" +msgstr "מלאיאלאם" + +msgid "Mongolian" +msgstr "מונגולי" + +msgid "Marathi" +msgstr "מראטהי" + +msgid "Malay" +msgstr "מלאית" + +msgid "Burmese" +msgstr "בּוּרְמֶזִית" + +msgid "Norwegian Bokmål" +msgstr "נורבגית ספרותית" + +msgid "Nepali" +msgstr "נפאלית" + +msgid "Dutch" +msgstr "הולנדית" + +msgid "Norwegian Nynorsk" +msgstr "נורבגית חדשה" + +msgid "Ossetic" +msgstr "אוסטית" + +msgid "Punjabi" +msgstr "פנג'אבי" + +msgid "Polish" +msgstr "פולנית" + +msgid "Portuguese" +msgstr "פורטוגזית" + +msgid "Brazilian Portuguese" +msgstr "פורטוגזית ברזילאית" + +msgid "Romanian" +msgstr "רומנית" + +msgid "Russian" +msgstr "רוסית" + +msgid "Slovak" +msgstr "סלובקית" + +msgid "Slovenian" +msgstr "סלובנית" + +msgid "Albanian" +msgstr "אלבנית" + +msgid "Serbian" +msgstr "סרבית" + +msgid "Serbian Latin" +msgstr "סרבית לטינית" + +msgid "Swedish" +msgstr "שוודית" + +msgid "Swahili" +msgstr "סווהילי" + +msgid "Tamil" +msgstr "טמילית" + +msgid "Telugu" +msgstr "טלגו" + +msgid "Tajik" +msgstr "טג'יקית" + +msgid "Thai" +msgstr "תאילנדית" + +msgid "Turkmen" +msgstr "טורקמנית" + +msgid "Turkish" +msgstr "טורקית" + +msgid "Tatar" +msgstr "טטרית" + +msgid "Udmurt" +msgstr "אודמורטית" + +msgid "Uyghur" +msgstr "אויגורית" + +msgid "Ukrainian" +msgstr "אוקראינית" + +msgid "Urdu" +msgstr "אורדו" + +msgid "Uzbek" +msgstr "אוזבקית" + +msgid "Vietnamese" +msgstr "וייטנאמית" + +msgid "Simplified Chinese" +msgstr "סינית פשוטה" + +msgid "Traditional Chinese" +msgstr "סינית מסורתית" + +msgid "Messages" +msgstr "הודעות" + +msgid "Site Maps" +msgstr "מפות אתר" + +msgid "Static Files" +msgstr "קבצים סטטיים" + +msgid "Syndication" +msgstr "הפצת תכנים" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "..." + +msgid "That page number is not an integer" +msgstr "מספר העמוד אינו מספר שלם" + +msgid "That page number is less than 1" +msgstr "מספר העמוד קטן מ־1" + +msgid "That page contains no results" +msgstr "עמוד זה אינו מכיל תוצאות" + +msgid "Enter a valid value." +msgstr "יש להזין ערך חוקי." + +msgid "Enter a valid URL." +msgstr "יש להזין URL חוקי." + +msgid "Enter a valid integer." +msgstr "יש להזין מספר שלם חוקי." + +msgid "Enter a valid email address." +msgstr "נא להזין כתובת דוא\"ל חוקית" + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"יש להזין 'slug' חוקי המכיל אותיות לטיניות, ספרות, קווים תחתונים או מקפים." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"יש להזין 'slug' חוקי המכיל אותיות יוניקוד, ספרות, קווים תחתונים או מקפים." + +msgid "Enter a valid IPv4 address." +msgstr "יש להזין כתובת IPv4 חוקית." + +msgid "Enter a valid IPv6 address." +msgstr "יש להזין כתובת IPv6 חוקית." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "יש להזין כתובת IPv4 או IPv6 חוקית." + +msgid "Enter only digits separated by commas." +msgstr "יש להזין רק ספרות מופרדות בפסיקים." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "יש לוודא שערך זה הינו %(limit_value)s (כרגע %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "יש לוודא שערך זה פחות מ או שווה ל־%(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "יש לוודא שערך זה גדול מ או שווה ל־%(limit_value)s." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "יש לוודא שערך זה מהווה מכפלה של %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"יש לוודא שערך זה מהווה מכפלה של צעד בגודל %(limit_value)s, החל מ־%(offset)s, " +"לדוגמה: %(offset)s, %(valid_value1)s, %(valid_value2)s וכו'." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"נא לוודא שערך זה מכיל תו %(limit_value)d לכל הפחות (מכיל %(show_value)d)." +msgstr[1] "" +"נא לוודא שערך זה מכיל %(limit_value)d תווים לכל הפחות (מכיל %(show_value)d)." +msgstr[2] "" +"נא לוודא שערך זה מכיל %(limit_value)d תווים לכל הפחות (מכיל %(show_value)d)." +msgstr[3] "" +"נא לוודא שערך זה מכיל %(limit_value)d תווים לכל הפחות (מכיל %(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"נא לוודא שערך זה מכיל תו %(limit_value)d לכל היותר (מכיל %(show_value)d)." +msgstr[1] "" +"נא לוודא שערך זה מכיל %(limit_value)d תווים לכל היותר (מכיל %(show_value)d)." +msgstr[2] "" +"נא לוודא שערך זה מכיל %(limit_value)d תווים לכל היותר (מכיל %(show_value)d)." +msgstr[3] "" +"נא לוודא שערך זה מכיל %(limit_value)d תווים לכל היותר (מכיל %(show_value)d)." + +msgid "Enter a number." +msgstr "נא להזין מספר." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "נא לוודא שאין יותר מספרה %(max)s בסה\"כ." +msgstr[1] "נא לוודא שאין יותר מ־%(max)s ספרות בסה\"כ." +msgstr[2] "נא לוודא שאין יותר מ־%(max)s ספרות בסה\"כ." +msgstr[3] "נא לוודא שאין יותר מ־%(max)s ספרות בסה\"כ." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "נא לוודא שאין יותר מספרה %(max)s אחרי הנקודה." +msgstr[1] "נא לוודא שאין יותר מ־%(max)s ספרות אחרי הנקודה." +msgstr[2] "נא לוודא שאין יותר מ־%(max)s ספרות אחרי הנקודה." +msgstr[3] "נא לוודא שאין יותר מ־%(max)s ספרות אחרי הנקודה." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "נא לוודא שאין יותר מספרה %(max)s לפני הנקודה העשרונית" +msgstr[1] "נא לוודא שאין יותר מ־%(max)s ספרות לפני הנקודה העשרונית" +msgstr[2] "נא לוודא שאין יותר מ־%(max)s ספרות לפני הנקודה העשרונית" +msgstr[3] "נא לוודא שאין יותר מ־%(max)s ספרות לפני הנקודה העשרונית" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"סיומת הקובץ \"%(extension)s\" אסורה. הסיומות המותרות הן: " +"%(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "תווי NULL אינם מותרים. " + +msgid "and" +msgstr "ו" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s·עם·%(field_labels)s·אלו קיימים כבר." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "המגבלה \"%(name)s\" הופרה." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "ערך %(value)r אינו אפשרות חוקית." + +msgid "This field cannot be null." +msgstr "שדה זה אינו יכול להיות ריק." + +msgid "This field cannot be blank." +msgstr "שדה זה אינו יכול להיות ריק." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s·עם·%(field_label)s·זה קיימת כבר." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s חייב להיות ייחודי עבור %(date_field_label)s %(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "שדה מסוג: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "הערך \"%(value)s\" חייב להיות True או False." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "\"%(value)s\" חייב להיות אחד מ־True‏, False, או None." + +msgid "Boolean (Either True or False)" +msgstr "בוליאני (אמת או שקר)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "מחרוזת (עד %(max_length)s תווים)" + +msgid "String (unlimited)" +msgstr "מחרוזת (ללא הגבלה)." + +msgid "Comma-separated integers" +msgstr "מספרים שלמים מופרדים בפסיקים" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"הערך \"%(value)s\" מכיל פורמט תאריך לא חוקי. חייב להיות בפורמט YYYY-MM-DD." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "הערך \"%(value)s\" בפורמט הנכון (YYYY-MM-DD), אך אינו תאריך חוקי." + +msgid "Date (without time)" +msgstr "תאריך (ללא שעה)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"הערך \"%(value)s\" מכיל פורמט לא חוקי. הוא חייב להיות בפורמטYYYY-MM-DD HH:" +"MM[:ss[.uuuuuu]][TZ]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"הערך \"%(value)s\" בפורמט הנכון (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]) אך אינו " +"מהווה תאריך/שעה חוקיים." + +msgid "Date (with time)" +msgstr "תאריך (כולל שעה)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "הערך \"%(value)s\" חייב להיות מספר עשרוני." + +msgid "Decimal number" +msgstr "מספר עשרוני" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"הערך \"%(value)s\" מכיל פורמט לא חוקי. הוא חייב להיות בפורמט [DD] " +"[[HH:]MM:]ss[.uuuuuu]." + +msgid "Duration" +msgstr "משך" + +msgid "Email address" +msgstr "כתובת דוא\"ל" + +msgid "File path" +msgstr "נתיב קובץ" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "“%(value)s” חייב להיות מספר נקודה צפה." + +msgid "Floating point number" +msgstr "מספר עשרוני" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "הערך '%(value)s' חייב להיות מספר שלם." + +msgid "Integer" +msgstr "מספר שלם" + +msgid "Big (8 byte) integer" +msgstr "מספר שלם גדול (8 בתים)" + +msgid "Small integer" +msgstr "מספר שלם קטן" + +msgid "IPv4 address" +msgstr "כתובת IPv4" + +msgid "IP address" +msgstr "כתובת IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "\"%(value)s\" חייב להיות אחד מ־None‏, True, או False." + +msgid "Boolean (Either True, False or None)" +msgstr "בוליאני (אמת, שקר או כלום)" + +msgid "Positive big integer" +msgstr "מספר שלם גדול וחיובי" + +msgid "Positive integer" +msgstr "מספר שלם חיובי" + +msgid "Positive small integer" +msgstr "מספר שלם חיובי קטן" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (עד %(max_length)s תווים)" + +msgid "Text" +msgstr "טקסט" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"הערך “%(value)s” מכיל פורמט לא חוקי. הוא חייב להיות בפורמט HH:MM[:ss[." +"uuuuuu]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"הערך “%(value)s” בפורמט הנכון (HH:MM[:ss[.uuuuuu]]) אך אינו מהווה שעה חוקית." + +msgid "Time" +msgstr "זמן" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "מידע בינארי גולמי" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "\"%(value)s\" אינו UUID חוקי." + +msgid "Universally unique identifier" +msgstr "מזהה ייחודי אוניברסלי" + +msgid "File" +msgstr "קובץ" + +msgid "Image" +msgstr "תמונה" + +msgid "A JSON object" +msgstr "אובייקט JSON" + +msgid "Value must be valid JSON." +msgstr "הערך חייב להיות JSON חוקי." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "פריט %(model)s עם %(field)s %(value)r אינו קיים." + +msgid "Foreign Key (type determined by related field)" +msgstr "Foreign Key (הסוג נקבע לפי השדה המקושר)" + +msgid "One-to-one relationship" +msgstr "יחס של אחד לאחד" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "קשר %(from)s-%(to)s" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "קשרי %(from)s-%(to)s" + +msgid "Many-to-many relationship" +msgstr "יחס של רבים לרבים" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "יש להזין תוכן בשדה זה." + +msgid "Enter a whole number." +msgstr "נא להזין מספר שלם." + +msgid "Enter a valid date." +msgstr "יש להזין תאריך חוקי." + +msgid "Enter a valid time." +msgstr "יש להזין שעה חוקית." + +msgid "Enter a valid date/time." +msgstr "יש להזין תאריך ושעה חוקיים." + +msgid "Enter a valid duration." +msgstr "יש להזין משך חוקי." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "מספר הימים חייב להיות בין {min_days} ל־{max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "לא נשלח שום קובץ. נא לבדוק את סוג הקידוד של הטופס." + +msgid "No file was submitted." +msgstr "לא נשלח שום קובץ" + +msgid "The submitted file is empty." +msgstr "הקובץ שנשלח ריק." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "נא לוודא ששם קובץ זה מכיל תו %(max)d לכל היותר (מכיל %(length)d)." +msgstr[1] "" +"נא לוודא ששם קובץ זה מכיל %(max)d תווים לכל היותר (מכיל %(length)d)." +msgstr[2] "" +"נא לוודא ששם קובץ זה מכיל %(max)d תווים לכל היותר (מכיל %(length)d)." +msgstr[3] "" +"נא לוודא ששם קובץ זה מכיל %(max)d תווים לכל היותר (מכיל %(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "נא לשים קובץ או סימן את התיבה לניקוי, לא שניהם." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "נא להעלות תמונה חוקית. הקובץ שהעלת אינו תמונה או מכיל תמונה מקולקלת." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "יש לבחור אפשרות חוקית. %(value)s אינו בין האפשרויות הזמינות." + +msgid "Enter a list of values." +msgstr "יש להזין רשימת ערכים" + +msgid "Enter a complete value." +msgstr "יש להזין ערך שלם." + +msgid "Enter a valid UUID." +msgstr "יש להזין UUID חוקי." + +msgid "Enter a valid JSON." +msgstr "נא להזין JSON חוקי." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(שדה מוסתר %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"המידע של ManagementForm חסר או שובש. שדות חסרים: %(field_names)s. יתכן " +"שתצטרך להגיש דיווח באג אם הבעיה נמשכת." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "נא לשלוח טופס %(num)d לכל היותר." +msgstr[1] "נא לשלוח %(num)d טפסים לכל היותר." +msgstr[2] "נא לשלוח %(num)d טפסים לכל היותר." +msgstr[3] "נא לשלוח %(num)d טפסים לכל היותר." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "נא לשלוח טופס %(num)dאו יותר." +msgstr[1] "נא לשלוח %(num)d טפסים או יותר." +msgstr[2] "נא לשלוח %(num)d טפסים או יותר." +msgstr[3] "נא לשלוח %(num)d טפסים או יותר." + +msgid "Order" +msgstr "מיון" + +msgid "Delete" +msgstr "מחיקה" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "נא לתקן את הערכים הכפולים ל%(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "נא לתקן את הערכים הכפולים ל%(field)s, שערכים בו חייבים להיות ייחודיים." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"נא לתקן את הערכים הכפולים %(field_name)s, שחייבים להיות ייחודיים ל%(lookup)s " +"של %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "נא לתקן את הערכים הכפולים למטה." + +msgid "The inline value did not match the parent instance." +msgstr "הערך הפנימי אינו תואם לאב." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "יש לבחור אפשרות חוקית; אפשרות זו אינה אחת מהזמינות." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "\"%(pk)s\" אינו ערך חוקי." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"לא ניתן לפרש את %(datetime)s באזור הזמן %(current_timezone)s; הוא עשוי להיות " +"דו־משמעי או לא קיים." + +msgid "Clear" +msgstr "לסלק" + +msgid "Currently" +msgstr "עכשיו" + +msgid "Change" +msgstr "שינוי" + +msgid "Unknown" +msgstr "לא ידוע" + +msgid "Yes" +msgstr "כן" + +msgid "No" +msgstr "לא" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "כן,לא,אולי" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "בית %(size)d " +msgstr[1] "%(size)d בתים" +msgstr[2] "%(size)d בתים" +msgstr[3] "%(size)d בתים" + +#, python-format +msgid "%s KB" +msgstr "%s ק\"ב" + +#, python-format +msgid "%s MB" +msgstr "%s מ\"ב" + +#, python-format +msgid "%s GB" +msgstr "%s ג\"ב" + +#, python-format +msgid "%s TB" +msgstr "%s ט\"ב" + +#, python-format +msgid "%s PB" +msgstr "%s פ\"ב" + +msgid "p.m." +msgstr "אחר הצהריים" + +msgid "a.m." +msgstr "בבוקר" + +msgid "PM" +msgstr "אחר הצהריים" + +msgid "AM" +msgstr "בבוקר" + +msgid "midnight" +msgstr "חצות" + +msgid "noon" +msgstr "12 בצהריים" + +msgid "Monday" +msgstr "שני" + +msgid "Tuesday" +msgstr "שלישי" + +msgid "Wednesday" +msgstr "רביעי" + +msgid "Thursday" +msgstr "חמישי" + +msgid "Friday" +msgstr "שישי" + +msgid "Saturday" +msgstr "שבת" + +msgid "Sunday" +msgstr "ראשון" + +msgid "Mon" +msgstr "שני" + +msgid "Tue" +msgstr "שלישי" + +msgid "Wed" +msgstr "רביעי" + +msgid "Thu" +msgstr "חמישי" + +msgid "Fri" +msgstr "שישי" + +msgid "Sat" +msgstr "שבת" + +msgid "Sun" +msgstr "ראשון" + +msgid "January" +msgstr "ינואר" + +msgid "February" +msgstr "פברואר" + +msgid "March" +msgstr "מרץ" + +msgid "April" +msgstr "אפריל" + +msgid "May" +msgstr "מאי" + +msgid "June" +msgstr "יוני" + +msgid "July" +msgstr "יולי" + +msgid "August" +msgstr "אוגוסט" + +msgid "September" +msgstr "ספטמבר" + +msgid "October" +msgstr "אוקטובר" + +msgid "November" +msgstr "נובמבר" + +msgid "December" +msgstr "דצמבר" + +msgid "jan" +msgstr "ינו" + +msgid "feb" +msgstr "פבר" + +msgid "mar" +msgstr "מרץ" + +msgid "apr" +msgstr "אפר" + +msgid "may" +msgstr "מאי" + +msgid "jun" +msgstr "יונ" + +msgid "jul" +msgstr "יול" + +msgid "aug" +msgstr "אוג" + +msgid "sep" +msgstr "ספט" + +msgid "oct" +msgstr "אוק" + +msgid "nov" +msgstr "נוב" + +msgid "dec" +msgstr "דצמ" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "יאנ'" + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "פבר'" + +msgctxt "abbrev. month" +msgid "March" +msgstr "מרץ" + +msgctxt "abbrev. month" +msgid "April" +msgstr "אפריל" + +msgctxt "abbrev. month" +msgid "May" +msgstr "מאי" + +msgctxt "abbrev. month" +msgid "June" +msgstr "יוני" + +msgctxt "abbrev. month" +msgid "July" +msgstr "יולי" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "אוג'" + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "ספט'" + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "אוק'" + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "נוב'" + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "דצמ'" + +msgctxt "alt. month" +msgid "January" +msgstr "ינואר" + +msgctxt "alt. month" +msgid "February" +msgstr "פברואר" + +msgctxt "alt. month" +msgid "March" +msgstr "מרץ" + +msgctxt "alt. month" +msgid "April" +msgstr "אפריל" + +msgctxt "alt. month" +msgid "May" +msgstr "מאי" + +msgctxt "alt. month" +msgid "June" +msgstr "יוני" + +msgctxt "alt. month" +msgid "July" +msgstr "יולי" + +msgctxt "alt. month" +msgid "August" +msgstr "אוגוסט" + +msgctxt "alt. month" +msgid "September" +msgstr "ספטמבר" + +msgctxt "alt. month" +msgid "October" +msgstr "אוקטובר" + +msgctxt "alt. month" +msgid "November" +msgstr "נובמבר" + +msgctxt "alt. month" +msgid "December" +msgstr "דצמבר" + +msgid "This is not a valid IPv6 address." +msgstr "זו אינה כתובת IPv6 חוקית." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s‮…" + +msgid "or" +msgstr "או" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "שנה" +msgstr[1] "שנתיים" +msgstr[2] "%(num)d שנים" +msgstr[3] "%(num)d שנים" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "חודש" +msgstr[1] "חודשיים" +msgstr[2] "%(num)d חודשים" +msgstr[3] "%(num)d חודשים" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "שבוע" +msgstr[1] "שבועיים" +msgstr[2] "%(num)d שבועות" +msgstr[3] "%(num)d שבועות" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "יום" +msgstr[1] "יומיים" +msgstr[2] "%(num)d ימים" +msgstr[3] "%(num)d ימים" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "שעה" +msgstr[1] "שעתיים" +msgstr[2] "%(num)d שעות" +msgstr[3] "%(num)d שעות" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "דקה" +msgstr[1] "%(num)d דקות" +msgstr[2] "%(num)d דקות" +msgstr[3] "%(num)d דקות" + +msgid "Forbidden" +msgstr "אסור" + +msgid "CSRF verification failed. Request aborted." +msgstr "אימות CSRF נכשל. הבקשה בוטלה." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"הודעה זו מופיעה מאחר ואתר ה־HTTPS הזה דורש מהדפדפן שלך לשלוח \"Referer " +"header\", אך הוא לא נשלח. זה נדרש מסיבות אבטחה, כדי להבטיח שהדפדפן שלך לא " +"נחטף ע\"י צד שלישי." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"אם ביטלת \"Referer\" headers בדפדפן שלך, נא לאפשר אותם מחדש, לפחות עבור אתר " +"זה, חיבורי HTTPS או בקשות \"same-origin\"." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"אם השתמשת בתגאו הוספת header " +"של “Referrer-Policy: no-referrer”, נא להסיר אותם. הגנת ה־CSRF דורשת " +"‎“Referer” header לבדיקת ה־referer. אם פרטיות מדאיגה אותך, ניתן להשתמש " +"בתחליפים כמו לקישור אל אתרי צד שלישי." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"הודעה זו מופיעה מאחר ואתר זה דורש עוגיית CSRF כאשר שולחים טפסים. עוגיה זו " +"נדרשת מסיבות אבטחה, כדי לוודא שהדפדפן שלך לא נחטף על ידי אחרים." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"אם ביטלת עוגיות בדפדפן שלך, נא לאפשר אותם מחדש לפחות עבור אתר זה או בקשות " +"“same-origin”." + +msgid "More information is available with DEBUG=True." +msgstr "מידע נוסף זמין עם " + +msgid "No year specified" +msgstr "לא צוינה שנה" + +msgid "Date out of range" +msgstr "תאריך מחוץ לטווח" + +msgid "No month specified" +msgstr "לא צוין חודש" + +msgid "No day specified" +msgstr "לא צוין יום" + +msgid "No week specified" +msgstr "לא צוין שבוע" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "לא נמצאו %(verbose_name_plural)s" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"לא נמצאו %(verbose_name_plural)s בזמן עתיד מאחר ש-%(class_name)s." +"allow_future מוגדר False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "מחרוזת תאריך %(datestr)s אינה חוקית בפורמט %(format)s." + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "לא נמצא/ה %(verbose_name)s התואם/ת לשאילתה" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "העמוד אינו \"last\" או לא ניתן להמרה למספר שם." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "עמוד לא חוקי (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "רשימה ריקה ו־“%(class_name)s.allow_empty” הוא False." + +msgid "Directory indexes are not allowed here." +msgstr "אינדקסים על תיקיה אסורים כאן." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "\"%(path)s\" אינו קיים" + +#, python-format +msgid "Index of %(directory)s" +msgstr "אינדקס של %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "ההתקנה עברה בהצלחה! מזל טוב!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"ראו הערות השחרור עבור Django %(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"עמוד זה מופיע בעקבות המצאות DEBUG=True בקובץ ההגדרות שלך ולא הגדרת שום URLs." + +msgid "Django Documentation" +msgstr "תיעוד Django" + +msgid "Topics, references, & how-to’s" +msgstr "נושאים, הפניות ומדריכים לביצוע" + +msgid "Tutorial: A Polling App" +msgstr "מדריך ללומד: יישום לסקרים." + +msgid "Get started with Django" +msgstr "התחילו לעבוד עם Django" + +msgid "Django Community" +msgstr "קהילת Django" + +msgid "Connect, get help, or contribute" +msgstr "יצירת קשר, קבלת עזרה או השתתפות" diff --git a/external_sources/django/django/conf/locale/he/__init__.py b/external_sources/django/django/conf/locale/he/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/he/formats.py b/external_sources/django/django/conf/locale/he/formats.py new file mode 100644 index 0000000..2cf9286 --- /dev/null +++ b/external_sources/django/django/conf/locale/he/formats.py @@ -0,0 +1,21 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j בF Y" +TIME_FORMAT = "H:i" +DATETIME_FORMAT = "j בF Y H:i" +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j בF" +SHORT_DATE_FORMAT = "d/m/Y" +SHORT_DATETIME_FORMAT = "d/m/Y H:i" +# FIRST_DAY_OF_WEEK = + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = "." +THOUSAND_SEPARATOR = "," +# NUMBER_GROUPING = diff --git a/external_sources/django/django/conf/locale/hi/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/hi/LC_MESSAGES/django.po new file mode 100644 index 0000000..20da376 --- /dev/null +++ b/external_sources/django/django/conf/locale/hi/LC_MESSAGES/django.po @@ -0,0 +1,1254 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# alkuma , 2013 +# Bharat Toge, 2022 +# Chandan kumar , 2012 +# Claude Paroz , 2020 +# Jannis Leidel , 2011 +# Pratik , 2013 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-05-17 05:23-0500\n" +"PO-Revision-Date: 2022-07-25 06:49+0000\n" +"Last-Translator: Bharat Toge\n" +"Language-Team: Hindi (http://www.transifex.com/django/django/language/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" + +msgid "Afrikaans" +msgstr "अफ़्रीकांस" + +msgid "Arabic" +msgstr "अरबी" + +msgid "Algerian Arabic" +msgstr "अल्जीरियाई अरब" + +msgid "Asturian" +msgstr "" + +msgid "Azerbaijani" +msgstr "आज़रबाइजानी" + +msgid "Bulgarian" +msgstr "बलगारियन" + +msgid "Belarusian" +msgstr "बेलारूसी" + +msgid "Bengali" +msgstr "बंगाली" + +msgid "Breton" +msgstr "ब्रेटन" + +msgid "Bosnian" +msgstr "बोस्नियन" + +msgid "Catalan" +msgstr "कटलान" + +msgid "Czech" +msgstr "च्चेक" + +msgid "Welsh" +msgstr "वेल्श" + +msgid "Danish" +msgstr "दानिश" + +msgid "German" +msgstr "जर्मन" + +msgid "Lower Sorbian" +msgstr "" + +msgid "Greek" +msgstr "ग्रीक" + +msgid "English" +msgstr "अंग्रेज़ी " + +msgid "Australian English" +msgstr "ऑस्ट्रेलियाई अंग्रेज़ी " + +msgid "British English" +msgstr "ब्रिटिश अंग्रेजी" + +msgid "Esperanto" +msgstr "एस्परेन्तो" + +msgid "Spanish" +msgstr "स्पानिश" + +msgid "Argentinian Spanish" +msgstr "अर्जेंटीना स्पैनिश " + +msgid "Colombian Spanish" +msgstr "कोलंबियाई स्पेनी" + +msgid "Mexican Spanish" +msgstr "मेक्सिकन स्पैनिश" + +msgid "Nicaraguan Spanish" +msgstr "निकारागुआ स्पैनिश" + +msgid "Venezuelan Spanish" +msgstr "वेनेज़ुएलाई स्पेनिश" + +msgid "Estonian" +msgstr "एस्टोनियन" + +msgid "Basque" +msgstr "बास्क" + +msgid "Persian" +msgstr "पारसी" + +msgid "Finnish" +msgstr "फ़िन्निश" + +msgid "French" +msgstr "फ्रेंच" + +msgid "Frisian" +msgstr "फ्रिसियन" + +msgid "Irish" +msgstr "आयरिश" + +msgid "Scottish Gaelic" +msgstr "" + +msgid "Galician" +msgstr "गलिशियन" + +msgid "Hebrew" +msgstr "हि‍ब्रू" + +msgid "Hindi" +msgstr "हिंदी" + +msgid "Croatian" +msgstr "क्रोयेशियन" + +msgid "Upper Sorbian" +msgstr "" + +msgid "Hungarian" +msgstr "हंगेरियन" + +msgid "Armenian" +msgstr "" + +msgid "Interlingua" +msgstr "इंतर्लिंगुआ" + +msgid "Indonesian" +msgstr "इन्डोनेशियन " + +msgid "Igbo" +msgstr "" + +msgid "Ido" +msgstr "" + +msgid "Icelandic" +msgstr "आयिस्लान्डिक" + +msgid "Italian" +msgstr "इटैलियन" + +msgid "Japanese" +msgstr "जपानी" + +msgid "Georgian" +msgstr "ज्योर्जियन" + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "कज़ाख" + +msgid "Khmer" +msgstr "ख्मेर" + +msgid "Kannada" +msgstr "कन्‍नड़" + +msgid "Korean" +msgstr "कोरियन" + +msgid "Kyrgyz" +msgstr "" + +msgid "Luxembourgish" +msgstr "लक्संबर्गी" + +msgid "Lithuanian" +msgstr "लिथुवेनियन" + +msgid "Latvian" +msgstr "लात्वियन" + +msgid "Macedonian" +msgstr "मेसिडोनियन" + +msgid "Malayalam" +msgstr "मलयालम" + +msgid "Mongolian" +msgstr "मंगोलियन" + +msgid "Marathi" +msgstr "मराठी" + +msgid "Malay" +msgstr "मलय भाषा" + +msgid "Burmese" +msgstr "बर्मीज़" + +msgid "Norwegian Bokmål" +msgstr "" + +msgid "Nepali" +msgstr "नेपाली" + +msgid "Dutch" +msgstr "डच" + +msgid "Norwegian Nynorsk" +msgstr "नार्वेजियन नायनॉर्स्क" + +msgid "Ossetic" +msgstr "ओस्सेटिक" + +msgid "Punjabi" +msgstr "पंजाबी" + +msgid "Polish" +msgstr "पोलिश" + +msgid "Portuguese" +msgstr "पुर्तगाली" + +msgid "Brazilian Portuguese" +msgstr "ब्रजिलियन पुर्तगाली" + +msgid "Romanian" +msgstr "रोमानियन" + +msgid "Russian" +msgstr "रूसी" + +msgid "Slovak" +msgstr "स्लोवाक" + +msgid "Slovenian" +msgstr "स्लोवेनियन" + +msgid "Albanian" +msgstr "अल्बेनियन्" + +msgid "Serbian" +msgstr "सर्बियन" + +msgid "Serbian Latin" +msgstr "सर्बियाई लैटिन" + +msgid "Swedish" +msgstr "स्वीडिश" + +msgid "Swahili" +msgstr "स्वाहिली" + +msgid "Tamil" +msgstr "तमिल" + +msgid "Telugu" +msgstr "तेलुगु" + +msgid "Tajik" +msgstr "" + +msgid "Thai" +msgstr "थाई" + +msgid "Turkmen" +msgstr "" + +msgid "Turkish" +msgstr "तुर्किश" + +msgid "Tatar" +msgstr "तातार" + +msgid "Udmurt" +msgstr "उद्मर्त" + +msgid "Ukrainian" +msgstr "यूक्रानियन" + +msgid "Urdu" +msgstr "उर्दू" + +msgid "Uzbek" +msgstr "उज़्बेक" + +msgid "Vietnamese" +msgstr "वियतनामी" + +msgid "Simplified Chinese" +msgstr "सरल चीनी" + +msgid "Traditional Chinese" +msgstr "पारम्परिक चीनी" + +msgid "Messages" +msgstr "संदेश" + +msgid "Site Maps" +msgstr "साइट मैप" + +msgid "Static Files" +msgstr "स्थिर फ़ाइलें" + +msgid "Syndication" +msgstr "सिंडिकेशन" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "" + +msgid "That page number is not an integer" +msgstr "यह पृष्ठ संख्या पूर्णांक नहीं है" + +msgid "That page number is less than 1" +msgstr "यह पृष्ठ संख्या 1 से कम है " + +msgid "That page contains no results" +msgstr "उस पृष्ठ पर कोई परिणाम नहीं हैं" + +msgid "Enter a valid value." +msgstr "एक मान्य मूल्य दर्ज करें" + +msgid "Enter a valid URL." +msgstr "वैध यू.आर.एल भरें ।" + +msgid "Enter a valid integer." +msgstr "एक मान्य पूर्ण संख्या दर्ज करें" + +msgid "Enter a valid email address." +msgstr "वैध डाक पता प्रविष्ट करें।" + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "वैध आइ.पि वी 4 पता भरें ।" + +msgid "Enter a valid IPv6 address." +msgstr "वैध IPv6 पता दर्ज करें." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "वैध IPv4 या IPv6 पता दर्ज करें." + +msgid "Enter only digits separated by commas." +msgstr "अल्पविराम अंक मात्र ही भरें ।" + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"सुनिश्चित करें कि यह मान %(limit_value)s (यह\n" +" %(show_value)s है) है ।" + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "सुनिश्चित करें कि यह मान %(limit_value)s से कम या बराबर है ।" + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "सुनिश्चित करें यह मान %(limit_value)s से बड़ा या बराबर है ।" + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Enter a number." +msgstr "एक संख्या दर्ज करें ।" + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "" + +msgid "and" +msgstr "और" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "" + +msgid "This field cannot be null." +msgstr "यह मूल्य खाली नहीं हो सकता ।" + +msgid "This field cannot be blank." +msgstr "इस फ़ील्ड रिक्त नहीं हो सकता है." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "इस %(field_label)s के साथ एक %(model_name)s पहले से ही उपस्थित है ।" + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "फील्ड के प्रकार: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "बूलियन (सही अथ‌वा गलत)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "स्ट्रिंग (अधिकतम लम्बाई %(max_length)s)" + +msgid "Comma-separated integers" +msgstr "अल्पविराम सीमांकित संख्या" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "तिथि (बिना समय)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "तिथि (समय के साथ)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "दशमलव संख्या" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "अवधि" + +msgid "Email address" +msgstr "ईमेल पता" + +msgid "File path" +msgstr "संचिका पथ" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "चल बिन्दु संख्या" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "पूर्णांक" + +msgid "Big (8 byte) integer" +msgstr "बड़ा (8 बाइट) पूर्णांक " + +msgid "Small integer" +msgstr "छोटा पूर्णांक" + +msgid "IPv4 address" +msgstr "IPv4 पता" + +msgid "IP address" +msgstr "आइ.पि पता" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "बूलियन (सही, गलत या कुछ नहीं)" + +msgid "Positive big integer" +msgstr "" + +msgid "Positive integer" +msgstr "धनात्मक पूर्णांक" + +msgid "Positive small integer" +msgstr "धनात्मक छोटा पूर्णांक" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "स्लग (%(max_length)s तक)" + +msgid "Text" +msgstr "पाठ" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "समय" + +msgid "URL" +msgstr "यू.आर.एल" + +msgid "Raw binary data" +msgstr "" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "फाइल" + +msgid "Image" +msgstr "छवि" + +msgid "A JSON object" +msgstr "एक JSON डेटा object" + +msgid "Value must be valid JSON." +msgstr "दर्ज किया गया डेटा वैध JSON होना अनिवार्य है" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" + +msgid "Foreign Key (type determined by related field)" +msgstr "विदेशी कुंजी (संबंधित क्षेत्र के द्वारा प्रकार निर्धारित)" + +msgid "One-to-one relationship" +msgstr "एक-एक संबंध" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "" + +msgid "Many-to-many relationship" +msgstr "बहुत से कई संबंध" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr "" + +msgid "This field is required." +msgstr "यह क्षेत्र अपेक्षित हैं" + +msgid "Enter a whole number." +msgstr "एक पूर्ण संख्या दर्ज करें ।" + +msgid "Enter a valid date." +msgstr "वैध तिथि भरें ।" + +msgid "Enter a valid time." +msgstr "वैध समय भरें ।" + +msgid "Enter a valid date/time." +msgstr "वैध तिथि/समय भरें ।" + +msgid "Enter a valid duration." +msgstr "एक वैध अवधी दर्ज करें" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "दिनों की संख्या {min_days} और {max_days} के बीच होना अनिवार्य है " + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "कोई संचिका निवेदित नहीं हुई । कृपया कूटलेखन की जाँच करें ।" + +msgid "No file was submitted." +msgstr "कोई संचिका निवेदित नहीं हुई ।" + +msgid "The submitted file is empty." +msgstr "निवेदित संचिका खाली है ।" + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "कृपया या फ़ाइल प्रस्तुत करे या साफ जांचपेटी की जाँच करे,दोनों नहीं ." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "वैध चित्र निवेदन करें । आप के द्वारा निवेदित संचिका अमान्य अथवा दूषित है ।" + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "मान्य इच्छा चयन करें । %(value)s लभ्य इच्छाओं में उप्लब्ध नहीं हैं ।" + +msgid "Enter a list of values." +msgstr "मूल्य सूची दर्ज करें ।" + +msgid "Enter a complete value." +msgstr "" + +msgid "Enter a valid UUID." +msgstr "एक वैध UUID भरें " + +msgid "Enter a valid JSON." +msgstr "एक वैध JSON भरें " + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr "" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "" +msgstr[1] "" + +msgid "Order" +msgstr "छाटें" + +msgid "Delete" +msgstr "मिटाएँ" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "कृपया %(field)s के लिए डुप्लिकेट डेटा को सही करे." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "कृपया %(field)s के डुप्लिकेट डेटा जो अद्वितीय होना चाहिए को सही करें." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"कृपया %(field_name)s के लिए डुप्लिकेट डेटा को सही करे जो %(date_field)s में " +"%(lookup)s के लिए अद्वितीय होना चाहिए." + +msgid "Please correct the duplicate values below." +msgstr "कृपया डुप्लिकेट मानों को सही करें." + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "मान्य विकल्प चयन करें । यह विकल्प उपस्थित विकल्पों में नहीं है ।" + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "रिक्त करें" + +msgid "Currently" +msgstr "फिलहाल" + +msgid "Change" +msgstr "बदलें" + +msgid "Unknown" +msgstr "अनजान" + +msgid "Yes" +msgstr "हाँ" + +msgid "No" +msgstr "नहीं" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "हाँ,नहीं,शायद" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d बाइट" +msgstr[1] "%(size)d बाइट" + +#, python-format +msgid "%s KB" +msgstr "%s केबी " + +#, python-format +msgid "%s MB" +msgstr "%s मेबी " + +#, python-format +msgid "%s GB" +msgstr "%s जीबी " + +#, python-format +msgid "%s TB" +msgstr "%s टीबी" + +#, python-format +msgid "%s PB" +msgstr "%s पीबी" + +msgid "p.m." +msgstr "बजे" + +msgid "a.m." +msgstr "बजे" + +msgid "PM" +msgstr "बजे" + +msgid "AM" +msgstr "बजे" + +msgid "midnight" +msgstr "मध्यरात्री" + +msgid "noon" +msgstr "दोपहर" + +msgid "Monday" +msgstr "सोम‌वार" + +msgid "Tuesday" +msgstr "मंगलवार" + +msgid "Wednesday" +msgstr "बुधवार" + +msgid "Thursday" +msgstr "गुरूवार" + +msgid "Friday" +msgstr "शुक्रवार" + +msgid "Saturday" +msgstr "शनिवार" + +msgid "Sunday" +msgstr "रविवार" + +msgid "Mon" +msgstr "सोम" + +msgid "Tue" +msgstr "मंगल" + +msgid "Wed" +msgstr "बुध" + +msgid "Thu" +msgstr "गुरू" + +msgid "Fri" +msgstr "शुक्र" + +msgid "Sat" +msgstr "शनि" + +msgid "Sun" +msgstr "रवि" + +msgid "January" +msgstr "जनवरी" + +msgid "February" +msgstr "फ़रवरी" + +msgid "March" +msgstr "मार्च" + +msgid "April" +msgstr "अप्रैल" + +msgid "May" +msgstr "मई" + +msgid "June" +msgstr "जून" + +msgid "July" +msgstr "जुलाई" + +msgid "August" +msgstr "अगस्त" + +msgid "September" +msgstr "सितमबर" + +msgid "October" +msgstr "अक्टूबर" + +msgid "November" +msgstr "नवमबर" + +msgid "December" +msgstr "दिसमबर" + +msgid "jan" +msgstr "जन" + +msgid "feb" +msgstr "फ़र" + +msgid "mar" +msgstr "मा" + +msgid "apr" +msgstr "अप्र" + +msgid "may" +msgstr "मई" + +msgid "jun" +msgstr "जून" + +msgid "jul" +msgstr "जुल" + +msgid "aug" +msgstr "अग" + +msgid "sep" +msgstr "सित" + +msgid "oct" +msgstr "अक्ट" + +msgid "nov" +msgstr "नव" + +msgid "dec" +msgstr "दिस्" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "जनवरी." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "फ़रवरी." + +msgctxt "abbrev. month" +msgid "March" +msgstr "मार्च" + +msgctxt "abbrev. month" +msgid "April" +msgstr "अप्रैल" + +msgctxt "abbrev. month" +msgid "May" +msgstr "मई" + +msgctxt "abbrev. month" +msgid "June" +msgstr "जून" + +msgctxt "abbrev. month" +msgid "July" +msgstr "जुलाई" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "अग." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "सितम्बर." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "अक्टूबर" + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "नवम्बर." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "दिसम्बर" + +msgctxt "alt. month" +msgid "January" +msgstr "जनवरी" + +msgctxt "alt. month" +msgid "February" +msgstr "फरवरी" + +msgctxt "alt. month" +msgid "March" +msgstr "मार्च" + +msgctxt "alt. month" +msgid "April" +msgstr "अप्रैल" + +msgctxt "alt. month" +msgid "May" +msgstr "मई" + +msgctxt "alt. month" +msgid "June" +msgstr "जून" + +msgctxt "alt. month" +msgid "July" +msgstr "जुलाई" + +msgctxt "alt. month" +msgid "August" +msgstr "अगस्त" + +msgctxt "alt. month" +msgid "September" +msgstr "सितंबर" + +msgctxt "alt. month" +msgid "October" +msgstr "अक्टूबर" + +msgctxt "alt. month" +msgid "November" +msgstr "नवंबर" + +msgctxt "alt. month" +msgid "December" +msgstr "दिसंबर" + +msgid "This is not a valid IPv6 address." +msgstr "" + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "अथवा" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "" +msgstr[1] "" + +msgid "Forbidden" +msgstr "" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF सत्यापन असफल रहा. Request निरस्त की गई " + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "" + +msgid "No year specified" +msgstr "कोई साल निर्दिष्ट नहीं किया गया " + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "कोई महीने निर्दिष्ट नहीं किया गया " + +msgid "No day specified" +msgstr "कोई दिन निर्दिष्ट नहीं किया गया " + +msgid "No week specified" +msgstr "कोई सप्ताह निर्दिष्ट नहीं किया गया " + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "%(verbose_name_plural)s उपलब्ध नहीं है" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"भविष्य %(verbose_name_plural)s उपलब्ध नहीं है क्योंकि %(class_name)s.allow_future " +"गलत है." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr " इस प्रश्न %(verbose_name)s से मेल नहीं खाते है" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "अवैध पन्ना (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "निर्देशिका अनुक्रमित की अनुमति यहाँ नहीं है." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "%(directory)s का अनुक्रमणिका" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/hi/__init__.py b/external_sources/django/django/conf/locale/hi/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/hi/formats.py b/external_sources/django/django/conf/locale/hi/formats.py new file mode 100644 index 0000000..ac078ec --- /dev/null +++ b/external_sources/django/django/conf/locale/hi/formats.py @@ -0,0 +1,21 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j F Y" +TIME_FORMAT = "g:i A" +# DATETIME_FORMAT = +# YEAR_MONTH_FORMAT = +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "d-m-Y" +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = "." +THOUSAND_SEPARATOR = "," +# NUMBER_GROUPING = diff --git a/external_sources/django/django/conf/locale/hr/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/hr/LC_MESSAGES/django.po new file mode 100644 index 0000000..574a7ab --- /dev/null +++ b/external_sources/django/django/conf/locale/hr/LC_MESSAGES/django.po @@ -0,0 +1,1274 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# aljosa , 2011,2013 +# Berislav Lopac , 2013 +# Bojan Mihelač , 2012 +# Boni Đukić , 2017 +# Jannis Leidel , 2011 +# Mislav Cimperšak , 2015-2016 +# Nino , 2013 +# senko , 2012 +# Ylodi , 2011 +# zmasek , 2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-27 22:40+0200\n" +"PO-Revision-Date: 2019-11-05 00:38+0000\n" +"Last-Translator: Ramiro Morales\n" +"Language-Team: Croatian (http://www.transifex.com/django/django/language/" +"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" + +msgid "Afrikaans" +msgstr "Afrikaans" + +msgid "Arabic" +msgstr "Arapski" + +msgid "Asturian" +msgstr "Asturijski" + +msgid "Azerbaijani" +msgstr "Azarbejdžanac" + +msgid "Bulgarian" +msgstr "Unesite ispravnu IPv4 adresu." + +msgid "Belarusian" +msgstr "Bjeloruski" + +msgid "Bengali" +msgstr "Bengalski" + +msgid "Breton" +msgstr "Bretonski" + +msgid "Bosnian" +msgstr "Bošnjački" + +msgid "Catalan" +msgstr "Katalanski" + +msgid "Czech" +msgstr "Češki" + +msgid "Welsh" +msgstr "Velški" + +msgid "Danish" +msgstr "Danski" + +msgid "German" +msgstr "Njemački" + +msgid "Lower Sorbian" +msgstr "Donjolužičkosrpski" + +msgid "Greek" +msgstr "Grčki" + +msgid "English" +msgstr "Engleski" + +msgid "Australian English" +msgstr "Australski engleski" + +msgid "British English" +msgstr "Britanski engleski" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Španjolski" + +msgid "Argentinian Spanish" +msgstr "Argentinski španjolski" + +msgid "Colombian Spanish" +msgstr "Kolumbijski španjolski" + +msgid "Mexican Spanish" +msgstr "Meksički španjolski" + +msgid "Nicaraguan Spanish" +msgstr "Nikaragvanski Španjolski" + +msgid "Venezuelan Spanish" +msgstr "Venezuelanski Španjolski" + +msgid "Estonian" +msgstr "Estonski" + +msgid "Basque" +msgstr "Baskijski" + +msgid "Persian" +msgstr "Perzijski" + +msgid "Finnish" +msgstr "Finski" + +msgid "French" +msgstr "Francuski" + +msgid "Frisian" +msgstr "Frizijski" + +msgid "Irish" +msgstr "Irski" + +msgid "Scottish Gaelic" +msgstr "Škotski gaelski" + +msgid "Galician" +msgstr "Galičanski" + +msgid "Hebrew" +msgstr "Hebrejski" + +msgid "Hindi" +msgstr "Hindi" + +msgid "Croatian" +msgstr "Hrvatski" + +msgid "Upper Sorbian" +msgstr "Gornjolužičkosrpski" + +msgid "Hungarian" +msgstr "Mađarski" + +msgid "Armenian" +msgstr "" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indonezijski" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Islandski" + +msgid "Italian" +msgstr "Talijanski" + +msgid "Japanese" +msgstr "Japanski" + +msgid "Georgian" +msgstr "Gruzijski" + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "Kazaški" + +msgid "Khmer" +msgstr "Kambođanski" + +msgid "Kannada" +msgstr "Kannada" + +msgid "Korean" +msgstr "Koreanski" + +msgid "Luxembourgish" +msgstr "Luksemburški" + +msgid "Lithuanian" +msgstr "Litvanski" + +msgid "Latvian" +msgstr "Latvijski" + +msgid "Macedonian" +msgstr "Makedonski" + +msgid "Malayalam" +msgstr "Malayalam" + +msgid "Mongolian" +msgstr "Mongolski" + +msgid "Marathi" +msgstr "Marathi" + +msgid "Burmese" +msgstr "Burmanski" + +msgid "Norwegian Bokmål" +msgstr "Bokmål" + +msgid "Nepali" +msgstr "Nepalski" + +msgid "Dutch" +msgstr "Nizozemski" + +msgid "Norwegian Nynorsk" +msgstr "Norveški Nynorsk" + +msgid "Ossetic" +msgstr "Osetski" + +msgid "Punjabi" +msgstr "Pendžabljanin" + +msgid "Polish" +msgstr "Poljski" + +msgid "Portuguese" +msgstr "Portugalski" + +msgid "Brazilian Portuguese" +msgstr "Brazilski portugalski" + +msgid "Romanian" +msgstr "Rumunjski" + +msgid "Russian" +msgstr "Ruski" + +msgid "Slovak" +msgstr "Slovački" + +msgid "Slovenian" +msgstr "Slovenski" + +msgid "Albanian" +msgstr "Albanski" + +msgid "Serbian" +msgstr "Srpski" + +msgid "Serbian Latin" +msgstr "Latinski srpski" + +msgid "Swedish" +msgstr "Švedski" + +msgid "Swahili" +msgstr "Swahili" + +msgid "Tamil" +msgstr "Tamilski" + +msgid "Telugu" +msgstr "Teluški" + +msgid "Thai" +msgstr "Thai (tajlandski)" + +msgid "Turkish" +msgstr "Turski" + +msgid "Tatar" +msgstr "Tatarski" + +msgid "Udmurt" +msgstr "Udmurtski" + +msgid "Ukrainian" +msgstr "Ukrajinski" + +msgid "Urdu" +msgstr "Urdu" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "Vijetnamski" + +msgid "Simplified Chinese" +msgstr "Pojednostavljeni kineski" + +msgid "Traditional Chinese" +msgstr "Tradicionalni kineski" + +msgid "Messages" +msgstr "Poruke" + +msgid "Site Maps" +msgstr "Mape stranica" + +msgid "Static Files" +msgstr "Statične datoteke" + +msgid "Syndication" +msgstr "" + +msgid "That page number is not an integer" +msgstr "Broj stranice nije cijeli broj" + +msgid "That page number is less than 1" +msgstr "Broj stranice je manji od 1" + +msgid "That page contains no results" +msgstr "Stranica ne sadrži rezultate" + +msgid "Enter a valid value." +msgstr "Unesite ispravnu vrijednost." + +msgid "Enter a valid URL." +msgstr "Unesite ispravan URL." + +msgid "Enter a valid integer." +msgstr "Unesite vrijednost u obliku cijelog broja." + +msgid "Enter a valid email address." +msgstr "Unesite ispravnu e-mail adresu." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "Unesite ispravnu IPv4 adresu." + +msgid "Enter a valid IPv6 address." +msgstr "Unesite ispravnu IPv6 adresu." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Unesite ispravnu IPv4 ili IPv6 adresu." + +msgid "Enter only digits separated by commas." +msgstr "Unesite samo brojeve razdvojene zarezom." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Osigurajte da ova vrijednost ima %(limit_value)s (trenutno je " +"%(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Osigurajte da je ova vrijednost manja ili jednaka %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Osigurajte da je ova vrijednost veća ili jednaka %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Osigurajte da ova vrijednost ima najmanje %(limit_value)d znak (trenutno ima " +"%(show_value)d)." +msgstr[1] "" +"Osigurajte da ova vrijednost ima najmanje %(limit_value)d znakova (trenutno " +"ima %(show_value)d)." +msgstr[2] "" +"Osigurajte da ova vrijednost ima najmanje %(limit_value)d znakova (trenutno " +"ima %(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Osigurajte da ova vrijednost ima najviše %(limit_value)d znak (trenutno ima " +"%(show_value)d)." +msgstr[1] "" +"Osigurajte da ova vrijednost ima najviše %(limit_value)d znakova (trenutno " +"ima %(show_value)d)." +msgstr[2] "" +"Osigurajte da ova vrijednost ima najviše %(limit_value)d znakova (trenutno " +"ima %(show_value)d)." + +msgid "Enter a number." +msgstr "Unesite broj." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Osigurajte da nema više od ukupno %(max)s numeričkog znaka." +msgstr[1] "Osigurajte da nema više od ukupno %(max)s numerička znaka." +msgstr[2] "Osigurajte da nema više od ukupno %(max)s numeričkih znakova." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Osigurajte da nema više od ukupno %(max)s decimalnog mjesta." +msgstr[1] "Osigurajte da nema više od ukupno %(max)s decimalna mjesta." +msgstr[2] "Osigurajte da nema više od ukupno %(max)s decimalnih mjesta." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Osigurajte da nema više od ukupno %(max)s numberičkog znaka prije decimalne " +"točke." +msgstr[1] "" +"Osigurajte da nema više od ukupno %(max)s numberička znaka prije decimalne " +"točke." +msgstr[2] "" +"Osigurajte da nema više od ukupno %(max)s numberičkih znakova prije " +"decimalne točke." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "" + +msgid "and" +msgstr "i" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s sa navedenim %(field_labels)s već postoji." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Vrijednost %(value)r nije jedna od raspoloživih opcija." + +msgid "This field cannot be null." +msgstr "Ovo polje ne može biti null." + +msgid "This field cannot be blank." +msgstr "Ovo polje ne može biti prazno." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s sa navedenim %(field_label)s već postoji." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s mora biti jedinstven pojam za %(date_field_label)s " +"%(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Polje tipa: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "Boolean (True ili False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Slova (do %(max_length)s)" + +msgid "Comma-separated integers" +msgstr "Cijeli brojevi odvojeni zarezom" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "Datum (bez vremena/sati)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "Datum (sa vremenom/satima)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "Decimalni broj" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "Trajanje" + +msgid "Email address" +msgstr "E-mail adresa" + +msgid "File path" +msgstr "Put do datoteke" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "Broj s pomičnim zarezom (floating point number)" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "Cijeli broj" + +msgid "Big (8 byte) integer" +msgstr "Big (8 byte) integer" + +msgid "IPv4 address" +msgstr "IPv4 adresa" + +msgid "IP address" +msgstr "IP adresa" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "Boolean (True, False ili None)" + +msgid "Positive integer" +msgstr "Pozitivan cijeli broj" + +msgid "Positive small integer" +msgstr "Pozitivan mali cijeli broj" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "'Slug' (do %(max_length)s)" + +msgid "Small integer" +msgstr "Mali broj" + +msgid "Text" +msgstr "Tekst" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "Vrijeme" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Binarni podaci" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "Datoteka" + +msgid "Image" +msgstr "Slika" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "%(model)s instanca sa %(field)s %(value)r ne postoji." + +msgid "Foreign Key (type determined by related field)" +msgstr "Foreign Key (type determined by related field)" + +msgid "One-to-one relationship" +msgstr "One-to-one relationship" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s veza" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s veze" + +msgid "Many-to-many relationship" +msgstr "Many-to-many relationship" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Unos za ovo polje je obavezan." + +msgid "Enter a whole number." +msgstr "Unesite cijeli broj." + +msgid "Enter a valid date." +msgstr "Unesite ispravan datum." + +msgid "Enter a valid time." +msgstr "Unesite ispravno vrijeme." + +msgid "Enter a valid date/time." +msgstr "Unesite ispravan datum/vrijeme." + +msgid "Enter a valid duration." +msgstr "Unesite ispravno trajanje." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Datoteka nije poslana. Provjerite 'encoding type' forme." + +msgid "No file was submitted." +msgstr "Datoteka nije poslana." + +msgid "The submitted file is empty." +msgstr "Poslana datoteka je prazna." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Osigurajte da naziv datoteke ima najviše %(max)d znak (ima %(length)d)." +msgstr[1] "" +"Osigurajte da naziv datoteke ima najviše %(max)d znakova (ima %(length)d)." +msgstr[2] "" +"Osigurajte da naziv datoteke ima najviše %(max)d znakova (ima %(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Molimo Vas da pošaljete ili datoteku ili označite izbor, a ne oboje." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Upload-ajte ispravnu sliku. Datoteka koju ste upload-ali ili nije slika ili " +"je oštečena." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Odaberite iz ponuđenog. %(value)s nije ponuđen kao opcija." + +msgid "Enter a list of values." +msgstr "Unesite listu vrijednosti." + +msgid "Enter a complete value." +msgstr "Unesite kompletnu vrijednost." + +msgid "Enter a valid UUID." +msgstr "Unesite ispravan UUID." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Skriveno polje %(name)s) %(error)s" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "ManagementForm podaci nedostaju ili su promijenjeni" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "Molimo unesite %d obrazac." +msgstr[1] "Molimo unesite %d ili manje obrazaca." +msgstr[2] "Molimo unesite %d ili manje obrazaca." + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "Molimo unesite %d ili više obrazaca." +msgstr[1] "Molimo unesite %d ili više obrazaca." +msgstr[2] "Molimo unesite %d ili više obrazaca." + +msgid "Order" +msgstr "Redoslijed:" + +msgid "Delete" +msgstr "Izbriši" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Ispravite duplicirane podatke za %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Molimo ispravite duplicirane podatke za %(field)s, koji moraju biti " +"jedinstveni." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Molimo ispravite duplicirane podatke za %(field_name)s koji moraju biti " +"jedinstveni za %(lookup)s u %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Molimo ispravite duplicirane vrijednosti ispod." + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Izaberite ispravnu opciju. Ta opcija nije jedna od dostupnih opcija." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "Isprazni" + +msgid "Currently" +msgstr "Trenutno" + +msgid "Change" +msgstr "Promijeni" + +msgid "Unknown" +msgstr "Nepoznat pojam" + +msgid "Yes" +msgstr "Da" + +msgid "No" +msgstr "Ne" + +msgid "Year" +msgstr "" + +msgid "Month" +msgstr "" + +msgid "Day" +msgstr "" + +msgid "yes,no,maybe" +msgstr "da,ne,možda" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d byte" +msgstr[1] "%(size)d byte-a" +msgstr[2] "%(size)d byte-a" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "popodne" + +msgid "a.m." +msgstr "ujutro" + +msgid "PM" +msgstr "popodne" + +msgid "AM" +msgstr "ujutro" + +msgid "midnight" +msgstr "ponoć" + +msgid "noon" +msgstr "podne" + +msgid "Monday" +msgstr "Ponedjeljak" + +msgid "Tuesday" +msgstr "Utorak" + +msgid "Wednesday" +msgstr "Srijeda" + +msgid "Thursday" +msgstr "Četvrtak" + +msgid "Friday" +msgstr "Petak" + +msgid "Saturday" +msgstr "Subota" + +msgid "Sunday" +msgstr "Nedjelja" + +msgid "Mon" +msgstr "Pon" + +msgid "Tue" +msgstr "Uto" + +msgid "Wed" +msgstr "Sri" + +msgid "Thu" +msgstr "Čet" + +msgid "Fri" +msgstr "Pet" + +msgid "Sat" +msgstr "Sub" + +msgid "Sun" +msgstr "Ned" + +msgid "January" +msgstr "Siječanj" + +msgid "February" +msgstr "Veljača" + +msgid "March" +msgstr "Ožujak" + +msgid "April" +msgstr "Travanj" + +msgid "May" +msgstr "Svibanj" + +msgid "June" +msgstr "Lipanj" + +msgid "July" +msgstr "Srpanj" + +msgid "August" +msgstr "Kolovoz" + +msgid "September" +msgstr "Rujan" + +msgid "October" +msgstr "Listopad" + +msgid "November" +msgstr "Studeni" + +msgid "December" +msgstr "Prosinac" + +msgid "jan" +msgstr "sij." + +msgid "feb" +msgstr "velj." + +msgid "mar" +msgstr "ožu." + +msgid "apr" +msgstr "tra." + +msgid "may" +msgstr "svi." + +msgid "jun" +msgstr "lip." + +msgid "jul" +msgstr "srp." + +msgid "aug" +msgstr "kol." + +msgid "sep" +msgstr "ruj." + +msgid "oct" +msgstr "lis." + +msgid "nov" +msgstr "stu." + +msgid "dec" +msgstr "pro." + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Sij." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Velj." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Ožu." + +msgctxt "abbrev. month" +msgid "April" +msgstr "Tra." + +msgctxt "abbrev. month" +msgid "May" +msgstr "Svi." + +msgctxt "abbrev. month" +msgid "June" +msgstr "Lip." + +msgctxt "abbrev. month" +msgid "July" +msgstr "Srp." + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Kol." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Ruj." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Lis." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Stu." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Pro." + +msgctxt "alt. month" +msgid "January" +msgstr "siječnja" + +msgctxt "alt. month" +msgid "February" +msgstr "veljače" + +msgctxt "alt. month" +msgid "March" +msgstr "ožujka" + +msgctxt "alt. month" +msgid "April" +msgstr "travnja" + +msgctxt "alt. month" +msgid "May" +msgstr "svibnja" + +msgctxt "alt. month" +msgid "June" +msgstr "lipnja" + +msgctxt "alt. month" +msgid "July" +msgstr "srpnja" + +msgctxt "alt. month" +msgid "August" +msgstr "kolovoza" + +msgctxt "alt. month" +msgid "September" +msgstr "rujna" + +msgctxt "alt. month" +msgid "October" +msgstr "listopada" + +msgctxt "alt. month" +msgid "November" +msgstr "studenoga" + +msgctxt "alt. month" +msgid "December" +msgstr "prosinca" + +msgid "This is not a valid IPv6 address." +msgstr "To nije ispravna IPv6 adresa." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "ili" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr "," + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "%d godina" +msgstr[1] "%d godina" +msgstr[2] "%d godina" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "%d mjesec" +msgstr[1] "%d mjeseci" +msgstr[2] "%d mjeseci" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "%d tjedan" +msgstr[1] "%d tjedna" +msgstr[2] "%d tjedana" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "%d dana" +msgstr[1] "%d dana" +msgstr[2] "%d dana" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "%d sat" +msgstr[1] "%d sati" +msgstr[2] "%d sati" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "%d minutu" +msgstr[1] "%d minute" +msgstr[2] "%d minuta" + +msgid "0 minutes" +msgstr "0 minuta" + +msgid "Forbidden" +msgstr "Zabranjeno" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF verifikacija nije uspjela. Zahtjev je prekinut." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Ova poruka vam se prikazuje jer stranica na kojoj se nalazite zahtjeva CSRF " +"kolačić prilikom slanja forme. Navedeni kolačić je obavezan iz sigurnosnih " +"razloga, kako bi se osiguralo da vaš internetski preglednik ne bude otet od " +"strane trećih osoba." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "Dodatne informacije su dostupne sa postavkom DEBUG=True." + +msgid "No year specified" +msgstr "Nije navedena godina" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "Nije naveden mjesec" + +msgid "No day specified" +msgstr "Nije naveden dan" + +msgid "No week specified" +msgstr "Tjedan nije određen" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Nije dostupno: %(verbose_name_plural)s" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"%(verbose_name_plural)s nije dostupno jer je %(class_name)s.allow_future " +"False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "%(verbose_name)s - pretragom nisu pronađeni rezultati za upit" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Nevažeća stranica (%(page_number)s):%(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "Sadržaji direktorija ovdje nisu dozvoljeni." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Sadržaj direktorija %(directory)s" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/hr/__init__.py b/external_sources/django/django/conf/locale/hr/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/hr/formats.py b/external_sources/django/django/conf/locale/hr/formats.py new file mode 100644 index 0000000..a2dc457 --- /dev/null +++ b/external_sources/django/django/conf/locale/hr/formats.py @@ -0,0 +1,44 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j. E Y." +TIME_FORMAT = "H:i" +DATETIME_FORMAT = "j. E Y. H:i" +YEAR_MONTH_FORMAT = "F Y." +MONTH_DAY_FORMAT = "j. F" +SHORT_DATE_FORMAT = "j.m.Y." +SHORT_DATETIME_FORMAT = "j.m.Y. H:i" +FIRST_DAY_OF_WEEK = 1 + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# Kept ISO formats as they are in first position +DATE_INPUT_FORMATS = [ + "%Y-%m-%d", # '2006-10-25' + "%d.%m.%Y.", # '25.10.2006.' + "%d.%m.%y.", # '25.10.06.' + "%d. %m. %Y.", # '25. 10. 2006.' + "%d. %m. %y.", # '25. 10. 06.' +] +DATETIME_INPUT_FORMATS = [ + "%Y-%m-%d %H:%M:%S", # '2006-10-25 14:30:59' + "%Y-%m-%d %H:%M:%S.%f", # '2006-10-25 14:30:59.000200' + "%Y-%m-%d %H:%M", # '2006-10-25 14:30' + "%d.%m.%Y. %H:%M:%S", # '25.10.2006. 14:30:59' + "%d.%m.%Y. %H:%M:%S.%f", # '25.10.2006. 14:30:59.000200' + "%d.%m.%Y. %H:%M", # '25.10.2006. 14:30' + "%d.%m.%y. %H:%M:%S", # '25.10.06. 14:30:59' + "%d.%m.%y. %H:%M:%S.%f", # '25.10.06. 14:30:59.000200' + "%d.%m.%y. %H:%M", # '25.10.06. 14:30' + "%d. %m. %Y. %H:%M:%S", # '25. 10. 2006. 14:30:59' + "%d. %m. %Y. %H:%M:%S.%f", # '25. 10. 2006. 14:30:59.000200' + "%d. %m. %Y. %H:%M", # '25. 10. 2006. 14:30' + "%d. %m. %y. %H:%M:%S", # '25. 10. 06. 14:30:59' + "%d. %m. %y. %H:%M:%S.%f", # '25. 10. 06. 14:30:59.000200' + "%d. %m. %y. %H:%M", # '25. 10. 06. 14:30' +] + +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "." +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/hsb/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/hsb/LC_MESSAGES/django.po new file mode 100644 index 0000000..46f12d0 --- /dev/null +++ b/external_sources/django/django/conf/locale/hsb/LC_MESSAGES/django.po @@ -0,0 +1,1384 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Michael Wolf , 2016-2024 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-10-07 06:49+0000\n" +"Last-Translator: Michael Wolf , 2016-2024\n" +"Language-Team: Upper Sorbian (http://app.transifex.com/django/django/" +"language/hsb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hsb\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " +"n%100==4 ? 2 : 3);\n" + +msgid "Afrikaans" +msgstr "Afrikaanšćina" + +msgid "Arabic" +msgstr "Arabšćina" + +msgid "Algerian Arabic" +msgstr "Algeriska arabšćina" + +msgid "Asturian" +msgstr "Asturišćina" + +msgid "Azerbaijani" +msgstr "Azerbajdźanšćina" + +msgid "Bulgarian" +msgstr "Bołharšćina" + +msgid "Belarusian" +msgstr "Běłorušćina" + +msgid "Bengali" +msgstr "Bengalšćina" + +msgid "Breton" +msgstr "Bretonšćina" + +msgid "Bosnian" +msgstr "Bosnišćina" + +msgid "Catalan" +msgstr "Katalanšćina" + +msgid "Central Kurdish (Sorani)" +msgstr "Centralna kurdišćina (Sorani)" + +msgid "Czech" +msgstr "Čěšćina" + +msgid "Welsh" +msgstr "Walizišćina" + +msgid "Danish" +msgstr "Danšćina" + +msgid "German" +msgstr "Němčina" + +msgid "Lower Sorbian" +msgstr "Delnjoserbšćina" + +msgid "Greek" +msgstr "Grjekšćina" + +msgid "English" +msgstr "Jendźelšćina" + +msgid "Australian English" +msgstr "Awstralska jendźelšćina" + +msgid "British English" +msgstr "Britiska jendźelšćina" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Španišćina" + +msgid "Argentinian Spanish" +msgstr "Argentinska španišćina" + +msgid "Colombian Spanish" +msgstr "Kolumbiska španišćina" + +msgid "Mexican Spanish" +msgstr "Mexiska španišćina" + +msgid "Nicaraguan Spanish" +msgstr "Nikaraguaska španišćina" + +msgid "Venezuelan Spanish" +msgstr "Venezuelska španišćina" + +msgid "Estonian" +msgstr "Estišćina" + +msgid "Basque" +msgstr "Baskišćina" + +msgid "Persian" +msgstr "Persišćina" + +msgid "Finnish" +msgstr "Finšćina" + +msgid "French" +msgstr "Francošćina" + +msgid "Frisian" +msgstr "Frizišćina" + +msgid "Irish" +msgstr "Irišćina" + +msgid "Scottish Gaelic" +msgstr "Šotiska gaelšćina" + +msgid "Galician" +msgstr "Galicišćina" + +msgid "Hebrew" +msgstr "Hebrejšćina" + +msgid "Hindi" +msgstr "Hindišćina" + +msgid "Croatian" +msgstr "Chorwatšćina" + +msgid "Upper Sorbian" +msgstr "Hornjoserbšćina" + +msgid "Hungarian" +msgstr "Madźaršćina" + +msgid "Armenian" +msgstr "Armenšćina" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indonezišćina" + +msgid "Igbo" +msgstr "Igbo" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Islandšćina" + +msgid "Italian" +msgstr "Italšćina" + +msgid "Japanese" +msgstr "Japanšćina" + +msgid "Georgian" +msgstr "Georgišćina" + +msgid "Kabyle" +msgstr "Kabylšćina" + +msgid "Kazakh" +msgstr "Kazachšćina" + +msgid "Khmer" +msgstr "Khmeršćina" + +msgid "Kannada" +msgstr "Kannadšćina" + +msgid "Korean" +msgstr "Korejšćina" + +msgid "Kyrgyz" +msgstr "Kirgišćina" + +msgid "Luxembourgish" +msgstr "Luxemburgšćina" + +msgid "Lithuanian" +msgstr "Litawšćina" + +msgid "Latvian" +msgstr "Letišćina" + +msgid "Macedonian" +msgstr "Makedonšćina" + +msgid "Malayalam" +msgstr "Malajalam" + +msgid "Mongolian" +msgstr "Mongolšćina" + +msgid "Marathi" +msgstr "Marathišćina" + +msgid "Malay" +msgstr "Malajšćina" + +msgid "Burmese" +msgstr "Myanmaršćina" + +msgid "Norwegian Bokmål" +msgstr "Norwegski bokmål" + +msgid "Nepali" +msgstr "Nepalšćina" + +msgid "Dutch" +msgstr "Nižozemšćina" + +msgid "Norwegian Nynorsk" +msgstr "Norwegski nynorsk" + +msgid "Ossetic" +msgstr "Osetšćina" + +msgid "Punjabi" +msgstr "Pundźabišćina" + +msgid "Polish" +msgstr "Pólšćina" + +msgid "Portuguese" +msgstr "Portugalšćina" + +msgid "Brazilian Portuguese" +msgstr "Brazilska portugalšćina" + +msgid "Romanian" +msgstr "Rumunšćina" + +msgid "Russian" +msgstr "Rušćina" + +msgid "Slovak" +msgstr "Słowakšćina" + +msgid "Slovenian" +msgstr "Słowjenšćina" + +msgid "Albanian" +msgstr "Albanšćina" + +msgid "Serbian" +msgstr "Serbišćina" + +msgid "Serbian Latin" +msgstr "Serbšćina, łaćonska" + +msgid "Swedish" +msgstr "Šwedšćina" + +msgid "Swahili" +msgstr "Suahelšćina" + +msgid "Tamil" +msgstr "Tamilšćina" + +msgid "Telugu" +msgstr "Telugušćina" + +msgid "Tajik" +msgstr "Tadźikišćina" + +msgid "Thai" +msgstr "Thaišćina" + +msgid "Turkmen" +msgstr "Turkmenšćina" + +msgid "Turkish" +msgstr "Turkowšćina" + +msgid "Tatar" +msgstr "Tataršćina" + +msgid "Udmurt" +msgstr "Udmurtšćina" + +msgid "Uyghur" +msgstr "Ujguršćina" + +msgid "Ukrainian" +msgstr "Ukrainšćina" + +msgid "Urdu" +msgstr "Urdušćina" + +msgid "Uzbek" +msgstr "Uzbekšćina" + +msgid "Vietnamese" +msgstr "Vietnamšćina" + +msgid "Simplified Chinese" +msgstr "Zjednorjene chinšćina" + +msgid "Traditional Chinese" +msgstr "Tradicionalna chinšćina" + +msgid "Messages" +msgstr "Powěsće" + +msgid "Site Maps" +msgstr "Přehlady sydła" + +msgid "Static Files" +msgstr "Statiske dataje" + +msgid "Syndication" +msgstr "Syndikacija" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "Tute čisko strony cyła ličba njeje." + +msgid "That page number is less than 1" +msgstr "Tute čisło strony je mjeńše hač 1." + +msgid "That page contains no results" +msgstr "Tuta strona wuslědki njewobsahuje" + +msgid "Enter a valid value." +msgstr "Zapodajće płaćiwu hódnotu." + +msgid "Enter a valid domain name." +msgstr "Zapodajće płaćiwe domenowe mjeno." + +msgid "Enter a valid URL." +msgstr "Zapodajće płaćiwy URL." + +msgid "Enter a valid integer." +msgstr "Zapodajće płaćiwu cyłu ličbu." + +msgid "Enter a valid email address." +msgstr "Zapodajće płaćiwu e-mejlowu adresu." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Zapodajće płaćiwe adresowe mjeno, kotrež jenož pismiki, ličby, podsmužki abo " +"wjazawki wobsahuje." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Zapodajće płaćiwe „adresowe mjeno“, kotrež jenož pismiki, ličby, podsmužki " +"abo wjazawki wobsahuje." + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "Zapodajće płaćiwu %(protocol)s-adresu." + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "IPv4 or IPv6" +msgstr "IPv4 abo IPv6" + +msgid "Enter only digits separated by commas." +msgstr "Zapodajće jenož přez komy dźělene cyfry," + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Zawěsćće, zo tuta hódnota je %(limit_value)s (je %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Zawěsćće, zo hódnota je mjeńša hač abo runja %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Zawěsćće, zo tuta hódnota je wjetša hač abo runja %(limit_value)s." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "" +"Zawěsćće, zo tuta hódnota je množina kročeloweje wulkosće %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"Zawěsćće, zo tuta hódnota je mnoho króć kročeloweje wulkosće " +"%(limit_value)s, započinajo z %(offset)s, na př. %(offset)s, " +"%(valid_value1)s, %(valid_value2)s a tak dale." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Zawěsćće, zo tuta hódnota ma znajmjeńša %(limit_value)d znamješko (ma " +"%(show_value)d)." +msgstr[1] "" +"Zawěsćće, zo tuta hódnota ma znajmjeńša %(limit_value)d znamješce (ma " +"%(show_value)d)." +msgstr[2] "" +"Zawěsćće, zo tuta hódnota ma znajmjeńša %(limit_value)d znamješka (ma " +"%(show_value)d)." +msgstr[3] "" +"Zawěsćće, zo tuta hódnota ma znajmjeńša %(limit_value)d znamješkow (ma " +"%(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Zawěsćće, zo tuta hódnota ma maksimalnje %(limit_value)d znamješko (ima " +"%(show_value)d)." +msgstr[1] "" +"Zawěsćće, zo tuta hódnota ma maksimalnje %(limit_value)d znamješce (ima " +"%(show_value)d)." +msgstr[2] "" +"Zawěsćće, zo tuta hódnota ma maksimalnje %(limit_value)d znamješka (ima " +"%(show_value)d)." +msgstr[3] "" +"Zawěsćće, zo tuta hódnota ma maksimalnje %(limit_value)d znamješkow (ima " +"%(show_value)d)." + +msgid "Enter a number." +msgstr "Zapodajće ličbu." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Zawěsćće, zo njeje wjace hač %(max)s cyfry dohromady." +msgstr[1] "Zawěsćće, zo njeje wjace hač %(max)s cyfrow dohromady." +msgstr[2] "Zawěsćće, zo njeje wjace hač %(max)s cyfrow dohromady." +msgstr[3] "Zawěsćće, zo njeje wjace hač %(max)s cyfrow dohromady." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Zawěsćće, zo njeje wjace hač %(max)s decimalneho městna." +msgstr[1] "Zawěsćće, zo njeje wjace hač %(max)s decimalneju městnow." +msgstr[2] "Zawěsćće, zo njeje wjace hač %(max)s decimalnych městnow." +msgstr[3] "Zawěsćće, zo njeje wjace hač %(max)s decimalnych městnow." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "Zawěsćće, zo njeje wjace hač %(max)s cyfry před decimalnej komu." +msgstr[1] "Zawěsćće, zo njeje wjace hač %(max)s cyfrow před decimalnej komu." +msgstr[2] "Zawěsćće, zo njeje wjace hač %(max)s cyfrow před decimalnej komu." +msgstr[3] "Zawěsćće, zo njeje wjace hač %(max)s cyfrow před decimalnej komu." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Datajowy sufiks ' %(extension)s' dowoleny njeje. Dowolene sufiksy su: " +"%(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Prózdne znamješka dowolene njejsu." + +msgid "and" +msgstr "a" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s z tutym %(field_labels)s hižo eksistuje." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "Wobmjezowanje \"%(name)s\" je překročene." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Hódnota %(value)r płaćiwa wólba njeje." + +msgid "This field cannot be null." +msgstr "Tute polo njesmě nul być." + +msgid "This field cannot be blank." +msgstr "Tute polo njesmě prózdne być." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s z tutym %(field_label)s hižo eksistuje." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s dyrbi za %(date_field_label)s %(lookup_type)s jónkróćne być." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Polo typa: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "Hódnota „%(value)s“ dyrbi pak True pak False być." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "Hódnota „%(value)s“ dyrbi pak True, False pak None być." + +msgid "Boolean (Either True or False)" +msgstr "Boolean (pak True pak False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Znamješkowy rjećazk (hač %(max_length)s)" + +msgid "String (unlimited)" +msgstr "Znamješkowy rjećazk (njewobmjezowany)" + +msgid "Comma-separated integers" +msgstr "Cyłe ličby dźělene přez komu" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"Hódnota „%(value)s“ ma njepłaćiwy datumowy format. Dyrbi we formaće DD.MM." +"YYYY być." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"Hódnota „%(value)s“ ma korektny format (DD.MM.YYYY), ale je njepłaćiwy datum." + +msgid "Date (without time)" +msgstr "Datum (bjez časa)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"Hódnota „%(value)s“ ma njepłaćiwy format. Dyrbi we formaće DD.MM.YYYY HH:MM[:" +"ss[.uuuuuu]][TZ] być." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"Hódnota „%(value)s“ ma korektny format (DD.MM.YYYY HH:MM[:ss[.uuuuuu]][TZ]), " +"ale je njepłaćiwy datum/čas." + +msgid "Date (with time)" +msgstr "Datum (z časom)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "Hódnota „%(value)s“ dyrbi decimalna ličba być." + +msgid "Decimal number" +msgstr "Decimalna ličba" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"Hódnota „%(value)s“ ma njepłaćiwy format. Dyrbi w formaće [DD] [HH:[MM:]]ss[." +"uuuuuu] być." + +msgid "Duration" +msgstr "Traće" + +msgid "Email address" +msgstr "E-mejlowa adresa" + +msgid "File path" +msgstr "Datajowa šćežka" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "Hódnota „%(value)s“ dyrbi decimalna ličba być." + +msgid "Floating point number" +msgstr "Komowa ličba typa float" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "Hódnota „%(value)s“ dyrbi integer być." + +msgid "Integer" +msgstr "Integer" + +msgid "Big (8 byte) integer" +msgstr "Big (8 byte) integer" + +msgid "Small integer" +msgstr "Mała cyła ličba" + +msgid "IPv4 address" +msgstr "IPv4-adresa" + +msgid "IP address" +msgstr "IP-adresa" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "Hódnota „%(value)s“ dyrbi pak None, True pak False być." + +msgid "Boolean (Either True, False or None)" +msgstr "Boolean (pak True, False pak None)" + +msgid "Positive big integer" +msgstr "Pozitiwna wulka cyła ličba" + +msgid "Positive integer" +msgstr "Pozitiwna cyła ličba" + +msgid "Positive small integer" +msgstr "Pozitiwna mała cyła ličba" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Adresowe mjeno (hač %(max_length)s)" + +msgid "Text" +msgstr "Tekst" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"Hódnota „%(value)s“ ma njepłaćiwy format. Dyrbi we formaće HH:MM[:ss[." +"uuuuuu]] być." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"Hódnota „%(value)s“ ma korektny format (HH:MM[:ss[.uuuuuu]]), ale je " +"njepłaćiwy čas." + +msgid "Time" +msgstr "Čas" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Hrube binarne daty" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "„%(value)s“ płaćiwy UUID njeje." + +msgid "Universally unique identifier" +msgstr "Uniwerselnje jónkróćny identifikator" + +msgid "File" +msgstr "Dataja" + +msgid "Image" +msgstr "Wobraz" + +msgid "A JSON object" +msgstr "JSON-objekt" + +msgid "Value must be valid JSON." +msgstr "Hódnota dyrbi płaćiwy JSON być." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "Instanca %(model)s z %(field)s %(value)r njeeksistuje." + +msgid "Foreign Key (type determined by related field)" +msgstr "Cuzy kluč (typ so přez wotpowědne polo postaja)" + +msgid "One-to-one relationship" +msgstr "Poćah jedyn jedyn" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "Poćah %(from)s-%(to)s" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "Poćahi %(from)s-%(to)s" + +msgid "Many-to-many relationship" +msgstr "Poćah wjele wjele" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Tute polo je trěbne." + +msgid "Enter a whole number." +msgstr "Zapodajće cyłu ličbu." + +msgid "Enter a valid date." +msgstr "Zapodajće płaćiwy datum." + +msgid "Enter a valid time." +msgstr "Zapodajće płaćiwy čas." + +msgid "Enter a valid date/time." +msgstr "Zapodajće płaćiwy datum/čas." + +msgid "Enter a valid duration." +msgstr "Zapodajće płaćiwe traće." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Ličba dnjow dyrbi mjez {min_days} a {max_days} być." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Žana dataja je so pósłała. Přepruwujće kodowanski typ we formularje." + +msgid "No file was submitted." +msgstr "Žana dataja je so pósłała." + +msgid "The submitted file is empty." +msgstr "Pósłana dataja je prózdna." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Zawěsćće, zo tute datajowe mjeno ma maksimalnje %(max)d znamješko (ma " +"%(length)d)." +msgstr[1] "" +"Zawěsćće, zo tute datajowe mjeno ma maksimalnje %(max)d znamješce (ma " +"%(length)d)." +msgstr[2] "" +"Zawěsćće, zo tute datajowe mjeno ma maksimalnje %(max)d znamješka (ma " +"%(length)d)." +msgstr[3] "" +"Zawěsćće, zo tute datajowe mjeno ma maksimalnje %(max)d znamješkow (ma " +"%(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Prošu zapodajće dataju abo stajće hóčku do kontrolneho kašćika, nic wobě." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Nahrajće płaćiwy wobraz. Dataja, kotruž sće nahrał, pak njebě wobraz pak bě " +"wobškodźeny wobraz. " + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Wubjerće płaćiwu wolensku móžnosć. %(value)s žana k dispoziciji stejacych " +"wolenskich móžnosćow njeje. " + +msgid "Enter a list of values." +msgstr "Zapodajće lisćinu hódnotow." + +msgid "Enter a complete value." +msgstr "Zapodajće dospołnu hódnotu." + +msgid "Enter a valid UUID." +msgstr "Zapodajće płaćiwy UUID." + +msgid "Enter a valid JSON." +msgstr "Zapodajće płaćiwy JSON." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Schowane polo field %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"Daty ManagementForm faluja abo su skepsane. Falowace pola: %(field_names)s. " +"Móžeće zmylkowu rozprawu spisać, jeli problem dale eksistuje." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Prošu wotposćelće maksimalnje %(num)d formular." +msgstr[1] "Prošu wotposćelće maksimalnje %(num)d formularaj." +msgstr[2] "Prošu wotposćelće maksimalnje %(num)d formulary." +msgstr[3] "Prošu wotposćelće maksimalnje %(num)d formularow." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Prošu zapodajće znajmjeńša %(num)d formu." +msgstr[1] "Prošu zapodajće znajmjeńša %(num)d formje." +msgstr[2] "Prošu zapodajće znajmjeńša %(num)d formy." +msgstr[3] "Prošu zapodajće znajmjeńša %(num)d formow." + +msgid "Order" +msgstr "Porjad" + +msgid "Delete" +msgstr "Zhašeć" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Prošu porjedźće dwójne daty za %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "Prošu porjedźće dwójne daty za %(field)s, kotrež dyrbja jónkróćne być." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Prošu porjedźće dwójne daty za %(field_name)s, kotrež dyrbja za %(lookup)s w " +"%(date_field)s jónkróćne być." + +msgid "Please correct the duplicate values below." +msgstr "Prošu porjedźće slědowace dwójne hódnoty." + +msgid "The inline value did not match the parent instance." +msgstr "Hódnota inline nadrjadowanej instancy njewotpowěduje." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Wubjerće płaćiwu wolensku móžnosć. Tuta wolenska móžnosć jedna z k " +"dispoziciji stejacych wolenskich móžnosćow njeje." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "\"%(pk)s\" płaćiwa hódnota njeje." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s njeda so w časowym pasmje %(current_timezone)s interpretować; " +"je snano dwuzmyslny abo njeeksistuje." + +msgid "Clear" +msgstr "Zhašeć" + +msgid "Currently" +msgstr "Tuchwilu" + +msgid "Change" +msgstr "Změnić" + +msgid "Unknown" +msgstr "Njeznaty" + +msgid "Yes" +msgstr "Haj" + +msgid "No" +msgstr "Ně" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "haj,ně,snano" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d bajt" +msgstr[1] "%(size)d bajtaj" +msgstr[2] "%(size)d bajty" +msgstr[3] "%(size)d bajtow" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "popołdnju" + +msgid "a.m." +msgstr "dopołdnja" + +msgid "PM" +msgstr "popołdnju" + +msgid "AM" +msgstr "dopołdnja" + +msgid "midnight" +msgstr "połnoc" + +msgid "noon" +msgstr "připołdnjo" + +msgid "Monday" +msgstr "Póndźela" + +msgid "Tuesday" +msgstr "Wutora" + +msgid "Wednesday" +msgstr "Srjeda" + +msgid "Thursday" +msgstr "Štwórtk" + +msgid "Friday" +msgstr "Pjatk" + +msgid "Saturday" +msgstr "Sobota" + +msgid "Sunday" +msgstr "Njedźela" + +msgid "Mon" +msgstr "Pón" + +msgid "Tue" +msgstr "Wut" + +msgid "Wed" +msgstr "Srj" + +msgid "Thu" +msgstr "Štw" + +msgid "Fri" +msgstr "Pja" + +msgid "Sat" +msgstr "Sob" + +msgid "Sun" +msgstr "Nje" + +msgid "January" +msgstr "Januar" + +msgid "February" +msgstr "Februar" + +msgid "March" +msgstr "Měrc" + +msgid "April" +msgstr "Apryl" + +msgid "May" +msgstr "Meja" + +msgid "June" +msgstr "Junij" + +msgid "July" +msgstr "Julij" + +msgid "August" +msgstr "Awgust" + +msgid "September" +msgstr "September" + +msgid "October" +msgstr "Oktober" + +msgid "November" +msgstr "Nowember" + +msgid "December" +msgstr "December" + +msgid "jan" +msgstr "jan." + +msgid "feb" +msgstr "feb." + +msgid "mar" +msgstr "měr." + +msgid "apr" +msgstr "apr." + +msgid "may" +msgstr "mej." + +msgid "jun" +msgstr "jun." + +msgid "jul" +msgstr "jul." + +msgid "aug" +msgstr "awg." + +msgid "sep" +msgstr "sep." + +msgid "oct" +msgstr "okt." + +msgid "nov" +msgstr "now." + +msgid "dec" +msgstr "dec." + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Jan." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Měrc" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Apryl" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Meja" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Junij" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Julij" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Awg." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Sept." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Okt." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Now." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Dec." + +msgctxt "alt. month" +msgid "January" +msgstr "Januar" + +msgctxt "alt. month" +msgid "February" +msgstr "Februar" + +msgctxt "alt. month" +msgid "March" +msgstr "Měrc" + +msgctxt "alt. month" +msgid "April" +msgstr "Apryl" + +msgctxt "alt. month" +msgid "May" +msgstr "Meja" + +msgctxt "alt. month" +msgid "June" +msgstr "Junij" + +msgctxt "alt. month" +msgid "July" +msgstr "Julij" + +msgctxt "alt. month" +msgid "August" +msgstr "Awgust" + +msgctxt "alt. month" +msgid "September" +msgstr "September" + +msgctxt "alt. month" +msgid "October" +msgstr "Oktober" + +msgctxt "alt. month" +msgid "November" +msgstr "Nowember" + +msgctxt "alt. month" +msgid "December" +msgstr "December" + +msgid "This is not a valid IPv6 address." +msgstr "To płaćiwa IPv6-adresa njeje." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "abo" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d lěto" +msgstr[1] "%(num)dlěće" +msgstr[2] "%(num)d lěta" +msgstr[3] "%(num)d lět" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d měsac" +msgstr[1] "%(num)d měsacaj" +msgstr[2] "%(num)d měsacy" +msgstr[3] "%(num)d měsacow" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d tydźeń" +msgstr[1] "%(num)d njedźeli" +msgstr[2] "%(num)d njedźele" +msgstr[3] "%(num)d njedźel" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d dźeń" +msgstr[1] "%(num)d dnjej" +msgstr[2] "%(num)d dny" +msgstr[3] "%(num)d dnjow" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d hodźina" +msgstr[1] "%(num)d hodźinje" +msgstr[2] "%(num)d hodźiny" +msgstr[3] "%(num)d hodźin" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d mjeńšina" +msgstr[1] "%(num)d mjeńšinje" +msgstr[2] "%(num)d mjeńšiny" +msgstr[3] "%(num)d mjeńšin" + +msgid "Forbidden" +msgstr "Zakazany" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF-přepruwowanje je so nimokuliło. Naprašowanje je so přetorhnyło." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Widźiće tutu zdźělenku, dokelž tute HTTPS-sydło \"Referer header\" trjeba, " +"kotryž so ma na waš webwobhladowak pósłać, ale žadyn njeje so pósłał. Tutón " +"header je z wěstotnych přičinow trěbny, zo by so zawěsćiło, zo waš " +"wobhladowak so wot třećich njekapruje." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Jei sće swój wobhladowak tak konfigurował, zo su hłowy „Referer“ " +"znjemóžnjene, zmóžńće je, znajmjeńša za tute sydło abo za HTTPS-zwiski abo " +"za naprašowanja „sameorigin“." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Jeli značku wužiwaće abo hłowu „Referrer-Policy: no-referrer“ zapřijimaće, " +"wotstrońće je prošu. CSRF-škit trjeba hłowu „Referer“ , zo by striktnu " +"kontrolu referer přewjedźe. Jeli so wo priwatnosć staraće, wužiwajće " +"alternatiwy kaž za wotkazy k sydłam třećich." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Widźiće tutu zdźělenku, dokelž tute sydło CSRF-plack trjeba, hdyž so " +"formulary wotesyłaja. Tutón plack je z přičinow wěstoty trěbny, zo by so waš " +"wobhladowak wot třećich njekapruje." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Jeli sće swój wobhladowak tak konfigurował, zo su placki znjemóžnjene, " +"zmóžńće je zaso, znajmjeńša za tute sydło abo za naprašowanja „same-origin“." + +msgid "More information is available with DEBUG=True." +msgstr "Z DEBUG=True su dalše informacije k dispoziciji." + +msgid "No year specified" +msgstr "Žane lěto podate" + +msgid "Date out of range" +msgstr "Datum zwonka wobłuka" + +msgid "No month specified" +msgstr "Žadyn měsac podaty" + +msgid "No day specified" +msgstr "Žadyn dźeń podaty" + +msgid "No week specified" +msgstr "Žadyn tydźeń podaty" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Žadyn %(verbose_name_plural)s k dispoziciji njeje" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Přichodowe %(verbose_name_plural)s k dispoziciji njejsu, dokelž hódnota " +"%(class_name)s.allow_future je False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" +"Njepłaćiwy „%(format)s“ za datumowy znamješkowy rjaćazk „%(datestr)s“ podaty" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Žane %(verbose_name)s namakane, kotrež naprašowanju wotpowěduje" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "Strona „last“ njeje, ani njeda so do int konwertować." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Njepłaćiwa strona (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Prózdna lisćina a „%(class_name)s.allow_empty“ je False." + +msgid "Directory indexes are not allowed here." +msgstr "Zapisowe indeksy tu dowolone njejsu." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "„%(path)s“ njeeksistuje" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Indeks %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "Instalacija bě wuspěšna! Zbožopřeće!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Čitajće wersijowe informacije za Django " +"%(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Widźiće tutu stronu, dokelž DEBUG=True je we wašej dataji nastajenjow a njejsće URL " +"skonfigurował." + +msgid "Django Documentation" +msgstr "Dokumentacija Django" + +msgid "Topics, references, & how-to’s" +msgstr "Temy, referency a nawody" + +msgid "Tutorial: A Polling App" +msgstr "Nawod: Naprašowanske nałoženje" + +msgid "Get started with Django" +msgstr "Prěnje kroki z Django" + +msgid "Django Community" +msgstr "Zhromadźenstwo Django" + +msgid "Connect, get help, or contribute" +msgstr "Zwjazać, pomoc wobstarać abo přinošować" diff --git a/external_sources/django/django/conf/locale/hu/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/hu/LC_MESSAGES/django.po new file mode 100644 index 0000000..117789e --- /dev/null +++ b/external_sources/django/django/conf/locale/hu/LC_MESSAGES/django.po @@ -0,0 +1,1358 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Akos Zsolt Hochrein , 2018 +# András Veres-Szentkirályi, 2016-2021,2023 +# Attila Nagy <>, 2012 +# Balázs Meskó , 2024 +# Balázs R, 2023 +# Dóra Szendrei , 2017 +# Istvan Farkas , 2019 +# Jannis Leidel , 2011 +# János R, 2011-2012,2014 +# János R, 2022 +# Máté Őry , 2013 +# Szilveszter Farkas , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 11:41-0300\n" +"PO-Revision-Date: 2024-01-12 06:49+0000\n" +"Last-Translator: Balázs Meskó , 2024\n" +"Language-Team: Hungarian (http://app.transifex.com/django/django/language/" +"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" + +msgid "Afrikaans" +msgstr "Afrikaans" + +msgid "Arabic" +msgstr "Arab" + +msgid "Algerian Arabic" +msgstr "algériai arab" + +msgid "Asturian" +msgstr "Asztúriai" + +msgid "Azerbaijani" +msgstr "azerbajdzsáni" + +msgid "Bulgarian" +msgstr "Bolgár" + +msgid "Belarusian" +msgstr "Belarusz" + +msgid "Bengali" +msgstr "Bengáli" + +msgid "Breton" +msgstr "Breton" + +msgid "Bosnian" +msgstr "Bosnyák" + +msgid "Catalan" +msgstr "Katalán" + +msgid "Central Kurdish (Sorani)" +msgstr "Közép-kurd (szoráni)" + +msgid "Czech" +msgstr "Cseh" + +msgid "Welsh" +msgstr "Walesi" + +msgid "Danish" +msgstr "Dán" + +msgid "German" +msgstr "Német" + +msgid "Lower Sorbian" +msgstr "Alsószorb" + +msgid "Greek" +msgstr "Görög" + +msgid "English" +msgstr "Angol" + +msgid "Australian English" +msgstr "Ausztráliai angol" + +msgid "British English" +msgstr "Brit angol" + +msgid "Esperanto" +msgstr "Eszperantó" + +msgid "Spanish" +msgstr "Spanyol" + +msgid "Argentinian Spanish" +msgstr "Argentin spanyol" + +msgid "Colombian Spanish" +msgstr "Kolumbiai spanyol" + +msgid "Mexican Spanish" +msgstr "Mexikói spanyol" + +msgid "Nicaraguan Spanish" +msgstr "Nicaraguai spanyol" + +msgid "Venezuelan Spanish" +msgstr "Venezuelai spanyol" + +msgid "Estonian" +msgstr "Észt" + +msgid "Basque" +msgstr "Baszk " + +msgid "Persian" +msgstr "Perzsa" + +msgid "Finnish" +msgstr "Finn" + +msgid "French" +msgstr "Francia" + +msgid "Frisian" +msgstr "Fríz" + +msgid "Irish" +msgstr "Ír" + +msgid "Scottish Gaelic" +msgstr "Skót gael" + +msgid "Galician" +msgstr "Gall" + +msgid "Hebrew" +msgstr "Héber" + +msgid "Hindi" +msgstr "Hindi" + +msgid "Croatian" +msgstr "Horvát" + +msgid "Upper Sorbian" +msgstr "Felsőszorb" + +msgid "Hungarian" +msgstr "Magyar" + +msgid "Armenian" +msgstr "Örmény" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indonéz" + +msgid "Igbo" +msgstr "igbo" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Izlandi" + +msgid "Italian" +msgstr "Olasz" + +msgid "Japanese" +msgstr "Japán" + +msgid "Georgian" +msgstr "Grúz" + +msgid "Kabyle" +msgstr "Kabil" + +msgid "Kazakh" +msgstr "Kazak" + +msgid "Khmer" +msgstr "Khmer" + +msgid "Kannada" +msgstr "Kannada" + +msgid "Korean" +msgstr "Koreai" + +msgid "Kyrgyz" +msgstr "kirgiz" + +msgid "Luxembourgish" +msgstr "Luxemburgi" + +msgid "Lithuanian" +msgstr "Litván" + +msgid "Latvian" +msgstr "Lett" + +msgid "Macedonian" +msgstr "Macedón" + +msgid "Malayalam" +msgstr "Malajálam" + +msgid "Mongolian" +msgstr "Mongol" + +msgid "Marathi" +msgstr "Maráthi" + +msgid "Malay" +msgstr "Maláj" + +msgid "Burmese" +msgstr "Burmai" + +msgid "Norwegian Bokmål" +msgstr "Bokmål norvég" + +msgid "Nepali" +msgstr "Nepáli" + +msgid "Dutch" +msgstr "Holland" + +msgid "Norwegian Nynorsk" +msgstr "Nynorsk norvég" + +msgid "Ossetic" +msgstr "Oszét" + +msgid "Punjabi" +msgstr "Punjabi" + +msgid "Polish" +msgstr "Lengyel" + +msgid "Portuguese" +msgstr "Portugál" + +msgid "Brazilian Portuguese" +msgstr "Brazíliai portugál" + +msgid "Romanian" +msgstr "Román" + +msgid "Russian" +msgstr "Orosz" + +msgid "Slovak" +msgstr "Szlovák" + +msgid "Slovenian" +msgstr "Szlovén" + +msgid "Albanian" +msgstr "Albán" + +msgid "Serbian" +msgstr "Szerb" + +msgid "Serbian Latin" +msgstr "Latin betűs szerb" + +msgid "Swedish" +msgstr "Svéd" + +msgid "Swahili" +msgstr "Szuahéli" + +msgid "Tamil" +msgstr "Tamil" + +msgid "Telugu" +msgstr "Telugu" + +msgid "Tajik" +msgstr "Tádzsik" + +msgid "Thai" +msgstr "Thai" + +msgid "Turkmen" +msgstr "Türkmén" + +msgid "Turkish" +msgstr "Török" + +msgid "Tatar" +msgstr "Tatár" + +msgid "Udmurt" +msgstr "Udmurt" + +msgid "Uyghur" +msgstr "Ujgur" + +msgid "Ukrainian" +msgstr "Ukrán" + +msgid "Urdu" +msgstr "urdu" + +msgid "Uzbek" +msgstr "Üzbég" + +msgid "Vietnamese" +msgstr "Vietnámi" + +msgid "Simplified Chinese" +msgstr "Egyszerű kínai" + +msgid "Traditional Chinese" +msgstr "Hagyományos kínai" + +msgid "Messages" +msgstr "Üzenetek" + +msgid "Site Maps" +msgstr "Oldaltérképek" + +msgid "Static Files" +msgstr "Statikus fájlok" + +msgid "Syndication" +msgstr "Szindikáció" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "Az oldalszám nem egész szám." + +msgid "That page number is less than 1" +msgstr "Az oldalszám kisebb, mint 1" + +msgid "That page contains no results" +msgstr "Az oldal nem tartalmaz találatokat" + +msgid "Enter a valid value." +msgstr "Adjon meg egy érvényes értéket." + +msgid "Enter a valid URL." +msgstr "Adjon meg egy érvényes URL-t." + +msgid "Enter a valid integer." +msgstr "Adjon meg egy érvényes számot." + +msgid "Enter a valid email address." +msgstr "Írjon be egy érvényes e-mail címet." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Kérjük adjon meg egy érvényes \"domain-darabkát\", amely csak ékezet nélküli " +"betűkből, számokból, aláhúzásból és kötőjelből áll." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Kérjük adjon meg egy érvényes \"domain-darabkát\", amely csak betűkből, " +"számokból, aláhúzásból és kötőjelből áll." + +msgid "Enter a valid IPv4 address." +msgstr "Írjon be egy érvényes IPv4 címet." + +msgid "Enter a valid IPv6 address." +msgstr "Írjon be egy érvényes IPv6 címet." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Írjon be egy érvényes IPv4 vagy IPv6 címet." + +msgid "Enter only digits separated by commas." +msgstr "Csak számokat adjon meg, vesszővel elválasztva." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Bizonyosodjon meg arról, hogy az érték %(limit_value)s (jelenleg: " +"%(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Bizonyosodjon meg arról, hogy az érték %(limit_value)s, vagy kisebb." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Bizonyosodjon meg arról, hogy az érték %(limit_value)s, vagy nagyobb." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "Bizonyosodjon meg arról, hogy az érték %(limit_value)s többszöröse." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"Az érték %(limit_value)s többszörösével kell hogy eltérjen %(offset)s-hoz " +"képest, pl. %(offset)s, %(valid_value1)s, %(valid_value2)s, és így tovább. " + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Bizonyosodjon meg arról, hogy ez az érték legalább %(limit_value)d karaktert " +"tartalmaz (jelenlegi hossza: %(show_value)d)." +msgstr[1] "" +"Bizonyosodjon meg arról, hogy ez az érték legalább %(limit_value)d karaktert " +"tartalmaz (jelenlegi hossza: %(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Bizonyosodjon meg arról, hogy ez az érték legfeljebb %(limit_value)d " +"karaktert tartalmaz (jelenlegi hossza: %(show_value)d)." +msgstr[1] "" +"Bizonyosodjon meg arról, hogy ez az érték legfeljebb %(limit_value)d " +"karaktert tartalmaz (jelenlegi hossza: %(show_value)d)." + +msgid "Enter a number." +msgstr "Adj meg egy számot." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Bizonyosodjon meg arról, hogy legfeljebb %(max)s számjegyből áll." +msgstr[1] "Bizonyosodjon meg arról, hogy legfeljebb %(max)s számjegyből áll." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" +"Bizonyosodjon meg arról, hogy legfeljebb %(max)s tizedesjegyből áll." +msgstr[1] "" +"Bizonyosodjon meg arról, hogy legfeljebb %(max)s tizedesjegyből áll." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Bizonyosodjon meg arról, hogy legfeljebb %(max)s számjegy van a " +"tizedesvessző előtt." +msgstr[1] "" +"Bizonyosodjon meg arról, hogy legfeljebb %(max)s számjegy van a " +"tizedesvessző előtt." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"A(z) \"%(extension)s\" kiterjesztés nincs engedélyezve. Az engedélyezett " +"fájltípusok: %(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Null karakterek használata nem megengedett." + +msgid "and" +msgstr "és" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "Már létezik %(model_name)s ilyennel: %(field_labels)s." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "„%(name)s” megszorítás megsértve." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "%(value)r érték érvénytelen." + +msgid "This field cannot be null." +msgstr "Ez a mező nem lehet nulla." + +msgid "This field cannot be blank." +msgstr "Ez a mező nem lehet üres." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "Már létezik %(model_name)s ilyennel: %(field_label)s." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s egyedi kell hogy legyen %(lookup_type)s alapján a(z) " +"%(date_field_label)s mezőn." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Mezőtípus: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "A(z) \"%(value)s\" értéke csak True vagy False lehet." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "A(z) \"%(value)s\" értéke csak True, False vagy üres lehet." + +msgid "Boolean (Either True or False)" +msgstr "Logikai (True vagy False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Karakterlánc (%(max_length)s hosszig)" + +msgid "String (unlimited)" +msgstr "Karakterlánc (korlátlan hosszúságú)" + +msgid "Comma-separated integers" +msgstr "Vesszővel elválasztott egészek" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"A(z) \"%(value)s\" érvénytelen dátumformátumot tartalmaz. A dátumnak ÉÉÉÉ-HH-" +"NN formában kell lennie." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"A(z) \"%(value)s\" értéke formára (ÉÉÉÉ-HH-NN) megfelel ugyan, de " +"érvénytelen dátumot tartalmaz." + +msgid "Date (without time)" +msgstr "Dátum (idő nélkül)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"A(z) \"%(value)s\" érvénytelen dátumformátumot tartalmaz. A dátumnak ÉÉÉÉ-HH-" +"NN ÓÓ:PP[:mm[.uuuuuu]][TZ] formában kell lennie." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"A(z) \"%(value)s\" értéke formára (ÉÉÉÉ-HH-NN ÓÓ:PP[:mm[:uuuuuu]][TZ]) " +"megfelel ugyan, de érvénytelen dátumot vagy időt tartalmaz." + +msgid "Date (with time)" +msgstr "Dátum (idővel)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "A(z) \"%(value)s\" értékének tizes számrendszerű számnak kell lennie." + +msgid "Decimal number" +msgstr "Tizes számrendszerű (decimális) szám" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"A(z) \"%(value)s\" érvénytelen idő formátumot tartalmaz. Az időnek ÓÓ:PP[:" +"mm[.uuuuuu]] formában kell lennie." + +msgid "Duration" +msgstr "Időtartam" + +msgid "Email address" +msgstr "E-mail cím" + +msgid "File path" +msgstr "Elérési út" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "A(z) \"%(value)s\" értékének lebegőpontos számnak kell lennie." + +msgid "Floating point number" +msgstr "Lebegőpontos szám" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "A(z) \"%(value)s\" értékének egész számnak kell lennie." + +msgid "Integer" +msgstr "Egész" + +msgid "Big (8 byte) integer" +msgstr "Nagy egész szám (8 bájtos)" + +msgid "Small integer" +msgstr "Kis egész" + +msgid "IPv4 address" +msgstr "IPv4 cím" + +msgid "IP address" +msgstr "IP cím" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "Az \"%(value)s\" értéke csak üres, True, vagy False lehet." + +msgid "Boolean (Either True, False or None)" +msgstr "Logikai (True, False vagy None)" + +msgid "Positive big integer" +msgstr "Pozitív nagy egész" + +msgid "Positive integer" +msgstr "Pozitív egész" + +msgid "Positive small integer" +msgstr "Pozitív kis egész" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "URL-barát cím (%(max_length)s hosszig)" + +msgid "Text" +msgstr "Szöveg" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"A(z) \"%(value)s\" érvénytelen idő formátumot tartalmaz. Az időnek ÓÓ:PP[:" +"mm[.uuuuuu]] formában kell lennie." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"A(z) \"%(value)s\" értéke formára (ÓÓ:PP[:mm[:uuuuuu]][TZ]) megfelel ugyan, " +"de érvénytelen időt tartalmaz." + +msgid "Time" +msgstr "Idő" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Nyers bináris adat" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "A(z) \"%(value)s\" értéke nem érvényes UUID érték." + +msgid "Universally unique identifier" +msgstr "Univerzálisan egyedi azonosító" + +msgid "File" +msgstr "Fájl" + +msgid "Image" +msgstr "Kép" + +msgid "A JSON object" +msgstr "Egy JSON objektum" + +msgid "Value must be valid JSON." +msgstr "Az érték érvényes JSON kell legyen." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "%(model)s példány %(value)r %(field)s értékkel nem létezik." + +msgid "Foreign Key (type determined by related field)" +msgstr "Idegen kulcs (típusa a kapcsolódó mezőtől függ)" + +msgid "One-to-one relationship" +msgstr "Egy-egy kapcsolat" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s kapcsolat" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s kapcsolatok" + +msgid "Many-to-many relationship" +msgstr "Több-több kapcsolat" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Ennek a mezőnek a megadása kötelező." + +msgid "Enter a whole number." +msgstr "Adjon meg egy egész számot." + +msgid "Enter a valid date." +msgstr "Adjon meg egy érvényes dátumot." + +msgid "Enter a valid time." +msgstr "Adjon meg egy érvényes időt." + +msgid "Enter a valid date/time." +msgstr "Adjon meg egy érvényes dátumot/időt." + +msgid "Enter a valid duration." +msgstr "Adjon meg egy érvényes időtartamot." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "A napok számának {min_days} és {max_days} közé kell esnie." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Nem küldött el fájlt. Ellenőrizze a kódolás típusát az űrlapon." + +msgid "No file was submitted." +msgstr "Semmilyen fájl sem került feltöltésre." + +msgid "The submitted file is empty." +msgstr "A küldött fájl üres." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Bizonyosodjon meg arról, hogy a fájlnév legfeljebb %(max)d karakterből áll " +"(jelenlegi hossza: %(length)d)." +msgstr[1] "" +"Bizonyosodjon meg arról, hogy a fájlnév legfeljebb %(max)d karakterből áll " +"(jelenlegi hossza: %(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Küldjön egy új fájlt, vagy jelölje be a törlés négyzetet, de ne mindkettőt " +"egyszerre." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Töltsön fel egy érvényes képfájlt. A feltöltött fájl nem kép volt, vagy " +"megsérült." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Válasszon érvényes elemet. '%(value)s' nincs az elérhető lehetőségek között." + +msgid "Enter a list of values." +msgstr "Adja meg értékek egy listáját." + +msgid "Enter a complete value." +msgstr "Adjon meg egy teljes értéket." + +msgid "Enter a valid UUID." +msgstr "Adjon meg egy érvényes UUID-t." + +msgid "Enter a valid JSON." +msgstr "Adjon meg egy érvényes JSON-t." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Rejtett mező: %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"ManagementForm adatok hiányoznak vagy hamisításra kerültek. A hiányzó mezők: " +"%(field_names)s. Ha ez többször is előfordul, érdemes bejelenteni hibaként." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Legfeljebb %(num)d űrlapot küldjön be." +msgstr[1] "Legfeljebb %(num)d űrlapot küldjön be." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Legalább %(num)d űrlapot küldjön be." +msgstr[1] "Legalább %(num)d űrlapot küldjön be." + +msgid "Order" +msgstr "Sorrend" + +msgid "Delete" +msgstr "Törlés" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Javítsa a mezőhöz tartozó duplikált adatokat: %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Javítsa a mezőhöz tartozó duplikált adatokat: %(field)s (egyedinek kell " +"lenniük)." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Javítsa a mezőhöz tartozó duplikált adatokat: %(field_name)s (egyedinek kell " +"lenniük %(lookup)s alapján a dátum mezőn: %(date_field)s)." + +msgid "Please correct the duplicate values below." +msgstr "Javítsa az alábbi duplikált értékeket." + +msgid "The inline value did not match the parent instance." +msgstr "A beágyazott érték nem egyezik meg a szülő példányéval." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Válasszon érvényes elemet. Az Ön választása nincs az elérhető lehetőségek " +"között." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "Érvénytelen érték: \"%(pk)s\"" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"A(z) %(datetime)s nem értelmezhető a(z) %(current_timezone)s időzónában; " +"vagy bizonytalan, vagy nem létezik." + +msgid "Clear" +msgstr "Törlés" + +msgid "Currently" +msgstr "Jelenleg" + +msgid "Change" +msgstr "Módosítás" + +msgid "Unknown" +msgstr "Ismeretlen" + +msgid "Yes" +msgstr "Igen" + +msgid "No" +msgstr "Nem" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "igen,nem,talán" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d bájt" +msgstr[1] "%(size)d bájt" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "du" + +msgid "a.m." +msgstr "de" + +msgid "PM" +msgstr "DU" + +msgid "AM" +msgstr "DE" + +msgid "midnight" +msgstr "éjfél" + +msgid "noon" +msgstr "dél" + +msgid "Monday" +msgstr "hétfő" + +msgid "Tuesday" +msgstr "kedd" + +msgid "Wednesday" +msgstr "szerda" + +msgid "Thursday" +msgstr "csütörtök" + +msgid "Friday" +msgstr "péntek" + +msgid "Saturday" +msgstr "szombat" + +msgid "Sunday" +msgstr "vasárnap" + +msgid "Mon" +msgstr "hét" + +msgid "Tue" +msgstr "kedd" + +msgid "Wed" +msgstr "sze" + +msgid "Thu" +msgstr "csüt" + +msgid "Fri" +msgstr "pén" + +msgid "Sat" +msgstr "szo" + +msgid "Sun" +msgstr "vas" + +msgid "January" +msgstr "január" + +msgid "February" +msgstr "február" + +msgid "March" +msgstr "március" + +msgid "April" +msgstr "április" + +msgid "May" +msgstr "május" + +msgid "June" +msgstr "június" + +msgid "July" +msgstr "július" + +msgid "August" +msgstr "augusztus" + +msgid "September" +msgstr "szeptember" + +msgid "October" +msgstr "október" + +msgid "November" +msgstr "november" + +msgid "December" +msgstr "december" + +msgid "jan" +msgstr "jan" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "már" + +msgid "apr" +msgstr "ápr" + +msgid "may" +msgstr "máj" + +msgid "jun" +msgstr "jún" + +msgid "jul" +msgstr "júl" + +msgid "aug" +msgstr "aug" + +msgid "sep" +msgstr "sze" + +msgid "oct" +msgstr "okt" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "dec" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "jan." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "febr." + +msgctxt "abbrev. month" +msgid "March" +msgstr "márc." + +msgctxt "abbrev. month" +msgid "April" +msgstr "ápr." + +msgctxt "abbrev. month" +msgid "May" +msgstr "máj." + +msgctxt "abbrev. month" +msgid "June" +msgstr "jún." + +msgctxt "abbrev. month" +msgid "July" +msgstr "júl." + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "aug." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "szept." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "okt." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "dec." + +msgctxt "alt. month" +msgid "January" +msgstr "január" + +msgctxt "alt. month" +msgid "February" +msgstr "február" + +msgctxt "alt. month" +msgid "March" +msgstr "március" + +msgctxt "alt. month" +msgid "April" +msgstr "április" + +msgctxt "alt. month" +msgid "May" +msgstr "május" + +msgctxt "alt. month" +msgid "June" +msgstr "június" + +msgctxt "alt. month" +msgid "July" +msgstr "július" + +msgctxt "alt. month" +msgid "August" +msgstr "augusztus" + +msgctxt "alt. month" +msgid "September" +msgstr "szeptember" + +msgctxt "alt. month" +msgid "October" +msgstr "október" + +msgctxt "alt. month" +msgid "November" +msgstr "november" + +msgctxt "alt. month" +msgid "December" +msgstr "december" + +msgid "This is not a valid IPv6 address." +msgstr "Ez nem egy érvényes IPv6 cím." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "vagy" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d év" +msgstr[1] "%(num)d év" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d hónap" +msgstr[1] "%(num)d hónap" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d hét" +msgstr[1] "%(num)d hét" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d nap" +msgstr[1] "%(num)d nap" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d óra" +msgstr[1] "%(num)d óra" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d perc" +msgstr[1] "%(num)d perc" + +msgid "Forbidden" +msgstr "Hozzáférés megtagadva" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF ellenőrzés sikertelen. Kérés kiszolgálása megszakítva." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Ezt az üzenetet azért látja, mert ezen a HTTPS oldalon kötelező a \"Referer " +"header\", amelyet a böngészőnek kellene küldenie, de nem tette. Ez az adat " +"biztonsági okokból kötelező, ez biztosítja, hogy a böngészőt nem irányítja " +"át egy harmadik fél." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Ha a böngészője úgy van beállítva, hogy letilja a \"Referer\" adatokat, " +"kérjük engedélyezze őket ehhez az oldalhoz, vagy a HTTPS kapcsolatokhoz, " +"vagy a \"same-origin\" kérésekhez." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Ha a címkét használja, vagy " +"a “Referrer-Policy: no-referrer” fejlécet, kérjük távolítsa el ezeket. A " +"CSRF védelemnek szüksége van a \"Referer\" fejléc adatra a szigorú " +"ellenőrzéshez. Ha aggódik az adatainak biztonsága miatt, használjon " +"alternatívákat, mint például az , a külső oldalakra " +"mutató linkek esetén. " + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Azért látja ezt az üzenetet, mert ez a weboldal elvárja a CSRF cookie " +"elküldését űrlapoknál. Erre a cookie-ra biztonsági okból van szükség annak " +"kiszűrésére, hogy harmadik fél eltérítse az ön böngészőjét." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Ha kikapcsolta a cookie-kat a böngészőjében, kérjük engedélyezze őket újra, " +"legalább erre az oldalra, vagy a \"same-origin\" típusú kérésekre." + +msgid "More information is available with DEBUG=True." +msgstr "További információ DEBUG=True beállítással érhető el." + +msgid "No year specified" +msgstr "Nincs év megadva" + +msgid "Date out of range" +msgstr "A dátum a megengedett tartományon kívül esik." + +msgid "No month specified" +msgstr "Nincs hónap megadva" + +msgid "No day specified" +msgstr "Nincs nap megadva" + +msgid "No week specified" +msgstr "Nincs hét megadva" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Nincsenek elérhető %(verbose_name_plural)s" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Jövőbeli %(verbose_name_plural)s nem elérhetők, mert %(class_name)s." +"allow_future értéke False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" +"A megadott dátum \"%(datestr)s\" érvénytelen a következő formátumban: " +"\"%(format)s\"." + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Nincs a keresési feltételeknek megfelelő %(verbose_name)s" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "Az oldalszám nem \"utolsó\", vagy nem lehet számmá alakítani." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Érvénytelen oldal (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Üres lista, de a \"%(class_name)s.allow_empty\" értéke hamis." + +msgid "Directory indexes are not allowed here." +msgstr "A könyvtárak listázása itt nincs engedélyezve." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "A(z) \"%(path)s\" útvonal nem létezik" + +#, python-format +msgid "Index of %(directory)s" +msgstr "A %(directory)s könyvtár tartalma" + +msgid "The install worked successfully! Congratulations!" +msgstr "A telepítés sikeresen végződött! Gratulálunk!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"A Django %(version)s kiadási megjegyzéseinek " +"megtekintése" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Azért látod ezt az oldalt, mert a DEBUG=True szerepel a settings fájlban, és még nem " +"került beállításra egy URL sem." + +msgid "Django Documentation" +msgstr "Django Dokumentáció" + +msgid "Topics, references, & how-to’s" +msgstr "Témák, hivatkozások, & leírások" + +msgid "Tutorial: A Polling App" +msgstr "Gyakorlat: egy szavazó app" + +msgid "Get started with Django" +msgstr "Első lépések a Djangóval" + +msgid "Django Community" +msgstr "Django Közösség" + +msgid "Connect, get help, or contribute" +msgstr "Lépj kapcsolatba, kérj segítséget, vagy járulj hozzá" diff --git a/external_sources/django/django/conf/locale/hu/__init__.py b/external_sources/django/django/conf/locale/hu/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/hu/formats.py b/external_sources/django/django/conf/locale/hu/formats.py new file mode 100644 index 0000000..c17f2c7 --- /dev/null +++ b/external_sources/django/django/conf/locale/hu/formats.py @@ -0,0 +1,30 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "Y. F j." +TIME_FORMAT = "H:i" +DATETIME_FORMAT = "Y. F j. H:i" +YEAR_MONTH_FORMAT = "Y. F" +MONTH_DAY_FORMAT = "F j." +SHORT_DATE_FORMAT = "Y.m.d." +SHORT_DATETIME_FORMAT = "Y.m.d. H:i" +FIRST_DAY_OF_WEEK = 1 # Monday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%Y.%m.%d.", # '2006.10.25.' +] +TIME_INPUT_FORMATS = [ + "%H:%M:%S", # '14:30:59' + "%H:%M", # '14:30' +] +DATETIME_INPUT_FORMATS = [ + "%Y.%m.%d. %H:%M:%S", # '2006.10.25. 14:30:59' + "%Y.%m.%d. %H:%M:%S.%f", # '2006.10.25. 14:30:59.000200' + "%Y.%m.%d. %H:%M", # '2006.10.25. 14:30' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = " " # Non-breaking space +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/hy/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/hy/LC_MESSAGES/django.po new file mode 100644 index 0000000..e4860e2 --- /dev/null +++ b/external_sources/django/django/conf/locale/hy/LC_MESSAGES/django.po @@ -0,0 +1,1237 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Սմբատ Պետրոսյան , 2014 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-27 22:40+0200\n" +"PO-Revision-Date: 2019-11-05 00:38+0000\n" +"Last-Translator: Ramiro Morales\n" +"Language-Team: Armenian (http://www.transifex.com/django/django/language/" +"hy/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hy\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "Աֆրիկաանս" + +msgid "Arabic" +msgstr "Արաբերեն" + +msgid "Asturian" +msgstr "Աստուրերեն" + +msgid "Azerbaijani" +msgstr "Ադրբեջաներեն" + +msgid "Bulgarian" +msgstr "Բուլղարերեն" + +msgid "Belarusian" +msgstr "Բելոռուսերեն" + +msgid "Bengali" +msgstr "Բենգալերեն" + +msgid "Breton" +msgstr "Բրետոներեն" + +msgid "Bosnian" +msgstr "Բոսնիերեն" + +msgid "Catalan" +msgstr "Կատալաներեն" + +msgid "Czech" +msgstr "Չեխերեն" + +msgid "Welsh" +msgstr "Վալլիերեն" + +msgid "Danish" +msgstr "Դանիերեն" + +msgid "German" +msgstr "Գերմաներեն" + +msgid "Lower Sorbian" +msgstr "" + +msgid "Greek" +msgstr "Հունարեն" + +msgid "English" +msgstr "Անգլերեն" + +msgid "Australian English" +msgstr "Ավստրալական Անգլերեն" + +msgid "British English" +msgstr "Բրիտանական Անգլերեն" + +msgid "Esperanto" +msgstr "Էսպերանտո" + +msgid "Spanish" +msgstr "Իսպաներեն" + +msgid "Argentinian Spanish" +msgstr "Արգենտինական իսպաներեն" + +msgid "Colombian Spanish" +msgstr "Կոլումբիական իսպաներեն" + +msgid "Mexican Spanish" +msgstr "Մեքսիկական իսպաներեն" + +msgid "Nicaraguan Spanish" +msgstr "Նիկարագուական իսպաներեն" + +msgid "Venezuelan Spanish" +msgstr "Վենեսուելլական իսպաներեն" + +msgid "Estonian" +msgstr "Էստոներեն" + +msgid "Basque" +msgstr "Բասկերեն" + +msgid "Persian" +msgstr "Պարսկերեն" + +msgid "Finnish" +msgstr "Ֆիներեն" + +msgid "French" +msgstr "Ֆրանսերեն" + +msgid "Frisian" +msgstr "Ֆրիզերեն" + +msgid "Irish" +msgstr "Իռլանդերեն" + +msgid "Scottish Gaelic" +msgstr "Գելական շոտլանդերեն" + +msgid "Galician" +msgstr "Գալիսերեն" + +msgid "Hebrew" +msgstr "Եբրայերեն" + +msgid "Hindi" +msgstr "Հինդի" + +msgid "Croatian" +msgstr "Խորվաթերեն" + +msgid "Upper Sorbian" +msgstr "" + +msgid "Hungarian" +msgstr "Հունգարերեն" + +msgid "Armenian" +msgstr "" + +msgid "Interlingua" +msgstr "Ինտերլինգուա" + +msgid "Indonesian" +msgstr "Ինդոնեզերեն" + +msgid "Ido" +msgstr "Իդո" + +msgid "Icelandic" +msgstr "Իսլանդերեն" + +msgid "Italian" +msgstr "Իտալերեն" + +msgid "Japanese" +msgstr "Ճապոներեն" + +msgid "Georgian" +msgstr "Վրացերեն" + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "Ղազախերեն" + +msgid "Khmer" +msgstr "Քեմերերեն" + +msgid "Kannada" +msgstr "Կանադա" + +msgid "Korean" +msgstr "Կորեերեն" + +msgid "Luxembourgish" +msgstr "Լյուքսեմբուրգերեն" + +msgid "Lithuanian" +msgstr "Լիտվերեն" + +msgid "Latvian" +msgstr "Լատիշերեն" + +msgid "Macedonian" +msgstr "Մակեդոներեն" + +msgid "Malayalam" +msgstr "Մալայալամ" + +msgid "Mongolian" +msgstr "Մոնղոլերեն" + +msgid "Marathi" +msgstr "Մարատխի" + +msgid "Burmese" +msgstr "Բիրմաներեն" + +msgid "Norwegian Bokmål" +msgstr "" + +msgid "Nepali" +msgstr "Նեպալերեն" + +msgid "Dutch" +msgstr "Հոլանդերեն" + +msgid "Norwegian Nynorsk" +msgstr "Նորվեգերեն (Նյունորսկ)" + +msgid "Ossetic" +msgstr "Օսերեն" + +msgid "Punjabi" +msgstr "Փանջաբի" + +msgid "Polish" +msgstr "Լեհերեն" + +msgid "Portuguese" +msgstr "Պորտուգալերեն" + +msgid "Brazilian Portuguese" +msgstr "Բրազիլական պորտուգալերեն" + +msgid "Romanian" +msgstr "Ռումիներեն" + +msgid "Russian" +msgstr "Ռուսերեն" + +msgid "Slovak" +msgstr "Սլովակերեն" + +msgid "Slovenian" +msgstr "Սլովեներեն" + +msgid "Albanian" +msgstr "Ալբաներեն" + +msgid "Serbian" +msgstr "Սերբերեն" + +msgid "Serbian Latin" +msgstr "Սերբերեն (լատինատառ)" + +msgid "Swedish" +msgstr "Շվեդերեն" + +msgid "Swahili" +msgstr "Սվահիլի" + +msgid "Tamil" +msgstr "Թամիլերեն" + +msgid "Telugu" +msgstr "Թելուգու" + +msgid "Thai" +msgstr "Թայերեն" + +msgid "Turkish" +msgstr "Թուրքերեն" + +msgid "Tatar" +msgstr "Թաթարերեն" + +msgid "Udmurt" +msgstr "Ումուրտերեն" + +msgid "Ukrainian" +msgstr "Ուկրաիներեն" + +msgid "Urdu" +msgstr "Ուրդու" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "Վիետնամերեն" + +msgid "Simplified Chinese" +msgstr "Հեշտացված չինարեն" + +msgid "Traditional Chinese" +msgstr "Ավանդական չինարեն" + +msgid "Messages" +msgstr "Հաղորդագրություններ" + +msgid "Site Maps" +msgstr "Կայքի քարտեզ" + +msgid "Static Files" +msgstr "Ստատիկ ֆայլեր\t" + +msgid "Syndication" +msgstr "Նորություններ" + +msgid "That page number is not an integer" +msgstr "" + +msgid "That page number is less than 1" +msgstr "" + +msgid "That page contains no results" +msgstr "" + +msgid "Enter a valid value." +msgstr "Մուտքագրեք ճիշտ արժեք" + +msgid "Enter a valid URL." +msgstr "Մուտքագրեք ճիշտ URL" + +msgid "Enter a valid integer." +msgstr "Մուտքագրեք ամբողջ թիվ" + +msgid "Enter a valid email address." +msgstr "Մուտքագրեք ճիշտ էլեկտրոնային փոստի հասցե" + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "Մուտքագրեք ճիշտ IPv4 հասցե" + +msgid "Enter a valid IPv6 address." +msgstr "Մուտքագրեք ճիշտ IPv6 հասցե" + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Մուտքագրեք ճիշտ IPv4 կամ IPv6 հասցե" + +msgid "Enter only digits separated by commas." +msgstr "Մուտքագրեք միայն ստորակետով բաժանված թվեր" + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Համոզվեք, որ այս արժեքը %(limit_value)s (հիմա այն — %(show_value)s)" + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Համոզվեք, որ այս արժեքը փոքր է, կամ հավասար %(limit_value)s" + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Համոզվեք, որ այս արժեքը մեծ է, համ հավասար %(limit_value)s" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Համոզվեք, որ արժեքը պարունակում է ամենաքիչը %(limit_value)d նիշ (այն " +"պարունակում է %(show_value)d)." +msgstr[1] "" +"Համոզվեք, որ արժեքը պարունակում է ամենաքիչը %(limit_value)d նիշ (այն " +"պարունակում է %(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Համոզվեք, որ արժեքը պարունակում է ամենաքիչը %(limit_value)d նիշ (այն " +"պարունակում է %(show_value)d)." +msgstr[1] "" +"Համոզվեք, որ արժեքը պարունակում է ամենաքիչը %(limit_value)d նիշ (այն " +"պարունակում է %(show_value)d)." + +msgid "Enter a number." +msgstr "Մուտքագրեք թիվ" + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Համոզվեք, որ թվերի քանակը մեծ չէ %(max)s -ից" +msgstr[1] "Համոզվեք, որ թվերի քանակը մեծ չէ %(max)s -ից" + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Համոզվեք, որ ստորակետից հետո թվերի քանակը մեծ չէ %(max)s -ից" +msgstr[1] "Համոզվեք, որ ստորակետից հետո թվերի քանակը մեծ չէ %(max)s -ից" + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "Համոզվեք, որ ստորակետից առաջ թվերի քանակը մեծ չէ %(max)s -ից" +msgstr[1] "Համոզվեք, որ ստորակետից առաջ թվերի քանակը մեծ չէ %(max)s -ից" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "" + +msgid "and" +msgstr "և" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" +"%(field_labels)s դաշտերի այս արժեքով %(model_name)s արդեն գոյություն ունի" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "%(value)r արժեքը չի մտնում թույլատրված տարբերակների մեջ" + +msgid "This field cannot be null." +msgstr "Այս դաշտը չի կարող ունենալ NULL արժեք " + +msgid "This field cannot be blank." +msgstr "Այս դաշտը չի կարող լինել դատարկ" + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(field_label)s դաշտի այս արժեքով %(model_name)s արդեն գոյություն ունի" + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"«%(field_label)s» դաշտի արժեքը պետք է լինի միակը %(date_field_label)s " +"%(lookup_type)s համար" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "%(field_type)s տիպի դաշտ" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "Տրամաբանական (True կամ False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Տող (մինչև %(max_length)s երկարությամբ)" + +msgid "Comma-separated integers" +msgstr "Ստորակետով բաժանված ամբողջ թվեր" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "Ամսաթիվ (առանց ժամանակի)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "Ամսաթիվ (և ժամանակ)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "Տասնորդական թիվ" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "Տևողություն" + +msgid "Email address" +msgstr "Email հասցե" + +msgid "File path" +msgstr "Ֆայլի ճանապարհ" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "Floating point թիվ" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "Ամբողջ" + +msgid "Big (8 byte) integer" +msgstr "Մեծ (8 բայթ) ամբողջ թիվ" + +msgid "IPv4 address" +msgstr "IPv4 հասցե" + +msgid "IP address" +msgstr "IP հասցե" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "Տրամաբանական (Either True, False կամ None)" + +msgid "Positive integer" +msgstr "Դրական ամբողջ թիվ" + +msgid "Positive small integer" +msgstr "Դրայան փոքր ամբողջ թիվ" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (մինչև %(max_length)s նիշ)" + +msgid "Small integer" +msgstr "Փոքր ամբողջ թիվ" + +msgid "Text" +msgstr "Տեքստ" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "Ժամանակ" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Երկուական տվյալներ" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "Ֆայլ" + +msgid "Image" +msgstr "Պատկեր" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" +" %(field)s դաշտի %(value)r արժեք ունեցող %(model)s օրինակ գոյություն չունի" + +msgid "Foreign Key (type determined by related field)" +msgstr "Արտաքին բանալի (տեսակը որոշվում է հարակից դաշտից)" + +msgid "One-to-one relationship" +msgstr "Մեկը մեկին կապ" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "" + +msgid "Many-to-many relationship" +msgstr "Մի քանիսը մի քանիսին կապ" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Այս դաշտը պարտադիր է" + +msgid "Enter a whole number." +msgstr "Մուտքագրեք ամբողջ թիվ" + +msgid "Enter a valid date." +msgstr "Մուտքագրեք ճիշտ ամսաթիվ" + +msgid "Enter a valid time." +msgstr "Մուտքագրեք ճիշտ ժամանակ" + +msgid "Enter a valid date/time." +msgstr "Մուտքագրեք ճիշտ ամսաթիվ/ժամանակ" + +msgid "Enter a valid duration." +msgstr "Մուտքագրեք ճիշտ տևողություն" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Ոչ մի ֆայլ չի ուղարկվել։ Ստուգեք ձևաթղթի կոդավորում տեսակը" + +msgid "No file was submitted." +msgstr "Ոչ մի ֆայլ չի ուղարկվել" + +msgid "The submitted file is empty." +msgstr "Ուղարկված ֆայլը դատարկ է" + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Համոզվեք, որ ֆայլի անունը պարունակում է ամենաշատը %(max)d նիշ (այն " +"պարունակում է %(length)d)" +msgstr[1] "" +"Համոզվեք, որ ֆայլի անունը պարունակում է ամենաշատը %(max)d նիշ (այն " +"պարունակում է %(length)d)" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Ուղարկեք ֆայլ, կամ ակտիվացրեք մաքրելու նշման վանդակը, ոչ թե երկուսը միասին" + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "Ուղարկեք ճիշտ պատկեր․ Ուղարկված ֆայլը պատկեր չէ, կամ վնասված է" + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Ընտրեք ճիշտ տարբերակ։ %(value)s արժեքը չի մտնում ճիշտ արժեքների մեջ" + +msgid "Enter a list of values." +msgstr "Մուտքագրեք արժեքների ցուցակ" + +msgid "Enter a complete value." +msgstr "Մուտքագրեք ամբողջական արժեք" + +msgid "Enter a valid UUID." +msgstr "Մուտքագրեք ճիշտ UUID" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Թաքցված դաշտ %(name)s) %(error)s" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "Կառավարման ձևաթղթի տվյալները բացակայում են, կամ վնասված են" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "Ուղարկեք %d կամ քիչ ձևաթղթեր" +msgstr[1] "Ուղարկեք %d կամ քիչ ձևաթղթեր" + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "Ուղարկեք %d կամ շատ ձևաթղթեր" +msgstr[1] "Ուղարկեք %d կամ շատ ձևաթղթեր" + +msgid "Order" +msgstr "Հերթականություն" + +msgid "Delete" +msgstr "Հեռացնել" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Ուղղեք %(field)s դաշտի կրկնվող տվյալները" + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "Ուղղեք %(field)s դաշտի կրկնվող տվյալները, որոնք պետք է լինեն եզակի" + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Ուղղեք %(field_name)s դաշտի կրկնվող տվյալները, որոնք պետք է լինեն եզակի " +"%(date_field)s-ում %(lookup)s֊ի համար" + +msgid "Please correct the duplicate values below." +msgstr "Ուղղեք կրկնվող տվյալները" + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Ընտրեք ճիշտ տարբերակ։ Այս արժեքը չի մտնում ճիշտ արժեքների մեջ" + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "Մաքրել" + +msgid "Currently" +msgstr "Տվյալ պահին" + +msgid "Change" +msgstr "Փոխել" + +msgid "Unknown" +msgstr "Անհայտ" + +msgid "Yes" +msgstr "Այո" + +msgid "No" +msgstr "Ոչ" + +msgid "Year" +msgstr "" + +msgid "Month" +msgstr "" + +msgid "Day" +msgstr "" + +msgid "yes,no,maybe" +msgstr "այո,ոչ,միգուցե" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d բայթ" +msgstr[1] "%(size)d բայթ" + +#, python-format +msgid "%s KB" +msgstr "%s ԿԲ" + +#, python-format +msgid "%s MB" +msgstr "%s ՄԲ" + +#, python-format +msgid "%s GB" +msgstr "%s ԳԲ" + +#, python-format +msgid "%s TB" +msgstr "%s ՏԲ" + +#, python-format +msgid "%s PB" +msgstr "%s ՊԲ" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "կեսգիշեր" + +msgid "noon" +msgstr "կեսօր" + +msgid "Monday" +msgstr "Երկուշաբթի" + +msgid "Tuesday" +msgstr "Երեքշաբթի" + +msgid "Wednesday" +msgstr "Չորեքշաբթի" + +msgid "Thursday" +msgstr "Հինգշաբթի" + +msgid "Friday" +msgstr "Ուրբաթ" + +msgid "Saturday" +msgstr "Շաբաթ" + +msgid "Sunday" +msgstr "Կիրակի" + +msgid "Mon" +msgstr "Երկ" + +msgid "Tue" +msgstr "Երք" + +msgid "Wed" +msgstr "Չրք" + +msgid "Thu" +msgstr "Հնգ" + +msgid "Fri" +msgstr "Ուրբ" + +msgid "Sat" +msgstr "Շբթ" + +msgid "Sun" +msgstr "Կիր" + +msgid "January" +msgstr "Հունվար" + +msgid "February" +msgstr "Փետրվար" + +msgid "March" +msgstr "Մարտ" + +msgid "April" +msgstr "Ապրիլ" + +msgid "May" +msgstr "Մայիս" + +msgid "June" +msgstr "Հունիս" + +msgid "July" +msgstr "Հուլիս" + +msgid "August" +msgstr "Օգոստոս" + +msgid "September" +msgstr "Սեպտեմբեր" + +msgid "October" +msgstr "Հոկտեմբեր" + +msgid "November" +msgstr "Նոյեմբեր" + +msgid "December" +msgstr "Դեկտեմբեր" + +msgid "jan" +msgstr "հուն" + +msgid "feb" +msgstr "փետ" + +msgid "mar" +msgstr "մար" + +msgid "apr" +msgstr "ապր" + +msgid "may" +msgstr "մայ" + +msgid "jun" +msgstr "հուն" + +msgid "jul" +msgstr "հուլ" + +msgid "aug" +msgstr "օգտ" + +msgid "sep" +msgstr "սեպ" + +msgid "oct" +msgstr "հոկ" + +msgid "nov" +msgstr "նոյ" + +msgid "dec" +msgstr "դեկ" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Հուն․" + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Փետ․" + +msgctxt "abbrev. month" +msgid "March" +msgstr "Մարտ" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Մարտ" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Մայիս" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Հունիս" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Հուլիս" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Օգոստ․" + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Սեպտ․" + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Հոկտ․" + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Նոյ․" + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Դեկ․" + +msgctxt "alt. month" +msgid "January" +msgstr "Հունվար" + +msgctxt "alt. month" +msgid "February" +msgstr "Փետրվար" + +msgctxt "alt. month" +msgid "March" +msgstr "Մարտ" + +msgctxt "alt. month" +msgid "April" +msgstr "Ապրիլ" + +msgctxt "alt. month" +msgid "May" +msgstr "Մայիս" + +msgctxt "alt. month" +msgid "June" +msgstr "Հունիս" + +msgctxt "alt. month" +msgid "July" +msgstr "Հուլիս" + +msgctxt "alt. month" +msgid "August" +msgstr "Օգոստոս" + +msgctxt "alt. month" +msgid "September" +msgstr "Սեպտեմբեր" + +msgctxt "alt. month" +msgid "October" +msgstr "Հոկտեմբեր" + +msgctxt "alt. month" +msgid "November" +msgstr "Նոյեմբեր" + +msgctxt "alt. month" +msgid "December" +msgstr "Դեկտեմբեր" + +msgid "This is not a valid IPv6 address." +msgstr "Սա ճիշտ IPv6 հասցե չէ" + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "կամ" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "%d տարի" +msgstr[1] "%d տարի" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "%d ամիս" +msgstr[1] "%d ամիս" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "%d շաբաթ" +msgstr[1] "%d շաբաթ" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "%d օր" +msgstr[1] "%d օր" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "%d ժամ" +msgstr[1] "%d ժամ" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "%d րոպե" +msgstr[1] "%d րոպե" + +msgid "0 minutes" +msgstr "0 րոպե" + +msgid "Forbidden" +msgstr "Արգելված" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF ստուգման սխալ․ Հարցումն ընդհատված է" + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Դուք տեսնում եք այս հաղորդագրությունը, քանի որ այս կայքը ձևաթերթերը " +"ուղարկելու համար պահանջում է CSRF cookie։ Այն անհրաժեշտ է անվտանգության " +"նկատառումներից ելնելով, համոզվելու համար, որ ձեր բրաուզերը չի գտնվում երրորդ " +"անձանց կառավարման տակ։" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "Ավելի մանրամասն տեղեկությունը հասանելի է DEBUG=True֊ի ժամանակ" + +msgid "No year specified" +msgstr "Տարին նշված չէ" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "Ամիսը նշված չէ" + +msgid "No day specified" +msgstr "Օրը նշված չէ" + +msgid "No week specified" +msgstr "Շաբաթը նշված չէ" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Ոչ մի %(verbose_name_plural)s հասանելի չէ" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Ապագա %(verbose_name_plural)s հասանելի չեն, քանի որ %(class_name)s." +"allow_future ունի False արժեք" + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Հարցմանը համապատասխանող ոչ մի %(verbose_name)s չի գտնվել" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Սխալ էջ (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "Կատալոգների ինդեքսավորումը թույլատրված չէ այստեղ" + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "%(directory)s֊ի ինդեքսը" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/ia/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/ia/LC_MESSAGES/django.po new file mode 100644 index 0000000..adb852f --- /dev/null +++ b/external_sources/django/django/conf/locale/ia/LC_MESSAGES/django.po @@ -0,0 +1,1289 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Martijn Dekker , 2012,2014,2016,2021 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-09-21 10:22+0200\n" +"PO-Revision-Date: 2021-11-18 21:19+0000\n" +"Last-Translator: Transifex Bot <>\n" +"Language-Team: Interlingua (http://www.transifex.com/django/django/language/" +"ia/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ia\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "afrikaans" + +msgid "Arabic" +msgstr "arabe" + +msgid "Algerian Arabic" +msgstr "Arabe algerian" + +msgid "Asturian" +msgstr "asturiano" + +msgid "Azerbaijani" +msgstr "azeri" + +msgid "Bulgarian" +msgstr "bulgaro" + +msgid "Belarusian" +msgstr "bielorusso" + +msgid "Bengali" +msgstr "bengali" + +msgid "Breton" +msgstr "breton" + +msgid "Bosnian" +msgstr "bosniaco" + +msgid "Catalan" +msgstr "catalano" + +msgid "Czech" +msgstr "tcheco" + +msgid "Welsh" +msgstr "gallese" + +msgid "Danish" +msgstr "danese" + +msgid "German" +msgstr "germano" + +msgid "Lower Sorbian" +msgstr "sorabo inferior" + +msgid "Greek" +msgstr "greco" + +msgid "English" +msgstr "anglese" + +msgid "Australian English" +msgstr "anglese australian" + +msgid "British English" +msgstr "anglese britannic" + +msgid "Esperanto" +msgstr "esperanto" + +msgid "Spanish" +msgstr "espaniol" + +msgid "Argentinian Spanish" +msgstr "espaniol argentin" + +msgid "Colombian Spanish" +msgstr "espaniol colombian" + +msgid "Mexican Spanish" +msgstr "espaniol mexican" + +msgid "Nicaraguan Spanish" +msgstr "espaniol nicaraguan" + +msgid "Venezuelan Spanish" +msgstr "espaniol venzuelan" + +msgid "Estonian" +msgstr "estoniano" + +msgid "Basque" +msgstr "basco" + +msgid "Persian" +msgstr "persiano" + +msgid "Finnish" +msgstr "finnese" + +msgid "French" +msgstr "francese" + +msgid "Frisian" +msgstr "frison" + +msgid "Irish" +msgstr "irlandese" + +msgid "Scottish Gaelic" +msgstr "gaelico scotese" + +msgid "Galician" +msgstr "galiciano" + +msgid "Hebrew" +msgstr "hebreo" + +msgid "Hindi" +msgstr "hindi" + +msgid "Croatian" +msgstr "croato" + +msgid "Upper Sorbian" +msgstr "sorabo superior" + +msgid "Hungarian" +msgstr "hungaro" + +msgid "Armenian" +msgstr "Armenio" + +msgid "Interlingua" +msgstr "interlingua" + +msgid "Indonesian" +msgstr "indonesiano" + +msgid "Igbo" +msgstr "Igbo" + +msgid "Ido" +msgstr "ido" + +msgid "Icelandic" +msgstr "islandese" + +msgid "Italian" +msgstr "italiano" + +msgid "Japanese" +msgstr "japonese" + +msgid "Georgian" +msgstr "georgiano" + +msgid "Kabyle" +msgstr "Kabyle" + +msgid "Kazakh" +msgstr "kazakh" + +msgid "Khmer" +msgstr "khmer" + +msgid "Kannada" +msgstr "kannada" + +msgid "Korean" +msgstr "coreano" + +msgid "Kyrgyz" +msgstr "Kyrgyz" + +msgid "Luxembourgish" +msgstr "luxemburgese" + +msgid "Lithuanian" +msgstr "lituano" + +msgid "Latvian" +msgstr "letton" + +msgid "Macedonian" +msgstr "macedone" + +msgid "Malayalam" +msgstr "malayalam" + +msgid "Mongolian" +msgstr "mongolico" + +msgid "Marathi" +msgstr "marathi" + +msgid "Malay" +msgstr "" + +msgid "Burmese" +msgstr "burmese" + +msgid "Norwegian Bokmål" +msgstr "norvegianio bokmål" + +msgid "Nepali" +msgstr "nepali" + +msgid "Dutch" +msgstr "hollandese" + +msgid "Norwegian Nynorsk" +msgstr "norvegiano, nynorsk" + +msgid "Ossetic" +msgstr "ossetico" + +msgid "Punjabi" +msgstr "punjabi" + +msgid "Polish" +msgstr "polonese" + +msgid "Portuguese" +msgstr "portugese" + +msgid "Brazilian Portuguese" +msgstr "portugese brasilian" + +msgid "Romanian" +msgstr "romaniano" + +msgid "Russian" +msgstr "russo" + +msgid "Slovak" +msgstr "slovaco" + +msgid "Slovenian" +msgstr "sloveno" + +msgid "Albanian" +msgstr "albanese" + +msgid "Serbian" +msgstr "serbo" + +msgid "Serbian Latin" +msgstr "serbo latin" + +msgid "Swedish" +msgstr "svedese" + +msgid "Swahili" +msgstr "swahili" + +msgid "Tamil" +msgstr "tamil" + +msgid "Telugu" +msgstr "telugu" + +msgid "Tajik" +msgstr "Tadzhik" + +msgid "Thai" +msgstr "thailandese" + +msgid "Turkmen" +msgstr "Turkmen" + +msgid "Turkish" +msgstr "turco" + +msgid "Tatar" +msgstr "tartaro" + +msgid "Udmurt" +msgstr "udmurto" + +msgid "Ukrainian" +msgstr "ukrainiano" + +msgid "Urdu" +msgstr "urdu" + +msgid "Uzbek" +msgstr "Uzbek" + +msgid "Vietnamese" +msgstr "vietnamese" + +msgid "Simplified Chinese" +msgstr "chinese simplificate" + +msgid "Traditional Chinese" +msgstr "chinese traditional" + +msgid "Messages" +msgstr "Messages" + +msgid "Site Maps" +msgstr "Mappas de sito" + +msgid "Static Files" +msgstr "Files static" + +msgid "Syndication" +msgstr "Syndication" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "Le numero de pagina non es un numero integre" + +msgid "That page number is less than 1" +msgstr "Le numero de pagina es minus de 1" + +msgid "That page contains no results" +msgstr "Le pagina non contine resultatos" + +msgid "Enter a valid value." +msgstr "Specifica un valor valide." + +msgid "Enter a valid URL." +msgstr "Specifica un URL valide." + +msgid "Enter a valid integer." +msgstr "Specifica un numero integre valide." + +msgid "Enter a valid email address." +msgstr "Specifica un adresse de e-mail valide." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Scribe un denotation (\"slug\") valide, consistente de litteras, numeros, " +"tractos de sublineamento o tractos de union." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Scribe un denotation (\"slug\") valide, consistente de litteras Unicode, " +"numeros, tractos de sublineamento o tractos de union." + +msgid "Enter a valid IPv4 address." +msgstr "Specifica un adresse IPv4 valide." + +msgid "Enter a valid IPv6 address." +msgstr "Specifica un adresse IPv6 valide." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Specifica un adresse IPv4 o IPv6 valide." + +msgid "Enter only digits separated by commas." +msgstr "Scribe solmente digitos separate per commas." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Assecura te que iste valor es %(limit_value)s (illo es %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Assecura te que iste valor es inferior o equal a %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Assecura te que iste valor es superior o equal a %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Assecura te que iste valor ha al minus %(limit_value)d character (illo ha " +"%(show_value)d)." +msgstr[1] "" +"Assecura te que iste valor ha al minus %(limit_value)d characteres (illo ha " +"%(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Assecura te que iste valor ha al plus %(limit_value)d character (illo ha " +"%(show_value)d)." +msgstr[1] "" +"Assecura te que iste valor ha al plus %(limit_value)d characteres (illo ha " +"%(show_value)d)." + +msgid "Enter a number." +msgstr "Specifica un numero." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Assecura te que il non ha plus de %(max)s digito in total." +msgstr[1] "Assecura te que il non ha plus de %(max)s digitos in total." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" +"Assecura te que il non ha plus de %(max)s cifra post le comma decimal." +msgstr[1] "" +"Assecura te que il non ha plus de %(max)s cifras post le comma decimal." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Assecura te que il non ha plus de %(max)s cifra ante le comma decimal." +msgstr[1] "" +"Assecura te que il non ha plus de %(max)s cifras ante le comma decimal." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Le extension de nomine de file “%(extension)s” non es permittite. Le " +"extensiones permittite es: %(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Characteres nulle non es permittite." + +msgid "and" +msgstr "e" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "Jam existe %(model_name)s con iste %(field_labels)s." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Le valor %(value)r non es un option valide." + +msgid "This field cannot be null." +msgstr "Iste campo non pote esser nulle." + +msgid "This field cannot be blank." +msgstr "Iste campo non pote esser vacue." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s con iste %(field_label)s jam existe." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s debe esser unic pro %(lookup_type)s de %(date_field_label)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Campo de typo: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "Le valor “%(value)s” debe esser o True/Ver o False." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "Le valor “%(value)s” debe esser True/Ver, False o None/Necun." + +msgid "Boolean (Either True or False)" +msgstr "Booleano (ver o false)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Catena (longitude maxime: %(max_length)s)" + +msgid "Comma-separated integers" +msgstr "Numeros integre separate per commas" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"Le valor “%(value)s” ha un formato de data invalide. Debe esser in formato " +"AAAA-MM-DD." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"Le valor “%(value)s” ha le formato correcte (AAAA-MM-DD) ma es un data " +"invalide." + +msgid "Date (without time)" +msgstr "Data (sin hora)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"Le valor “%(value)s” es in un formato invalide. Debe esser in formato AAAA-" +"MM-DD HH:MM[:ss[.uuuuuu]][FH]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"Le valor “%(value)s” es in le formato correcte (YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][FH]) ma es un data/hora invalide." + +msgid "Date (with time)" +msgstr "Data (con hora)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "Le valor “%(value)s” debe esser un numero decimal." + +msgid "Decimal number" +msgstr "Numero decimal" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"Le valor “%(value)s” es in un formato invalide. Debe esser in formato [DD] " +"[HH:[MM:]]ss[.uuuuuu]." + +msgid "Duration" +msgstr "Duration" + +msgid "Email address" +msgstr "Adresse de e-mail" + +msgid "File path" +msgstr "Cammino de file" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "Le valor “%(value)s” debe esser un numero a comma flottante." + +msgid "Floating point number" +msgstr "Numero a comma flottante" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "Le valor “%(value)s” debe esser un numero integre." + +msgid "Integer" +msgstr "Numero integre" + +msgid "Big (8 byte) integer" +msgstr "Numero integre grande (8 bytes)" + +msgid "Small integer" +msgstr "Parve numero integre" + +msgid "IPv4 address" +msgstr "Adresse IPv4" + +msgid "IP address" +msgstr "Adresse IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "Le valor “%(value)s” debe esser None/Nulle, True/Ver o False." + +msgid "Boolean (Either True, False or None)" +msgstr "Booleano (ver, false o nulle)" + +msgid "Positive big integer" +msgstr "Grande numero integre positive" + +msgid "Positive integer" +msgstr "Numero integre positive" + +msgid "Positive small integer" +msgstr "Parve numero integre positive" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Denotation (longitude maxime: %(max_length)s)" + +msgid "Text" +msgstr "Texto" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"Le valor “%(value)s” es in un formato invalide. Debe esser in formato HH:MM[:" +"ss[.uuuuuu]] ." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"Le valor “%(value)s” es in le formato correcte (HH:MM[:ss[.uuuuuu]]) ma es " +"un hora invalide." + +msgid "Time" +msgstr "Hora" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Datos binari crude" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "“%(value)s” non es un UUID valide." + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "File" + +msgid "Image" +msgstr "Imagine" + +msgid "A JSON object" +msgstr "" + +msgid "Value must be valid JSON." +msgstr "" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "Le instantia de %(model)s con %(field)s %(value)r non existe." + +msgid "Foreign Key (type determined by related field)" +msgstr "Clave estranier (typo determinate per le campo associate)" + +msgid "One-to-one relationship" +msgstr "Relation un a un" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "Relation %(from)s a %(to)s" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "Relationes %(from)s a %(to)s" + +msgid "Many-to-many relationship" +msgstr "Relation multes a multes" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr "" + +msgid "This field is required." +msgstr "Iste campo es obligatori." + +msgid "Enter a whole number." +msgstr "Specifica un numero integre." + +msgid "Enter a valid date." +msgstr "Specifica un data valide." + +msgid "Enter a valid time." +msgstr "Specifica un hora valide." + +msgid "Enter a valid date/time." +msgstr "Specifica un data e hora valide." + +msgid "Enter a valid duration." +msgstr "Specifica un duration valide." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"Nulle file esseva submittite. Verifica le typo de codification in le " +"formulario." + +msgid "No file was submitted." +msgstr "Nulle file esseva submittite." + +msgid "The submitted file is empty." +msgstr "Le file submittite es vacue." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Assecura te que iste valor ha al plus %(max)d character (illo ha %(length)d)." +msgstr[1] "" +"Assecura te que iste valor ha al plus %(max)d characteres (illo ha " +"%(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Per favor o submitte un file o marca le quadrato \"rader\", non ambes." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Per favor incarga un imagine valide. Le file que tu incargava o non esseva " +"un imagine o esseva un imagine corrumpite." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Selige un option valide. %(value)s non es inter le optiones disponibile." + +msgid "Enter a list of values." +msgstr "Scribe un lista de valores." + +msgid "Enter a complete value." +msgstr "Specifica un valor complete." + +msgid "Enter a valid UUID." +msgstr "Specifica un UUID valide." + +msgid "Enter a valid JSON." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr "" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Campo celate %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" + +#, python-format +msgid "Please submit at most %d form." +msgid_plural "Please submit at most %d forms." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Please submit at least %d form." +msgid_plural "Please submit at least %d forms." +msgstr[0] "" +msgstr[1] "" + +msgid "Order" +msgstr "Ordine" + +msgid "Delete" +msgstr "Deler" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Per favor corrige le datos duplicate pro %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Per favor corrige le datos duplicate pro %(field)s, que debe esser unic." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Per favor corrige le datos duplicate pro %(field_name)s, que debe esser unic " +"pro le %(lookup)s in %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Per favor corrige le sequente valores duplicate." + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Per favor selige un option valide. Iste option non es inter le optiones " +"disponibile." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "Rader" + +msgid "Currently" +msgstr "Actualmente" + +msgid "Change" +msgstr "Cambiar" + +msgid "Unknown" +msgstr "Incognite" + +msgid "Yes" +msgstr "Si" + +msgid "No" +msgstr "No" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "si,no,forsan" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d byte" +msgstr[1] "%(size)d bytes" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "pm." + +msgid "a.m." +msgstr "am." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "medienocte" + +msgid "noon" +msgstr "mediedie" + +msgid "Monday" +msgstr "lunedi" + +msgid "Tuesday" +msgstr "martedi" + +msgid "Wednesday" +msgstr "mercuridi" + +msgid "Thursday" +msgstr "jovedi" + +msgid "Friday" +msgstr "venerdi" + +msgid "Saturday" +msgstr "sabbato" + +msgid "Sunday" +msgstr "dominica" + +msgid "Mon" +msgstr "lun" + +msgid "Tue" +msgstr "mar" + +msgid "Wed" +msgstr "mer" + +msgid "Thu" +msgstr "jov" + +msgid "Fri" +msgstr "ven" + +msgid "Sat" +msgstr "sab" + +msgid "Sun" +msgstr "dom" + +msgid "January" +msgstr "januario" + +msgid "February" +msgstr "februario" + +msgid "March" +msgstr "martio" + +msgid "April" +msgstr "april" + +msgid "May" +msgstr "maio" + +msgid "June" +msgstr "junio" + +msgid "July" +msgstr "julio" + +msgid "August" +msgstr "augusto" + +msgid "September" +msgstr "septembre" + +msgid "October" +msgstr "octobre" + +msgid "November" +msgstr "novembre" + +msgid "December" +msgstr "decembre" + +msgid "jan" +msgstr "jan" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "apr" + +msgid "may" +msgstr "mai" + +msgid "jun" +msgstr "jun" + +msgid "jul" +msgstr "jul" + +msgid "aug" +msgstr "aug" + +msgid "sep" +msgstr "sep" + +msgid "oct" +msgstr "oct" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "dec" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Jan." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Mar." + +msgctxt "abbrev. month" +msgid "April" +msgstr "April" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Maio" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Junio" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Julio" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Aug." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Sept." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Oct." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Dec." + +msgctxt "alt. month" +msgid "January" +msgstr "Januario" + +msgctxt "alt. month" +msgid "February" +msgstr "Februario" + +msgctxt "alt. month" +msgid "March" +msgstr "Martio" + +msgctxt "alt. month" +msgid "April" +msgstr "April" + +msgctxt "alt. month" +msgid "May" +msgstr "Maio" + +msgctxt "alt. month" +msgid "June" +msgstr "Junio" + +msgctxt "alt. month" +msgid "July" +msgstr "Julio" + +msgctxt "alt. month" +msgid "August" +msgstr "Augusto" + +msgctxt "alt. month" +msgid "September" +msgstr "Septembre" + +msgctxt "alt. month" +msgid "October" +msgstr "Octobre" + +msgctxt "alt. month" +msgid "November" +msgstr "Novembre" + +msgctxt "alt. month" +msgid "December" +msgstr "Decembre" + +msgid "This is not a valid IPv6 address." +msgstr "Isto non es un adresse IPv6 valide." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "o" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "" +msgstr[1] "" + +msgid "Forbidden" +msgstr "Prohibite" + +msgid "CSRF verification failed. Request aborted." +msgstr "Verification CSRF fallite. Requesta abortate." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Tu vide iste message perque iste sito require un cookie CSRF durante le " +"submission de formularios. Iste cookie es requirite pro motivos de " +"securitate, pro assecurar que tu navigator non es sequestrate per tertie " +"personas." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "Plus information es disponibile con DEBUG=True." + +msgid "No year specified" +msgstr "Nulle anno specificate" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "Nulle mense specificate" + +msgid "No day specified" +msgstr "Nulle die specificate" + +msgid "No week specified" +msgstr "Nulle septimana specificate" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Il non ha %(verbose_name_plural)s disponibile" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"In le futuro, %(verbose_name_plural)s non essera disponibile perque " +"%(class_name)s.allow_future es False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Nulle %(verbose_name)s trovate que corresponde al consulta" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Pagina invalide (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "Le indices de directorio non es permittite hic." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Indice de %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/id/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/id/LC_MESSAGES/django.po new file mode 100644 index 0000000..5634038 --- /dev/null +++ b/external_sources/django/django/conf/locale/id/LC_MESSAGES/django.po @@ -0,0 +1,1338 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Adiyat Mubarak , 2017 +# Bayu Satiyo , 2024 +# Claude Paroz , 2018 +# Fery Setiawan , 2015-2019,2021-2023 +# Jannis Leidel , 2011 +# M Asep Indrayana , 2015 +# oon arfiandwi (OonID) , 2016,2020 +# rodin , 2011 +# rodin , 2013-2016 +# sag​e , 2018-2019 +# Sutrisno Efendi , 2015,2017 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2013-04-25 06:49+0000\n" +"Last-Translator: Bayu Satiyo , 2024\n" +"Language-Team: Indonesian (http://app.transifex.com/django/django/language/" +"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" + +msgid "Afrikaans" +msgstr "Afrikaans" + +msgid "Arabic" +msgstr "Arab" + +msgid "Algerian Arabic" +msgstr "Arab Aljazair" + +msgid "Asturian" +msgstr "Asturia" + +msgid "Azerbaijani" +msgstr "Azerbaijani" + +msgid "Bulgarian" +msgstr "Bulgaria" + +msgid "Belarusian" +msgstr "Belarusia" + +msgid "Bengali" +msgstr "Bengali" + +msgid "Breton" +msgstr "Breton" + +msgid "Bosnian" +msgstr "Bosnia" + +msgid "Catalan" +msgstr "Catalan" + +msgid "Central Kurdish (Sorani)" +msgstr "Kurdi Tengah (Sorani)" + +msgid "Czech" +msgstr "Ceska" + +msgid "Welsh" +msgstr "Wales" + +msgid "Danish" +msgstr "Denmark" + +msgid "German" +msgstr "Jerman" + +msgid "Lower Sorbian" +msgstr "Sorbian Bawah" + +msgid "Greek" +msgstr "Yunani" + +msgid "English" +msgstr "Inggris" + +msgid "Australian English" +msgstr "Inggris Australia" + +msgid "British English" +msgstr "Inggris Britania" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Spanyol" + +msgid "Argentinian Spanish" +msgstr "Spanyol Argentina" + +msgid "Colombian Spanish" +msgstr "Spanyol Kolombia" + +msgid "Mexican Spanish" +msgstr "Spanyol Meksiko" + +msgid "Nicaraguan Spanish" +msgstr "Spanyol Nikaragua" + +msgid "Venezuelan Spanish" +msgstr "Spanyol Venezuela" + +msgid "Estonian" +msgstr "Estonia" + +msgid "Basque" +msgstr "Basque" + +msgid "Persian" +msgstr "Persia" + +msgid "Finnish" +msgstr "Finlandia" + +msgid "French" +msgstr "Perancis" + +msgid "Frisian" +msgstr "Frisia" + +msgid "Irish" +msgstr "Irlandia" + +msgid "Scottish Gaelic" +msgstr "Skolandia Gaelik" + +msgid "Galician" +msgstr "Galicia" + +msgid "Hebrew" +msgstr "Ibrani" + +msgid "Hindi" +msgstr "Hindi" + +msgid "Croatian" +msgstr "Kroasia" + +msgid "Upper Sorbian" +msgstr "Sorbian Atas" + +msgid "Hungarian" +msgstr "Hungaria" + +msgid "Armenian" +msgstr "Armenia" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indonesia" + +msgid "Igbo" +msgstr "Igbo" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Islandia" + +msgid "Italian" +msgstr "Italia" + +msgid "Japanese" +msgstr "Jepang" + +msgid "Georgian" +msgstr "Georgia" + +msgid "Kabyle" +msgstr "Kabyle" + +msgid "Kazakh" +msgstr "Kazakhstan" + +msgid "Khmer" +msgstr "Khmer" + +msgid "Kannada" +msgstr "Kannada" + +msgid "Korean" +msgstr "Korea" + +msgid "Kyrgyz" +msgstr "Kirgis" + +msgid "Luxembourgish" +msgstr "Luksemburg" + +msgid "Lithuanian" +msgstr "Lithuania" + +msgid "Latvian" +msgstr "Latvia" + +msgid "Macedonian" +msgstr "Makedonia" + +msgid "Malayalam" +msgstr "Malayalam" + +msgid "Mongolian" +msgstr "Mongolia" + +msgid "Marathi" +msgstr "Marathi" + +msgid "Malay" +msgstr "Malaysia" + +msgid "Burmese" +msgstr "Burma" + +msgid "Norwegian Bokmål" +msgstr "Norwegia Bokmål" + +msgid "Nepali" +msgstr "Nepal" + +msgid "Dutch" +msgstr "Belanda" + +msgid "Norwegian Nynorsk" +msgstr "Norwegia Nynorsk" + +msgid "Ossetic" +msgstr "Ossetic" + +msgid "Punjabi" +msgstr "Punjabi" + +msgid "Polish" +msgstr "Polandia" + +msgid "Portuguese" +msgstr "Portugis" + +msgid "Brazilian Portuguese" +msgstr "Portugis Brazil" + +msgid "Romanian" +msgstr "Romania" + +msgid "Russian" +msgstr "Rusia" + +msgid "Slovak" +msgstr "Slovakia" + +msgid "Slovenian" +msgstr "Slovenia" + +msgid "Albanian" +msgstr "Albania" + +msgid "Serbian" +msgstr "Serbia" + +msgid "Serbian Latin" +msgstr "Serbia Latin" + +msgid "Swedish" +msgstr "Swedia" + +msgid "Swahili" +msgstr "Swahili" + +msgid "Tamil" +msgstr "Tamil" + +msgid "Telugu" +msgstr "Telugu" + +msgid "Tajik" +msgstr "Tajik" + +msgid "Thai" +msgstr "Thailand" + +msgid "Turkmen" +msgstr "Turkmenistan" + +msgid "Turkish" +msgstr "Turki" + +msgid "Tatar" +msgstr "Tatar" + +msgid "Udmurt" +msgstr "Udmurt" + +msgid "Uyghur" +msgstr "Uyghur" + +msgid "Ukrainian" +msgstr "Ukrainia" + +msgid "Urdu" +msgstr "Urdu" + +msgid "Uzbek" +msgstr "Uzbek" + +msgid "Vietnamese" +msgstr "Vietnam" + +msgid "Simplified Chinese" +msgstr "Tiongkok Sederhana" + +msgid "Traditional Chinese" +msgstr "Tiongkok Tradisionil" + +msgid "Messages" +msgstr "Pesan" + +msgid "Site Maps" +msgstr "Peta Situs" + +msgid "Static Files" +msgstr "Berkas Statis" + +msgid "Syndication" +msgstr "Sindikasi" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "Nomor halaman itu bukan sebuah integer" + +msgid "That page number is less than 1" +msgstr "Nomor halaman itu kurang dari 1" + +msgid "That page contains no results" +msgstr "Tidak ada hasil untuk halaman tersebut" + +msgid "Enter a valid value." +msgstr "Masukkan nilai yang valid." + +msgid "Enter a valid domain name." +msgstr "" + +msgid "Enter a valid URL." +msgstr "Masukkan URL yang valid." + +msgid "Enter a valid integer." +msgstr "Masukan sebuah bilangan bulat yang benar" + +msgid "Enter a valid email address." +msgstr "Masukkan alamat email yang valid." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Masukkan “slug” valid yang terdiri dari huruf, angka, garis bawah, atau " +"tanda hubung." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Masukkan sebuah “slug” valid yang terdiri dari huruf, angka, garis bawah, " +"atau penghubung Unicode." + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "" + +msgid "IPv4" +msgstr "" + +msgid "IPv6" +msgstr "" + +msgid "IPv4 or IPv6" +msgstr "" + +msgid "Enter only digits separated by commas." +msgstr "Hanya masukkan angka yang dipisahkan dengan koma." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Pastikan nilai ini %(limit_value)s (saat ini %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Pastikan nilai ini lebih kecil dari atau sama dengan %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Pastikan nilai ini lebih besar dari atau sama dengan %(limit_value)s." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "" +"Pastikan nilai ini adalah kelipatan dari ukuran langkah %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"Pastikan nilai ini merupakan kelipatan ukuran langkah %(limit_value)s, " +"dimulai dari %(offset)s, misalnya %(offset)s, %(valid_value1)s, " +"%(valid_value2)s, dan seterusnya." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Pastikan nilai ini mengandung paling sedikit %(limit_value)d karakter " +"(sekarang %(show_value)d karakter)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Pastikan nilai ini mengandung paling banyak %(limit_value)d karakter " +"(sekarang %(show_value)d karakter)." + +msgid "Enter a number." +msgstr "Masukkan sebuah bilangan." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Pastikan jumlah angka pada bilangan tidak melebihi %(max)s angka." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Pastikan bilangan tidak memiliki lebih dari %(max)s angka desimal." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Pastikan jumlah angka sebelum desimal pada bilangan tidak memiliki lebih " +"dari %(max)s angka." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Ekstensi berkas “%(extension)s” tidak diizinkan. Ekstensi diizinkan adalah: " +"%(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Karakter null tidak diizinkan." + +msgid "and" +msgstr "dan" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s dengan %(field_labels)s ini tidak ada." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "Batasan “%(name)s” dilanggar." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Nilai %(value)r bukan pilihan yang valid." + +msgid "This field cannot be null." +msgstr "Field ini tidak boleh null." + +msgid "This field cannot be blank." +msgstr "Field ini tidak boleh kosong." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s dengan %(field_label)s telah ada." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s haruslah unik untuk %(date_field_label)s %(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Field dengan tipe: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "Nilai “%(value)s” harus berupa True atau False." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "Nilai “%(value)s” harus berupa True, False, atau None." + +msgid "Boolean (Either True or False)" +msgstr "Nilai Boolean (Salah satu dari True atau False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "String (maksimum %(max_length)s)" + +msgid "String (unlimited)" +msgstr "String (tidak terbatas)" + +msgid "Comma-separated integers" +msgstr "Bilangan asli yang dipisahkan dengan koma" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"Nilai “%(value)s” mempunyai format tanggal yang tidak valid. Tanggal harus " +"dalam format YYYY-MM-DD." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"Nilai “%(value)s” memiliki format yang benar (YYYY-MM-DD), tetapi tanggalnya " +"tidak valid." + +msgid "Date (without time)" +msgstr "Tanggal (tanpa waktu)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"Nilai “%(value)s” memiliki format yang tidak valid. Tanggal dan waktu harus " +"dalam format YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"Nilai “%(value)s” memiliki format yang benar (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]), tetapi tanggal/waktunya tidak valid." + +msgid "Date (with time)" +msgstr "Tanggal (dengan waktu)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "Nilai “%(value)s” harus berupa bilangan desimal." + +msgid "Decimal number" +msgstr "Bilangan desimal" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"Nilai “%(value)s” mempunyai format yang tidak valid. Waktu harus dalam " +"format [DD] [[HH:]MM:]ss[.uuuuuu]." + +msgid "Duration" +msgstr "Durasi" + +msgid "Email address" +msgstr "Alamat email" + +msgid "File path" +msgstr "Lokasi berkas" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "Nilai “%(value)s” harus berupa bilangan real." + +msgid "Floating point number" +msgstr "Bilangan 'floating point'" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "Nilai “%(value)s” harus berupa integer." + +msgid "Integer" +msgstr "Bilangan Asli" + +msgid "Big (8 byte) integer" +msgstr "Bilangan asli raksasa (8 byte)" + +msgid "Small integer" +msgstr "Bilangan asli kecil" + +msgid "IPv4 address" +msgstr "Alamat IPv4" + +msgid "IP address" +msgstr "Alamat IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "Nilai “%(value)s” harus berupa None, True, atau False." + +msgid "Boolean (Either True, False or None)" +msgstr "Boolean (Salah satu dari True, False, atau None)" + +msgid "Positive big integer" +msgstr "Integer besar positif" + +msgid "Positive integer" +msgstr "Bilangan asli positif" + +msgid "Positive small integer" +msgstr "Bilangan asli kecil positif" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (hingga %(max_length)s karakter)" + +msgid "Text" +msgstr "Teks" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"Nilai “%(value)s” mempunyai format yang tidak valid. Waktu harus dalam " +"format HH:MM[:ss[.uuuuuu]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"Nilai “%(value)s” mempunyai format yang benar (HH:MM[:ss[.uuuuuu]]), tetapi " +"nilai waktunya tidak valid." + +msgid "Time" +msgstr "Waktu" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Data biner mentah" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "“%(value)s” bukan UUID yang valid." + +msgid "Universally unique identifier" +msgstr "Pengenal unik secara universal" + +msgid "File" +msgstr "Berkas" + +msgid "Image" +msgstr "Gambar" + +msgid "A JSON object" +msgstr "Objek JSON" + +msgid "Value must be valid JSON." +msgstr "Nilai harus JSON yang valid." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "Salinan %(model)s dengan %(field)s %(value)r tidak ada." + +msgid "Foreign Key (type determined by related field)" +msgstr "Kunci Asing (tipe tergantung dari bidang yang berkaitan)" + +msgid "One-to-one relationship" +msgstr "Hubungan satu-ke-satu" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "Hubungan %(from)s-%(to)s" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "Hubungan %(from)s-%(to)s" + +msgid "Many-to-many relationship" +msgstr "Hubungan banyak-ke-banyak" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Bidang ini tidak boleh kosong." + +msgid "Enter a whole number." +msgstr "Masukkan keseluruhan angka bilangan." + +msgid "Enter a valid date." +msgstr "Masukkan tanggal yang valid." + +msgid "Enter a valid time." +msgstr "Masukkan waktu yang valid." + +msgid "Enter a valid date/time." +msgstr "Masukkan tanggal/waktu yang valid." + +msgid "Enter a valid duration." +msgstr "Masukan durasi waktu yang benar." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Jumlah hari harus di antara {min_days} dan {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Tidak ada berkas yang dikirimkan. Periksa tipe pengaksaraan formulir." + +msgid "No file was submitted." +msgstr "Tidak ada berkas yang dikirimkan." + +msgid "The submitted file is empty." +msgstr "Berkas yang dikirimkan kosong." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Pastikan nama berkas ini mengandung paling banyak %(max)d karakter (sekarang " +"%(length)d karakter)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Pilih antara mengirimkan berkas atau menghapus tanda centang pada kotak " +"centang" + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Unggah gambar yang valid. Berkas yang Anda unggah bukan merupakan berkas " +"gambar atau gambarnya rusak." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Masukkan pilihan yang valid. %(value)s bukan salah satu dari pilihan yang " +"tersedia." + +msgid "Enter a list of values." +msgstr "Masukkan beberapa nilai." + +msgid "Enter a complete value." +msgstr "Masukkan nilai yang komplet." + +msgid "Enter a valid UUID." +msgstr "Masukan UUID yang benar." + +msgid "Enter a valid JSON." +msgstr "Masukkan JSON yang valid." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Bidang tersembunyi %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"Data ManagementForm telah hilang atau telah dirusak. Bidang yang hilang: " +"%(field_names)s. Anda mungkin butuh memberkaskan laporan kesalahan jika " +"masalah masih ada." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Harap ajukan paling banyak %(num)d formulir." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Harap ajukan setidaknya %(num)d formulir." + +msgid "Order" +msgstr "Urutan" + +msgid "Delete" +msgstr "Hapus" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Perbaiki data ganda untuk %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "Perbaiki data ganda untuk %(field)s yang nilainya harus unik." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Perbaiki data ganda untuk %(field_name)s yang nilainya harus unik untuk " +"pencarian %(lookup)s pada %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Perbaiki nilai ganda di bawah ini." + +msgid "The inline value did not match the parent instance." +msgstr "Nilai sebaris tidak cocok dengan instance induk." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Masukkan pilihan yang valid. Pilihan tersebut bukan salah satu dari pilihan " +"yang tersedia." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "“%(pk)s” bukan nilai yang valid." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s tidak dapat diterjemahkan dalam zona waktu " +"%(current_timezone)s; mungkin nilainya ambigu atau tidak ada." + +msgid "Clear" +msgstr "Hapus" + +msgid "Currently" +msgstr "Saat ini" + +msgid "Change" +msgstr "Ubah" + +msgid "Unknown" +msgstr "Tidak diketahui" + +msgid "Yes" +msgstr "Ya" + +msgid "No" +msgstr "Tidak" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "ya,tidak,mungkin" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d bita" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m" + +msgid "a.m." +msgstr "a.m" + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "tengah malam" + +msgid "noon" +msgstr "siang" + +msgid "Monday" +msgstr "Senin" + +msgid "Tuesday" +msgstr "Selasa" + +msgid "Wednesday" +msgstr "Rabu" + +msgid "Thursday" +msgstr "Kamis" + +msgid "Friday" +msgstr "Jumat" + +msgid "Saturday" +msgstr "Sabtu" + +msgid "Sunday" +msgstr "Minggu" + +msgid "Mon" +msgstr "Sen" + +msgid "Tue" +msgstr "Sel" + +msgid "Wed" +msgstr "Rab" + +msgid "Thu" +msgstr "Kam" + +msgid "Fri" +msgstr "Jum" + +msgid "Sat" +msgstr "Sab" + +msgid "Sun" +msgstr "Min" + +msgid "January" +msgstr "Januari" + +msgid "February" +msgstr "Februari" + +msgid "March" +msgstr "Maret" + +msgid "April" +msgstr "April" + +msgid "May" +msgstr "Mei" + +msgid "June" +msgstr "Juni" + +msgid "July" +msgstr "Juli" + +msgid "August" +msgstr "Agustus" + +msgid "September" +msgstr "September" + +msgid "October" +msgstr "Oktober" + +msgid "November" +msgstr "November" + +msgid "December" +msgstr "Desember" + +msgid "jan" +msgstr "jan" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "apr" + +msgid "may" +msgstr "mei" + +msgid "jun" +msgstr "jun" + +msgid "jul" +msgstr "jul" + +msgid "aug" +msgstr "agu" + +msgid "sep" +msgstr "sep" + +msgid "oct" +msgstr "okt" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "des" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Jan." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Maret" + +msgctxt "abbrev. month" +msgid "April" +msgstr "April" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Mei" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Juni" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Juli" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Agu" + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Sep." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Okt." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Des." + +msgctxt "alt. month" +msgid "January" +msgstr "Januari" + +msgctxt "alt. month" +msgid "February" +msgstr "Februari" + +msgctxt "alt. month" +msgid "March" +msgstr "Maret" + +msgctxt "alt. month" +msgid "April" +msgstr "April" + +msgctxt "alt. month" +msgid "May" +msgstr "Mei" + +msgctxt "alt. month" +msgid "June" +msgstr "Juni" + +msgctxt "alt. month" +msgid "July" +msgstr "Juli" + +msgctxt "alt. month" +msgid "August" +msgstr "Agustus" + +msgctxt "alt. month" +msgid "September" +msgstr "September" + +msgctxt "alt. month" +msgid "October" +msgstr "Oktober" + +msgctxt "alt. month" +msgid "November" +msgstr "November" + +msgctxt "alt. month" +msgid "December" +msgstr "Desember" + +msgid "This is not a valid IPv6 address." +msgstr "Ini bukan alamat IPv6 yang valid." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "atau" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d tahun" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d bulan" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d minggu" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d hari" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d jam" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d menit" + +msgid "Forbidden" +msgstr "Terlarang" + +msgid "CSRF verification failed. Request aborted." +msgstr "Verifikasi CSRF gagal, Permintaan dibatalkan." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Anda melihat pesan ini karena jaringan HTTPS ini membutuhkan “Referer " +"header” untuk dikirim oleh peramban jaringan anda, tetapi tidak ada yg " +"dikirim. Kepala ini diwajibkan untuk alasan keamanan, untuk memastikan bahwa " +"peramban anda tidak sedang dibajak oleh pihak ketiga." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Jika Anda menonaktifkan header 'Referrer' pada konfigurasi peramban Anda, " +"mohon aktfikan kembali, setidaknya untuk situs ini, untuk koneksi HTTPS, " +"atau untuk request 'same-origin'." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Jika Anda menggunakan tag " +"atau menyertakan bagian kepala 'Referrer-Policy: no-referrer', harap hapus " +"hal tersebut. Perlindungan CSRF membutuhkan bagian kepala 'Referrer' untuk " +"melakukan pemeriksaan pengarahan ketat. Jika Anda khawatir mengenai privasi, " +"gunakan cara lain seperti untuk tautan ke situs " +"pihak ketiga." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Anda melihat pesan ini karena situs ini membutuhkan sebuah kuki CSRF ketika " +"mengirimkan formulir. Kuki ini dibutuhkan untuk alasan keamanan, untuk " +"memastikan bahwa peramban Anda tidak sedang dibajak oleh pihak ketiga." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Jika Anda telah mengatur peramban Anda untuk menonaktifkan kuki, maka " +"aktifkanlah kembali, setidaknya untuk website ini, atau untuk request 'same-" +"origin'." + +msgid "More information is available with DEBUG=True." +msgstr "Informasi lebih lanjut tersedia dengan DEBUG=True" + +msgid "No year specified" +msgstr "Tidak ada tahun dipilih" + +msgid "Date out of range" +msgstr "Tanggal di luar kisaran" + +msgid "No month specified" +msgstr "Tidak ada bulan dipilih" + +msgid "No day specified" +msgstr "Tidak ada hari dipilih" + +msgid "No week specified" +msgstr "Tidak ada minggu dipilih" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Tidak ada %(verbose_name_plural)s tersedia" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"%(verbose_name_plural)s di masa depan tidak tersedia karena %(class_name)s." +"allow_future bernilai False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "Nilai tanggal tidak valid “%(datestr)s” untuk format “%(format)s”" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Tidak ada %(verbose_name)s yang cocok dengan kueri" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" +"Laman bukan yang “terakhir” dan juga tidak dapat dikonversikan ke sebuah " +"integer." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Laman tidak valid (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Daftar kosong dan '%(class_name)s.allow_empty' bernilai False." + +msgid "Directory indexes are not allowed here." +msgstr "Indeks direktori tidak diizinkan di sini." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "“%(path)s” tidak ada" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Daftar isi %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "Selamat! Instalasi berjalan lancar!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Lihat catatan rilis untuk Django %(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Anda sedang melihat halaman ini karena DEBUG=True berada di berkas pengaturan Anda dan Anda " +"belum mengonfigurasi URL apa pun." + +msgid "Django Documentation" +msgstr "Dokumentasi Django" + +msgid "Topics, references, & how-to’s" +msgstr "Topik, referensi, & cara pemakaian" + +msgid "Tutorial: A Polling App" +msgstr "Tutorial: Sebuah Aplikasi Jajak Pendapat" + +msgid "Get started with Django" +msgstr "Memulai dengan Django" + +msgid "Django Community" +msgstr "Komunitas Django" + +msgid "Connect, get help, or contribute" +msgstr "Terhubung, minta bantuan, atau berkontribusi" diff --git a/external_sources/django/django/conf/locale/id/__init__.py b/external_sources/django/django/conf/locale/id/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/id/formats.py b/external_sources/django/django/conf/locale/id/formats.py new file mode 100644 index 0000000..91a2559 --- /dev/null +++ b/external_sources/django/django/conf/locale/id/formats.py @@ -0,0 +1,49 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j N Y" +DATETIME_FORMAT = "j N Y, G.i" +TIME_FORMAT = "G.i" +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "d-m-Y" +SHORT_DATETIME_FORMAT = "d-m-Y G.i" +FIRST_DAY_OF_WEEK = 1 # Monday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d-%m-%Y", # '25-10-2009' + "%d/%m/%Y", # '25/10/2009' + "%d-%m-%y", # '25-10-09' + "%d/%m/%y", # '25/10/09' + "%d %b %Y", # '25 Oct 2006', + "%d %B %Y", # '25 October 2006' + "%m/%d/%y", # '10/25/06' + "%m/%d/%Y", # '10/25/2009' +] + +TIME_INPUT_FORMATS = [ + "%H.%M.%S", # '14.30.59' + "%H.%M", # '14.30' +] + +DATETIME_INPUT_FORMATS = [ + "%d-%m-%Y %H.%M.%S", # '25-10-2009 14.30.59' + "%d-%m-%Y %H.%M.%S.%f", # '25-10-2009 14.30.59.000200' + "%d-%m-%Y %H.%M", # '25-10-2009 14.30' + "%d-%m-%y %H.%M.%S", # '25-10-09' 14.30.59' + "%d-%m-%y %H.%M.%S.%f", # '25-10-09' 14.30.59.000200' + "%d-%m-%y %H.%M", # '25-10-09' 14.30' + "%m/%d/%y %H.%M.%S", # '10/25/06 14.30.59' + "%m/%d/%y %H.%M.%S.%f", # '10/25/06 14.30.59.000200' + "%m/%d/%y %H.%M", # '10/25/06 14.30' + "%m/%d/%Y %H.%M.%S", # '25/10/2009 14.30.59' + "%m/%d/%Y %H.%M.%S.%f", # '25/10/2009 14.30.59.000200' + "%m/%d/%Y %H.%M", # '25/10/2009 14.30' +] + +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "." +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/ig/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/ig/LC_MESSAGES/django.po new file mode 100644 index 0000000..19e47ed --- /dev/null +++ b/external_sources/django/django/conf/locale/ig/LC_MESSAGES/django.po @@ -0,0 +1,1271 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Kelechi Precious Nwachukwu , 2020 +# Mariusz Felisiak , 2020 +# Okpala Olisa , 2020 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-05-19 20:23+0200\n" +"PO-Revision-Date: 2020-07-30 12:26+0000\n" +"Last-Translator: Mariusz Felisiak \n" +"Language-Team: Igbo (http://www.transifex.com/django/django/language/ig/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ig\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Afrikaans" +msgstr "Afrikaans" + +msgid "Arabic" +msgstr "Arabici" + +msgid "Algerian Arabic" +msgstr "Arabici ndị Algeria " + +msgid "Asturian" +msgstr "Asturian" + +msgid "Azerbaijani" +msgstr "Azerbaijani" + +msgid "Bulgarian" +msgstr "Bulgaria" + +msgid "Belarusian" +msgstr "Belarusia" + +msgid "Bengali" +msgstr "Bengali" + +msgid "Breton" +msgstr "Breton" + +msgid "Bosnian" +msgstr "Bosnian" + +msgid "Catalan" +msgstr "Catalan" + +msgid "Czech" +msgstr "Czech" + +msgid "Welsh" +msgstr "Welsh" + +msgid "Danish" +msgstr "Danishi" + +msgid "German" +msgstr "Germani" + +msgid "Lower Sorbian" +msgstr "Sorbian nke Ala" + +msgid "Greek" +msgstr "Greeki" + +msgid "English" +msgstr "Bekee" + +msgid "Australian English" +msgstr "Bekee ndị Australia" + +msgid "British English" +msgstr "Bekee ndị Britain" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Spanishi" + +msgid "Argentinian Spanish" +msgstr "Spanishi ndị Argentina" + +msgid "Colombian Spanish" +msgstr "Spanishi ndị Colombia " + +msgid "Mexican Spanish" +msgstr "Spanishi ndị Mexico " + +msgid "Nicaraguan Spanish" +msgstr "Spanishi ndị Nicaraguan" + +msgid "Venezuelan Spanish" +msgstr "Spanishi ndị Venezuela " + +msgid "Estonian" +msgstr "Estonian" + +msgid "Basque" +msgstr "Basque" + +msgid "Persian" +msgstr "Persian" + +msgid "Finnish" +msgstr "Finnishi" + +msgid "French" +msgstr "Fụrenchị" + +msgid "Frisian" +msgstr "Frisian" + +msgid "Irish" +msgstr "Irishi" + +msgid "Scottish Gaelic" +msgstr "Scottish Gaelici" + +msgid "Galician" +msgstr "Galiciani" + +msgid "Hebrew" +msgstr "Hibru" + +msgid "Hindi" +msgstr "Hindi" + +msgid "Croatian" +msgstr "Croatian" + +msgid "Upper Sorbian" +msgstr "Sorbian nke Elu" + +msgid "Hungarian" +msgstr "Hungarian" + +msgid "Armenian" +msgstr "Armeniani" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indonesian" + +msgid "Igbo" +msgstr "ìgbò" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Icelandici" + +msgid "Italian" +msgstr "Italian" + +msgid "Japanese" +msgstr "Japanisi " + +msgid "Georgian" +msgstr "Georgian" + +msgid "Kabyle" +msgstr "Kabyle" + +msgid "Kazakh" +msgstr "Kazakh" + +msgid "Khmer" +msgstr "Khmer" + +msgid "Kannada" +msgstr "Kannada" + +msgid "Korean" +msgstr "Korean" + +msgid "Kyrgyz" +msgstr "Kyrgyz" + +msgid "Luxembourgish" +msgstr "Luxembourgish" + +msgid "Lithuanian" +msgstr "Lithuanian" + +msgid "Latvian" +msgstr "Latvian" + +msgid "Macedonian" +msgstr "Macedonian" + +msgid "Malayalam" +msgstr "Malayalam" + +msgid "Mongolian" +msgstr "Mongolian" + +msgid "Marathi" +msgstr "Marathi" + +msgid "Burmese" +msgstr "Burmese" + +msgid "Norwegian Bokmål" +msgstr "Bokmål ndị Norway" + +msgid "Nepali" +msgstr "Nepali" + +msgid "Dutch" +msgstr "Dutch" + +msgid "Norwegian Nynorsk" +msgstr "Nynorsk ndị Norway " + +msgid "Ossetic" +msgstr "Ossetici" + +msgid "Punjabi" +msgstr "Punjabi" + +msgid "Polish" +msgstr "Polishi" + +msgid "Portuguese" +msgstr "Portuguisi" + +msgid "Brazilian Portuguese" +msgstr "Portuguese ndị Brazil" + +msgid "Romanian" +msgstr "Romaniani" + +msgid "Russian" +msgstr "Russiani" + +msgid "Slovak" +msgstr "Slovaki" + +msgid "Slovenian" +msgstr "Sloveniani" + +msgid "Albanian" +msgstr "Albaniani" + +msgid "Serbian" +msgstr "Serbiani" + +msgid "Serbian Latin" +msgstr "Serbian Latini" + +msgid "Swedish" +msgstr "Swedishi" + +msgid "Swahili" +msgstr "Swahili" + +msgid "Tamil" +msgstr "Tamil" + +msgid "Telugu" +msgstr "Telugu" + +msgid "Tajik" +msgstr "Tajik" + +msgid "Thai" +msgstr "Thai" + +msgid "Turkmen" +msgstr "Turkmen" + +msgid "Turkish" +msgstr "Turkishi" + +msgid "Tatar" +msgstr "Tatar" + +msgid "Udmurt" +msgstr "Udmurt" + +msgid "Ukrainian" +msgstr "Ukrainiani" + +msgid "Urdu" +msgstr "Urdu" + +msgid "Uzbek" +msgstr "Uzbeki" + +msgid "Vietnamese" +msgstr "Vietnamesi" + +msgid "Simplified Chinese" +msgstr "Chinisi Ndị Mfe" + +msgid "Traditional Chinese" +msgstr "Odịnala Chinisi" + +msgid "Messages" +msgstr "Ozi" + +msgid "Site Maps" +msgstr "Maapụ Saịtị" + +msgid "Static Files" +msgstr "Faịlụ Nkwụsiri ike" + +msgid "Syndication" +msgstr "Nyefee Njikwa" + +msgid "That page number is not an integer" +msgstr "Nọmba peeji ahụ abụghị onu ogugu" + +msgid "That page number is less than 1" +msgstr "Nọmba peeji ahụ erughị 1" + +msgid "That page contains no results" +msgstr "Peeji ahụ enweghị nsonaazụ ọ bụla" + +msgid "Enter a valid value." +msgstr "Tinye uru zuru oke." + +msgid "Enter a valid URL." +msgstr "Tinye URL zuru oke." + +msgid "Enter a valid integer." +msgstr "Tinye nọmba zuru oke." + +msgid "Enter a valid email address." +msgstr "Tinye adreesị ozi ịntanetị n'zuru oke." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Tinye “slug” zuru oke nke mejupụtara mkpụrụedemede, ọnụọgụ, underscores ma ọ " +"bụ hyphens." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Tinye “slug” zuru oke nke mejupụtara Unicode mkpụrụedemede, ọnụọgụ, " +"underscores ma ọ bụ hyphens." + +msgid "Enter a valid IPv4 address." +msgstr "Tinye adreesị IPv4 zuru oke." + +msgid "Enter a valid IPv6 address." +msgstr "Tinye adreesị IPv6 zuru oke." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Tinye adreesị IPv4 ma obu IPv6 zuru oke." + +msgid "Enter only digits separated by commas." +msgstr "Tinye naanị ọnụọgụ kewapụrụ site na comma." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Gbaa mbọ hụ na %(limit_value)s (ọ bụ %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Gbaa mbọ hụ na orughị ma ọ bụ hara nhata %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Gbaa mbọ hụ na okarịa ma ọ bụ hara nhata%(limit_value)s." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Gbaa mbọ hụ na a nwere opekata mpe %(limit_value)d odide (o nwere " +"%(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Gbaa mbọ hụ na a nwere kacha %(limit_value)d odide (o nwere%(show_value)d)." + +msgid "Enter a number." +msgstr "Tinye nọmba." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Gbaa mbọ hụ na ọ dighi karịrị %(max)s nọmba na mkpokọta." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Gbaa mbọ hụ na ọ dighi karịrị %(max)s na ebe ntụpọ." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "Gbaa mbọ hụ na ọ dighi karịrị %(max)s nọmba tupu akụkụ ebe ntụpọ." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Ndọtị Faịlị “%(extension)s”anaghị anabata. Ndọtị nke kwere n'nabata bu: " +"%(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Anabataghị ihe odide n'enweghị isi." + +msgid "and" +msgstr "na" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s ya na nke a %(field_labels)s dị adị." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Nọmba %(value)r abụghị ezigbo nhọrọ." + +msgid "This field cannot be null." +msgstr "Ebe a enweghị ike ịbụ ihe efu." + +msgid "This field cannot be blank." +msgstr "Ebe a enweghị ike ịbụ ohere efu." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s ya na nke a %(field_label)s dị adi." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s ga-abụ ihe pụrụ iche maka %(date_field_label)s " +"%(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Ebe a nke ụdị: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "“%(value)s” uru a ga-abụrịrị Eziokwu ma ọ bụ Ugha." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "“%(value)s”uru a ga-abụrịrị Eziokwu, Ugha, ma ọ bụ Onweghị." + +msgid "Boolean (Either True or False)" +msgstr "Boolean (Eziokwu ma o bụ Ugha)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "String (ruo %(max_length)s)" + +msgid "Comma-separated integers" +msgstr "Rikom-kewapụrụ nomba" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"“%(value)s” uru a nwere usoro nke n'adịghị adị. Ọ ga-abụrịrị n'ụdị YYYY-MM-" +"DD." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"“%(value)s”uru a nwere usoro ziri ezi (YYYY-MM-DD) mana ọ bụ ụbọchị n'abaghị " +"uru." + +msgid "Date (without time)" +msgstr "Ubọchị (na-enweghị oge)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"“%(value)s” uru a nwere usoro nke n'adịghị adị. Ọ ga-abụrịrị n'ụdị YYYY-MM-" +"DD HH:MM[:ss[.uuuuuu]][TZ] usoro. " + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"“%(value)s”uru a nwere usoro ziri ezi (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ])mana ọ bụ ụbọchị n'abaghị uru." + +msgid "Date (with time)" +msgstr "Ubọchị (na oge)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "“%(value)s” uru a ga-abụrịrị nọmba ntụpọ." + +msgid "Decimal number" +msgstr "Nọmba ntụpọ." + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"“%(value)s”uru a nwere usoro nke n'adịghị adị. Ọ ga-abụrịrị n'ụdị [DD] " +"[[HH:]MM:]ss[.uuuuuu]usoro." + +msgid "Duration" +msgstr "Oge ole" + +msgid "Email address" +msgstr "Adreesị ozi ịntanetị" + +msgid "File path" +msgstr "Uzọ Faịlụ di" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "“%(value)s”uru a ga-abụrịrị float." + +msgid "Floating point number" +msgstr "Nọmba ebe floating no " + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "“%(value)s” uru a ga-abụrịrị onu ogugu" + +msgid "Integer" +msgstr "Onu ogugu" + +msgid "Big (8 byte) integer" +msgstr "Onu ogugu (8 byte) nnukwu" + +msgid "IPv4 address" +msgstr "Adreesị IPv4" + +msgid "IP address" +msgstr "Adreesị IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "“%(value)s”uru a ga-abụrịrị na Odighị, Eziokwu ma ọ bụ.Ugha." + +msgid "Boolean (Either True, False or None)" +msgstr "Boolean (Ihe a ga abụriri eziokwu, ụgha ma ọ bu na onweghi)" + +msgid "Positive big integer" +msgstr "Nnukwu nomba nke oma" + +msgid "Positive integer" +msgstr "Nọmba nke oma" + +msgid "Positive small integer" +msgstr "Obere nọmba nke oma" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (ruo %(max_length)s)" + +msgid "Small integer" +msgstr "Onu ogugu nke obere" + +msgid "Text" +msgstr "Ederede" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"“%(value)s” uru a nwere usoro nke n'adịghị adị. Ọ ga-abụrịrị n'ụdị HH:MM[:" +"ss[.uuuuuu]]usoro." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"“%(value)s” uru a nwere usoro ziri ezi (HH:MM[:ss[.uuuuuu]]) mana ọ bu oge " +"n'abaghị uru." + +msgid "Time" +msgstr "Oge" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Raw binary data" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "“%(value)s”abụghị UUID n’kwesịrị ekwesị." + +msgid "Universally unique identifier" +msgstr "Universally unique identifier" + +msgid "File" +msgstr "Faịlụ" + +msgid "Image" +msgstr "Foto" + +msgid "A JSON object" +msgstr "Ihe JSON" + +msgid "Value must be valid JSON." +msgstr "Uru a ga-abụrịrị JSON n’kwesịrị ekwesị." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "%(model)s dịka %(field)s %(value)r adịghị adị." + +msgid "Foreign Key (type determined by related field)" +msgstr "Foreign Key (ụdị kpebiri site na mpaghara metụtara)" + +msgid "One-to-one relationship" +msgstr "Mmekọrịta otu-na-otu" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s mmekọrịta" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s mmekọrịta" + +msgid "Many-to-many relationship" +msgstr "Mmekọrịta otutu-na-otutu" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Ebe a kwesiri ekwesi." + +msgid "Enter a whole number." +msgstr "Tinye nọmba onu ogugu." + +msgid "Enter a valid date." +msgstr "Tinye ụbọchị zuru oke." + +msgid "Enter a valid time." +msgstr "Tinye oge zuru oke." + +msgid "Enter a valid date/time." +msgstr "Tinye ụbọchị / oge zuru oke" + +msgid "Enter a valid duration." +msgstr "Tinye oge onuno zuru oke." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Onu ogugu ubochi a gha aburiri n’agbata {min_days} na {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Onweghi faịlụ a debanyere. Lee ụdị encoding a ntinye na ederede." + +msgid "No file was submitted." +msgstr "E nweghị faịlụ e watara" + +msgid "The submitted file is empty." +msgstr "O nweghị ihe dị n'ime faịlụ e wetara" + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Gbaa mbọ hụ na aha faịlụ a nwere kacha %(max)d odide (o nwere %(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Biko nyefee faịlụ a ma ọ bụ tinye akara na igbe akara, ọ bụghị ha abụọ." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Bugote foto n’zuru oke. Faịlụ a ị bugoro abụghị foto ma ọ bụ foto rụrụ arụ." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Họrọ ezigbo nhọrọ. %(value)sabụghị otu nhọrọ n'ime nke dịnụ." + +msgid "Enter a list of values." +msgstr "Tinye ndepụta nke ụkpụrụ." + +msgid "Enter a complete value." +msgstr "Tinye uru zuru okè" + +msgid "Enter a valid UUID." +msgstr "Tinye UUID kwesịrị ekwesị" + +msgid "Enter a valid JSON." +msgstr "Tinye JSON kwesịrị ekwesị" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Ebe ezoro ezo%(name)s) %(error)s" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "Data ManagementForm na-efu efu ma ọ bụ a kpara ya aka" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "Biko nyefee %d ma ọ bụ fomụ di ole na ole." + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "Biko nyefee%d ma ọ bụ fomụ karịrị otu ahụ" + +msgid "Order" +msgstr "Usoro" + +msgid "Delete" +msgstr "Hichapụ" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Biko dozie data oji abuo a maka %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "Biko dozie data oji abuo a maka %(field)s, nke gha diriri iche." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Biko dozie data oji abuo a maka %(field_name)s nke gha diriri iche maka " +"%(lookup)s n'ime %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Biko dozie uru oji abuo nke no n'okpuru." + +msgid "The inline value did not match the parent instance." +msgstr "Uru inline a adabaghị na parent instance." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Họrọ ezigbo nhọrọ. Nhọrọ a abụghị otu nhọrọ dịnụ." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "%(pk)sabụghi uru kwesịrị ekwesị" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s enweghị ike ịkọwa na mpaghara oge %(current_timezone)s; onwere " +"ike iju anya ma obu ọ gaghị adị." + +msgid "Clear" +msgstr "Kpochapu" + +msgid "Currently" +msgstr "Ugbu a" + +msgid "Change" +msgstr "Gbanwee" + +msgid "Unknown" +msgstr "Ihe N’amaghi" + +msgid "Yes" +msgstr "Ee" + +msgid "No" +msgstr "Mba" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "ee, mba, nwere ike" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d bytes" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "etiti Abalị" + +msgid "noon" +msgstr "Ehihie" + +msgid "Monday" +msgstr "Mọnde" + +msgid "Tuesday" +msgstr "Tiuzdee" + +msgid "Wednesday" +msgstr "Wenezdee" + +msgid "Thursday" +msgstr "Tọọzdee" + +msgid "Friday" +msgstr "Fraịdee" + +msgid "Saturday" +msgstr "Satọdee" + +msgid "Sunday" +msgstr "Mbọsi Uka" + +msgid "Mon" +msgstr "Mọnde" + +msgid "Tue" +msgstr "Tiu" + +msgid "Wed" +msgstr "Wen" + +msgid "Thu" +msgstr "Tọọ" + +msgid "Fri" +msgstr "Fraị" + +msgid "Sat" +msgstr "Sat" + +msgid "Sun" +msgstr "Ụka" + +msgid "January" +msgstr "Jenụwarị" + +msgid "February" +msgstr "Febrụwarị" + +msgid "March" +msgstr "Maachị" + +msgid "April" +msgstr "Eprel" + +msgid "May" +msgstr "Mee" + +msgid "June" +msgstr "Juun" + +msgid "July" +msgstr "Julaị" + +msgid "August" +msgstr "Ọgọọst" + +msgid "September" +msgstr "Septemba" + +msgid "October" +msgstr "Ọktoba" + +msgid "November" +msgstr "Novemba" + +msgid "December" +msgstr "Disemba" + +msgid "jan" +msgstr "jen" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "maa" + +msgid "apr" +msgstr "epr" + +msgid "may" +msgstr "mee" + +msgid "jun" +msgstr "juu" + +msgid "jul" +msgstr "jul" + +msgid "aug" +msgstr "ọgọ" + +msgid "sep" +msgstr "sep" + +msgid "oct" +msgstr "ọkt" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "dis" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Jenụwarị" + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Maachị" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Eprel" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Mee" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Juun" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Julaị" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Ọgọ." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Sep." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Ọkt." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Dis." + +msgctxt "alt. month" +msgid "January" +msgstr "Jenụwarị" + +msgctxt "alt. month" +msgid "February" +msgstr "Febrụwarị" + +msgctxt "alt. month" +msgid "March" +msgstr "Maachị" + +msgctxt "alt. month" +msgid "April" +msgstr "Eprel" + +msgctxt "alt. month" +msgid "May" +msgstr "Mee" + +msgctxt "alt. month" +msgid "June" +msgstr "Juun" + +msgctxt "alt. month" +msgid "July" +msgstr "Julaị" + +msgctxt "alt. month" +msgid "August" +msgstr "Ọgọọst" + +msgctxt "alt. month" +msgid "September" +msgstr "Septemba" + +msgctxt "alt. month" +msgid "October" +msgstr "Ọktoba" + +msgctxt "alt. month" +msgid "November" +msgstr "Novemba" + +msgctxt "alt. month" +msgid "December" +msgstr "Disemba" + +msgid "This is not a valid IPv6 address." +msgstr "Nke a abaghị adresị IPv6 zuru oke." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "ma obu" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "%d afọ" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "%dọnwa" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "%d izu" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "%d ụbọchị" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "%d awa" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "%d nkeji" + +msgid "Forbidden" +msgstr "Amachibidoro" + +msgid "CSRF verification failed. Request aborted." +msgstr "Nyocha CSRF emeghị nke ọma. Ajuju atọrọ.." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"I na-ahụ ozi a n'ihi na saịtị HTTPS a chọrọ “Onye isi okwu” ka ihe nchọgharị " +"weebụ gị zitere gị, mana onweghi nke zitere. Achọrọ isi ihe a maka ebumnuche " +"nchekwa, iji jide n’aka na ndị ọzọ anaghị egbochi ihe nchọgharị gị." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Ọ bụrụ na ihazila ihe nchọgharị gị iji gbanyụọ ndị na-eji “ndị nnọchianya”, " +"biko jisie iketiachi ya, ma ọ dịkarịa maka saịtị a, ma ọ bụ maka njikọ " +"HTTPS, ma ọ bụ maka a arịrịọ “otu ụdị”." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Ọ bụrụ na ị na-eji akara " +"mmado ma ọ bụ gụnyere isi nke \"Iwu-Onye na gba ama: neweghị onye na-gba ama" +"\", biko wepu ha. Nchedo CSRF chọrọ ka isi “onye na gba ama” wee mee nyocha " +"ike nlele nke gbara ama. Ọ bụrụ na ihe gbasara gị gbasara nzuzo, jiri ụzọ " +"ọzọ dị ka njikọ maka saịtị ndị ọzọ." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"I na-ahụ ozi a n'ihi na saịtị a chọrọ CSRF cookie mgbe ị na-edobe akwụkwọ. " +"Achọrọ cookie a maka ebumnuche nchekwa, iji hụ na ndị ọzọ anaghị egbochi ihe " +"nchọgharị gị." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Ọ bụrụ na ịhazila ihe nchọgharị gị iji gbanyụọ kuki, biko tiachi ya ka o na " +"ruo oru, opekata mpe maka saịtị a, ma ọ bụ maka “otu ụdị\"." + +msgid "More information is available with DEBUG=True." +msgstr "Ihe omuma ndi ozo di na DEBUG = Eziokwu." + +msgid "No year specified" +msgstr "Ọ dịghị afọ akọwapụtara" + +msgid "Date out of range" +msgstr "Ubọchị a puru na usoro" + +msgid "No month specified" +msgstr "Onweghị ọnwa akọwapụtara" + +msgid "No day specified" +msgstr "Onweghi ụbọchị akọwapụtara" + +msgid "No week specified" +msgstr "Onweghi izu akọwapụtara" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr " %(verbose_name_plural)sadịghị" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Ọdịnihu %(verbose_name_plural)s adịghị adị n'ihi %(class_name)s.allow_future " +"bu ugha." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "String ụbọchị nabaghị uru “%(datestr)s” Ntọala enyere “%(format)s”" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Mba %(verbose_name)s hụrụ ihe dabara na ajụjụ a" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "Peeji a a-abụghị “nke ikpeazụ”, a pụghị ịgbanwe ya na int." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Peeji na-abaghị uru (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Tọgbọ chakoo ndepụta na “%(class_name)s.allow_empty” bụ Ugha." + +msgid "Directory indexes are not allowed here." +msgstr "Anaghị anabata directory indexes ebe a." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "“%(path)s” a dịghị" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Index of %(directory)s" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "" +"Django: usoro Ntanetị maka ndị na-achọkarị izu okè ya na oge edetu imecha." + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Lee akwukwo e bipụtara maka Django" +"%(version)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "Nwụnye ahụ dabara nke ọma! Ị mere nke ọma!" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" +"I na-ahụ peeji a n'ihi na DEBUG=True dị na faili setting gị mana ịhazibeghị URL ọ bụla." + +msgid "Django Documentation" +msgstr "Akwụkwọ Ederede Django" + +msgid "Topics, references, & how-to’s" +msgstr "Isiokwu, ntụaka, & otu esi-mee" + +msgid "Tutorial: A Polling App" +msgstr "Nkuzi: App Ntuli Aka" + +msgid "Get started with Django" +msgstr "Bido na Django" + +msgid "Django Community" +msgstr "Obodo Django" + +msgid "Connect, get help, or contribute" +msgstr "Jikọọ, nweta enyemaka, ma ọ bụ tinye aka." diff --git a/external_sources/django/django/conf/locale/ig/__init__.py b/external_sources/django/django/conf/locale/ig/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/ig/formats.py b/external_sources/django/django/conf/locale/ig/formats.py new file mode 100644 index 0000000..cb0b4de --- /dev/null +++ b/external_sources/django/django/conf/locale/ig/formats.py @@ -0,0 +1,32 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j F Y" +TIME_FORMAT = "P" +DATETIME_FORMAT = "j F Y P" +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "d.m.Y" +SHORT_DATETIME_FORMAT = "d.m.Y H:i" +FIRST_DAY_OF_WEEK = 1 # Monday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d.%m.%Y", # '25.10.2006' + "%d.%m.%y", # '25.10.06' +] +DATETIME_INPUT_FORMATS = [ + "%d.%m.%Y %H:%M:%S", # '25.10.2006 14:30:59' + "%d.%m.%Y %H:%M:%S.%f", # '25.10.2006 14:30:59.000200' + "%d.%m.%Y %H:%M", # '25.10.2006 14:30' + "%d.%m.%Y", # '25.10.2006' + "%d.%m.%y %H:%M:%S", # '25.10.06 14:30:59' + "%d.%m.%y %H:%M:%S.%f", # '25.10.06 14:30:59.000200' + "%d.%m.%y %H:%M", # '25.10.06 14:30' + "%d.%m.%y", # '25.10.06' +] +DECIMAL_SEPARATOR = "." +THOUSAND_SEPARATOR = "," +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/io/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/io/LC_MESSAGES/django.po new file mode 100644 index 0000000..d14d544 --- /dev/null +++ b/external_sources/django/django/conf/locale/io/LC_MESSAGES/django.po @@ -0,0 +1,1231 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Viko Bartero , 2014 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-27 22:40+0200\n" +"PO-Revision-Date: 2019-11-05 00:38+0000\n" +"Last-Translator: Ramiro Morales\n" +"Language-Team: Ido (http://www.transifex.com/django/django/language/io/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: io\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "Afrikaans" + +msgid "Arabic" +msgstr "العربية" + +msgid "Asturian" +msgstr "" + +msgid "Azerbaijani" +msgstr "Azərbaycanca" + +msgid "Bulgarian" +msgstr "български" + +msgid "Belarusian" +msgstr "беларуская" + +msgid "Bengali" +msgstr "বাংলা" + +msgid "Breton" +msgstr "Brezhoneg" + +msgid "Bosnian" +msgstr "босански" + +msgid "Catalan" +msgstr "Català" + +msgid "Czech" +msgstr "čeština" + +msgid "Welsh" +msgstr "Cymraeg" + +msgid "Danish" +msgstr "dansk" + +msgid "German" +msgstr "Deutsch" + +msgid "Lower Sorbian" +msgstr "" + +msgid "Greek" +msgstr "Ελληνικά" + +msgid "English" +msgstr "English" + +msgid "Australian English" +msgstr "" + +msgid "British English" +msgstr "British English" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Español" + +msgid "Argentinian Spanish" +msgstr "Español de Argentina" + +msgid "Colombian Spanish" +msgstr "" + +msgid "Mexican Spanish" +msgstr "Español de México" + +msgid "Nicaraguan Spanish" +msgstr "Español de Nicaragua" + +msgid "Venezuelan Spanish" +msgstr "Español de Venezuela" + +msgid "Estonian" +msgstr "Eesti" + +msgid "Basque" +msgstr "Euskara" + +msgid "Persian" +msgstr "فارسی" + +msgid "Finnish" +msgstr "Suomi" + +msgid "French" +msgstr "Français" + +msgid "Frisian" +msgstr "Frysk" + +msgid "Irish" +msgstr "Gaeilge" + +msgid "Scottish Gaelic" +msgstr "" + +msgid "Galician" +msgstr "Galego" + +msgid "Hebrew" +msgstr "עברית" + +msgid "Hindi" +msgstr "हिन्दी" + +msgid "Croatian" +msgstr "hrvatski" + +msgid "Upper Sorbian" +msgstr "" + +msgid "Hungarian" +msgstr "Magyar" + +msgid "Armenian" +msgstr "" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Bahasa Indonesia" + +msgid "Ido" +msgstr "" + +msgid "Icelandic" +msgstr "Íslenska" + +msgid "Italian" +msgstr "Italiano" + +msgid "Japanese" +msgstr "日本語" + +msgid "Georgian" +msgstr "ქართული" + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "Қазақша" + +msgid "Khmer" +msgstr "Khmer" + +msgid "Kannada" +msgstr "Kannaḍa" + +msgid "Korean" +msgstr "한국어" + +msgid "Luxembourgish" +msgstr "Lëtzebuergesch" + +msgid "Lithuanian" +msgstr "Lietuvių" + +msgid "Latvian" +msgstr "Latviešu" + +msgid "Macedonian" +msgstr "Македонски" + +msgid "Malayalam" +msgstr "മലയാളം" + +msgid "Mongolian" +msgstr "Монгол" + +msgid "Marathi" +msgstr "" + +msgid "Burmese" +msgstr "Burmese" + +msgid "Norwegian Bokmål" +msgstr "" + +msgid "Nepali" +msgstr "नेपाली" + +msgid "Dutch" +msgstr "Nederlands" + +msgid "Norwegian Nynorsk" +msgstr "Norsk nynorsk" + +msgid "Ossetic" +msgstr "Ossetic" + +msgid "Punjabi" +msgstr "ਪੰਜਾਬੀ" + +msgid "Polish" +msgstr "Polski" + +msgid "Portuguese" +msgstr "Português" + +msgid "Brazilian Portuguese" +msgstr "Português do Brasil" + +msgid "Romanian" +msgstr "Română" + +msgid "Russian" +msgstr "Русский" + +msgid "Slovak" +msgstr "Slovenčina" + +msgid "Slovenian" +msgstr "Slovenščina" + +msgid "Albanian" +msgstr "Shqip" + +msgid "Serbian" +msgstr "Српски / srpski" + +msgid "Serbian Latin" +msgstr "Serbian Latin" + +msgid "Swedish" +msgstr "Svenska" + +msgid "Swahili" +msgstr "Kiswahili" + +msgid "Tamil" +msgstr "தமிழ்" + +msgid "Telugu" +msgstr "Telugu" + +msgid "Thai" +msgstr "ไทย" + +msgid "Turkish" +msgstr "Türkçe" + +msgid "Tatar" +msgstr "Tatar" + +msgid "Udmurt" +msgstr "Удмурт" + +msgid "Ukrainian" +msgstr "Українська" + +msgid "Urdu" +msgstr "اُردُو" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "Tiếng Việt" + +msgid "Simplified Chinese" +msgstr "简体中文" + +msgid "Traditional Chinese" +msgstr "繁體中文" + +msgid "Messages" +msgstr "" + +msgid "Site Maps" +msgstr "" + +msgid "Static Files" +msgstr "" + +msgid "Syndication" +msgstr "" + +msgid "That page number is not an integer" +msgstr "" + +msgid "That page number is less than 1" +msgstr "" + +msgid "That page contains no results" +msgstr "" + +msgid "Enter a valid value." +msgstr "Skribez valida datumo." + +msgid "Enter a valid URL." +msgstr "Skribez valida URL." + +msgid "Enter a valid integer." +msgstr "" + +msgid "Enter a valid email address." +msgstr "Skribez valida e-posto adreso." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "Skribez valida IPv4 adreso." + +msgid "Enter a valid IPv6 address." +msgstr "Skribez valida IPv6 adreso." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Skribez valida adreso IPv4 od IPv6." + +msgid "Enter only digits separated by commas." +msgstr "Skribez nur cifri separata per komi." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Verifikez ke ica datumo esas %(limit_value)s (olu esas %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Verifikez ke ica datumo esas minora kam od egala a %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Verifikez ke ica datumo esas majora kam od egala a %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Verifikez ke ica datumo havas %(limit_value)d litero adminime (olu havas " +"%(show_value)d)." +msgstr[1] "" +"Verifikez ke ica datumo havas %(limit_value)d literi adminime (olu havas " +"%(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Verifikez ke ica datumo havas %(limit_value)d litero admaxime (olu havas " +"%(show_value)d)." +msgstr[1] "" +"Verifikez ke ica datumo havas %(limit_value)d literi admaxime (olu havas " +"%(show_value)d)." + +msgid "Enter a number." +msgstr "Skribez numero." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "" + +msgid "and" +msgstr "e" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "" + +msgid "This field cannot be null." +msgstr "Ica feldo ne povas esar nula." + +msgid "This field cannot be blank." +msgstr "Ica feldo ne povas esar vakua." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "La %(model_name)s kun ica %(field_label)s ja existas." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Feldo de tipo: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "Booleano (True o False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "String (til %(max_length)s)" + +msgid "Comma-separated integers" +msgstr "Integri separata per komi" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "Dato (sen horo)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "Dato (kun horo)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "Decimala numero" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "" + +msgid "Email address" +msgstr "E-postala adreso" + +msgid "File path" +msgstr "Arkivo voyo" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "Glitkomo numero" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "Integro" + +msgid "Big (8 byte) integer" +msgstr "Granda (8 byte) integro" + +msgid "IPv4 address" +msgstr "IPv4 adreso" + +msgid "IP address" +msgstr "IP adreso" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "Booleano (True, False o None)" + +msgid "Positive integer" +msgstr "Positiva integro" + +msgid "Positive small integer" +msgstr "Positiva mikra integro" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (til %(max_length)s)" + +msgid "Small integer" +msgstr "Mikra integro" + +msgid "Text" +msgstr "Texto" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "Horo" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Kruda binara datumo" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "Arkivo" + +msgid "Image" +msgstr "Imajo" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" + +msgid "Foreign Key (type determined by related field)" +msgstr "Exterklefo (la tipo esas determinata per la relatata feldo)" + +msgid "One-to-one relationship" +msgstr "Un-ad-un parenteso" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "" + +msgid "Many-to-many relationship" +msgstr "Multi-a-multi parenteso" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr "" + +msgid "This field is required." +msgstr "Ica feldo esas obligata." + +msgid "Enter a whole number." +msgstr "Skribez kompleta numero" + +msgid "Enter a valid date." +msgstr "Skribez valida dato." + +msgid "Enter a valid time." +msgstr "Skribez valida horo." + +msgid "Enter a valid date/time." +msgstr "Skribez valida dato/horo." + +msgid "Enter a valid duration." +msgstr "" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Nula arkivo sendesis. Verifikez la kodexigo tipo en la formulario." + +msgid "No file was submitted." +msgstr "Nula arkivo sendesis." + +msgid "The submitted file is empty." +msgstr "La sendita arkivo esas vakua." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Verifikez ke ica dosiero nomo havas %(max)d skribsigno admaxime (olu havas " +"%(length)d)." +msgstr[1] "" +"Verifikez ke ica arkivo nomo havas %(max)d skribsigni admaxime (olu havas " +"%(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Sendez arkivo o markizez la vakua markbuxo, ne la du." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Kargez valida imajo. La arkivo qua vu kargis ne esis imajo od esis defektiva." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Selektez valida selekto. %(value)s ne esas un de la disponebla selekti." + +msgid "Enter a list of values." +msgstr "Skribez listo de datumi." + +msgid "Enter a complete value." +msgstr "" + +msgid "Enter a valid UUID." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr "" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Okulta feldo %(name)s) %(error)s" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "" +msgstr[1] "" + +msgid "Order" +msgstr "Ordinar" + +msgid "Delete" +msgstr "Eliminar" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Koretigez duopligata datumi por %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "Korektigez la duopligata datumi por %(field)s, qui mustas esar unika." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Korektigez la duopligata datumi por %(field_name)s qui mustas esar unika por " +"la %(lookup)s en %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Korektigez la duopligata datumi infre." + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Selektez valida selekto. Ita selekto ne esas un de la disponebla selekti." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "Vakuigar" + +msgid "Currently" +msgstr "Aktuale" + +msgid "Change" +msgstr "Modifikar" + +msgid "Unknown" +msgstr "Nekonocata" + +msgid "Yes" +msgstr "Yes" + +msgid "No" +msgstr "No" + +msgid "Year" +msgstr "" + +msgid "Month" +msgstr "" + +msgid "Day" +msgstr "" + +msgid "yes,no,maybe" +msgstr "yes,no,forsan" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d byte" +msgstr[1] "%(size)d bytes" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "noktomezo" + +msgid "noon" +msgstr "dimezo" + +msgid "Monday" +msgstr "Lundio" + +msgid "Tuesday" +msgstr "Mardio" + +msgid "Wednesday" +msgstr "Merkurdio" + +msgid "Thursday" +msgstr "Jovdio" + +msgid "Friday" +msgstr "Venerdio" + +msgid "Saturday" +msgstr "Saturdio" + +msgid "Sunday" +msgstr "Sundio" + +msgid "Mon" +msgstr "Lun" + +msgid "Tue" +msgstr "Mar" + +msgid "Wed" +msgstr "Mer" + +msgid "Thu" +msgstr "Jov" + +msgid "Fri" +msgstr "Ven" + +msgid "Sat" +msgstr "Sat" + +msgid "Sun" +msgstr "Sun" + +msgid "January" +msgstr "Januaro" + +msgid "February" +msgstr "Februaro" + +msgid "March" +msgstr "Marto" + +msgid "April" +msgstr "Aprilo" + +msgid "May" +msgstr "Mayo" + +msgid "June" +msgstr "Junio" + +msgid "July" +msgstr "Julio" + +msgid "August" +msgstr "Agosto" + +msgid "September" +msgstr "Septembro" + +msgid "October" +msgstr "Oktobro" + +msgid "November" +msgstr "Novembro" + +msgid "December" +msgstr "Decembro" + +msgid "jan" +msgstr "jan" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "apr" + +msgid "may" +msgstr "may" + +msgid "jun" +msgstr "jun" + +msgid "jul" +msgstr "jul" + +msgid "aug" +msgstr "ago" + +msgid "sep" +msgstr "sep" + +msgid "oct" +msgstr "okt" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "dec" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Jan." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Marto" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Aprilo" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Mayo" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Junio" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Julio" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Ago." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Sept." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Okt." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Dec." + +msgctxt "alt. month" +msgid "January" +msgstr "Januaro" + +msgctxt "alt. month" +msgid "February" +msgstr "Februaro" + +msgctxt "alt. month" +msgid "March" +msgstr "Marto" + +msgctxt "alt. month" +msgid "April" +msgstr "Aprilo" + +msgctxt "alt. month" +msgid "May" +msgstr "Mayo" + +msgctxt "alt. month" +msgid "June" +msgstr "Junio" + +msgctxt "alt. month" +msgid "July" +msgstr "Julio" + +msgctxt "alt. month" +msgid "August" +msgstr "Agosto" + +msgctxt "alt. month" +msgid "September" +msgstr "Septembro" + +msgctxt "alt. month" +msgid "October" +msgstr "Oktobro" + +msgctxt "alt. month" +msgid "November" +msgstr "Novembro" + +msgctxt "alt. month" +msgid "December" +msgstr "Decembro" + +msgid "This is not a valid IPv6 address." +msgstr "" + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "o" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "%d yaro" +msgstr[1] "%d yari" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "%d monato" +msgstr[1] "%d monati" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "%d semano" +msgstr[1] "%d semani" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "%d dio" +msgstr[1] "%d dii" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "%d horo" +msgstr[1] "%d hori" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "%d minuto" +msgstr[1] "%d minuti" + +msgid "0 minutes" +msgstr "0 minuti" + +msgid "Forbidden" +msgstr "" + +msgid "CSRF verification failed. Request aborted." +msgstr "" + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "" + +msgid "No year specified" +msgstr "La yaro ne specizigesis" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "La monato ne specizigesis" + +msgid "No day specified" +msgstr "La dio ne specizigesis" + +msgid "No week specified" +msgstr "La semano ne specizigesis" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Ne esas %(verbose_name_plural)s disponebla" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"La futura %(verbose_name_plural)s ne esas disponebla pro ke %(class_name)s." +"allow_future esas False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "Onu ne permisas direktorio indexi hike." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Indexi di %(directory)s" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/is/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/is/LC_MESSAGES/django.po new file mode 100644 index 0000000..be73f3d --- /dev/null +++ b/external_sources/django/django/conf/locale/is/LC_MESSAGES/django.po @@ -0,0 +1,1302 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# db999e1e0e51ac90b00482cb5db0f98b_32999f5 <3ec5202d5df408dd2f95d8c361fed970_5926>, 2011 +# Hafsteinn Einarsson , 2011-2012 +# Jannis Leidel , 2011 +# Matt R, 2018 +# saevarom , 2011 +# saevarom , 2013,2015 +# Thordur Sigurdsson , 2016-2021 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-09-21 10:22+0200\n" +"PO-Revision-Date: 2021-11-18 21:19+0000\n" +"Last-Translator: Transifex Bot <>\n" +"Language-Team: Icelandic (http://www.transifex.com/django/django/language/" +"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" + +msgid "Afrikaans" +msgstr "Afríkanska" + +msgid "Arabic" +msgstr "Arabíska" + +msgid "Algerian Arabic" +msgstr "" + +msgid "Asturian" +msgstr "Astúríska" + +msgid "Azerbaijani" +msgstr "Aserbaídsjíska" + +msgid "Bulgarian" +msgstr "Búlgarska" + +msgid "Belarusian" +msgstr "Hvítrússneska" + +msgid "Bengali" +msgstr "Bengalska" + +msgid "Breton" +msgstr "Bretónska" + +msgid "Bosnian" +msgstr "Bosníska" + +msgid "Catalan" +msgstr "Katalónska" + +msgid "Czech" +msgstr "Tékkneska" + +msgid "Welsh" +msgstr "Velska" + +msgid "Danish" +msgstr "Danska" + +msgid "German" +msgstr "Þýska" + +msgid "Lower Sorbian" +msgstr "Neðri sorbíska" + +msgid "Greek" +msgstr "Gríska" + +msgid "English" +msgstr "Enska" + +msgid "Australian English" +msgstr "Áströlsk enska" + +msgid "British English" +msgstr "Bresk enska" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Spænska" + +msgid "Argentinian Spanish" +msgstr "Argentínsk spænska" + +msgid "Colombian Spanish" +msgstr "Kólumbísk spænska" + +msgid "Mexican Spanish" +msgstr "Mexíkósk spænska" + +msgid "Nicaraguan Spanish" +msgstr "Níkaragva spænska" + +msgid "Venezuelan Spanish" +msgstr "Venesúelsk spænska" + +msgid "Estonian" +msgstr "Eistneska" + +msgid "Basque" +msgstr "Baskneska" + +msgid "Persian" +msgstr "Persneska" + +msgid "Finnish" +msgstr "Finnska" + +msgid "French" +msgstr "Franska" + +msgid "Frisian" +msgstr "Frísneska" + +msgid "Irish" +msgstr "Írska" + +msgid "Scottish Gaelic" +msgstr "Skosk gelíska" + +msgid "Galician" +msgstr "Galíska" + +msgid "Hebrew" +msgstr "Hebreska" + +msgid "Hindi" +msgstr "Hindí" + +msgid "Croatian" +msgstr "Króatíska" + +msgid "Upper Sorbian" +msgstr "Efri sorbíska" + +msgid "Hungarian" +msgstr "Ungverska" + +msgid "Armenian" +msgstr "Armenska" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indónesíska" + +msgid "Igbo" +msgstr "" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Íslenska" + +msgid "Italian" +msgstr "Ítalska" + +msgid "Japanese" +msgstr "Japanska" + +msgid "Georgian" +msgstr "Georgíska" + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "Kasakska" + +msgid "Khmer" +msgstr "Kmeríska" + +msgid "Kannada" +msgstr "Kannadanska" + +msgid "Korean" +msgstr "Kóreska" + +msgid "Kyrgyz" +msgstr "" + +msgid "Luxembourgish" +msgstr "Lúxemborgíska" + +msgid "Lithuanian" +msgstr "Litháenska" + +msgid "Latvian" +msgstr "Lettneska" + +msgid "Macedonian" +msgstr "Makedónska" + +msgid "Malayalam" +msgstr "Malajalamska" + +msgid "Mongolian" +msgstr "Mongólska" + +msgid "Marathi" +msgstr "Maratí" + +msgid "Malay" +msgstr "" + +msgid "Burmese" +msgstr "Búrmíska" + +msgid "Norwegian Bokmål" +msgstr "Norskt bókmál" + +msgid "Nepali" +msgstr "Nepalska" + +msgid "Dutch" +msgstr "Hollenska" + +msgid "Norwegian Nynorsk" +msgstr "Nýnorska" + +msgid "Ossetic" +msgstr "Ossetíska" + +msgid "Punjabi" +msgstr "Púndjabíska" + +msgid "Polish" +msgstr "Pólska" + +msgid "Portuguese" +msgstr "Portúgalska" + +msgid "Brazilian Portuguese" +msgstr "Brasilísk portúgalska" + +msgid "Romanian" +msgstr "Rúmenska" + +msgid "Russian" +msgstr "Rússneska" + +msgid "Slovak" +msgstr "Slóvakíska" + +msgid "Slovenian" +msgstr "Slóvenska" + +msgid "Albanian" +msgstr "Albanska" + +msgid "Serbian" +msgstr "Serbneska" + +msgid "Serbian Latin" +msgstr "Serbnesk latína" + +msgid "Swedish" +msgstr "Sænska" + +msgid "Swahili" +msgstr "Svahílí" + +msgid "Tamil" +msgstr "Tamílska" + +msgid "Telugu" +msgstr "Telúgúska" + +msgid "Tajik" +msgstr "" + +msgid "Thai" +msgstr "Tælenska" + +msgid "Turkmen" +msgstr "" + +msgid "Turkish" +msgstr "Tyrkneska" + +msgid "Tatar" +msgstr "Tataríska" + +msgid "Udmurt" +msgstr "Údmúrt" + +msgid "Ukrainian" +msgstr "Úkraínska" + +msgid "Urdu" +msgstr "Úrdú" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "Víetnamska" + +msgid "Simplified Chinese" +msgstr "Einfölduð kínverska " + +msgid "Traditional Chinese" +msgstr "Hefðbundin kínverska" + +msgid "Messages" +msgstr "Skilaboð" + +msgid "Site Maps" +msgstr "" + +msgid "Static Files" +msgstr "" + +msgid "Syndication" +msgstr "" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "Þetta síðunúmer er ekki heiltala" + +msgid "That page number is less than 1" +msgstr "Þetta síðunúmer er minna en 1" + +msgid "That page contains no results" +msgstr "Þessi síða hefur engar niðurstöður" + +msgid "Enter a valid value." +msgstr "Sláðu inn gilt gildi." + +msgid "Enter a valid URL." +msgstr "Sláðu inn gilt veffang (URL)." + +msgid "Enter a valid integer." +msgstr "Sláðu inn gilda heiltölu." + +msgid "Enter a valid email address." +msgstr "Sláðu inn gilt netfang." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Settu inn gildan vefslóðartitil sem samanstendur af latneskum bókstöfum, " +"númerin, undirstrikum og bandstrikum." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Settu inn gildan vefslóðartitil sem má innihalda unicode bókstafi, " +"tölustafi, undirstrik og bandstrik." + +msgid "Enter a valid IPv4 address." +msgstr "Sláðu inn gilda IPv4 tölu." + +msgid "Enter a valid IPv6 address." +msgstr "Sláðu inn gilt IPv6 vistfang." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Sláðu inn gilt IPv4 eða IPv6 vistfang." + +msgid "Enter only digits separated by commas." +msgstr "Skrifaðu einungis tölur aðskildar með kommum." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Gakktu úr skugga um að gildi sé %(limit_value)s (það er %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" +"Gakktu úr skugga um að gildið sé minna en eða jafnt og %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" +"Gakktu úr skugga um að gildið sé stærra en eða jafnt og %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Gildið má minnst vera %(limit_value)d stafur að lengd (það er %(show_value)d " +"nú)" +msgstr[1] "" +"Gildið má minnst vera %(limit_value)d stafir að lengd (það er %(show_value)d " +"nú)" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Gildið má mest vera %(limit_value)d stafur að lengd (það er %(show_value)d " +"nú)" +msgstr[1] "" +"Gildið má mest vera %(limit_value)d stafir að lengd (það er %(show_value)d " +"nú)" + +msgid "Enter a number." +msgstr "Sláðu inn tölu." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Gildið má ekki hafa fleiri en %(max)s tölu." +msgstr[1] "Gildið má ekki hafa fleiri en %(max)s tölur." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Gildið má ekki hafa meira en %(max)s tugatölustaf (decimal places)." +msgstr[1] "" +"Gildið má ekki hafa meira en %(max)s tugatölustafi (decimal places)." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "Gildið má ekki hafa fleiri en %(max)s tölu fyrir tugabrotskil." +msgstr[1] "Gildið má ekki hafa fleiri en %(max)s tölur fyrir tugabrotskil." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Skrár með endingunni „%(extension)s“ eru ekki leyfðar. Leyfilegar endingar " +"eru: „%(allowed_extensions)s“„." + +msgid "Null characters are not allowed." +msgstr "Núlltákn eru ekki leyfileg." + +msgid "and" +msgstr "og" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s með þessi %(field_labels)s er nú þegar til." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Gildið %(value)r er ógilt." + +msgid "This field cannot be null." +msgstr "Þessi reitur getur ekki haft tómgildi (null)." + +msgid "This field cannot be blank." +msgstr "Þessi reitur má ekki vera tómur." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s með þetta %(field_label)s er nú þegar til." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s verður að vera einkvæmt fyrir %(date_field_label)s " +"%(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Reitur af gerð: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "„%(value)s“ verður að vera annaðhvort satt eða ósatt." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "„%(value)s“ verður að vera eitt eftirtalinna: True, False eða None." + +msgid "Boolean (Either True or False)" +msgstr "Boole-gildi (True eða False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Strengur (mest %(max_length)s)" + +msgid "Comma-separated integers" +msgstr "Heiltölur aðgreindar með kommum" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"„%(value)s“ er ógilt dagsetningarsnið. Það verður að vera á sniðinu YYYY-MM-" +"DD." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "„%(value)s“ hefur rétt snið (YYYY-MM-DD) en dagsetningin er ógild." + +msgid "Date (without time)" +msgstr "Dagsetning (án tíma)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"„%(value)s“ hefur ógilt snið. Það verður að vera á sniðinu: YYYY-MM-DD HH:" +"MM[:ss[.uuuuuu]][TZ]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"„%(value)s“ hefur rétt snið (YYYY-MM-DD HH:MM [:ss[.uuuuuu]][TZ]) en það er " +"ógild dagsetning/tími." + +msgid "Date (with time)" +msgstr "Dagsetning (með tíma)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "„%(value)s“ verður að vera heiltala." + +msgid "Decimal number" +msgstr "Tugatala" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"„%(value)s“ er á ógildu sniði. Það verður að vera á sniðinu [DD] " +"[[HH:]MM:]ss[.uuuuuu]." + +msgid "Duration" +msgstr "Tímalengd" + +msgid "Email address" +msgstr "Netfang" + +msgid "File path" +msgstr "Skjalaslóð" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "„%(value)s“ verður að vera fleytitala." + +msgid "Floating point number" +msgstr "Fleytitala (floating point number)" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "Gildi „%(value)s“ verður að vera heiltala." + +msgid "Integer" +msgstr "Heiltala" + +msgid "Big (8 byte) integer" +msgstr "Stór (8 bæta) heiltala" + +msgid "Small integer" +msgstr "Lítil heiltala" + +msgid "IPv4 address" +msgstr "IPv4 vistfang" + +msgid "IP address" +msgstr "IP tala" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "„%(value)s“ verður að vera eitt eftirtalinna: None, True eða False." + +msgid "Boolean (Either True, False or None)" +msgstr "Boole-gildi (True, False eða None)" + +msgid "Positive big integer" +msgstr "Jákvæð stór heiltala" + +msgid "Positive integer" +msgstr "Jákvæð heiltala" + +msgid "Positive small integer" +msgstr "Jákvæð lítil heiltala" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slögg (allt að %(max_length)s)" + +msgid "Text" +msgstr "Texti" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"„%(value)s“ er á ógildu sniði. Það verður að vera á sniðinu HH:MM[:ss[." +"uuuuuu]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"„%(value)s“ er á réttu sniði (HH:MM[:ss[.uuuuuu]]), en það er ógild " +"dagsetning/tími." + +msgid "Time" +msgstr "Tími" + +msgid "URL" +msgstr "Veffang" + +msgid "Raw binary data" +msgstr "Hrá tvíundargögn (binary data)" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "„%(value)s“ er ekki gilt UUID." + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "Skrá" + +msgid "Image" +msgstr "Mynd" + +msgid "A JSON object" +msgstr "JSON hlutur" + +msgid "Value must be valid JSON." +msgstr "Gildi verður að vera gilt JSON." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "%(model)s hlutur með %(field)s %(value)r er ekki til." + +msgid "Foreign Key (type determined by related field)" +msgstr "Ytri lykill (Gerð ákveðin af skyldum reit)" + +msgid "One-to-one relationship" +msgstr "Einn-á-einn samband." + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s samband" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s sambönd" + +msgid "Many-to-many relationship" +msgstr "Margir-til-margra samband." + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Þennan reit þarf að fylla út." + +msgid "Enter a whole number." +msgstr "Sláðu inn heiltölu." + +msgid "Enter a valid date." +msgstr "Sláðu inn gilda dagsetningu." + +msgid "Enter a valid time." +msgstr "Sláðu inn gilda tímasetningu." + +msgid "Enter a valid date/time." +msgstr "Sláðu inn gilda dagsetningu ásamt tíma." + +msgid "Enter a valid duration." +msgstr "Sláðu inn gilt tímabil." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Fjöldi daga verður að vera á milli {min_days} og {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Engin skrá var send. Athugaðu kótunartegund á forminu (encoding type)." + +msgid "No file was submitted." +msgstr "Engin skrá var send." + +msgid "The submitted file is empty." +msgstr "Innsend skrá er tóm." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Skráarnafnið má mest vera %(max)d stafur að lengd (það er %(length)d nú)" +msgstr[1] "" +"Skráarnafnið má mest vera %(max)d stafir að lengd (það er %(length)d nú)" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Vinsamlegast sendu annað hvort inn skrá eða merktu í boxið, ekki bæði." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Halaðu upp gildri myndskrá. Skráin sem þú halaðir upp var annað hvort gölluð " +"eða ekki mynd." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Veldu gildan valmöguleika. %(value)s er ekki eitt af gildum valmöguleikum." + +msgid "Enter a list of values." +msgstr "Sláðu inn lista af gildum." + +msgid "Enter a complete value." +msgstr "Sláðu inn heilt gildi." + +msgid "Enter a valid UUID." +msgstr "Sláðu inn gilt UUID." + +msgid "Enter a valid JSON." +msgstr "Sláðu inn gilt JSON." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Falinn reitur %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" + +#, python-format +msgid "Please submit at most %d form." +msgid_plural "Please submit at most %d forms." +msgstr[0] "Vinsamlegast sendu ekki meira en %d form." +msgstr[1] "Vinsamlegast sendu ekki meira en %d form." + +#, python-format +msgid "Please submit at least %d form." +msgid_plural "Please submit at least %d forms." +msgstr[0] "Vinsamlegast sendu að minnsta kosta %d form." +msgstr[1] "Vinsamlegast sendu að minnsta kosta %d form." + +msgid "Order" +msgstr "Röð" + +msgid "Delete" +msgstr "Eyða" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Vinsamlegast leiðréttu tvítekin gögn í reit %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Vinsamlegast lagfærðu gögn í reit %(field)s, sem verða að vera einstök." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Vinsamlegast leiðréttu tvítekin gögn í reit %(field_name)s sem verða að vera " +"einstök fyrir %(lookup)s í %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Vinsamlegast lagfærðu tvítöldu gögnin fyrir neðan." + +msgid "The inline value did not match the parent instance." +msgstr "Innra gildið passar ekki við eiganda." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Veldu gildan valmöguleika. Valið virðist ekki vera eitt af gildum " +"valmöguleikum." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "„%(pk)s“ er ekki gilt gildi." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s er ekki hægt að túlka í tímabelti %(current_timezone)s, það " +"getur verið óljóst eða að það er ekki til." + +msgid "Clear" +msgstr "Hreinsa" + +msgid "Currently" +msgstr "Eins og er:" + +msgid "Change" +msgstr "Breyta" + +msgid "Unknown" +msgstr "Óþekkt" + +msgid "Yes" +msgstr "Já" + +msgid "No" +msgstr "Nei" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "já,nei,kannski" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d bæti" +msgstr[1] "%(size)d bæti" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "eftirmiðdegi" + +msgid "a.m." +msgstr "morgun" + +msgid "PM" +msgstr "Eftirmiðdegi" + +msgid "AM" +msgstr "Morgun" + +msgid "midnight" +msgstr "miðnætti" + +msgid "noon" +msgstr "hádegi" + +msgid "Monday" +msgstr "mánudagur" + +msgid "Tuesday" +msgstr "þriðjudagur" + +msgid "Wednesday" +msgstr "miðvikudagur" + +msgid "Thursday" +msgstr "fimmtudagur" + +msgid "Friday" +msgstr "föstudagur" + +msgid "Saturday" +msgstr "laugardagur" + +msgid "Sunday" +msgstr "sunnudagur" + +msgid "Mon" +msgstr "mán" + +msgid "Tue" +msgstr "þri" + +msgid "Wed" +msgstr "mið" + +msgid "Thu" +msgstr "fim" + +msgid "Fri" +msgstr "fös" + +msgid "Sat" +msgstr "lau" + +msgid "Sun" +msgstr "sun" + +msgid "January" +msgstr "janúar" + +msgid "February" +msgstr "febrúar" + +msgid "March" +msgstr "mars" + +msgid "April" +msgstr "apríl" + +msgid "May" +msgstr "maí" + +msgid "June" +msgstr "júní" + +msgid "July" +msgstr "júlí" + +msgid "August" +msgstr "ágúst" + +msgid "September" +msgstr "september" + +msgid "October" +msgstr "október" + +msgid "November" +msgstr "nóvember" + +msgid "December" +msgstr "desember" + +msgid "jan" +msgstr "jan" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "apr" + +msgid "may" +msgstr "maí" + +msgid "jun" +msgstr "jún" + +msgid "jul" +msgstr "júl" + +msgid "aug" +msgstr "ágú" + +msgid "sep" +msgstr "sep" + +msgid "oct" +msgstr "okt" + +msgid "nov" +msgstr "nóv" + +msgid "dec" +msgstr "des" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "jan." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "mars" + +msgctxt "abbrev. month" +msgid "April" +msgstr "apríl" + +msgctxt "abbrev. month" +msgid "May" +msgstr "maí" + +msgctxt "abbrev. month" +msgid "June" +msgstr "júní" + +msgctxt "abbrev. month" +msgid "July" +msgstr "júlí" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "ág." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "sept." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "okt." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "nóv." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "des." + +msgctxt "alt. month" +msgid "January" +msgstr "janúar" + +msgctxt "alt. month" +msgid "February" +msgstr "febrúar" + +msgctxt "alt. month" +msgid "March" +msgstr "mars" + +msgctxt "alt. month" +msgid "April" +msgstr "apríl" + +msgctxt "alt. month" +msgid "May" +msgstr "maí" + +msgctxt "alt. month" +msgid "June" +msgstr "júní" + +msgctxt "alt. month" +msgid "July" +msgstr "júlí" + +msgctxt "alt. month" +msgid "August" +msgstr "ágúst" + +msgctxt "alt. month" +msgid "September" +msgstr "september" + +msgctxt "alt. month" +msgid "October" +msgstr "október" + +msgctxt "alt. month" +msgid "November" +msgstr "nóvember" + +msgctxt "alt. month" +msgid "December" +msgstr "desember" + +msgid "This is not a valid IPv6 address." +msgstr "Þetta er ekki gilt IPv6 vistfang." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "eða" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "" +msgstr[1] "" + +msgid "Forbidden" +msgstr "" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF auðkenning tókst ekki." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Ef þú hefur stillt vafrann þinn til að gera „Referer“ hausa óvirka þarftu að " +"virkja þá aftur. Að minnsta kosti fyrir þetta vefsvæði, eða HTTPS tengingar " +"eða „same-origin“ fyrirspurnir." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Þú ert að fá þessi skilaboð því þetta vefsvæði þarfnast að CSRF kaka (e. " +"cookie) sé send þegar form eru send. Þessi kaka er nauðsynleg af " +"öryggisástæðum til að ganga úr skugga um að utanaðkomandi aðili sé ekki að " +"senda fyrirspurnir úr vafranum þínum." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Ef þú hefur stillt vafrann þinn til að gera kökur óvirkar þarftu að virkja " +"þær aftur. Að minnsta kosti fyrir þetta vefsvæði eða „same-origin“ " +"fyrirspurnir." + +msgid "More information is available with DEBUG=True." +msgstr "Meiri upplýsingar fást með DEBUG=True." + +msgid "No year specified" +msgstr "Ekkert ár tilgreint" + +msgid "Date out of range" +msgstr "Dagsetning utan tímabils" + +msgid "No month specified" +msgstr "Enginn mánuður tilgreindur" + +msgid "No day specified" +msgstr "Enginn dagur tilgreindur" + +msgid "No week specified" +msgstr "Engin vika tilgreind" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Ekkert %(verbose_name_plural)s í boði" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Framtíðar %(verbose_name_plural)s ekki í boði því %(class_name)s." +"allow_future er Ósatt." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "Ógilt snið dagsetningar „%(datestr)s“ gefið sniðið „%(format)s“" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Ekkert %(verbose_name)s sem uppfyllir skilyrði" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "Þetta er hvorki síðasta síða, né er hægt að breyta í heiltölu." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Ógild síða (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Tómur listi og „%(class_name)s.allow_empty“ er Ósatt." + +msgid "Directory indexes are not allowed here." +msgstr "Möppulistar eru ekki leyfðir hér." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "„%(path)s“ er ekki til" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Innihald %(directory)s " + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" +"Þú sérð þessa síðu vegna þess að þú hefur DEBUG=True í stillingunum þínum og hefur ekki sett upp " +"neinar vefslóðir." + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/is/__init__.py b/external_sources/django/django/conf/locale/is/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/is/formats.py b/external_sources/django/django/conf/locale/is/formats.py new file mode 100644 index 0000000..d0f71cf --- /dev/null +++ b/external_sources/django/django/conf/locale/is/formats.py @@ -0,0 +1,21 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j. F Y" +TIME_FORMAT = "H:i" +# DATETIME_FORMAT = +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j. F" +SHORT_DATE_FORMAT = "j.n.Y" +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "." +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/it/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/it/LC_MESSAGES/django.po new file mode 100644 index 0000000..ac26c5d --- /dev/null +++ b/external_sources/django/django/conf/locale/it/LC_MESSAGES/django.po @@ -0,0 +1,1367 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# 0d21a39e384d88c2313b89b5042c04cb, 2017 +# Carlo Miron , 2011 +# Carlo Miron , 2014 +# Carlo Miron , 2018-2019 +# Davide Targa , 2021 +# Denis Darii , 2011 +# Emanuele Di Giacomo, 2021 +# Flavio Curella , 2013,2016 +# Jannis Leidel , 2011 +# Themis Savvidis , 2013 +# Luciano De Falco Alfano, 2016 +# Marco Bonetti, 2014 +# Mirco Grillo , 2018,2020 +# Nicola Larosa , 2013 +# palmux , 2014-2015,2017,2021 +# Paolo Melchiorre , 2022-2023 +# Mattia Procopio , 2015 +# Riccardo Magliocchetti , 2017 +# Stefano Brentegani , 2014-2017 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-01-17 02:13-0600\n" +"PO-Revision-Date: 2023-04-25 06:49+0000\n" +"Last-Translator: Paolo Melchiorre , 2022-2023\n" +"Language-Team: Italian (http://www.transifex.com/django/django/language/" +"it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "Afrikaans" + +msgid "Arabic" +msgstr "Arabo" + +msgid "Algerian Arabic" +msgstr "Arabo Algerino" + +msgid "Asturian" +msgstr "Asturiano" + +msgid "Azerbaijani" +msgstr "Azero" + +msgid "Bulgarian" +msgstr "Bulgaro" + +msgid "Belarusian" +msgstr "Bielorusso" + +msgid "Bengali" +msgstr "Bengalese" + +msgid "Breton" +msgstr "Bretone" + +msgid "Bosnian" +msgstr "Bosniaco" + +msgid "Catalan" +msgstr "Catalano" + +msgid "Central Kurdish (Sorani)" +msgstr "Curdo centrale (Sorani)" + +msgid "Czech" +msgstr "Ceco" + +msgid "Welsh" +msgstr "Gallese" + +msgid "Danish" +msgstr "Danese" + +msgid "German" +msgstr "Tedesco" + +msgid "Lower Sorbian" +msgstr "Sorabo inferiore" + +msgid "Greek" +msgstr "Greco" + +msgid "English" +msgstr "Inglese" + +msgid "Australian English" +msgstr "Inglese Australiano" + +msgid "British English" +msgstr "Inglese britannico" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Spagnolo" + +msgid "Argentinian Spanish" +msgstr "Spagnolo Argentino" + +msgid "Colombian Spanish" +msgstr "Spagnolo Colombiano" + +msgid "Mexican Spanish" +msgstr "Spagnolo Messicano" + +msgid "Nicaraguan Spanish" +msgstr "Spagnolo Nicaraguense" + +msgid "Venezuelan Spanish" +msgstr "Spagnolo venezuelano" + +msgid "Estonian" +msgstr "Estone" + +msgid "Basque" +msgstr "Basco" + +msgid "Persian" +msgstr "Persiano" + +msgid "Finnish" +msgstr "Finlandese" + +msgid "French" +msgstr "Francese" + +msgid "Frisian" +msgstr "Frisone" + +msgid "Irish" +msgstr "Irlandese" + +msgid "Scottish Gaelic" +msgstr "Gaelico Scozzese" + +msgid "Galician" +msgstr "Galiziano" + +msgid "Hebrew" +msgstr "Ebraico" + +msgid "Hindi" +msgstr "Hindi" + +msgid "Croatian" +msgstr "Croato" + +msgid "Upper Sorbian" +msgstr "Sorabo superiore" + +msgid "Hungarian" +msgstr "Ungherese" + +msgid "Armenian" +msgstr "Armeno" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indonesiano" + +msgid "Igbo" +msgstr "Igbo" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Islandese" + +msgid "Italian" +msgstr "Italiano" + +msgid "Japanese" +msgstr "Giapponese" + +msgid "Georgian" +msgstr "Georgiano" + +msgid "Kabyle" +msgstr "Cabilo" + +msgid "Kazakh" +msgstr "Kazako" + +msgid "Khmer" +msgstr "Khmer" + +msgid "Kannada" +msgstr "Kannada" + +msgid "Korean" +msgstr "Coreano" + +msgid "Kyrgyz" +msgstr "Kirghiso" + +msgid "Luxembourgish" +msgstr "Lussemburghese" + +msgid "Lithuanian" +msgstr "Lituano" + +msgid "Latvian" +msgstr "Lettone" + +msgid "Macedonian" +msgstr "Macedone" + +msgid "Malayalam" +msgstr "Malayalam" + +msgid "Mongolian" +msgstr "Mongolo" + +msgid "Marathi" +msgstr "Marathi" + +msgid "Malay" +msgstr "Malese" + +msgid "Burmese" +msgstr "Birmano" + +msgid "Norwegian Bokmål" +msgstr "Norvegese Bokmål" + +msgid "Nepali" +msgstr "Nepali" + +msgid "Dutch" +msgstr "Olandese" + +msgid "Norwegian Nynorsk" +msgstr "Norvegese Nynorsk" + +msgid "Ossetic" +msgstr "Ossetico" + +msgid "Punjabi" +msgstr "Punjabi" + +msgid "Polish" +msgstr "Polacco" + +msgid "Portuguese" +msgstr "Portoghese" + +msgid "Brazilian Portuguese" +msgstr "Brasiliano Portoghese" + +msgid "Romanian" +msgstr "Rumeno" + +msgid "Russian" +msgstr "Russo" + +msgid "Slovak" +msgstr "Slovacco" + +msgid "Slovenian" +msgstr "Sloveno" + +msgid "Albanian" +msgstr "Albanese" + +msgid "Serbian" +msgstr "Serbo" + +msgid "Serbian Latin" +msgstr "Serbo Latino" + +msgid "Swedish" +msgstr "Svedese" + +msgid "Swahili" +msgstr "Swahili" + +msgid "Tamil" +msgstr "Tamil" + +msgid "Telugu" +msgstr "Telugu" + +msgid "Tajik" +msgstr "Tajik" + +msgid "Thai" +msgstr "Tailandese" + +msgid "Turkmen" +msgstr "Turkmeno" + +msgid "Turkish" +msgstr "Turco" + +msgid "Tatar" +msgstr "Tatar" + +msgid "Udmurt" +msgstr "Udmurt" + +msgid "Ukrainian" +msgstr "Ucraino" + +msgid "Urdu" +msgstr "Urdu" + +msgid "Uzbek" +msgstr "Uzbeko" + +msgid "Vietnamese" +msgstr "Vietnamita" + +msgid "Simplified Chinese" +msgstr "Cinese semplificato" + +msgid "Traditional Chinese" +msgstr "Cinese tradizionale" + +msgid "Messages" +msgstr "Messaggi" + +msgid "Site Maps" +msgstr "Mappa del sito" + +msgid "Static Files" +msgstr "File statici" + +msgid "Syndication" +msgstr "Aggregazione" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "..." + +msgid "That page number is not an integer" +msgstr "Quel numero di pagina non è un integer" + +msgid "That page number is less than 1" +msgstr "Quel numero di pagina è minore di 1" + +msgid "That page contains no results" +msgstr "Quella pagina non presenta alcun risultato" + +msgid "Enter a valid value." +msgstr "Inserisci un valore valido." + +msgid "Enter a valid URL." +msgstr "Inserisci un URL valido." + +msgid "Enter a valid integer." +msgstr "Inserire un numero intero valido." + +msgid "Enter a valid email address." +msgstr "Inserisci un indirizzo email valido." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Inserisci uno \"slug\" valido contenente lettere, cifre, sottolineati o " +"trattini." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Inserisci uno 'slug' valido contenente lettere, cifre, sottolineati o " +"trattini." + +msgid "Enter a valid IPv4 address." +msgstr "Inserisci un indirizzo IPv4 valido." + +msgid "Enter a valid IPv6 address." +msgstr "Inserisci un indirizzo IPv6 valido." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Inserisci un indirizzo IPv4 o IPv6 valido." + +msgid "Enter only digits separated by commas." +msgstr "Inserisci solo cifre separate da virgole." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Assicurati che questo valore sia %(limit_value)s (ora è %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Assicurati che questo valore sia minore o uguale a %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Assicurati che questo valore sia maggiore o uguale a %(limit_value)s." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "" +"Assicurarsi che questo valore sia un multiplo della dimensione di passo " +"%(limit_value)s." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Assicurati che questo valore contenga almeno %(limit_value)d carattere (ne " +"ha %(show_value)d)." +msgstr[1] "" +"Assicurati che questo valore contenga almeno %(limit_value)d caratteri (ne " +"ha %(show_value)d)." +msgstr[2] "" +"Assicurati che questo valore contenga almeno %(limit_value)d caratteri (ne " +"ha %(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Assicurati che questo valore non contenga più di %(limit_value)d carattere " +"(ne ha %(show_value)d)." +msgstr[1] "" +"Assicurati che questo valore non contenga più di %(limit_value)d caratteri " +"(ne ha %(show_value)d)." +msgstr[2] "" +"Assicurati che questo valore non contenga più di %(limit_value)d caratteri " +"(ne ha %(show_value)d)." + +msgid "Enter a number." +msgstr "Inserisci un numero." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Assicurati che non vi sia più di %(max)s cifra in totale." +msgstr[1] "Assicurati che non vi siano più di %(max)s cifre in totale." +msgstr[2] "Assicurati che non vi siano più di %(max)s cifre in totale." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Assicurati che non vi sia più di %(max)s cifra decimale." +msgstr[1] "Assicurati che non vi siano più di %(max)s cifre decimali." +msgstr[2] "Assicurati che non vi siano più di %(max)s cifre decimali." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "Assicurati che non vi sia più di %(max)s cifra prima della virgola." +msgstr[1] "" +"Assicurati che non vi siano più di %(max)s cifre prima della virgola." +msgstr[2] "" +"Assicurati che non vi siano più di %(max)s cifre prima della virgola." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Il file con estensione \"%(extension)s\" non e' permesso. Le estensioni " +"permesse sono: %(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "I caratteri null non sono ammessi." + +msgid "and" +msgstr "e" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s con questa %(field_labels)s esiste già." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "Il vincolo “%(name)s” è stato violato." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Il valore %(value)r non è una scelta valida." + +msgid "This field cannot be null." +msgstr "Questo campo non può essere nullo." + +msgid "This field cannot be blank." +msgstr "Questo campo non può essere vuoto." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s con questo %(field_label)s esiste già." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s deve essere unico per %(date_field_label)s %(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Campo di tipo: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "Il valore \"%(value)s\" deve essere True oppure False." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "Il valore di \"%(value)s\" deve essere True, False o None" + +msgid "Boolean (Either True or False)" +msgstr "Booleano (Vero o Falso)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Stringa (fino a %(max_length)s)" + +msgid "String (unlimited)" +msgstr "Stringa (illimitata)" + +msgid "Comma-separated integers" +msgstr "Interi separati da virgole" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"Il valore \"%(value)s\" ha un formato di data non valido. Deve essere nel " +"formato AAAA-MM-GG." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"Il valore di \"%(value)s\" ha il corretto formato (AAAA-MM-GG) ma non è una " +"data valida." + +msgid "Date (without time)" +msgstr "Data (senza ora)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"Il valore \"%(value)s\" ha un formato non valido. Deve essere nel formato " +"AAAA-MM-GG HH:MM[:ss[.uuuuuu]][TZ]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"Il valore di \"%(value)s\" ha il formato corretto (AAAA-MM-GG HH:MM[:ss[." +"uuuuuu]][TZ]) ma non è una data/ora valida." + +msgid "Date (with time)" +msgstr "Data (con ora)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "Il valore \"%(value)s\" deve essere un numero decimale." + +msgid "Decimal number" +msgstr "Numero decimale" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"Il valore \"%(value)s\" ha un formato non valido. Deve essere nel formato " +"[GG] [[HH:]MM:]ss[.uuuuuu]." + +msgid "Duration" +msgstr "Durata" + +msgid "Email address" +msgstr "Indirizzo email" + +msgid "File path" +msgstr "Percorso file" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "Il valore di \"%(value)s\" deve essere un numero a virgola mobile." + +msgid "Floating point number" +msgstr "Numero in virgola mobile" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "Il valore \"%(value)s\" deve essere un intero." + +msgid "Integer" +msgstr "Intero" + +msgid "Big (8 byte) integer" +msgstr "Intero grande (8 byte)" + +msgid "Small integer" +msgstr "Piccolo intero" + +msgid "IPv4 address" +msgstr "Indirizzo IPv4" + +msgid "IP address" +msgstr "Indirizzo IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "Il valore \"%(value)s\" deve essere None, True oppure False." + +msgid "Boolean (Either True, False or None)" +msgstr "Booleano (True, False o None)" + +msgid "Positive big integer" +msgstr "Intero positivo" + +msgid "Positive integer" +msgstr "Intero positivo" + +msgid "Positive small integer" +msgstr "Piccolo intero positivo" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (fino a %(max_length)s)" + +msgid "Text" +msgstr "Testo" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"Il valore di \"%(value)s\" ha un formato non valido. Deve essere nel formato " +"HH:MM[:ss[.uuuuuu]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"Il valore di \"%(value)s\" ha il corretto formato (HH:MM[:ss[.uuuuuu]]) ma " +"non è un orario valido." + +msgid "Time" +msgstr "Ora" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Dati binari grezzi" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "\"%(value)s\" non è uno UUID valido." + +msgid "Universally unique identifier" +msgstr "Identificatore univoco universale" + +msgid "File" +msgstr "File" + +msgid "Image" +msgstr "Immagine" + +msgid "A JSON object" +msgstr "Un oggetto JSON" + +msgid "Value must be valid JSON." +msgstr "Il valore deve essere un JSON valido." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "L'istanza del modello %(model)s con %(field)s %(value)r non esiste." + +msgid "Foreign Key (type determined by related field)" +msgstr "Foreign Key (tipo determinato dal campo collegato)" + +msgid "One-to-one relationship" +msgstr "Relazione uno a uno" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "relazione %(from)s-%(to)s" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "relazioni %(from)s-%(to)s" + +msgid "Many-to-many relationship" +msgstr "Relazione molti a molti" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Questo campo è obbligatorio." + +msgid "Enter a whole number." +msgstr "Inserisci un numero intero." + +msgid "Enter a valid date." +msgstr "Inserisci una data valida." + +msgid "Enter a valid time." +msgstr "Inserisci un'ora valida." + +msgid "Enter a valid date/time." +msgstr "Inserisci una data/ora valida." + +msgid "Enter a valid duration." +msgstr "Inserisci una durata valida." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Il numero di giorni deve essere compreso tra {min_days} e {max_days}" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Non è stato inviato alcun file. Verifica il tipo di codifica sul form." + +msgid "No file was submitted." +msgstr "Nessun file è stato inviato." + +msgid "The submitted file is empty." +msgstr "Il file inviato è vuoto." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Assicurati che questo nome di file non contenga più di %(max)d carattere (ne " +"ha %(length)d)." +msgstr[1] "" +"Assicurati che questo nome di file non contenga più di %(max)d caratteri (ne " +"ha %(length)d)." +msgstr[2] "" +"Assicurati che questo nome di file non contenga più di %(max)d caratteri (ne " +"ha %(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"È possibile inviare un file o selezionare la casella \"svuota\", ma non " +"entrambi." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Carica un'immagine valida. Il file caricato non è un'immagine o è " +"un'immagine danneggiata." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Scegli un'opzione valida. %(value)s non è tra quelle disponibili." + +msgid "Enter a list of values." +msgstr "Inserisci una lista di valori." + +msgid "Enter a complete value." +msgstr "Inserisci un valore completo." + +msgid "Enter a valid UUID." +msgstr "Inserire un UUID valido." + +msgid "Enter a valid JSON." +msgstr "Inserisci un JSON valido." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Campo nascosto %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"Mancano i dati ManagementForm o sono stati manomessi. Campi mancanti: " +"%(field_names)s. Potrebbe essere necessario inviare una segnalazione di " +"errore se il problema persiste." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Si prega di inviare al massimo %(num)d form." +msgstr[1] "Si prega di inviare al massimo %(num)d form." +msgstr[2] "Si prega di inviare al massimo %(num)d form." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Si prega di inviare almeno %(num)d form." +msgstr[1] "Si prega di inviare almeno %(num)d form." +msgstr[2] "Si prega di inviare almeno %(num)d form." + +msgid "Order" +msgstr "Ordine" + +msgid "Delete" +msgstr "Cancella" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Si prega di correggere i dati duplicati di %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Si prega di correggere i dati duplicati di %(field)s, che deve essere unico." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Si prega di correggere i dati duplicati di %(field_name)s che deve essere " +"unico/a per %(lookup)s in %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Si prega di correggere i dati duplicati qui sotto." + +msgid "The inline value did not match the parent instance." +msgstr "Il valore inline non corrisponde all'istanza padre." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Scegli un'opzione valida. La scelta effettuata non compare tra quelle " +"disponibili." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "\"%(pk)s\" non è un valore valido." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +" %(datetime)s non può essere interpretato nel fuso orario " +"%(current_timezone)s: potrebbe essere ambiguo o non esistere." + +msgid "Clear" +msgstr "Svuota" + +msgid "Currently" +msgstr "Attualmente" + +msgid "Change" +msgstr "Cambia" + +msgid "Unknown" +msgstr "Sconosciuto" + +msgid "Yes" +msgstr "Sì" + +msgid "No" +msgstr "No" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "sì,no,forse" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d byte" +msgstr[1] "%(size)d bytes" +msgstr[2] "%(size)d bytes" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "mezzanotte" + +msgid "noon" +msgstr "mezzogiorno" + +msgid "Monday" +msgstr "Lunedì" + +msgid "Tuesday" +msgstr "Martedì" + +msgid "Wednesday" +msgstr "Mercoledì" + +msgid "Thursday" +msgstr "Giovedì" + +msgid "Friday" +msgstr "Venerdì" + +msgid "Saturday" +msgstr "Sabato" + +msgid "Sunday" +msgstr "Domenica" + +msgid "Mon" +msgstr "Lun" + +msgid "Tue" +msgstr "Mar" + +msgid "Wed" +msgstr "Mer" + +msgid "Thu" +msgstr "Gio" + +msgid "Fri" +msgstr "Ven" + +msgid "Sat" +msgstr "Sab" + +msgid "Sun" +msgstr "Dom" + +msgid "January" +msgstr "Gennaio" + +msgid "February" +msgstr "Febbraio" + +msgid "March" +msgstr "Marzo" + +msgid "April" +msgstr "Aprile" + +msgid "May" +msgstr "Maggio" + +msgid "June" +msgstr "Giugno" + +msgid "July" +msgstr "Luglio" + +msgid "August" +msgstr "Agosto" + +msgid "September" +msgstr "Settembre" + +msgid "October" +msgstr "Ottobre" + +msgid "November" +msgstr "Novembre" + +msgid "December" +msgstr "Dicembre" + +msgid "jan" +msgstr "gen" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "apr" + +msgid "may" +msgstr "mag" + +msgid "jun" +msgstr "giu" + +msgid "jul" +msgstr "lug" + +msgid "aug" +msgstr "ago" + +msgid "sep" +msgstr "set" + +msgid "oct" +msgstr "ott" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "dic" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Gen." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Marzo" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Aprile" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Maggio" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Giugno" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Luglio" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Ago." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Set." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Ott." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Dic." + +msgctxt "alt. month" +msgid "January" +msgstr "Gennaio" + +msgctxt "alt. month" +msgid "February" +msgstr "Febbraio" + +msgctxt "alt. month" +msgid "March" +msgstr "Marzo" + +msgctxt "alt. month" +msgid "April" +msgstr "Aprile" + +msgctxt "alt. month" +msgid "May" +msgstr "Maggio" + +msgctxt "alt. month" +msgid "June" +msgstr "Giugno" + +msgctxt "alt. month" +msgid "July" +msgstr "Luglio" + +msgctxt "alt. month" +msgid "August" +msgstr "Agosto" + +msgctxt "alt. month" +msgid "September" +msgstr "Settembre" + +msgctxt "alt. month" +msgid "October" +msgstr "Ottobre" + +msgctxt "alt. month" +msgid "November" +msgstr "Novembre" + +msgctxt "alt. month" +msgid "December" +msgstr "Dicembre" + +msgid "This is not a valid IPv6 address." +msgstr "Questo non è un indirizzo IPv6 valido." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "o" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d anno" +msgstr[1] "%(num)d anni" +msgstr[2] "%(num)d anni" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d mese" +msgstr[1] "%(num)d mesi" +msgstr[2] "%(num)d mesi" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d settimana" +msgstr[1] "%(num)d settimane" +msgstr[2] "%(num)d settimane" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d giorno" +msgstr[1] "%(num)d giorni" +msgstr[2] "%(num)d giorni" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d ora" +msgstr[1] "%(num)d ore" +msgstr[2] "%(num)d ore" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d minuto" +msgstr[1] "%(num)d minuti" +msgstr[2] "%(num)d minuti" + +msgid "Forbidden" +msgstr "Proibito" + +msgid "CSRF verification failed. Request aborted." +msgstr "Verifica CSRF fallita. Richiesta interrotta." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Vedi questo messaggio perchè questo sito HTTPS richiede l'invio da parte del " +"tuo browser del “Referer header”, che non è invece stato inviato. Questo " +"header è richiesto per motivi di sicurezza, per assicurare che il tuo " +"browser non sia stato sabotato da terzi." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Se hai configurato il tuo browser web per disattivare l'invio delle " +"intestazioni \"Referer\", riattiva questo invio, almeno per questo sito, o " +"per le connessioni HTTPS, o per le connessioni \"same-origin\"." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Se usi il tag o includi " +"header 'Referrer-Policy: no-referrer', per favore rimuovili. Per la " +"protezione CSRF è necessario eseguire un controllo rigoroso sull'header " +"'Referer'. Se ti preoccupano le ricadute sulla privacy, puoi ricorrere ad " +"alternative come per i link a siti di terze parti." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Stai vedendo questo messaggio perché questo sito richiede un cookie CSRF " +"quando invii dei form. Questo cookie è necessario per ragioni di sicurezza, " +"per assicurare che il tuo browser non sia stato dirottato da terze parti." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Se hai configurato il tuo browser web per disattivare l'invio dei cookies, " +"riattivalo almeno per questo sito, o per connessioni \"same-origin\"" + +msgid "More information is available with DEBUG=True." +msgstr "Maggiorni informazioni sono disponibili con DEBUG=True" + +msgid "No year specified" +msgstr "Anno non specificato" + +msgid "Date out of range" +msgstr "Data al di fuori dell'intervallo" + +msgid "No month specified" +msgstr "Mese non specificato" + +msgid "No day specified" +msgstr "Giorno non specificato" + +msgid "No week specified" +msgstr "Settimana non specificata" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Nessun %(verbose_name_plural)s disponibile" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"%(verbose_name_plural)s futuri/e non disponibili/e poichè %(class_name)s." +"allow_future è False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "Data non valida \"%(datestr)s\" con il formato \"%(format)s\"" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Trovato nessun %(verbose_name)s corrispondente alla query" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "La pagina non è \"last\", né può essere convertita in un int." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Pagina non valida (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Lista vuota e \"%(class_name)s.allow_empty\" è False." + +msgid "Directory indexes are not allowed here." +msgstr "Indici di directory non sono consentiti qui." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "\"%(path)s\" non esiste" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Indice di %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "Installazione completata con successo! Congratulazioni!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Leggi le note di rilascio per Django " +"%(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Stai vedendo questa pagina perché hai impostato DEBUG=True nel tuo file di configurazione e non hai " +"configurato nessun URL." + +msgid "Django Documentation" +msgstr "Documentazione di Django" + +msgid "Topics, references, & how-to’s" +msgstr "Temi, riferimenti, & guide" + +msgid "Tutorial: A Polling App" +msgstr "Tutorial: un'app per sondaggi" + +msgid "Get started with Django" +msgstr "Iniziare con Django" + +msgid "Django Community" +msgstr "La Community di Django" + +msgid "Connect, get help, or contribute" +msgstr "Connettiti, chiedi aiuto, o contribuisci." diff --git a/external_sources/django/django/conf/locale/it/__init__.py b/external_sources/django/django/conf/locale/it/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/it/formats.py b/external_sources/django/django/conf/locale/it/formats.py new file mode 100644 index 0000000..bb9e027 --- /dev/null +++ b/external_sources/django/django/conf/locale/it/formats.py @@ -0,0 +1,43 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "d F Y" # 25 Ottobre 2006 +TIME_FORMAT = "H:i" # 14:30 +DATETIME_FORMAT = "l d F Y H:i" # Mercoledì 25 Ottobre 2006 14:30 +YEAR_MONTH_FORMAT = "F Y" # Ottobre 2006 +MONTH_DAY_FORMAT = "j F" # 25 Ottobre +SHORT_DATE_FORMAT = "d/m/Y" # 25/12/2009 +SHORT_DATETIME_FORMAT = "d/m/Y H:i" # 25/10/2009 14:30 +FIRST_DAY_OF_WEEK = 1 # Lunedì + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d/%m/%Y", # '25/10/2006' + "%Y/%m/%d", # '2006/10/25' + "%d-%m-%Y", # '25-10-2006' + "%Y-%m-%d", # '2006-10-25' + "%d-%m-%y", # '25-10-06' + "%d/%m/%y", # '25/10/06' +] +DATETIME_INPUT_FORMATS = [ + "%d/%m/%Y %H:%M:%S", # '25/10/2006 14:30:59' + "%d/%m/%Y %H:%M:%S.%f", # '25/10/2006 14:30:59.000200' + "%d/%m/%Y %H:%M", # '25/10/2006 14:30' + "%d/%m/%y %H:%M:%S", # '25/10/06 14:30:59' + "%d/%m/%y %H:%M:%S.%f", # '25/10/06 14:30:59.000200' + "%d/%m/%y %H:%M", # '25/10/06 14:30' + "%Y-%m-%d %H:%M:%S", # '2006-10-25 14:30:59' + "%Y-%m-%d %H:%M:%S.%f", # '2006-10-25 14:30:59.000200' + "%Y-%m-%d %H:%M", # '2006-10-25 14:30' + "%d-%m-%Y %H:%M:%S", # '25-10-2006 14:30:59' + "%d-%m-%Y %H:%M:%S.%f", # '25-10-2006 14:30:59.000200' + "%d-%m-%Y %H:%M", # '25-10-2006 14:30' + "%d-%m-%y %H:%M:%S", # '25-10-06 14:30:59' + "%d-%m-%y %H:%M:%S.%f", # '25-10-06 14:30:59.000200' + "%d-%m-%y %H:%M", # '25-10-06 14:30' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "." +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/ja/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/ja/LC_MESSAGES/django.po new file mode 100644 index 0000000..ca8a726 --- /dev/null +++ b/external_sources/django/django/conf/locale/ja/LC_MESSAGES/django.po @@ -0,0 +1,1331 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# xiu1 , 2016 +# tadasu , 2020 +# Goto Hayato , 2021 +# Goto Hayato , 2019 +# Hiroki Sawano, 2022 +# Jannis Leidel , 2011 +# Kamiyama Satoshi, 2021 +# Kentaro Matsuzaki , 2015 +# Masashi SHIBATA , 2017 +# Nikita K , 2019 +# Shinichi Katsumata , 2019 +# Shinya Okano , 2012-2019,2021,2023-2024 +# TANIGUCHI Taichi, 2022 +# Takuro Onoue , 2020 +# Takuya N , 2020 +# Tetsuya Morimoto , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 06:49+0000\n" +"Last-Translator: Shinya Okano , " +"2012-2019,2021,2023-2024\n" +"Language-Team: Japanese (http://app.transifex.com/django/django/language/" +"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" + +msgid "Afrikaans" +msgstr "アフリカーンス語" + +msgid "Arabic" +msgstr "アラビア語" + +msgid "Algerian Arabic" +msgstr "アラビア語(アルジェリア)" + +msgid "Asturian" +msgstr "アストゥリアス語" + +msgid "Azerbaijani" +msgstr "アゼルバイジャン語" + +msgid "Bulgarian" +msgstr "ブルガリア語" + +msgid "Belarusian" +msgstr "ベラルーシ語" + +msgid "Bengali" +msgstr "ベンガル語" + +msgid "Breton" +msgstr "ブルトン語" + +msgid "Bosnian" +msgstr "ボスニア語" + +msgid "Catalan" +msgstr "カタロニア語" + +msgid "Central Kurdish (Sorani)" +msgstr "中央クルド語 (ソラニー語)" + +msgid "Czech" +msgstr "チェコ語" + +msgid "Welsh" +msgstr "ウェールズ語" + +msgid "Danish" +msgstr "デンマーク語" + +msgid "German" +msgstr "ドイツ語" + +msgid "Lower Sorbian" +msgstr "低地ソルブ語" + +msgid "Greek" +msgstr "ギリシャ語" + +msgid "English" +msgstr "英語(米国)" + +msgid "Australian English" +msgstr "英語(オーストラリア)" + +msgid "British English" +msgstr "英語(英国)" + +msgid "Esperanto" +msgstr "エスペラント語" + +msgid "Spanish" +msgstr "スペイン語" + +msgid "Argentinian Spanish" +msgstr "アルゼンチンスペイン語" + +msgid "Colombian Spanish" +msgstr "コロンビアスペイン語" + +msgid "Mexican Spanish" +msgstr "メキシコスペイン語" + +msgid "Nicaraguan Spanish" +msgstr "ニカラグアスペイン語" + +msgid "Venezuelan Spanish" +msgstr "ベネズエラスペイン語" + +msgid "Estonian" +msgstr "エストニア語" + +msgid "Basque" +msgstr "バスク語" + +msgid "Persian" +msgstr "ペルシア語" + +msgid "Finnish" +msgstr "フィンランド語" + +msgid "French" +msgstr "フランス語" + +msgid "Frisian" +msgstr "フリジア語" + +msgid "Irish" +msgstr "アイルランド語" + +msgid "Scottish Gaelic" +msgstr "ゲール語(スコットランド)" + +msgid "Galician" +msgstr "ガリシア語" + +msgid "Hebrew" +msgstr "ヘブライ語" + +msgid "Hindi" +msgstr "ヒンディー語" + +msgid "Croatian" +msgstr "クロアチア語" + +msgid "Upper Sorbian" +msgstr "高地ソルブ語" + +msgid "Hungarian" +msgstr "ハンガリー語" + +msgid "Armenian" +msgstr "アルメニア" + +msgid "Interlingua" +msgstr "インターリングア" + +msgid "Indonesian" +msgstr "インドネシア語" + +msgid "Igbo" +msgstr "イグボ語" + +msgid "Ido" +msgstr "イド語" + +msgid "Icelandic" +msgstr "アイスランド語" + +msgid "Italian" +msgstr "イタリア語" + +msgid "Japanese" +msgstr "日本語" + +msgid "Georgian" +msgstr "グルジア語" + +msgid "Kabyle" +msgstr "カビル語" + +msgid "Kazakh" +msgstr "カザフ語" + +msgid "Khmer" +msgstr "クメール語" + +msgid "Kannada" +msgstr "カンナダ語" + +msgid "Korean" +msgstr "韓国語" + +msgid "Kyrgyz" +msgstr "キルギス語" + +msgid "Luxembourgish" +msgstr "ルクセンブルグ語" + +msgid "Lithuanian" +msgstr "リトアニア語" + +msgid "Latvian" +msgstr "ラトビア語" + +msgid "Macedonian" +msgstr "マケドニア語" + +msgid "Malayalam" +msgstr "マラヤーラム語" + +msgid "Mongolian" +msgstr "モンゴル語" + +msgid "Marathi" +msgstr "マラーティー語" + +msgid "Malay" +msgstr "マレー語" + +msgid "Burmese" +msgstr "ビルマ語" + +msgid "Norwegian Bokmål" +msgstr "ノルウェーのブークモール" + +msgid "Nepali" +msgstr "ネパール語" + +msgid "Dutch" +msgstr "オランダ語" + +msgid "Norwegian Nynorsk" +msgstr "ノルウェーのニーノシュク" + +msgid "Ossetic" +msgstr "オセット語" + +msgid "Punjabi" +msgstr "パンジャブ語" + +msgid "Polish" +msgstr "ポーランド語" + +msgid "Portuguese" +msgstr "ポルトガル語" + +msgid "Brazilian Portuguese" +msgstr "ブラジルポルトガル語" + +msgid "Romanian" +msgstr "ルーマニア語" + +msgid "Russian" +msgstr "ロシア語" + +msgid "Slovak" +msgstr "スロバキア語" + +msgid "Slovenian" +msgstr "スロヴェニア語" + +msgid "Albanian" +msgstr "アルバニア語" + +msgid "Serbian" +msgstr "セルビア語" + +msgid "Serbian Latin" +msgstr "セルビア語ラテン文字" + +msgid "Swedish" +msgstr "スウェーデン語" + +msgid "Swahili" +msgstr "スワヒリ語" + +msgid "Tamil" +msgstr "タミル語" + +msgid "Telugu" +msgstr "テルグ語" + +msgid "Tajik" +msgstr "タジク語" + +msgid "Thai" +msgstr "タイ語" + +msgid "Turkmen" +msgstr "トルクメン語" + +msgid "Turkish" +msgstr "トルコ語" + +msgid "Tatar" +msgstr "タタール語" + +msgid "Udmurt" +msgstr "ウドムルト語" + +msgid "Uyghur" +msgstr "ウイグル語" + +msgid "Ukrainian" +msgstr "ウクライナ語" + +msgid "Urdu" +msgstr "ウルドゥー語" + +msgid "Uzbek" +msgstr "ウズベク語" + +msgid "Vietnamese" +msgstr "ベトナム語" + +msgid "Simplified Chinese" +msgstr "簡体字中国語" + +msgid "Traditional Chinese" +msgstr "繁体字中国語" + +msgid "Messages" +msgstr "メッセージ" + +msgid "Site Maps" +msgstr "サイトマップ" + +msgid "Static Files" +msgstr "静的ファイル" + +msgid "Syndication" +msgstr "シンジケーション" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "このページ番号は整数ではありません。" + +msgid "That page number is less than 1" +msgstr "ページ番号が 1 よりも小さいです。" + +msgid "That page contains no results" +msgstr "このページには結果が含まれていません。" + +msgid "Enter a valid value." +msgstr "値を正しく入力してください。" + +msgid "Enter a valid domain name." +msgstr "有効なドメイン名を入力してください。" + +msgid "Enter a valid URL." +msgstr "URLを正しく入力してください。" + +msgid "Enter a valid integer." +msgstr "整数を正しく入力してください。" + +msgid "Enter a valid email address." +msgstr "有効なメールアドレスを入力してください。" + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"“slug” には半角の英数字、アンダースコア、ハイフン以外は使用できません。" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"ユニコード文字、数字、アンダースコアまたはハイフンで構成された、有効なスラグ" +"を入力してください。" + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "有効な%(protocol)sアドレスを入力してください。" + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "IPv4 or IPv6" +msgstr "IPv4またはIPv6" + +msgid "Enter only digits separated by commas." +msgstr "カンマ区切りの数字だけを入力してください。" + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"この値は %(limit_value)s でなければなりません(実際には %(show_value)s でし" +"た) 。" + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "この値は %(limit_value)s 以下でなければなりません。" + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "この値は %(limit_value)s 以上でなければなりません。" + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "この値は %(limit_value)s の倍数でなければなりません。" + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"この値は%(offset)s から始まる %(limit_value)s の倍数でなければなりません。" +"例. %(offset)s%(valid_value1)s%(valid_value2)s など。" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"この値が少なくとも %(limit_value)d 文字以上であることを確認してください " +"(%(show_value)d 文字になっています)。" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"この値は %(limit_value)d 文字以下でなければなりません( %(show_value)d 文字に" +"なっています)。" + +msgid "Enter a number." +msgstr "数値を入力してください。" + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "この値は合計 %(max)s 桁以内でなければなりません。" + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "この値は小数点以下が合計 %(max)s 桁以内でなければなりません。" + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "この値は小数点より前が合計 %(max)s 桁以内でなければなりません。" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"ファイル拡張子 “%(extension)s” は許可されていません。許可されている拡張子は " +"%(allowed_extensions)s です。" + +msgid "Null characters are not allowed." +msgstr "何か文字を入力してください。" + +msgid "and" +msgstr "と" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "この %(field_labels)s を持った %(model_name)s が既に存在します。" + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "制約 “%(name)s” に違反しています。" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "%(value)r は有効な選択肢ではありません。" + +msgid "This field cannot be null." +msgstr "このフィールドには NULL を指定できません。" + +msgid "This field cannot be blank." +msgstr "このフィールドは空ではいけません。" + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "この %(field_label)s を持った %(model_name)s が既に存在します。" + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(date_field_label)s %(lookup_type)s では %(field_label)s がユニークである必" +"要があります。" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "タイプが %(field_type)s のフィールド" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "“%(value)s” は True または False にしなければなりません。" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "“%(value)s” は True 、 False または None の値でなければなりません。" + +msgid "Boolean (Either True or False)" +msgstr "ブール値 (真: True または偽: False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "文字列 ( %(max_length)s 字まで )" + +msgid "String (unlimited)" +msgstr "文字列 (無制限)" + +msgid "Comma-separated integers" +msgstr "カンマ区切りの整数" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"“%(value)s” は無効な日付形式です。YYYY-MM-DD 形式にしなければなりません。" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "“%(value)s” は有効な日付形式(YYYY-MM-DD)ですが、不正な日付です。" + +msgid "Date (without time)" +msgstr "日付" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"“%(value)s” は無効な形式の値です。 YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] 形式で" +"なければなりません。" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"“%(value)s” は正しい形式 (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]) の値ですが、無" +"効な日時です。" + +msgid "Date (with time)" +msgstr "日時" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "“%(value)s” は10進浮動小数値にしなければなりません。" + +msgid "Decimal number" +msgstr "10 進数 (小数可)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"“%(value)s” は無効な形式の値です。 [DD] [HH:[MM:]]ss[.uuuuuu] 形式でなければ" +"なりません。" + +msgid "Duration" +msgstr "時間差分" + +msgid "Email address" +msgstr "メールアドレス" + +msgid "File path" +msgstr "ファイルの場所" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "“%(value)s” は小数値にしなければなりません。" + +msgid "Floating point number" +msgstr "浮動小数点" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "“%(value)s” は整数値にしなければなりません。" + +msgid "Integer" +msgstr "整数" + +msgid "Big (8 byte) integer" +msgstr "大きな(8バイト)整数" + +msgid "Small integer" +msgstr "小さな整数" + +msgid "IPv4 address" +msgstr "IPv4アドレス" + +msgid "IP address" +msgstr "IP アドレス" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "“%(value)s” は None、True または False の値でなければなりません。" + +msgid "Boolean (Either True, False or None)" +msgstr "ブール値 (真: True 、偽: False または None)" + +msgid "Positive big integer" +msgstr "正の多倍長整数" + +msgid "Positive integer" +msgstr "正の整数" + +msgid "Positive small integer" +msgstr "小さな正の整数" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "スラグ(%(max_length)s文字以内)" + +msgid "Text" +msgstr "テキスト" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"“%(value)s” は無効な形式の値です。 HH:MM[:ss[.uuuuuu]] 形式でなければなりませ" +"ん。" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "“%(value)s” は正しい形式(HH:MM[:ss[.uuuuuu]])ですが、無効な時刻です。" + +msgid "Time" +msgstr "時刻" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "生のバイナリデータ" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "“%(value)s” は有効なUUIDではありません。" + +msgid "Universally unique identifier" +msgstr "汎用一意識別子" + +msgid "File" +msgstr "ファイル" + +msgid "Image" +msgstr "画像" + +msgid "A JSON object" +msgstr "JSONオブジェクト" + +msgid "Value must be valid JSON." +msgstr "JSONとして正しい値にしてください。" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "%(field)s が %(value)r である %(model)s のインスタンスは存在しません。" + +msgid "Foreign Key (type determined by related field)" +msgstr "外部キー(型は関連フィールドによって決まります)" + +msgid "One-to-one relationship" +msgstr "1対1の関連" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s の関連" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s の関連" + +msgid "Many-to-many relationship" +msgstr "多対多の関連" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "このフィールドは必須です。" + +msgid "Enter a whole number." +msgstr "整数を入力してください。" + +msgid "Enter a valid date." +msgstr "日付を正しく入力してください。" + +msgid "Enter a valid time." +msgstr "時間を正しく入力してください。" + +msgid "Enter a valid date/time." +msgstr "日時を正しく入力してください。" + +msgid "Enter a valid duration." +msgstr "時間差分を正しく入力してください。" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "日数は{min_days}から{max_days}の間でなければなりません。" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"ファイルが取得できませんでした。フォームのencoding typeを確認してください。" + +msgid "No file was submitted." +msgstr "ファイルが送信されていません。" + +msgid "The submitted file is empty." +msgstr "入力されたファイルは空です。" + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"このファイル名は %(max)d 文字以下でなければなりません( %(length)d 文字になっ" +"ています)。" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"ファイルを投稿するか、クリアチェックボックスをチェックするかどちらかを選択し" +"てください。両方とも行ってはいけません。" + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"画像をアップロードしてください。アップロードしたファイルは画像でないか、また" +"は壊れています。" + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "正しく選択してください。 %(value)s は候補にありません。" + +msgid "Enter a list of values." +msgstr "リストを入力してください。" + +msgid "Enter a complete value." +msgstr "すべての値を入力してください。" + +msgid "Enter a valid UUID." +msgstr "UUIDを正しく入力してください。" + +msgid "Enter a valid JSON." +msgstr "JSONを正しく入力してください。" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(隠しフィールド %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"ManagementForm のデータが不足しているか改竄されています。不足するフィールドの" +"数: %(field_names)s 。問題が続くようならバグレポートを出す必要があるかもしれ" +"ません。" + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "最大で %(num)d 個のフォームを送信してください。" + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "少なくとも %(num)d 個のフォームを送信してください。" + +msgid "Order" +msgstr "並び変え" + +msgid "Delete" +msgstr "削除" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "%(field)s の重複したデータを修正してください。" + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"%(field)s の重複したデータを修正してください。このフィールドはユニークである" +"必要があります。" + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"%(field_name)s の重複したデータを修正してください。%(date_field)s %(lookup)s " +"では %(field_name)s がユニークである必要があります。" + +msgid "Please correct the duplicate values below." +msgstr "下記の重複したデータを修正してください。" + +msgid "The inline value did not match the parent instance." +msgstr "インライン値が親のインスタンスに一致しません。" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "正しく選択してください。選択したものは候補にありません。" + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "“%(pk)s” は無効な値です。" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s は %(current_timezone)s のタイムゾーンでは解釈できませんでした。" +"それは曖昧であるか、存在しない可能性があります。" + +msgid "Clear" +msgstr "クリア" + +msgid "Currently" +msgstr "現在" + +msgid "Change" +msgstr "変更" + +msgid "Unknown" +msgstr "不明" + +msgid "Yes" +msgstr "はい" + +msgid "No" +msgstr "いいえ" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "はい,いいえ,たぶん" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d バイト" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "0時" + +msgid "noon" +msgstr "12時" + +msgid "Monday" +msgstr "月曜日" + +msgid "Tuesday" +msgstr "火曜日" + +msgid "Wednesday" +msgstr "水曜日" + +msgid "Thursday" +msgstr "木曜日" + +msgid "Friday" +msgstr "金曜日" + +msgid "Saturday" +msgstr "土曜日" + +msgid "Sunday" +msgstr "日曜日" + +msgid "Mon" +msgstr "月" + +msgid "Tue" +msgstr "火" + +msgid "Wed" +msgstr "水" + +msgid "Thu" +msgstr "木" + +msgid "Fri" +msgstr "金" + +msgid "Sat" +msgstr "土" + +msgid "Sun" +msgstr "日" + +msgid "January" +msgstr "1月" + +msgid "February" +msgstr "2月" + +msgid "March" +msgstr "3月" + +msgid "April" +msgstr "4月" + +msgid "May" +msgstr "5月" + +msgid "June" +msgstr "6月" + +msgid "July" +msgstr "7月" + +msgid "August" +msgstr "8月" + +msgid "September" +msgstr "9月" + +msgid "October" +msgstr "10月" + +msgid "November" +msgstr "11月" + +msgid "December" +msgstr "12月" + +msgid "jan" +msgstr "1月" + +msgid "feb" +msgstr "2月" + +msgid "mar" +msgstr "3月" + +msgid "apr" +msgstr "4月" + +msgid "may" +msgstr "5月" + +msgid "jun" +msgstr "6月" + +msgid "jul" +msgstr "7月" + +msgid "aug" +msgstr "8月" + +msgid "sep" +msgstr "9月" + +msgid "oct" +msgstr "10月" + +msgid "nov" +msgstr "11月" + +msgid "dec" +msgstr "12月" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "1月" + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "2月" + +msgctxt "abbrev. month" +msgid "March" +msgstr "3月" + +msgctxt "abbrev. month" +msgid "April" +msgstr "4月" + +msgctxt "abbrev. month" +msgid "May" +msgstr "5月" + +msgctxt "abbrev. month" +msgid "June" +msgstr "6月" + +msgctxt "abbrev. month" +msgid "July" +msgstr "7月" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "8月" + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "9月" + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "10月" + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "11月" + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "12月" + +msgctxt "alt. month" +msgid "January" +msgstr "1月" + +msgctxt "alt. month" +msgid "February" +msgstr "2月" + +msgctxt "alt. month" +msgid "March" +msgstr "3月" + +msgctxt "alt. month" +msgid "April" +msgstr "4月" + +msgctxt "alt. month" +msgid "May" +msgstr "5月" + +msgctxt "alt. month" +msgid "June" +msgstr "6月" + +msgctxt "alt. month" +msgid "July" +msgstr "7月" + +msgctxt "alt. month" +msgid "August" +msgstr "8月" + +msgctxt "alt. month" +msgid "September" +msgstr "9月" + +msgctxt "alt. month" +msgid "October" +msgstr "10月" + +msgctxt "alt. month" +msgid "November" +msgstr "11月" + +msgctxt "alt. month" +msgid "December" +msgstr "12月" + +msgid "This is not a valid IPv6 address." +msgstr "これは有効なIPv6アドレスではありません。" + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "または" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d年" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)dヶ月" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d週間" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d日" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d時間" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d分" + +msgid "Forbidden" +msgstr "アクセス禁止" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF検証に失敗したため、リクエストは中断されました。" + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"このメッセージが表示されている理由は、このHTTPSのサイトはウェブブラウザからリ" +"ファラーヘッダが送信されることを必須としていますが、送信されなかったためで" +"す。このヘッダはセキュリティ上の理由(使用中のブラウザが第三者によってハイ" +"ジャックされていないことを確認するため)で必要です。" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"もしブラウザのリファラーヘッダを無効に設定しているならば、HTTPS接続やsame-" +"originリクエストのために、少なくともこのサイトでは再度有効にしてください。" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"もし タグを使用しているか " +"“Referrer-Policy: no-referrer” ヘッダを含んでいる場合は削除してください。" +"CSRF プロテクションは、厳密に “Referer” ヘッダが必要です。プライバシーが気に" +"なる場合は などの代替で第三者サイトと接続してくださ" +"い。" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"このメッセージが表示されている理由は、このサイトはフォーム送信時にCSRFクッ" +"キーを必須としているためです。このクッキーはセキュリティ上の理由(使用中のブラ" +"ウザが第三者によってハイジャックされていないことを確認するため)で必要です。" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"もしブラウザのクッキーを無効に設定しているならば、same-originリクエストのため" +"に少なくともこのサイトでは再度有効にしてください。" + +msgid "More information is available with DEBUG=True." +msgstr "詳細な情報は DEBUG=True を設定すると利用できます。" + +msgid "No year specified" +msgstr "年が未指定です" + +msgid "Date out of range" +msgstr "日付が有効範囲外です" + +msgid "No month specified" +msgstr "月が未指定です" + +msgid "No day specified" +msgstr "日が未指定です" + +msgid "No week specified" +msgstr "週が未指定です" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "%(verbose_name_plural)s は利用できません" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"%(class_name)s.allow_futureがFalseであるため、未来の%(verbose_name_plural)sは" +"利用できません。" + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "指定された形式 “%(format)s” では “%(datestr)s” は無効な日付文字列です" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "クエリーに一致する %(verbose_name)s は見つかりませんでした" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "ページが 「最後」ではないか、数値に変換できる値ではありません。" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "無効なページです (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "空の一覧かつ “%(class_name)s.allow_empty” が False です。" + +msgid "Directory indexes are not allowed here." +msgstr "ここではディレクトリインデックスが許可されていません。" + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "“%(path)s” が存在しません" + +#, python-format +msgid "Index of %(directory)s" +msgstr "%(directory)sのディレクトリインデックス" + +msgid "The install worked successfully! Congratulations!" +msgstr "インストールは成功しました!おめでとうございます!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Django%(version)sのリリースノートを見る。" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"このページは、設定ファイルでDEBUG=Trueが指定され、何もURLが設定されていない時に表示" +"されます。" + +msgid "Django Documentation" +msgstr "Django ドキュメント" + +msgid "Topics, references, & how-to’s" +msgstr "トピック、リファレンス、ハウツー" + +msgid "Tutorial: A Polling App" +msgstr "チュートリアル: 投票アプリケーション" + +msgid "Get started with Django" +msgstr "Djangoを始めよう" + +msgid "Django Community" +msgstr "Djangoのコミュニティ" + +msgid "Connect, get help, or contribute" +msgstr "つながり、助け合い、貢献しよう" diff --git a/external_sources/django/django/conf/locale/ja/__init__.py b/external_sources/django/django/conf/locale/ja/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/ja/formats.py b/external_sources/django/django/conf/locale/ja/formats.py new file mode 100644 index 0000000..c0554d9 --- /dev/null +++ b/external_sources/django/django/conf/locale/ja/formats.py @@ -0,0 +1,21 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "Y年n月j日" +TIME_FORMAT = "G:i" +DATETIME_FORMAT = "Y年n月j日G:i" +YEAR_MONTH_FORMAT = "Y年n月" +MONTH_DAY_FORMAT = "n月j日" +SHORT_DATE_FORMAT = "Y/m/d" +SHORT_DATETIME_FORMAT = "Y/m/d G:i" +# FIRST_DAY_OF_WEEK = + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = "." +THOUSAND_SEPARATOR = "," +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/ka/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/ka/LC_MESSAGES/django.po new file mode 100644 index 0000000..1f342b9 --- /dev/null +++ b/external_sources/django/django/conf/locale/ka/LC_MESSAGES/django.po @@ -0,0 +1,1239 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# André Bouatchidzé , 2013-2015 +# David A. , 2019 +# David A. , 2011 +# Jannis Leidel , 2011 +# Tornike Beradze , 2018 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-27 22:40+0200\n" +"PO-Revision-Date: 2019-11-05 00:38+0000\n" +"Last-Translator: Ramiro Morales\n" +"Language-Team: Georgian (http://www.transifex.com/django/django/language/" +"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" + +msgid "Afrikaans" +msgstr "აფრიკაანსი" + +msgid "Arabic" +msgstr "არაბული" + +msgid "Asturian" +msgstr "ასტურიული" + +msgid "Azerbaijani" +msgstr "აზერბაიჯანული" + +msgid "Bulgarian" +msgstr "ბულგარული" + +msgid "Belarusian" +msgstr "ბელარუსული" + +msgid "Bengali" +msgstr "ბენგალიური" + +msgid "Breton" +msgstr "ბრეტონული" + +msgid "Bosnian" +msgstr "ბოსნიური" + +msgid "Catalan" +msgstr "კატალანური" + +msgid "Czech" +msgstr "ჩეხური" + +msgid "Welsh" +msgstr "უელსური" + +msgid "Danish" +msgstr "დანიური" + +msgid "German" +msgstr "გერმანული" + +msgid "Lower Sorbian" +msgstr "ქვემო სორბული" + +msgid "Greek" +msgstr "ბერძნული" + +msgid "English" +msgstr "ინგლისური" + +msgid "Australian English" +msgstr "ავსტრალიური ინგლისური" + +msgid "British English" +msgstr "ბრიტანეთის ინგლისური" + +msgid "Esperanto" +msgstr "ესპერანტო" + +msgid "Spanish" +msgstr "ესპანური" + +msgid "Argentinian Spanish" +msgstr "არგენტინის ესპანური" + +msgid "Colombian Spanish" +msgstr "კოლუმბიური ესპანური" + +msgid "Mexican Spanish" +msgstr "მექსიკური ესპანური" + +msgid "Nicaraguan Spanish" +msgstr "ნიკარაგუული ესპანური" + +msgid "Venezuelan Spanish" +msgstr "ვენესუელის ესპანური" + +msgid "Estonian" +msgstr "ესტონური" + +msgid "Basque" +msgstr "ბასკური" + +msgid "Persian" +msgstr "სპარსული" + +msgid "Finnish" +msgstr "ფინური" + +msgid "French" +msgstr "ფრანგული" + +msgid "Frisian" +msgstr "ფრისიული" + +msgid "Irish" +msgstr "ირლანდიური" + +msgid "Scottish Gaelic" +msgstr "შოტლანდიური-გელური" + +msgid "Galician" +msgstr "გალიციური" + +msgid "Hebrew" +msgstr "ებრაული" + +msgid "Hindi" +msgstr "ჰინდი" + +msgid "Croatian" +msgstr "ხორვატიული" + +msgid "Upper Sorbian" +msgstr "ზემო სორბიული" + +msgid "Hungarian" +msgstr "უნგრული" + +msgid "Armenian" +msgstr "სომხური" + +msgid "Interlingua" +msgstr "ინტერლინგუა" + +msgid "Indonesian" +msgstr "ინდონეზიური" + +msgid "Ido" +msgstr "იდო" + +msgid "Icelandic" +msgstr "ისლანდიური" + +msgid "Italian" +msgstr "იტალიური" + +msgid "Japanese" +msgstr "იაპონური" + +msgid "Georgian" +msgstr "ქართული" + +msgid "Kabyle" +msgstr "კაბილური" + +msgid "Kazakh" +msgstr "ყაზახური" + +msgid "Khmer" +msgstr "ხმერული" + +msgid "Kannada" +msgstr "კანნადა" + +msgid "Korean" +msgstr "კორეული" + +msgid "Luxembourgish" +msgstr "ლუქსემბურგული" + +msgid "Lithuanian" +msgstr "ლიტვური" + +msgid "Latvian" +msgstr "ლატვიური" + +msgid "Macedonian" +msgstr "მაკედონიური" + +msgid "Malayalam" +msgstr "მალაიზიური" + +msgid "Mongolian" +msgstr "მონღოლური" + +msgid "Marathi" +msgstr "მარათული" + +msgid "Burmese" +msgstr "ბირმული" + +msgid "Norwegian Bokmål" +msgstr "ნორვეგიული Bokmål" + +msgid "Nepali" +msgstr "ნეპალური" + +msgid "Dutch" +msgstr "ჰოლანდიური" + +msgid "Norwegian Nynorsk" +msgstr "ნორვეგიული-ნინორსკი" + +msgid "Ossetic" +msgstr "ოსური" + +msgid "Punjabi" +msgstr "პუნჯაბი" + +msgid "Polish" +msgstr "პოლონური" + +msgid "Portuguese" +msgstr "პორტუგალიური" + +msgid "Brazilian Portuguese" +msgstr "ბრაზილიური პორტუგალიური" + +msgid "Romanian" +msgstr "რუმინული" + +msgid "Russian" +msgstr "რუსული" + +msgid "Slovak" +msgstr "სლოვაკური" + +msgid "Slovenian" +msgstr "სლოვენიური" + +msgid "Albanian" +msgstr "ალბანური" + +msgid "Serbian" +msgstr "სერბული" + +msgid "Serbian Latin" +msgstr "სერბული (ლათინური)" + +msgid "Swedish" +msgstr "შვედური" + +msgid "Swahili" +msgstr "სუაჰილი" + +msgid "Tamil" +msgstr "თამილური" + +msgid "Telugu" +msgstr "ტელუგუ" + +msgid "Thai" +msgstr "ტაი" + +msgid "Turkish" +msgstr "თურქული" + +msgid "Tatar" +msgstr "თათრული" + +msgid "Udmurt" +msgstr "უდმურტული" + +msgid "Ukrainian" +msgstr "უკრაინული" + +msgid "Urdu" +msgstr "ურდუ" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "ვიეტნამური" + +msgid "Simplified Chinese" +msgstr "გამარტივებული ჩინური" + +msgid "Traditional Chinese" +msgstr "ტრადიციული ჩინური" + +msgid "Messages" +msgstr "შეტყობინებები" + +msgid "Site Maps" +msgstr "საიტის რუკები" + +msgid "Static Files" +msgstr "სტატიკური ფაილები" + +msgid "Syndication" +msgstr "სინდიკაცია" + +msgid "That page number is not an integer" +msgstr "გვერდის ნომერი არ არის მთელი რიცხვი" + +msgid "That page number is less than 1" +msgstr "გვერდის ნომერი ნაკლებია 1-ზე" + +msgid "That page contains no results" +msgstr "გვერდი არ შეიცავს მონაცემებს" + +msgid "Enter a valid value." +msgstr "შეიყვანეთ სწორი მნიშვნელობა." + +msgid "Enter a valid URL." +msgstr "შეიყვანეთ სწორი URL." + +msgid "Enter a valid integer." +msgstr "შეიყვანეთ სწორი მთელი რიცხვი." + +msgid "Enter a valid email address." +msgstr "შეიყვანეთ მართებული ელფოსტის მისამართი." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "შეიყვანეთ სწორი IPv4 მისამართი." + +msgid "Enter a valid IPv6 address." +msgstr "შეიყვანეთ მართებული IPv6 მისამართი." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "შეიყვანეთ მართებული IPv4 ან IPv6 მისამართი." + +msgid "Enter only digits separated by commas." +msgstr "შეიყვანეთ მხოლოდ მძიმეებით გამოყოფილი ციფრები." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "მნიშვნელობა უნდა იყოს %(limit_value)s (იგი არის %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "მნიშვნელობა უნდა იყოს %(limit_value)s-ზე ნაკლები ან ტოლი." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "მნიშვნელობა უნდა იყოს %(limit_value)s-ზე მეტი ან ტოლი." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"მნიშვნელობას უნდა ჰქონდეს სულ ცოტა %(limit_value)d სიმბოლო (მას აქვს " +"%(show_value)d)." +msgstr[1] "" +"მნიშვნელობას უნდა ჰქონდეს სულ ცოტა %(limit_value)d სიმბოლო (მას აქვს " +"%(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"მნიშვნელობას უნდა ჰქონდეს არაუმეტეს %(limit_value)d სიმბოლოსი (მას აქვს " +"%(show_value)d)." +msgstr[1] "" +"მნიშვნელობას უნდა ჰქონდეს არაუმეტეს %(limit_value)d სიმბოლოსი (მას აქვს " +"%(show_value)d)." + +msgid "Enter a number." +msgstr "შეიყვანეთ რიცხვი." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "ციფრების სრული რაოდენობა %(max)s-ს არ უნდა აღემატებოდეს." +msgstr[1] "ციფრების სრული რაოდენობა %(max)s-ს არ უნდა აღემატებოდეს." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" +"ათობითი გამყოფის შემდეგ ციფრების რაოდენობა %(max)s-ს არ უნდა აღემატებოდეს." +msgstr[1] "" +"ათობითი გამყოფის შემდეგ ციფრების რაოდენობა %(max)s-ს არ უნდა აღემატებოდეს." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"ათობითი გამყოფის შემდეგ ციფრების რაოდენობა %(max)s-ს არ უნდა აღემატებოდეს." +msgstr[1] "" +"ათობითი გამყოფის წინ ციფრების რაოდენობა %(max)s-ს არ უნდა აღემატებოდეს." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "Null მნიშვნელობები დაუშვებელია." + +msgid "and" +msgstr "და" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s ამ %(field_labels)s-ით უკვე არსებობს." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "მნიშვნელობა %(value)r არ არის დასაშვები." + +msgid "This field cannot be null." +msgstr "ეს ველი არ შეიძლება იყოს null." + +msgid "This field cannot be blank." +msgstr "ეს ველი არ შეიძლება იყოს ცარიელი." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s მოცემული %(field_label)s-ით უკვე არსებობს." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s უნდა იყოს უნიკალური %(date_field_label)s %(lookup_type)s-" +"სთვის." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "ველის ტიპი: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "ლოგიკური (True ან False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "სტრიქონი (%(max_length)s სიმბოლომდე)" + +msgid "Comma-separated integers" +msgstr "მძიმით გამოყოფილი მთელი რიცხვები" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "თარიღი (დროის გარეშე)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "თარიღი (დროსთან ერთად)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "ათობითი რიცხვი" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "ხანგრზლივობა" + +msgid "Email address" +msgstr "ელ. ფოსტის მისამართი" + +msgid "File path" +msgstr "გზა ფაილისაკენ" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "რიცხვი მცოცავი წერტილით" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "მთელი" + +msgid "Big (8 byte) integer" +msgstr "დიდი მთელი (8-ბაიტიანი)" + +msgid "IPv4 address" +msgstr "IPv4 მისამართი" + +msgid "IP address" +msgstr "IP-მისამართი" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "ლოგიკური (True, False ან None)" + +msgid "Positive integer" +msgstr "დადებითი მთელი რიცხვი" + +msgid "Positive small integer" +msgstr "დადებითი პატარა მთელი რიცხვი" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "სლაგი (%(max_length)s-მდე)" + +msgid "Small integer" +msgstr "პატარა მთელი რიცხვი" + +msgid "Text" +msgstr "ტექსტი" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "დრო" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "დაუმუშავებელი ორობითი მონაცემები" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "უნივერსალური უნიკალური იდენტიფიკატორი." + +msgid "File" +msgstr "ფაილი" + +msgid "Image" +msgstr "გამოსახულება" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" + +msgid "Foreign Key (type determined by related field)" +msgstr "გარე გასაღები (ტიპი განისაზღვრება დაკავშირებული ველის ტიპით)" + +msgid "One-to-one relationship" +msgstr "კავშირი ერთი-ერთტან" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "" + +msgid "Many-to-many relationship" +msgstr "კავშირი მრავალი-მრავალთან" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr "" + +msgid "This field is required." +msgstr "ეს ველი აუცილებელია." + +msgid "Enter a whole number." +msgstr "შეიყვანეთ მთელი რიცხვი" + +msgid "Enter a valid date." +msgstr "შეიყვანეთ სწორი თარიღი." + +msgid "Enter a valid time." +msgstr "შეიყვანეთ სწორი დრო." + +msgid "Enter a valid date/time." +msgstr "შეიყვანეთ სწორი თარიღი და დრო." + +msgid "Enter a valid duration." +msgstr "შეიყვანეთ სწორი დროის პერიოდი." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"ფაილი არ იყო გამოგზავნილი. შეამოწმეთ კოდირების ტიპი მოცემული ფორმისათვის." + +msgid "No file was submitted." +msgstr "ფაილი არ იყო გამოგზავნილი." + +msgid "The submitted file is empty." +msgstr "გამოგზავნილი ფაილი ცარიელია." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "ან გამოგზავნეთ ფაილი, ან მონიშნეთ \"წაშლის\" დროშა." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"ატვირთეთ დასაშვები გამოსახულება. თქვენს მიერ გამოგზავნილი ფაილი ან არ არის " +"გამოსახულება, ან დაზიანებულია." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "აირჩიეთ დასაშვები მნიშვნელობა. %(value)s დასაშვები არ არის." + +msgid "Enter a list of values." +msgstr "შეიყვანეთ მნიშვნელობების სია." + +msgid "Enter a complete value." +msgstr "შეიყვანეთ სრული მნიშვნელობა." + +msgid "Enter a valid UUID." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr "" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(დამალული ველი %(name)s) %(error)s" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "" +msgstr[1] "" + +msgid "Order" +msgstr "დალაგება" + +msgid "Delete" +msgstr "წავშალოთ" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "გთხოვთ, შეასწოროთ დუბლირებული მონაცემები %(field)s-თვის." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"გთხოვთ, შეასწოროთ დუბლირებული მნიშვნელობა %(field)s ველისთვის, რომელიც უნდა " +"იყოს უნიკალური." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"გთხოვთ, შეასწოროთ დუბლირებული მნიშვნელობა %(field_name)s ველისთვის, რომელიც " +"უნდა იყოს უნიკალური %(lookup)s-ზე, %(date_field)s-თვის." + +msgid "Please correct the duplicate values below." +msgstr "გთხოვთ, შეასწოროთ დუბლირებული მნიშვნელობები." + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "აირჩიეთ დასაშვები მნიშვნელობა. ეს არჩევანი დასაშვები არ არის." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "წაშლა" + +msgid "Currently" +msgstr "ამჟამად" + +msgid "Change" +msgstr "შეცვლა" + +msgid "Unknown" +msgstr "გაურკვეველი" + +msgid "Yes" +msgstr "კი" + +msgid "No" +msgstr "არა" + +msgid "Year" +msgstr "" + +msgid "Month" +msgstr "" + +msgid "Day" +msgstr "" + +msgid "yes,no,maybe" +msgstr "კი,არა,შესაძლოა" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d ბაიტი" +msgstr[1] "%(size)d ბაიტი" + +#, python-format +msgid "%s KB" +msgstr "%s კბ" + +#, python-format +msgid "%s MB" +msgstr "%s მბ" + +#, python-format +msgid "%s GB" +msgstr "%s გბ" + +#, python-format +msgid "%s TB" +msgstr "%s ტბ" + +#, python-format +msgid "%s PB" +msgstr "%s პბ" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "შუაღამე" + +msgid "noon" +msgstr "შუადღე" + +msgid "Monday" +msgstr "ორშაბათი" + +msgid "Tuesday" +msgstr "სამშაბათი" + +msgid "Wednesday" +msgstr "ოთხშაბათი" + +msgid "Thursday" +msgstr "ხუთშაბათი" + +msgid "Friday" +msgstr "პარასკევი" + +msgid "Saturday" +msgstr "შაბათი" + +msgid "Sunday" +msgstr "კვირა" + +msgid "Mon" +msgstr "ორშ" + +msgid "Tue" +msgstr "სამ" + +msgid "Wed" +msgstr "ოთხ" + +msgid "Thu" +msgstr "ხუთ" + +msgid "Fri" +msgstr "პარ" + +msgid "Sat" +msgstr "შაბ" + +msgid "Sun" +msgstr "კვრ" + +msgid "January" +msgstr "იანვარი" + +msgid "February" +msgstr "თებერვალი" + +msgid "March" +msgstr "მარტი" + +msgid "April" +msgstr "აპრილი" + +msgid "May" +msgstr "მაისი" + +msgid "June" +msgstr "ივნისი" + +msgid "July" +msgstr "ივლისი" + +msgid "August" +msgstr "აგვისტო" + +msgid "September" +msgstr "სექტემბერი" + +msgid "October" +msgstr "ოქტომბერი" + +msgid "November" +msgstr "ნოემბერი" + +msgid "December" +msgstr "დეკემბერი" + +msgid "jan" +msgstr "იან" + +msgid "feb" +msgstr "თებ" + +msgid "mar" +msgstr "მარ" + +msgid "apr" +msgstr "აპრ" + +msgid "may" +msgstr "მაი" + +msgid "jun" +msgstr "ივნ" + +msgid "jul" +msgstr "ივლ" + +msgid "aug" +msgstr "აგვ" + +msgid "sep" +msgstr "სექ" + +msgid "oct" +msgstr "ოქტ" + +msgid "nov" +msgstr "ნოე" + +msgid "dec" +msgstr "დეკ" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "იან." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "თებ." + +msgctxt "abbrev. month" +msgid "March" +msgstr "მარ." + +msgctxt "abbrev. month" +msgid "April" +msgstr "აპრ." + +msgctxt "abbrev. month" +msgid "May" +msgstr "მაი" + +msgctxt "abbrev. month" +msgid "June" +msgstr "ივნ." + +msgctxt "abbrev. month" +msgid "July" +msgstr "ივლ." + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "აგვ." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "სექტ." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "ოქტ." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "ნოემ." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "დეკ." + +msgctxt "alt. month" +msgid "January" +msgstr "იანვარი" + +msgctxt "alt. month" +msgid "February" +msgstr "თებერვალი" + +msgctxt "alt. month" +msgid "March" +msgstr "მარტი" + +msgctxt "alt. month" +msgid "April" +msgstr "აპრილი" + +msgctxt "alt. month" +msgid "May" +msgstr "მაისი" + +msgctxt "alt. month" +msgid "June" +msgstr "ივნისი" + +msgctxt "alt. month" +msgid "July" +msgstr "ივლისი" + +msgctxt "alt. month" +msgid "August" +msgstr "აგვისტო" + +msgctxt "alt. month" +msgid "September" +msgstr "სექტემბერი" + +msgctxt "alt. month" +msgid "October" +msgstr "ოქტომბერი" + +msgctxt "alt. month" +msgid "November" +msgstr "ნოემბერი" + +msgctxt "alt. month" +msgid "December" +msgstr "დეკემბერი" + +msgid "This is not a valid IPv6 address." +msgstr "ეს არ არის სწორი IPv6 მისამართი." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "ან" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "%d წელი" +msgstr[1] "%d წელი" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "%d თვე" +msgstr[1] "%d თვე" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "%d კვირა" +msgstr[1] "%d კვირა" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "%d დღე" +msgstr[1] "%d დღე" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "%d საათი" +msgstr[1] "%d საათი" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "%d წუთი" +msgstr[1] "%d წუთი" + +msgid "0 minutes" +msgstr "0 წუთი" + +msgid "Forbidden" +msgstr "აკრძალული" + +msgid "CSRF verification failed. Request aborted." +msgstr "" + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "მეტი ინფორმაცია მისაწვდომია DEBUG=True-ს მეშვეობით." + +msgid "No year specified" +msgstr "არ არის მითითებული წელი" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "არ არის მითითებული თვე" + +msgid "No day specified" +msgstr "არ არის მითითებული დღე" + +msgid "No week specified" +msgstr "არ არის მითითებული კვირა" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "%(verbose_name_plural)s არ არსებობს" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"მომავალი %(verbose_name_plural)s არ არსებობს იმიტომ, რომ %(class_name)s." +"allow_future არის False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "არ მოიძებნა არცერთი მოთხოვნის თანმხვედრი %(verbose_name)s" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "" + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "%(directory)s-ის იდექსი" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/ka/__init__.py b/external_sources/django/django/conf/locale/ka/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/ka/formats.py b/external_sources/django/django/conf/locale/ka/formats.py new file mode 100644 index 0000000..661b71e --- /dev/null +++ b/external_sources/django/django/conf/locale/ka/formats.py @@ -0,0 +1,48 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "l, j F, Y" +TIME_FORMAT = "h:i a" +DATETIME_FORMAT = "j F, Y h:i a" +YEAR_MONTH_FORMAT = "F, Y" +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "j.M.Y" +SHORT_DATETIME_FORMAT = "j.M.Y H:i" +FIRST_DAY_OF_WEEK = 1 # (Monday) + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# Kept ISO formats as they are in first position +DATE_INPUT_FORMATS = [ + "%Y-%m-%d", # '2006-10-25' + "%m/%d/%Y", # '10/25/2006' + "%m/%d/%y", # '10/25/06' + "%d.%m.%Y", # '25.10.2006' + "%d.%m.%y", # '25.10.06' + # "%d %b %Y", # '25 Oct 2006' + # "%d %b, %Y", # '25 Oct, 2006' + # "%d %b. %Y", # '25 Oct. 2006' + # "%d %B %Y", # '25 October 2006' + # "%d %B, %Y", # '25 October, 2006' +] +DATETIME_INPUT_FORMATS = [ + "%Y-%m-%d %H:%M:%S", # '2006-10-25 14:30:59' + "%Y-%m-%d %H:%M:%S.%f", # '2006-10-25 14:30:59.000200' + "%Y-%m-%d %H:%M", # '2006-10-25 14:30' + "%d.%m.%Y %H:%M:%S", # '25.10.2006 14:30:59' + "%d.%m.%Y %H:%M:%S.%f", # '25.10.2006 14:30:59.000200' + "%d.%m.%Y %H:%M", # '25.10.2006 14:30' + "%d.%m.%y %H:%M:%S", # '25.10.06 14:30:59' + "%d.%m.%y %H:%M:%S.%f", # '25.10.06 14:30:59.000200' + "%d.%m.%y %H:%M", # '25.10.06 14:30' + "%m/%d/%Y %H:%M:%S", # '10/25/2006 14:30:59' + "%m/%d/%Y %H:%M:%S.%f", # '10/25/2006 14:30:59.000200' + "%m/%d/%Y %H:%M", # '10/25/2006 14:30' + "%m/%d/%y %H:%M:%S", # '10/25/06 14:30:59' + "%m/%d/%y %H:%M:%S.%f", # '10/25/06 14:30:59.000200' + "%m/%d/%y %H:%M", # '10/25/06 14:30' +] +DECIMAL_SEPARATOR = "." +THOUSAND_SEPARATOR = " " +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/kab/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/kab/LC_MESSAGES/django.po new file mode 100644 index 0000000..b0f6fa2 --- /dev/null +++ b/external_sources/django/django/conf/locale/kab/LC_MESSAGES/django.po @@ -0,0 +1,1211 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-27 22:40+0200\n" +"PO-Revision-Date: 2019-11-05 00:38+0000\n" +"Last-Translator: Ramiro Morales\n" +"Language-Team: Kabyle (http://www.transifex.com/django/django/language/" +"kab/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: kab\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "Tafrikanst" + +msgid "Arabic" +msgstr "Taɛṛabt" + +msgid "Asturian" +msgstr "Tasturyant" + +msgid "Azerbaijani" +msgstr "Tazeṛbayǧant" + +msgid "Bulgarian" +msgstr "Tabulgarit" + +msgid "Belarusian" +msgstr "Tabilurusit" + +msgid "Bengali" +msgstr "Tabelgalit" + +msgid "Breton" +msgstr "Tabrutunt" + +msgid "Bosnian" +msgstr "Tabusnit" + +msgid "Catalan" +msgstr "Takaṭalant" + +msgid "Czech" +msgstr "Tačikit" + +msgid "Welsh" +msgstr "Takusit" + +msgid "Danish" +msgstr "Tadanit" + +msgid "German" +msgstr "Talmanit" + +msgid "Lower Sorbian" +msgstr "Tasiṛbit n wadda" + +msgid "Greek" +msgstr "Tagrigit" + +msgid "English" +msgstr "Taglizit" + +msgid "Australian English" +msgstr "Taglizit n Ustralya" + +msgid "British English" +msgstr "Taglizit (UK)" + +msgid "Esperanto" +msgstr "Taspirantit" + +msgid "Spanish" +msgstr "Taspanit" + +msgid "Argentinian Spanish" +msgstr "Taspanit n Arjuntin" + +msgid "Colombian Spanish" +msgstr "Taspanit n Kulumbya" + +msgid "Mexican Spanish" +msgstr "Taspanit n Miksik" + +msgid "Nicaraguan Spanish" +msgstr "Taspanit n Nikaragwa" + +msgid "Venezuelan Spanish" +msgstr "Taspanit n Vinizwila" + +msgid "Estonian" +msgstr "Tastunit" + +msgid "Basque" +msgstr "Tabaskit" + +msgid "Persian" +msgstr "Tafarsit" + +msgid "Finnish" +msgstr "Tafinit" + +msgid "French" +msgstr "Tafṛansist" + +msgid "Frisian" +msgstr "" + +msgid "Irish" +msgstr "" + +msgid "Scottish Gaelic" +msgstr "" + +msgid "Galician" +msgstr "" + +msgid "Hebrew" +msgstr "" + +msgid "Hindi" +msgstr "Tahendit" + +msgid "Croatian" +msgstr "Takarwasit" + +msgid "Upper Sorbian" +msgstr "" + +msgid "Hungarian" +msgstr "Tahungarit" + +msgid "Armenian" +msgstr "" + +msgid "Interlingua" +msgstr "" + +msgid "Indonesian" +msgstr "Tandunizit" + +msgid "Ido" +msgstr "" + +msgid "Icelandic" +msgstr "Taslandit" + +msgid "Italian" +msgstr "Taṭelyanit" + +msgid "Japanese" +msgstr "" + +msgid "Georgian" +msgstr "Tajyuṛjit" + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "Takazaxt" + +msgid "Khmer" +msgstr "" + +msgid "Kannada" +msgstr "Takannadat" + +msgid "Korean" +msgstr "Takurit" + +msgid "Luxembourgish" +msgstr "" + +msgid "Lithuanian" +msgstr "Talitwanit" + +msgid "Latvian" +msgstr "Talitunit" + +msgid "Macedonian" +msgstr "Tamasidunit" + +msgid "Malayalam" +msgstr "Tamayalamt" + +msgid "Mongolian" +msgstr "" + +msgid "Marathi" +msgstr "" + +msgid "Burmese" +msgstr "Tabirmanit" + +msgid "Norwegian Bokmål" +msgstr "" + +msgid "Nepali" +msgstr "Tanipalit" + +msgid "Dutch" +msgstr "Tahulandit" + +msgid "Norwegian Nynorsk" +msgstr "" + +msgid "Ossetic" +msgstr "" + +msgid "Punjabi" +msgstr "Tabenjabit" + +msgid "Polish" +msgstr "Tapulandit" + +msgid "Portuguese" +msgstr "Tapurtugit" + +msgid "Brazilian Portuguese" +msgstr "" + +msgid "Romanian" +msgstr "Tarumanit" + +msgid "Russian" +msgstr "Tarusit" + +msgid "Slovak" +msgstr "Tasluvakt" + +msgid "Slovenian" +msgstr "" + +msgid "Albanian" +msgstr "Talbanit" + +msgid "Serbian" +msgstr "Tasiṛbit" + +msgid "Serbian Latin" +msgstr "" + +msgid "Swedish" +msgstr "Taswidit" + +msgid "Swahili" +msgstr "Taswahilit" + +msgid "Tamil" +msgstr "Taṭamult" + +msgid "Telugu" +msgstr "" + +msgid "Thai" +msgstr "" + +msgid "Turkish" +msgstr "Taṭurkit" + +msgid "Tatar" +msgstr "" + +msgid "Udmurt" +msgstr "" + +msgid "Ukrainian" +msgstr "" + +msgid "Urdu" +msgstr "" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "" + +msgid "Simplified Chinese" +msgstr "" + +msgid "Traditional Chinese" +msgstr "" + +msgid "Messages" +msgstr "Iznan" + +msgid "Site Maps" +msgstr "" + +msgid "Static Files" +msgstr "" + +msgid "Syndication" +msgstr "" + +msgid "That page number is not an integer" +msgstr "" + +msgid "That page number is less than 1" +msgstr "" + +msgid "That page contains no results" +msgstr "" + +msgid "Enter a valid value." +msgstr "Sekcem azal ameɣtu." + +msgid "Enter a valid URL." +msgstr "" + +msgid "Enter a valid integer." +msgstr "" + +msgid "Enter a valid email address." +msgstr "Sekcem tansa imayl tameɣtut." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "Sekcem tansa IPv4 tameɣtut." + +msgid "Enter a valid IPv6 address." +msgstr "" + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "" + +msgid "Enter only digits separated by commas." +msgstr "" + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Enter a number." +msgstr "Sekcem amḍan." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "" + +msgid "and" +msgstr "akked" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "" + +msgid "This field cannot be null." +msgstr "" + +msgid "This field cannot be blank." +msgstr "" + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "" + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "" + +msgid "Comma-separated integers" +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "Azemz (s wakud)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "Tanzagt" + +msgid "Email address" +msgstr "Tansa email" + +msgid "File path" +msgstr "Abrid n ufaylu" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "Ummid" + +msgid "Big (8 byte) integer" +msgstr "" + +msgid "IPv4 address" +msgstr "" + +msgid "IP address" +msgstr "Tansa IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "" + +msgid "Positive integer" +msgstr "" + +msgid "Positive small integer" +msgstr "" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "" + +msgid "Small integer" +msgstr "" + +msgid "Text" +msgstr "Aḍris" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "Akud" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "Afaylu" + +msgid "Image" +msgstr "Tugna" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" + +msgid "Foreign Key (type determined by related field)" +msgstr "" + +msgid "One-to-one relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "" + +msgid "Many-to-many relationship" +msgstr "" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "" + +msgid "Enter a whole number." +msgstr "Sekcem amḍan ummid." + +msgid "Enter a valid date." +msgstr "" + +msgid "Enter a valid time." +msgstr "" + +msgid "Enter a valid date/time." +msgstr "" + +msgid "Enter a valid duration." +msgstr "" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" + +msgid "No file was submitted." +msgstr "Afaylu ur yettwazen ara." + +msgid "The submitted file is empty." +msgstr "" + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" + +msgid "Enter a list of values." +msgstr "" + +msgid "Enter a complete value." +msgstr "Sekcem azal ummid." + +msgid "Enter a valid UUID." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "" +msgstr[1] "" + +msgid "Order" +msgstr "Amizwer" + +msgid "Delete" +msgstr "KKES" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "" + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" + +msgid "Please correct the duplicate values below." +msgstr "" + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "Sfeḍ" + +msgid "Currently" +msgstr "Tura" + +msgid "Change" +msgstr "Beddel" + +msgid "Unknown" +msgstr "Arussin" + +msgid "Yes" +msgstr "Ih" + +msgid "No" +msgstr "Uhu" + +msgid "Year" +msgstr "" + +msgid "Month" +msgstr "" + +msgid "Day" +msgstr "" + +msgid "yes,no,maybe" +msgstr "" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%s KB" +msgstr "%s KAṬ" + +#, python-format +msgid "%s MB" +msgstr "%s MAṬ" + +#, python-format +msgid "%s GB" +msgstr "%s GAṬ" + +#, python-format +msgid "%s TB" +msgstr "%s TAṬ" + +#, python-format +msgid "%s PB" +msgstr "%s PAṬ" + +msgid "p.m." +msgstr "m.d." + +msgid "a.m." +msgstr "f.t." + +msgid "PM" +msgstr "MD" + +msgid "AM" +msgstr "FT" + +msgid "midnight" +msgstr "ttnaṣfa n yiḍ" + +msgid "noon" +msgstr "ttnaṣfa n uzal" + +msgid "Monday" +msgstr "Arim" + +msgid "Tuesday" +msgstr "Aram" + +msgid "Wednesday" +msgstr "Ahad" + +msgid "Thursday" +msgstr "Amhad" + +msgid "Friday" +msgstr "Sem" + +msgid "Saturday" +msgstr "Sed" + +msgid "Sunday" +msgstr "Acer" + +msgid "Mon" +msgstr "Ari" + +msgid "Tue" +msgstr "Ara" + +msgid "Wed" +msgstr "Aha" + +msgid "Thu" +msgstr "Amh" + +msgid "Fri" +msgstr "Sem" + +msgid "Sat" +msgstr "Sed" + +msgid "Sun" +msgstr "Ace" + +msgid "January" +msgstr "Yennayer" + +msgid "February" +msgstr "Fuṛaṛ" + +msgid "March" +msgstr "Meɣres" + +msgid "April" +msgstr "Yebrir" + +msgid "May" +msgstr "Mayyu" + +msgid "June" +msgstr "Yunyu" + +msgid "July" +msgstr "Yulyu" + +msgid "August" +msgstr "Ɣuct" + +msgid "September" +msgstr "Ctamber" + +msgid "October" +msgstr "Tuber" + +msgid "November" +msgstr "Wamber" + +msgid "December" +msgstr "Dujamber" + +msgid "jan" +msgstr "yen" + +msgid "feb" +msgstr "fuṛ" + +msgid "mar" +msgstr "meɣ" + +msgid "apr" +msgstr "yeb" + +msgid "may" +msgstr "may" + +msgid "jun" +msgstr "yun" + +msgid "jul" +msgstr "yul" + +msgid "aug" +msgstr "ɣuc" + +msgid "sep" +msgstr "cte" + +msgid "oct" +msgstr "tub" + +msgid "nov" +msgstr "wam" + +msgid "dec" +msgstr "duj" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Yen." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Fuṛ." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Meɣres" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Yebrir" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Mayyu" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Yunyu" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Yulyu" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Ɣuc." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "" + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Tub." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Wam." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Duj." + +msgctxt "alt. month" +msgid "January" +msgstr "Yennayer" + +msgctxt "alt. month" +msgid "February" +msgstr "Fuṛaṛ" + +msgctxt "alt. month" +msgid "March" +msgstr "Meɣres" + +msgctxt "alt. month" +msgid "April" +msgstr "Yebrir" + +msgctxt "alt. month" +msgid "May" +msgstr "Mayyu" + +msgctxt "alt. month" +msgid "June" +msgstr "Yunyu" + +msgctxt "alt. month" +msgid "July" +msgstr "Yulyu" + +msgctxt "alt. month" +msgid "August" +msgstr "Ɣuct" + +msgctxt "alt. month" +msgid "September" +msgstr "Ctamber" + +msgctxt "alt. month" +msgid "October" +msgstr "Tuber" + +msgctxt "alt. month" +msgid "November" +msgstr "Wamber" + +msgctxt "alt. month" +msgid "December" +msgstr "Dujamber" + +msgid "This is not a valid IPv6 address." +msgstr "" + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "neɣ" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "" +msgstr[1] "" + +msgid "0 minutes" +msgstr "0 n tisdatin" + +msgid "Forbidden" +msgstr "Yegdel" + +msgid "CSRF verification failed. Request aborted." +msgstr "" + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "" + +msgid "No year specified" +msgstr "" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "" + +msgid "No day specified" +msgstr "" + +msgid "No week specified" +msgstr "" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "" + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "Bdu s Django" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/kk/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/kk/LC_MESSAGES/django.po new file mode 100644 index 0000000..2858be0 --- /dev/null +++ b/external_sources/django/django/conf/locale/kk/LC_MESSAGES/django.po @@ -0,0 +1,1223 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Baurzhan Muftakhidinov , 2015 +# Zharzhan Kulmyrza , 2011 +# Leo Trubach , 2017 +# Nurlan Rakhimzhanov , 2011 +# yun_man_ger , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-27 22:40+0200\n" +"PO-Revision-Date: 2019-11-05 00:38+0000\n" +"Last-Translator: Ramiro Morales\n" +"Language-Team: Kazakh (http://www.transifex.com/django/django/language/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" + +msgid "Afrikaans" +msgstr "" + +msgid "Arabic" +msgstr "Араб" + +msgid "Asturian" +msgstr "" + +msgid "Azerbaijani" +msgstr "Әзірбайжан" + +msgid "Bulgarian" +msgstr "Болгар" + +msgid "Belarusian" +msgstr "" + +msgid "Bengali" +msgstr "Бенгал" + +msgid "Breton" +msgstr "" + +msgid "Bosnian" +msgstr "Босния" + +msgid "Catalan" +msgstr "Каталан" + +msgid "Czech" +msgstr "Чех" + +msgid "Welsh" +msgstr "Валлий" + +msgid "Danish" +msgstr "Дания" + +msgid "German" +msgstr "Неміс" + +msgid "Lower Sorbian" +msgstr "" + +msgid "Greek" +msgstr "Грек" + +msgid "English" +msgstr "Ағылшын" + +msgid "Australian English" +msgstr "" + +msgid "British English" +msgstr "Британдық ағылшын" + +msgid "Esperanto" +msgstr "" + +msgid "Spanish" +msgstr "Испан" + +msgid "Argentinian Spanish" +msgstr "Аргентиналық испан" + +msgid "Colombian Spanish" +msgstr "" + +msgid "Mexican Spanish" +msgstr "Мексикалық испан" + +msgid "Nicaraguan Spanish" +msgstr "Никарагуа испан" + +msgid "Venezuelan Spanish" +msgstr "" + +msgid "Estonian" +msgstr "Эстон" + +msgid "Basque" +msgstr "Баск" + +msgid "Persian" +msgstr "Парсы" + +msgid "Finnish" +msgstr "Фин" + +msgid "French" +msgstr "Француз" + +msgid "Frisian" +msgstr "Фриз" + +msgid "Irish" +msgstr "Ирландия" + +msgid "Scottish Gaelic" +msgstr "" + +msgid "Galician" +msgstr "Галиц" + +msgid "Hebrew" +msgstr "Иврит" + +msgid "Hindi" +msgstr "Хинди" + +msgid "Croatian" +msgstr "Кроат" + +msgid "Upper Sorbian" +msgstr "" + +msgid "Hungarian" +msgstr "Венгрия" + +msgid "Armenian" +msgstr "" + +msgid "Interlingua" +msgstr "" + +msgid "Indonesian" +msgstr "Индонезия" + +msgid "Ido" +msgstr "" + +msgid "Icelandic" +msgstr "Исладия" + +msgid "Italian" +msgstr "Итальян" + +msgid "Japanese" +msgstr "Жапон" + +msgid "Georgian" +msgstr "Грузин" + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "Қазақша" + +msgid "Khmer" +msgstr "Кхмер" + +msgid "Kannada" +msgstr "Канада" + +msgid "Korean" +msgstr "Корей" + +msgid "Luxembourgish" +msgstr "" + +msgid "Lithuanian" +msgstr "Литва" + +msgid "Latvian" +msgstr "Латвия" + +msgid "Macedonian" +msgstr "Македон" + +msgid "Malayalam" +msgstr "Малаялам" + +msgid "Mongolian" +msgstr "Монғол" + +msgid "Marathi" +msgstr "" + +msgid "Burmese" +msgstr "" + +msgid "Norwegian Bokmål" +msgstr "" + +msgid "Nepali" +msgstr "" + +msgid "Dutch" +msgstr "Голланд" + +msgid "Norwegian Nynorsk" +msgstr "Норвегиялық нюнор" + +msgid "Ossetic" +msgstr "" + +msgid "Punjabi" +msgstr "Пенджаб" + +msgid "Polish" +msgstr "Поляк" + +msgid "Portuguese" +msgstr "Португал" + +msgid "Brazilian Portuguese" +msgstr "Бразилиялық португал" + +msgid "Romanian" +msgstr "Роман" + +msgid "Russian" +msgstr "Орыс" + +msgid "Slovak" +msgstr "Словак" + +msgid "Slovenian" +msgstr "Словениялық" + +msgid "Albanian" +msgstr "Албан" + +msgid "Serbian" +msgstr "Серб" + +msgid "Serbian Latin" +msgstr "Сербиялық латын" + +msgid "Swedish" +msgstr "Швед" + +msgid "Swahili" +msgstr "" + +msgid "Tamil" +msgstr "Тамиль" + +msgid "Telugu" +msgstr "Телугу" + +msgid "Thai" +msgstr "Тай" + +msgid "Turkish" +msgstr "Түрік" + +msgid "Tatar" +msgstr "" + +msgid "Udmurt" +msgstr "" + +msgid "Ukrainian" +msgstr "Украин" + +msgid "Urdu" +msgstr "Урду" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "Вьетнам" + +msgid "Simplified Chinese" +msgstr "Жеңілдетілген қытай" + +msgid "Traditional Chinese" +msgstr "Дәстүрлі қытай" + +msgid "Messages" +msgstr "" + +msgid "Site Maps" +msgstr "" + +msgid "Static Files" +msgstr "" + +msgid "Syndication" +msgstr "" + +msgid "That page number is not an integer" +msgstr "" + +msgid "That page number is less than 1" +msgstr "" + +msgid "That page contains no results" +msgstr "" + +msgid "Enter a valid value." +msgstr "Тура мәнін енгізіңіз." + +msgid "Enter a valid URL." +msgstr "Тура URL-ді енгізіңіз." + +msgid "Enter a valid integer." +msgstr "" + +msgid "Enter a valid email address." +msgstr "" + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "Тура IPv4 адресті енгізіңіз." + +msgid "Enter a valid IPv6 address." +msgstr "" + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "" + +msgid "Enter only digits separated by commas." +msgstr "Тек үтірлермен бөлінген цифрлерді енгізіңіз." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Бұл мәннің %(limit_value)s екендігін тексеріңіз (қазір ол %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" +"Бұл мәннің мынадан %(limit_value)s кіші немесе тең екендігін тексеріңіз." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" +"Бұл мәннің мынадан %(limit_value)s үлкен немесе тең екендігін тексеріңіз." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Enter a number." +msgstr "Сан енгізіңіз." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "" + +msgid "and" +msgstr "және" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "" + +msgid "This field cannot be null." +msgstr "Бұл жолақ null болмау керек." + +msgid "This field cannot be blank." +msgstr "Бұл жолақ бос болмау керек." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s %(field_label)s жолақпен бұрыннан бар." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Жолақтын түрі: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "Boolean (True немесе False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Жол (%(max_length)s символға дейін)" + +msgid "Comma-separated integers" +msgstr "Үтірмен бөлінген бүтін сандар" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "Дата (уақытсыз)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "Дата (уақытпен)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "Ондық сан" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "" + +msgid "Email address" +msgstr "Email адрес" + +msgid "File path" +msgstr "Файл жолы" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "Реал сан" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "Бүтін сан" + +msgid "Big (8 byte) integer" +msgstr "Ұзын (8 байт) бүтін сан" + +msgid "IPv4 address" +msgstr "" + +msgid "IP address" +msgstr "IP мекенжайы" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "Булеан (True, False немесе None)" + +msgid "Positive integer" +msgstr "" + +msgid "Positive small integer" +msgstr "" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "" + +msgid "Small integer" +msgstr "" + +msgid "Text" +msgstr "Мәтін" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "Уақыт" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "" + +msgid "Image" +msgstr "" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" + +msgid "Foreign Key (type determined by related field)" +msgstr "Foreign Key (тип related field арқылы анықталады)" + +msgid "One-to-one relationship" +msgstr "One-to-one қатынас" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "" + +msgid "Many-to-many relationship" +msgstr "Many-to-many қатынас" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr "" + +msgid "This field is required." +msgstr "Бұл өрісті толтыру міндетті." + +msgid "Enter a whole number." +msgstr "Толық санды енгізіңіз." + +msgid "Enter a valid date." +msgstr "Дұрыс күнді енгізіңіз." + +msgid "Enter a valid time." +msgstr "Дұрыс уақытты енгізіңіз." + +msgid "Enter a valid date/time." +msgstr "Дұрыс күнді/уақытты енгізіңіз." + +msgid "Enter a valid duration." +msgstr "" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Ешқандай файл жіберілмеді. Форманың кодтау түрін тексеріңіз." + +msgid "No file was submitted." +msgstr "Ешқандай файл жіберілмеді." + +msgid "The submitted file is empty." +msgstr "Бос файл жіберілді." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Файлды жіберіңіз немесе тазалауды белгіленіз, екеуін бірге емес." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Дұрыс сүретті жүктеңіз. Сіз жүктеген файл - сүрет емес немесе бұзылған сүрет." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Дұрыс тандау жасаңыз. %(value)s дұрыс тандау емес." + +msgid "Enter a list of values." +msgstr "Мәндер тізімін енгізіңіз." + +msgid "Enter a complete value." +msgstr "" + +msgid "Enter a valid UUID." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr "" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "" +msgstr[1] "" + +msgid "Order" +msgstr "Сұрыптау" + +msgid "Delete" +msgstr "Жою" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "%(field)s жолақтағы қайталанған мәнді түзетіңіз." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "%(field)s жолақтағы мәнді түзетіңіз, ол бірегей болу керек." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"%(field_name)s жолақтағы мәнді түзетіңіз. Ол %(date_field)s жолақтың ішінде " +"%(lookup)s үшін бірегей болу керек." + +msgid "Please correct the duplicate values below." +msgstr "Қайталанатын мәндерді түзетіңіз." + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Дұрыс нұсқаны таңдаңыз. Бұл нұсқа дұрыс таңдаулардың арасында жоқ." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "Тазалау" + +msgid "Currently" +msgstr "Ағымдағы" + +msgid "Change" +msgstr "Түзету" + +msgid "Unknown" +msgstr "Белгісіз" + +msgid "Yes" +msgstr "Иә" + +msgid "No" +msgstr "Жоқ" + +msgid "Year" +msgstr "" + +msgid "Month" +msgstr "" + +msgid "Day" +msgstr "" + +msgid "yes,no,maybe" +msgstr "иә,жоқ,мүмкін" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d байт" +msgstr[1] "%(size)d байт" + +#, python-format +msgid "%s KB" +msgstr "%s КБ" + +#, python-format +msgid "%s MB" +msgstr "%s МБ" + +#, python-format +msgid "%s GB" +msgstr "%s ГБ" + +#, python-format +msgid "%s TB" +msgstr "%s ТБ" + +#, python-format +msgid "%s PB" +msgstr "%s ПБ" + +msgid "p.m." +msgstr "Т.Қ." + +msgid "a.m." +msgstr "Т.Ж." + +msgid "PM" +msgstr "ТҚ" + +msgid "AM" +msgstr "ТЖ" + +msgid "midnight" +msgstr "түнжарым" + +msgid "noon" +msgstr "түсқайта" + +msgid "Monday" +msgstr "Дүйсенбі" + +msgid "Tuesday" +msgstr "Сейсенбі" + +msgid "Wednesday" +msgstr "Сәрсенбі" + +msgid "Thursday" +msgstr "Бейсенбі" + +msgid "Friday" +msgstr "Жума" + +msgid "Saturday" +msgstr "Сенбі" + +msgid "Sunday" +msgstr "Жексенбі" + +msgid "Mon" +msgstr "Дб" + +msgid "Tue" +msgstr "Сб" + +msgid "Wed" +msgstr "Ср" + +msgid "Thu" +msgstr "Бс" + +msgid "Fri" +msgstr "Жм" + +msgid "Sat" +msgstr "Сн" + +msgid "Sun" +msgstr "Жк" + +msgid "January" +msgstr "Қаңтар" + +msgid "February" +msgstr "Ақпан" + +msgid "March" +msgstr "Наурыз" + +msgid "April" +msgstr "Сәуір" + +msgid "May" +msgstr "Мамыр" + +msgid "June" +msgstr "Маусым" + +msgid "July" +msgstr "Шілде" + +msgid "August" +msgstr "Тамыз" + +msgid "September" +msgstr "Қыркүйек" + +msgid "October" +msgstr "Қазан" + +msgid "November" +msgstr "Қараша" + +msgid "December" +msgstr "Желтоқсан" + +msgid "jan" +msgstr "қан" + +msgid "feb" +msgstr "ақп" + +msgid "mar" +msgstr "нау" + +msgid "apr" +msgstr "сәу" + +msgid "may" +msgstr "мам" + +msgid "jun" +msgstr "мау" + +msgid "jul" +msgstr "шіл" + +msgid "aug" +msgstr "там" + +msgid "sep" +msgstr "қыр" + +msgid "oct" +msgstr "қаз" + +msgid "nov" +msgstr "қар" + +msgid "dec" +msgstr "жел" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Қаң." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Ақп." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Наурыз" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Сәуір" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Мамыр" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Маусым" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Шілде" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Там." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Қыр." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Қаз." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Қар." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Жел." + +msgctxt "alt. month" +msgid "January" +msgstr "Қаңтар" + +msgctxt "alt. month" +msgid "February" +msgstr "Ақпан" + +msgctxt "alt. month" +msgid "March" +msgstr "Наурыз" + +msgctxt "alt. month" +msgid "April" +msgstr "Сәуір" + +msgctxt "alt. month" +msgid "May" +msgstr "Мамыр" + +msgctxt "alt. month" +msgid "June" +msgstr "Маусым" + +msgctxt "alt. month" +msgid "July" +msgstr "Шілде" + +msgctxt "alt. month" +msgid "August" +msgstr "Тамыз" + +msgctxt "alt. month" +msgid "September" +msgstr "Қыркүйек" + +msgctxt "alt. month" +msgid "October" +msgstr "Қазан" + +msgctxt "alt. month" +msgid "November" +msgstr "Қараша" + +msgctxt "alt. month" +msgid "December" +msgstr "Желтоқсан" + +msgid "This is not a valid IPv6 address." +msgstr "" + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "немесе" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "" +msgstr[1] "" + +msgid "0 minutes" +msgstr "" + +msgid "Forbidden" +msgstr "" + +msgid "CSRF verification failed. Request aborted." +msgstr "" + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "" + +msgid "No year specified" +msgstr "Жыл таңдалмаған" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "Ай таңдалмаған" + +msgid "No day specified" +msgstr "Күн таңдалмаған" + +msgid "No week specified" +msgstr "Апта таңдалмаған" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "%(verbose_name_plural)s қол жеткізгісіз" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Болашақ %(verbose_name_plural)s қол жеткізгісіз, себебі %(class_name)s." +"allow_future False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "%(verbose_name)s табылған жоқ" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "" + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/km/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/km/LC_MESSAGES/django.po new file mode 100644 index 0000000..c706129 --- /dev/null +++ b/external_sources/django/django/conf/locale/km/LC_MESSAGES/django.po @@ -0,0 +1,1196 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-27 22:40+0200\n" +"PO-Revision-Date: 2019-11-05 00:38+0000\n" +"Last-Translator: Ramiro Morales\n" +"Language-Team: Khmer (http://www.transifex.com/django/django/language/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" + +msgid "Afrikaans" +msgstr "" + +msgid "Arabic" +msgstr "ភាសាអារ៉ាប់" + +msgid "Asturian" +msgstr "" + +msgid "Azerbaijani" +msgstr "" + +msgid "Bulgarian" +msgstr "" + +msgid "Belarusian" +msgstr "" + +msgid "Bengali" +msgstr "ភាសាបេឡារុស្ស" + +msgid "Breton" +msgstr "" + +msgid "Bosnian" +msgstr "" + +msgid "Catalan" +msgstr "" + +msgid "Czech" +msgstr "ភាសាឆេក" + +msgid "Welsh" +msgstr "ភាសាអ៊ុយក្រែន" + +msgid "Danish" +msgstr "ភាសាដាណឺម៉ាក" + +msgid "German" +msgstr "ភាសាអាល្លឺម៉ង់" + +msgid "Lower Sorbian" +msgstr "" + +msgid "Greek" +msgstr "ភាសាហ្កែលិគ" + +msgid "English" +msgstr "ភាសាអង់គ្លេស" + +msgid "Australian English" +msgstr "" + +msgid "British English" +msgstr "" + +msgid "Esperanto" +msgstr "" + +msgid "Spanish" +msgstr "ភាសាអេស្ប៉ាញ" + +msgid "Argentinian Spanish" +msgstr "" + +msgid "Colombian Spanish" +msgstr "" + +msgid "Mexican Spanish" +msgstr "" + +msgid "Nicaraguan Spanish" +msgstr "" + +msgid "Venezuelan Spanish" +msgstr "" + +msgid "Estonian" +msgstr "" + +msgid "Basque" +msgstr "" + +msgid "Persian" +msgstr "" + +msgid "Finnish" +msgstr "ភាសាហ្វាំងឡង់" + +msgid "French" +msgstr "ភាសាបារាំង" + +msgid "Frisian" +msgstr "" + +msgid "Irish" +msgstr "" + +msgid "Scottish Gaelic" +msgstr "" + +msgid "Galician" +msgstr "ភាសាហ្កែលិគ" + +msgid "Hebrew" +msgstr "ភាសាហេប្រិ" + +msgid "Hindi" +msgstr "" + +msgid "Croatian" +msgstr "" + +msgid "Upper Sorbian" +msgstr "" + +msgid "Hungarian" +msgstr "ភាសាហុងគ្រី" + +msgid "Armenian" +msgstr "" + +msgid "Interlingua" +msgstr "" + +msgid "Indonesian" +msgstr "" + +msgid "Ido" +msgstr "" + +msgid "Icelandic" +msgstr "ភាសាអ៉ីស្លង់" + +msgid "Italian" +msgstr "ភាសាអ៊ីតាលី" + +msgid "Japanese" +msgstr "ភាសាជប៉ុន" + +msgid "Georgian" +msgstr "" + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "" + +msgid "Khmer" +msgstr "" + +msgid "Kannada" +msgstr "" + +msgid "Korean" +msgstr "" + +msgid "Luxembourgish" +msgstr "" + +msgid "Lithuanian" +msgstr "" + +msgid "Latvian" +msgstr "" + +msgid "Macedonian" +msgstr "" + +msgid "Malayalam" +msgstr "" + +msgid "Mongolian" +msgstr "" + +msgid "Marathi" +msgstr "" + +msgid "Burmese" +msgstr "" + +msgid "Norwegian Bokmål" +msgstr "" + +msgid "Nepali" +msgstr "" + +msgid "Dutch" +msgstr "ភាសាហ្វាំងឡង់" + +msgid "Norwegian Nynorsk" +msgstr "" + +msgid "Ossetic" +msgstr "" + +msgid "Punjabi" +msgstr "" + +msgid "Polish" +msgstr "" + +msgid "Portuguese" +msgstr "" + +msgid "Brazilian Portuguese" +msgstr "" + +msgid "Romanian" +msgstr "ភាសារូម៉ានី" + +msgid "Russian" +msgstr "ភាសាรัរូស្ស៉ី" + +msgid "Slovak" +msgstr "ភាសាស្លូវ៉ាគី" + +msgid "Slovenian" +msgstr "ភាសាស្លូវ៉ានី" + +msgid "Albanian" +msgstr "" + +msgid "Serbian" +msgstr "" + +msgid "Serbian Latin" +msgstr "" + +msgid "Swedish" +msgstr "ភាសាស៊ុយអែដ" + +msgid "Swahili" +msgstr "" + +msgid "Tamil" +msgstr "ភាសាតាមីល" + +msgid "Telugu" +msgstr "" + +msgid "Thai" +msgstr "" + +msgid "Turkish" +msgstr "ភាសាទួរគី" + +msgid "Tatar" +msgstr "" + +msgid "Udmurt" +msgstr "" + +msgid "Ukrainian" +msgstr "ភាសាអ៊ុយក្រែន" + +msgid "Urdu" +msgstr "" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "" + +msgid "Simplified Chinese" +msgstr "ភាសាចិនសាមញ្ញ" + +msgid "Traditional Chinese" +msgstr "ភាសាចិនបុរាណ" + +msgid "Messages" +msgstr "" + +msgid "Site Maps" +msgstr "" + +msgid "Static Files" +msgstr "" + +msgid "Syndication" +msgstr "" + +msgid "That page number is not an integer" +msgstr "" + +msgid "That page number is less than 1" +msgstr "" + +msgid "That page contains no results" +msgstr "" + +msgid "Enter a valid value." +msgstr "" + +msgid "Enter a valid URL." +msgstr "" + +msgid "Enter a valid integer." +msgstr "" + +msgid "Enter a valid email address." +msgstr "" + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "" + +msgid "Enter a valid IPv6 address." +msgstr "" + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "" + +msgid "Enter only digits separated by commas." +msgstr "បំពេញតែលេខហើយផ្តាច់ចេញពីគ្នាដោយសញ្ញាក្បៀស។" + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" + +msgid "Enter a number." +msgstr "" + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "" + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "" + +msgid "and" +msgstr "និង" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "" + +msgid "This field cannot be null." +msgstr "ចាំបាច់បំពេញទិន្នន័យកន្លែងនេះ។" + +msgid "This field cannot be blank." +msgstr "" + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "" + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "Boolean (អាច​ជា True រឺ False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "" + +msgid "Comma-separated integers" +msgstr "ចំនួនពិត(Integer) ដែលផ្តាច់ចេញពីគ្នាដោយ​ក្បៀស" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "កាល​បរិច្ឆេទ (Date) (មិនមានសរសេរម៉ោង)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "កាល​បរិច្ឆេទ (Date) (មានសរសេរម៉ោង)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "ចំនួនទសភាគ (Decimal)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "" + +msgid "Email address" +msgstr "" + +msgid "File path" +msgstr "ផ្លូវទៅកាន់ឯកសារ" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "ចំនួនពិត(Integer)" + +msgid "Big (8 byte) integer" +msgstr "" + +msgid "IPv4 address" +msgstr "" + +msgid "IP address" +msgstr "លេខ IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "Boolean (អាចជា True​ រឺ False រឺ None)" + +msgid "Positive integer" +msgstr "" + +msgid "Positive small integer" +msgstr "" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "" + +msgid "Small integer" +msgstr "" + +msgid "Text" +msgstr "អត្ថបទ" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "ពេលវេលា" + +msgid "URL" +msgstr "អាស័យដ្ឋានគេហទំព័រ(URL)" + +msgid "Raw binary data" +msgstr "" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "" + +msgid "Image" +msgstr "" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" + +msgid "Foreign Key (type determined by related field)" +msgstr "" + +msgid "One-to-one relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "" + +msgid "Many-to-many relationship" +msgstr "" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr "" + +msgid "This field is required." +msgstr "ចាំបាច់បំពេញទិន្នន័យកន្លែងនេះ។" + +msgid "Enter a whole number." +msgstr "បំពេញចំនួនទាំងអស់។" + +msgid "Enter a valid date." +msgstr "" + +msgid "Enter a valid time." +msgstr "" + +msgid "Enter a valid date/time." +msgstr "" + +msgid "Enter a valid duration." +msgstr "" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "មិនមានឯកសារត្រូវបានជ្រើសរើស។ សូមពិនិត្យប្រភេទឯកសារម្តងទៀត។" + +msgid "No file was submitted." +msgstr "" + +msgid "The submitted file is empty." +msgstr "ពុំមានឯកសារ។​" + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "រូបភាពដែលទាញយកមិនត្រឹមត្រូវ ប្រហែលជាមិនមែនជារូបភាព ឬក៏ជា រូបភាពខូច។" + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" + +msgid "Enter a list of values." +msgstr "" + +msgid "Enter a complete value." +msgstr "" + +msgid "Enter a valid UUID." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr "" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "" + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "" + +msgid "Order" +msgstr "" + +msgid "Delete" +msgstr "លប់" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "" + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" + +msgid "Please correct the duplicate values below." +msgstr "" + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "" + +msgid "Currently" +msgstr "" + +msgid "Change" +msgstr "ផ្លាស់ប្តូរ" + +msgid "Unknown" +msgstr "មិន​ដឹង" + +msgid "Yes" +msgstr "យល់ព្រម" + +msgid "No" +msgstr "មិនយល់ព្រម" + +msgid "Year" +msgstr "" + +msgid "Month" +msgstr "" + +msgid "Day" +msgstr "" + +msgid "yes,no,maybe" +msgstr "យល់ព្រម មិនយល់ព្រម​ ប្រហែល" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "" + +#, python-format +msgid "%s KB" +msgstr "" + +#, python-format +msgid "%s MB" +msgstr "" + +#, python-format +msgid "%s GB" +msgstr "" + +#, python-format +msgid "%s TB" +msgstr "" + +#, python-format +msgid "%s PB" +msgstr "" + +msgid "p.m." +msgstr "" + +msgid "a.m." +msgstr "" + +msgid "PM" +msgstr "" + +msgid "AM" +msgstr "" + +msgid "midnight" +msgstr "" + +msgid "noon" +msgstr "" + +msgid "Monday" +msgstr "ច័ន្ទ" + +msgid "Tuesday" +msgstr "អង្គារ" + +msgid "Wednesday" +msgstr "ពុធ" + +msgid "Thursday" +msgstr "ព្រហស្បតិ៍" + +msgid "Friday" +msgstr "សុក្រ" + +msgid "Saturday" +msgstr "សៅរ៍" + +msgid "Sunday" +msgstr "អាទិត្យ" + +msgid "Mon" +msgstr "" + +msgid "Tue" +msgstr "" + +msgid "Wed" +msgstr "" + +msgid "Thu" +msgstr "" + +msgid "Fri" +msgstr "" + +msgid "Sat" +msgstr "" + +msgid "Sun" +msgstr "" + +msgid "January" +msgstr "មករា" + +msgid "February" +msgstr "កុម្ភៈ" + +msgid "March" +msgstr "មិនា" + +msgid "April" +msgstr "មេសា" + +msgid "May" +msgstr "ឧសភា" + +msgid "June" +msgstr "មិថុនា" + +msgid "July" +msgstr "កក្កដា" + +msgid "August" +msgstr "សីហា" + +msgid "September" +msgstr "កញ្ញា" + +msgid "October" +msgstr "តុលា" + +msgid "November" +msgstr "វិច្ឆិកា" + +msgid "December" +msgstr "ធ្នូ" + +msgid "jan" +msgstr "មករា" + +msgid "feb" +msgstr "កុម្ភះ" + +msgid "mar" +msgstr "មិនា" + +msgid "apr" +msgstr "មេសា" + +msgid "may" +msgstr "ឧសភា" + +msgid "jun" +msgstr "មិថុនា" + +msgid "jul" +msgstr "កក្កដា" + +msgid "aug" +msgstr "សីហា" + +msgid "sep" +msgstr "កញ្ញា" + +msgid "oct" +msgstr "តុលា" + +msgid "nov" +msgstr "វិច្ឆិកា" + +msgid "dec" +msgstr "ធ្នូ" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "" + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "" + +msgctxt "abbrev. month" +msgid "March" +msgstr "មិនា" + +msgctxt "abbrev. month" +msgid "April" +msgstr "មេសា" + +msgctxt "abbrev. month" +msgid "May" +msgstr "ឧសភា" + +msgctxt "abbrev. month" +msgid "June" +msgstr "មិថុនា" + +msgctxt "abbrev. month" +msgid "July" +msgstr "កក្កដា" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "" + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "" + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "" + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "" + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "" + +msgctxt "alt. month" +msgid "January" +msgstr "មករា" + +msgctxt "alt. month" +msgid "February" +msgstr "កុម្ភៈ" + +msgctxt "alt. month" +msgid "March" +msgstr "មិនា" + +msgctxt "alt. month" +msgid "April" +msgstr "មេសា" + +msgctxt "alt. month" +msgid "May" +msgstr "ឧសភា" + +msgctxt "alt. month" +msgid "June" +msgstr "មិថុនា" + +msgctxt "alt. month" +msgid "July" +msgstr "កក្កដា" + +msgctxt "alt. month" +msgid "August" +msgstr "សីហា" + +msgctxt "alt. month" +msgid "September" +msgstr "កញ្ញា" + +msgctxt "alt. month" +msgid "October" +msgstr "តុលា" + +msgctxt "alt. month" +msgid "November" +msgstr "វិច្ឆិកា" + +msgctxt "alt. month" +msgid "December" +msgstr "ធ្នូ" + +msgid "This is not a valid IPv6 address." +msgstr "" + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr "" + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "" + +msgid "0 minutes" +msgstr "" + +msgid "Forbidden" +msgstr "" + +msgid "CSRF verification failed. Request aborted." +msgstr "" + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "" + +msgid "No year specified" +msgstr "" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "" + +msgid "No day specified" +msgstr "" + +msgid "No week specified" +msgstr "" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "" + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/km/__init__.py b/external_sources/django/django/conf/locale/km/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/km/formats.py b/external_sources/django/django/conf/locale/km/formats.py new file mode 100644 index 0000000..5923437 --- /dev/null +++ b/external_sources/django/django/conf/locale/km/formats.py @@ -0,0 +1,21 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j ខែ F ឆ្នាំ Y" +TIME_FORMAT = "G:i" +DATETIME_FORMAT = "j ខែ F ឆ្នាំ Y, G:i" +# YEAR_MONTH_FORMAT = +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "j M Y" +SHORT_DATETIME_FORMAT = "j M Y, G:i" +# FIRST_DAY_OF_WEEK = + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "." +# NUMBER_GROUPING = diff --git a/external_sources/django/django/conf/locale/kn/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/kn/LC_MESSAGES/django.po new file mode 100644 index 0000000..f2ba2aa --- /dev/null +++ b/external_sources/django/django/conf/locale/kn/LC_MESSAGES/django.po @@ -0,0 +1,1232 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel , 2011 +# karthikbgl , 2011-2012 +# Ramakrishna Yekulla , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-27 22:40+0200\n" +"PO-Revision-Date: 2019-11-05 00:38+0000\n" +"Last-Translator: Ramiro Morales\n" +"Language-Team: Kannada (http://www.transifex.com/django/django/language/" +"kn/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: kn\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgid "Afrikaans" +msgstr "" + +msgid "Arabic" +msgstr "ಅರೇಬಿಕ್" + +msgid "Asturian" +msgstr "" + +msgid "Azerbaijani" +msgstr "ಆಜೆರ್ಬೈಜನಿ" + +msgid "Bulgarian" +msgstr "ಬಲ್ಗೇರಿಯನ್" + +msgid "Belarusian" +msgstr "" + +msgid "Bengali" +msgstr "ಬೆಂಗಾಲಿ" + +msgid "Breton" +msgstr "" + +msgid "Bosnian" +msgstr "ಬೋಸ್ನಿಯನ್" + +msgid "Catalan" +msgstr "ಕೆಟಲಾನ್" + +msgid "Czech" +msgstr "ಝೆಕ್" + +msgid "Welsh" +msgstr "ವೆಲ್ಷ್" + +msgid "Danish" +msgstr "ಡ್ಯಾನಿಷ್" + +msgid "German" +msgstr "ಜರ್ಮನ್" + +msgid "Lower Sorbian" +msgstr "" + +msgid "Greek" +msgstr "ಗ್ರೀಕ್" + +msgid "English" +msgstr "ಇಂಗ್ಲಿಷ್" + +msgid "Australian English" +msgstr "" + +msgid "British English" +msgstr "ಬ್ರಿಟೀಶ್ ಇಂಗ್ಲಿಷ್" + +msgid "Esperanto" +msgstr "" + +msgid "Spanish" +msgstr "ಸ್ಪ್ಯಾನಿಷ್" + +msgid "Argentinian Spanish" +msgstr "ಅರ್ಜೆಂಟಿನಿಯನ್ ಸ್ಪಾನಿಷ್" + +msgid "Colombian Spanish" +msgstr "" + +msgid "Mexican Spanish" +msgstr "ಮೆಕ್ಸಿಕನ್ ಸ್ಪಾನಿಷ್" + +msgid "Nicaraguan Spanish" +msgstr "nicarguan ಸ್ಪಾನಿಷ್" + +msgid "Venezuelan Spanish" +msgstr "" + +msgid "Estonian" +msgstr "ಎಷ್ಟೋನಿಯನ್" + +msgid "Basque" +msgstr "ಬಾಸ್ಕ್‍" + +msgid "Persian" +msgstr "ಪರ್ಶಿಯನ್" + +msgid "Finnish" +msgstr "ಫಿನ್ನಿಶ್" + +msgid "French" +msgstr "ಫ್ರೆಂಚ್" + +msgid "Frisian" +msgstr "ಫ್ರಿಸಿಯನ್" + +msgid "Irish" +msgstr "ಐರಿಶ್" + +msgid "Scottish Gaelic" +msgstr "" + +msgid "Galician" +msgstr "ಗೆಲಿಶಿಯನ್" + +msgid "Hebrew" +msgstr "ಹೀಬ್ರೂ" + +msgid "Hindi" +msgstr "ಹಿಂದಿ" + +msgid "Croatian" +msgstr "ಕ್ರೊಯೇಶಿಯನ್" + +msgid "Upper Sorbian" +msgstr "" + +msgid "Hungarian" +msgstr "ಹಂಗೇರಿಯನ್" + +msgid "Armenian" +msgstr "" + +msgid "Interlingua" +msgstr "" + +msgid "Indonesian" +msgstr "ಇಂಡೋನಿಶಿಯನ್" + +msgid "Ido" +msgstr "" + +msgid "Icelandic" +msgstr "ಐಸ್‌ಲ್ಯಾಂಡಿಕ್" + +msgid "Italian" +msgstr "ಇಟಾಲಿಯನ್" + +msgid "Japanese" +msgstr "ಜಾಪನೀಸ್" + +msgid "Georgian" +msgstr "ಜಾರ್ಜೆಯನ್ " + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "" + +msgid "Khmer" +msgstr "ಖಮೇರ್" + +msgid "Kannada" +msgstr "ಕನ್ನಡ" + +msgid "Korean" +msgstr "ಕೊರಿಯನ್" + +msgid "Luxembourgish" +msgstr "" + +msgid "Lithuanian" +msgstr "ಲಿತುವಾನಿಯನ್ " + +msgid "Latvian" +msgstr "ಲಾಟ್ವಿಯನ್" + +msgid "Macedonian" +msgstr "ಮೆಸಡೊನಿಯನ್" + +msgid "Malayalam" +msgstr "ಮಲಯಾಳಂ" + +msgid "Mongolian" +msgstr "ಮಂಗೊಲಿಯನ್" + +msgid "Marathi" +msgstr "" + +msgid "Burmese" +msgstr "" + +msgid "Norwegian Bokmål" +msgstr "" + +msgid "Nepali" +msgstr "" + +msgid "Dutch" +msgstr "ಡಚ್" + +msgid "Norwegian Nynorsk" +msgstr "ನಾರ್ವೇಜಿಯನ್ ನಿನೋರ್ಕ್" + +msgid "Ossetic" +msgstr "" + +msgid "Punjabi" +msgstr "ಪಂಜಾಬಿ" + +msgid "Polish" +msgstr "ಪೋಲಿಷ್" + +msgid "Portuguese" +msgstr "ಪೋರ್ಚುಗೀಸ್" + +msgid "Brazilian Portuguese" +msgstr "ಬ್ರಜೀಲಿಯನ್ ಪೋರ್ಚುಗೀಸ್" + +msgid "Romanian" +msgstr "ರೋಮೇನಿಯನ್" + +msgid "Russian" +msgstr "ರಶಿಯನ್" + +msgid "Slovak" +msgstr "ಸ್ಲೋವಾಕ್" + +msgid "Slovenian" +msgstr "ಸ್ಲೋವೇನಿಯನ್" + +msgid "Albanian" +msgstr "ಅಲ್ಬೆನಿಯನ್ " + +msgid "Serbian" +msgstr "ಸರ್ಬಿಯನ್" + +msgid "Serbian Latin" +msgstr "ಸರ್ಬಿಯನ್ ಲ್ಯಾಟಿನ್" + +msgid "Swedish" +msgstr "ಸ್ವೀಡಿಷ್" + +msgid "Swahili" +msgstr "" + +msgid "Tamil" +msgstr "ತಮಿಳು" + +msgid "Telugu" +msgstr "ತೆಲುಗು" + +msgid "Thai" +msgstr "ಥಾಯ್" + +msgid "Turkish" +msgstr "ಟರ್ಕಿಶ್" + +msgid "Tatar" +msgstr "" + +msgid "Udmurt" +msgstr "" + +msgid "Ukrainian" +msgstr "ಉಕ್ರೇನಿಯನ್" + +msgid "Urdu" +msgstr "ಉರ್ದು" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "ವಿಯೆತ್ನಾಮೀಸ್" + +msgid "Simplified Chinese" +msgstr "ಸರಳೀಕೃತ ಚೈನೀಸ್" + +msgid "Traditional Chinese" +msgstr "ಸಂಪ್ರದಾಯಿಕ ಚೈನೀಸ್ " + +msgid "Messages" +msgstr "" + +msgid "Site Maps" +msgstr "" + +msgid "Static Files" +msgstr "" + +msgid "Syndication" +msgstr "" + +msgid "That page number is not an integer" +msgstr "" + +msgid "That page number is less than 1" +msgstr "" + +msgid "That page contains no results" +msgstr "" + +msgid "Enter a valid value." +msgstr "ಸಿಂಧುವಾದ ಮೌಲ್ಯವನ್ನು ನಮೂದಿಸಿ." + +msgid "Enter a valid URL." +msgstr "ಸರಿಯಾದ ಒಂದು URL ಅನ್ನು ನಮೂದಿಸಿ." + +msgid "Enter a valid integer." +msgstr "" + +msgid "Enter a valid email address." +msgstr "" + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "ಒಂದು ಸರಿಯಾದ IPv4 ವಿಳಾಸವನ್ನು ನಮೂದಿಸಿ." + +msgid "Enter a valid IPv6 address." +msgstr "ಮಾನ್ಯವಾದ IPv6 ವಿಳಾಸ ದಾಖಲಿಸಿ" + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "ಮಾನ್ಯವಾದ IPv4 ಅಥವಾ IPv6 ವಿಳಾಸ ದಾಖಲಿಸಿ" + +msgid "Enter only digits separated by commas." +msgstr "ಅಲ್ಪವಿರಾಮ(,)ಗಳಿಂದ ಬೇರ್ಪಟ್ಟ ಅಂಕೆಗಳನ್ನು ಮಾತ್ರ ಬರೆಯಿರಿ." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"ಈ ಮೌಲ್ಯವು %(limit_value)s ಆಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ (ಇದು %(show_value)s ಆಗಿದೆ)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" +"ಈ ಮೌಲ್ಯವು %(limit_value)s ಕ್ಕಿಂತ ಕಡಿಮೆಯ ಅಥವ ಸಮನಾದ ಮೌಲ್ಯವಾಗಿದೆ ಎಂದು ಖಾತ್ರಿ " +"ಮಾಡಿಕೊಳ್ಳಿ." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" +"ಈ ಮೌಲ್ಯವು %(limit_value)s ಕ್ಕಿಂತ ಹೆಚ್ಚಿನ ಅಥವ ಸಮನಾದ ಮೌಲ್ಯವಾಗಿದೆ ಎಂದು ಖಾತ್ರಿ " +"ಮಾಡಿಕೊಳ್ಳಿ." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Enter a number." +msgstr "ಒಂದು ಸಂಖ್ಯೆಯನ್ನು ನಮೂದಿಸಿ." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "" + +msgid "and" +msgstr "ಮತ್ತು" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "" + +msgid "This field cannot be null." +msgstr "ಈ ಅಂಶವನ್ನು ಖಾಲಿ ಬಿಡುವಂತಿಲ್ಲ." + +msgid "This field cannot be blank." +msgstr "ಈ ಸ್ಥಳವು ಖಾಲಿ ಇರುವಂತಿಲ್ಲ." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "" +"ಈ %(field_label)s ಅನ್ನು ಹೊಂದಿರುವ ಒಂದು %(model_name)s ಈಗಾಗಲೆ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "ಕ್ಷೇತ್ರದ ಬಗೆ: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "ಬೂಲಿಯನ್ (ಹೌದು ಅಥವ ಅಲ್ಲ)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "ಪದಪುಂಜ (%(max_length)s ವರೆಗೆ)" + +msgid "Comma-separated integers" +msgstr "ಅಲ್ಪವಿರಾಮ(,) ದಿಂದ ಬೇರ್ಪಟ್ಟ ಪೂರ್ಣಸಂಖ್ಯೆಗಳು" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "ದಿನಾಂಕ (ಸಮಯವಿಲ್ಲದೆ)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "ದಿನಾಂಕ (ಸಮಯದೊಂದಿಗೆ)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "ದಶಮಾನ ಸಂಖ್ಯೆ" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "" + +msgid "Email address" +msgstr "" + +msgid "File path" +msgstr "ಕಡತದ ಸ್ಥಾನಪಥ" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "ತೇಲುವ-ಬಿಂದು ಸಂಖ್ಯೆ" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "ಪೂರ್ಣಾಂಕ" + +msgid "Big (8 byte) integer" +msgstr "ಬೃಹತ್ (೮ ಬೈಟ್) ಪೂರ್ಣ ಸಂಖ್ಯೆ" + +msgid "IPv4 address" +msgstr "IPv4 ವಿಳಾಸ" + +msgid "IP address" +msgstr "IP ವಿಳಾಸ" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "ಬೂಲಿಯನ್ (ನಿಜ, ಸುಳ್ಳು ಅಥವ ಯಾವುದೂ ಅಲ್ಲ ಇವುಗಳಲ್ಲಿ ಒಂದು)" + +msgid "Positive integer" +msgstr "" + +msgid "Positive small integer" +msgstr "" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "" + +msgid "Small integer" +msgstr "" + +msgid "Text" +msgstr "ಪಠ್ಯ" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "ಸಮಯ" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "" + +msgid "Image" +msgstr "" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" + +msgid "Foreign Key (type determined by related field)" +msgstr "ಬಾಹ್ಯ ಕೀಲಿ (ಸಂಬಂಧಿತ ಸ್ಥಳದಿಂದ ಪ್ರಕಾರವನ್ನು ನಿರ್ಧರಿಸಲಾಗುತ್ತದೆ)" + +msgid "One-to-one relationship" +msgstr "ಒನ್-ಟು-ಒನ್ (ಪರಸ್ಪರ) ಸಂಬಂಧ" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "" + +msgid "Many-to-many relationship" +msgstr "ಮೆನಿ-ಟು-ಮೆನಿ (ಸಾರ್ವಜನಿಕ) ಸಂಬಂಧ" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr "" + +msgid "This field is required." +msgstr "ಈ ಸ್ಥಳವು ಅಗತ್ಯವಿರುತ್ತದೆ." + +msgid "Enter a whole number." +msgstr "ಪೂರ್ಣಾಂಕವೊಂದನ್ನು ನಮೂದಿಸಿ." + +msgid "Enter a valid date." +msgstr "ಸರಿಯಾದ ದಿನಾಂಕವನ್ನು ನಮೂದಿಸಿ." + +msgid "Enter a valid time." +msgstr "ಸರಿಯಾದ ಸಮಯವನ್ನು ನಮೂದಿಸಿ." + +msgid "Enter a valid date/time." +msgstr "ಸರಿಯಾದ ದಿನಾಂಕ/ಸಮಯವನ್ನು ನಮೂದಿಸಿ." + +msgid "Enter a valid duration." +msgstr "" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"ಯಾವದೇ ಕಡತವನ್ನೂ ಸಲ್ಲಿಸಲಾಗಿಲ್ಲ. ನಮೂನೆಯ ಮೇಲಿನ ಸಂಕೇತೀಕರಣ (ಎನ್ಕೋಡಿಂಗ್) ಬಗೆಯನ್ನು " +"ಪರೀಕ್ಷಿಸಿ." + +msgid "No file was submitted." +msgstr "ಯಾವದೇ ಕಡತವನ್ನೂ ಸಲ್ಲಿಸಲಾಗಿಲ್ಲ." + +msgid "The submitted file is empty." +msgstr "ಸಲ್ಲಿಸಲಾದ ಕಡತ ಖಾಲಿ ಇದೆ." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"ದಯವಿಟ್ಟು ಕಡತವನ್ನು ಸಲ್ಲಿಸಿ ಅಥವ ಅಳಿಸುವ ಗುರುತುಚೌಕವನ್ನು ಗುರುತು ಹಾಕಿ, ಎರಡನ್ನೂ ಒಟ್ಟಿಗೆ " +"ಮಾಡಬೇಡಿ." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"ಸರಿಯಾದ ಚಿತ್ರವನ್ನು ಸೇರಿಸಿ. ನೀವು ಸೇರಿಸಿದ ಕಡತವು ಚಿತ್ರವೇ ಅಲ್ಲ ಅಥವಾ ಅದು ಒಂದು ಹಾಳಾದ " +"ಚಿತ್ರವಾಗಿದೆ. " + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "ಸರಿಯಾದ ಒಂದು ಆಯ್ಕೆಯನ್ನು ಆರಿಸಿ. %(value)s ಎನ್ನುವುದು ಲಭ್ಯವಿರುವ ಆಯ್ಕೆಗಳಲ್ಲಿ ಇಲ್ಲ." + +msgid "Enter a list of values." +msgstr "ಮೌಲ್ಯಗಳ ಒಂದು ಪಟ್ಟಿಯನ್ನು ನಮೂದಿಸಿ." + +msgid "Enter a complete value." +msgstr "" + +msgid "Enter a valid UUID." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr "" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "" +msgstr[1] "" + +msgid "Order" +msgstr "ಕ್ರಮ" + +msgid "Delete" +msgstr "ಅಳಿಸಿಹಾಕಿ" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "%(field)s ಗಾಗಿ ಎರಡು ಬಾರಿ ನಮೂದಿಸಲಾದ ಮಾಹಿತಿಯನ್ನು ಸರಿಪಡಿಸಿ." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"%(field)s ಗಾಗಿ ಎರಡು ಬಾರಿ ನಮೂದಿಸಲಾದ ಮಾಹಿತಿಯನ್ನು ಸರಿಪಡಿಸಿ, ಇದರ ಮೌಲ್ಯವು " +"ವಿಶಿಷ್ಟವಾಗಿರಬೇಕು." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"%(field_name)s ಗಾಗಿ ಎರಡು ಬಾರಿ ನಮೂದಿಸಲಾದ ಮಾಹಿತಿಯನ್ನು ಸರಿಪಡಿಸಿ, %(date_field)s " +"ನಲ್ಲಿನ %(lookup)s ಗಾಗಿ ಇದರ ಮೌಲ್ಯವು ವಿಶಿಷ್ಟವಾಗಿರಬೇಕು." + +msgid "Please correct the duplicate values below." +msgstr "ದಯವಿಟ್ಟು ಈ ಕೆಳಗೆ ಎರಡು ಬಾರಿ ನಮೂದಿಸಲಾದ ಮೌಲ್ಯವನ್ನು ಸರಿಪಡಿಸಿ." + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "ಸರಿಯಾದ ಒಂದು ಆಯ್ಕೆಯನ್ನು ಆರಿಸಿ. ಆ ಆಯ್ಕೆಯು ಲಭ್ಯವಿರುವ ಆಯ್ಕೆಗಳಲ್ಲಿ ಇಲ್ಲ." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "ಮುಕ್ತಗೊಳಿಸು" + +msgid "Currently" +msgstr "ಪ್ರಸಕ್ತ" + +msgid "Change" +msgstr "ಬದಲಾವಣೆ" + +msgid "Unknown" +msgstr "ಗೊತ್ತಿರದ" + +msgid "Yes" +msgstr "ಹೌದು" + +msgid "No" +msgstr "ಇಲ್ಲ" + +msgid "Year" +msgstr "" + +msgid "Month" +msgstr "" + +msgid "Day" +msgstr "" + +msgid "yes,no,maybe" +msgstr "ಹೌದು,ಇಲ್ಲ,ಇರಬಹುದು" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d ಬೈಟ್‌ಗಳು" +msgstr[1] "%(size)d ಬೈಟ್‌ಗಳು" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "ಅಪರಾಹ್ನ" + +msgid "a.m." +msgstr "ಪೂರ್ವಾಹ್ನ" + +msgid "PM" +msgstr "ಅಪರಾಹ್ನ" + +msgid "AM" +msgstr "ಪೂರ್ವಾಹ್ನ" + +msgid "midnight" +msgstr "ಮಧ್ಯರಾತ್ರಿ" + +msgid "noon" +msgstr "ಮಧ್ಯಾಹ್ನ" + +msgid "Monday" +msgstr "ಸೋಮವಾರ" + +msgid "Tuesday" +msgstr "ಮಂಗಳವಾರ" + +msgid "Wednesday" +msgstr "ಬುಧವಾರ" + +msgid "Thursday" +msgstr "ಗುರುವಾರ" + +msgid "Friday" +msgstr "ಶುಕ್ರವಾರ" + +msgid "Saturday" +msgstr "ಶನಿವಾರ" + +msgid "Sunday" +msgstr "ರವಿವಾರ" + +msgid "Mon" +msgstr "ಸೋಮ" + +msgid "Tue" +msgstr "ಮಂಗಳ" + +msgid "Wed" +msgstr "ಬುಧ" + +msgid "Thu" +msgstr "ಗುರು" + +msgid "Fri" +msgstr "ಶುಕ್ರ" + +msgid "Sat" +msgstr "ಶನಿ" + +msgid "Sun" +msgstr "ರವಿ" + +msgid "January" +msgstr "ಜನವರಿ" + +msgid "February" +msgstr "ಫೆಬ್ರುವರಿ" + +msgid "March" +msgstr "ಮಾರ್ಚ್" + +msgid "April" +msgstr "ಎಪ್ರಿಲ್" + +msgid "May" +msgstr "ಮೇ" + +msgid "June" +msgstr "ಜೂನ್" + +msgid "July" +msgstr "ಜುಲೈ" + +msgid "August" +msgstr "ಆಗಸ್ಟ್" + +msgid "September" +msgstr "ಸೆಪ್ಟೆಂಬರ್" + +msgid "October" +msgstr "ಅಕ್ಟೋಬರ್" + +msgid "November" +msgstr "ನವೆಂಬರ್" + +msgid "December" +msgstr "ಡಿಸೆಂಬರ್" + +msgid "jan" +msgstr "ಜನವರಿ" + +msgid "feb" +msgstr "ಫೆಬ್ರವರಿ" + +msgid "mar" +msgstr "ಮಾರ್ಚ್" + +msgid "apr" +msgstr "ಏಪ್ರಿಲ್" + +msgid "may" +msgstr "ಮೇ" + +msgid "jun" +msgstr "ಜೂನ್" + +msgid "jul" +msgstr "ಜುಲೈ" + +msgid "aug" +msgstr "ಆಗಸ್ಟ್‍" + +msgid "sep" +msgstr "ಸೆಪ್ಟೆಂಬರ್" + +msgid "oct" +msgstr "ಅಕ್ಟೋಬರ್" + +msgid "nov" +msgstr "ನವೆಂಬರ್" + +msgid "dec" +msgstr "ಡಿಸೆಂಬರ್" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "ಜನ." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "ಫೆಬ್ರ." + +msgctxt "abbrev. month" +msgid "March" +msgstr "ಮಾರ್ಚ್" + +msgctxt "abbrev. month" +msgid "April" +msgstr "ಏಪ್ರಿಲ್" + +msgctxt "abbrev. month" +msgid "May" +msgstr "ಮೇ" + +msgctxt "abbrev. month" +msgid "June" +msgstr "ಜೂನ್" + +msgctxt "abbrev. month" +msgid "July" +msgstr "ಜುಲೈ" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "ಆಗ." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "ಸೆಪ್ಟೆ." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "ಅಕ್ಟೋ." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "ನವೆಂ." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "ಡಿಸೆಂ." + +msgctxt "alt. month" +msgid "January" +msgstr "ಜನವರಿ" + +msgctxt "alt. month" +msgid "February" +msgstr "ಫೆಬ್ರವರಿ" + +msgctxt "alt. month" +msgid "March" +msgstr "ಮಾರ್ಚ್" + +msgctxt "alt. month" +msgid "April" +msgstr "ಏಪ್ರಿಲ್" + +msgctxt "alt. month" +msgid "May" +msgstr "ಮೇ" + +msgctxt "alt. month" +msgid "June" +msgstr "ಜೂನ್" + +msgctxt "alt. month" +msgid "July" +msgstr "ಜುಲೈ" + +msgctxt "alt. month" +msgid "August" +msgstr "ಆಗಸ್ಟ್‍" + +msgctxt "alt. month" +msgid "September" +msgstr "ಸಪ್ಟೆಂಬರ್" + +msgctxt "alt. month" +msgid "October" +msgstr "ಅಕ್ಟೋಬರ್" + +msgctxt "alt. month" +msgid "November" +msgstr "ನವೆಂಬರ್" + +msgctxt "alt. month" +msgid "December" +msgstr "ಡಿಸೆಂಬರ್" + +msgid "This is not a valid IPv6 address." +msgstr "" + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "ಅಥವ" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "" +msgstr[1] "" + +msgid "0 minutes" +msgstr "" + +msgid "Forbidden" +msgstr "" + +msgid "CSRF verification failed. Request aborted." +msgstr "" + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "" + +msgid "No year specified" +msgstr "ಯಾವುದೆ ವರ್ಷವನ್ನು ಸೂಚಿಲಾಗಿಲ್ಲ" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "ಯಾವುದೆ ತಿಂಗಳನ್ನು ಸೂಚಿಸಲಾಗಿಲ್ಲ" + +msgid "No day specified" +msgstr "ಯಾವುದೆ ದಿನವನ್ನು ಸೂಚಿಸಲಾಗಿಲ್ಲ" + +msgid "No week specified" +msgstr "ಯಾವುದೆ ವಾರವನ್ನು ಸೂಚಿಸಲಾಗಿಲ್ಲ" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "ಯಾವುದೆ %(verbose_name_plural)s ಲಭ್ಯವಿಲ್ಲ" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"ಭವಿಷ್ಯದ %(verbose_name_plural)s ಲಭ್ಯವಿಲ್ಲ ಏಕೆಂದರೆ %(class_name)s.allow_future " +"ಎನ್ನುವುದು ಅಸತ್ಯವಾಗಿದೆ (ಫಾಲ್ಸ್‍) ಆಗಿದೆ." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "ಮನವಿಗೆ ತಾಳೆಯಾಗುವ ಯಾವುದೆ %(verbose_name)s ಕಂಡುಬಂದಿಲ್ಲ" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "" + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/kn/__init__.py b/external_sources/django/django/conf/locale/kn/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/kn/formats.py b/external_sources/django/django/conf/locale/kn/formats.py new file mode 100644 index 0000000..d212fd5 --- /dev/null +++ b/external_sources/django/django/conf/locale/kn/formats.py @@ -0,0 +1,21 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j F Y" +TIME_FORMAT = "h:i A" +# DATETIME_FORMAT = +# YEAR_MONTH_FORMAT = +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "j M Y" +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +# DECIMAL_SEPARATOR = +# THOUSAND_SEPARATOR = +# NUMBER_GROUPING = diff --git a/external_sources/django/django/conf/locale/ko/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/ko/LC_MESSAGES/django.po new file mode 100644 index 0000000..ef36cf1 --- /dev/null +++ b/external_sources/django/django/conf/locale/ko/LC_MESSAGES/django.po @@ -0,0 +1,1333 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# BJ Jang , 2014 +# JunGu Kang , 2017 +# Jiyoon, Ha , 2016 +# darjeeling , 2024 +# DONGHO JEONG , 2020 +# Park Hyunwoo , 2017 +# Geonho Kim / Leo Kim , 2019 +# hoseung2 , 2017 +# Ian Y. Choi , 2015 +# Jaehong Kim , 2011 +# Jannis Leidel , 2011 +# Jay Oh , 2020 +# Le Tartuffe , 2014,2016 +# Jonghwa Seo , 2019 +# Jubeen Lee , 2020 +# JuneHyeon Bae , 2014 +# JunGu Kang , 2015 +# JunGu Kang , 2019 +# Kagami Sascha Rosylight , 2017 +# Mariusz Felisiak , 2021 +# Seho Noh , 2018 +# Seoeun(Sun☀️) Hong, 2023 +# 최소영, 2024 +# Subin Choi , 2016 +# Taesik Yoon , 2015 +# 정훈 이, 2021 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 06:49+0000\n" +"Last-Translator: darjeeling , 2024\n" +"Language-Team: Korean (http://app.transifex.com/django/django/language/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Afrikaans" +msgstr "아프리칸스어" + +msgid "Arabic" +msgstr "아랍어" + +msgid "Algerian Arabic" +msgstr "알제리 아랍어" + +msgid "Asturian" +msgstr "호주어" + +msgid "Azerbaijani" +msgstr "아제르바이잔어" + +msgid "Bulgarian" +msgstr "불가리어" + +msgid "Belarusian" +msgstr "벨라루스어" + +msgid "Bengali" +msgstr "방글라데시어" + +msgid "Breton" +msgstr "브르타뉴어" + +msgid "Bosnian" +msgstr "보스니아어" + +msgid "Catalan" +msgstr "카탈로니아어" + +msgid "Central Kurdish (Sorani)" +msgstr "중부 쿠르드어 (소라니어)" + +msgid "Czech" +msgstr "체코어" + +msgid "Welsh" +msgstr "웨일즈어" + +msgid "Danish" +msgstr "덴마크어" + +msgid "German" +msgstr "독일어" + +msgid "Lower Sorbian" +msgstr "저지 소르브어" + +msgid "Greek" +msgstr "그리스어" + +msgid "English" +msgstr "영어" + +msgid "Australian English" +msgstr "영어(호주)" + +msgid "British English" +msgstr "영어 (영국)" + +msgid "Esperanto" +msgstr "에스페란토어" + +msgid "Spanish" +msgstr "스페인어" + +msgid "Argentinian Spanish" +msgstr "아르헨티나 스페인어" + +msgid "Colombian Spanish" +msgstr "콜롬비아 스페인어" + +msgid "Mexican Spanish" +msgstr "멕시컨 스페인어" + +msgid "Nicaraguan Spanish" +msgstr "니카과라 스페인어" + +msgid "Venezuelan Spanish" +msgstr "베네수엘라 스페인어" + +msgid "Estonian" +msgstr "에스토니아어" + +msgid "Basque" +msgstr "바스크어" + +msgid "Persian" +msgstr "페르시아어" + +msgid "Finnish" +msgstr "핀란드어" + +msgid "French" +msgstr "프랑스어" + +msgid "Frisian" +msgstr "프리슬란트어" + +msgid "Irish" +msgstr "아일랜드어" + +msgid "Scottish Gaelic" +msgstr "스코틀랜드 게일어" + +msgid "Galician" +msgstr "갈리시아어" + +msgid "Hebrew" +msgstr "히브리어" + +msgid "Hindi" +msgstr "힌두어" + +msgid "Croatian" +msgstr "크로아티아어" + +msgid "Upper Sorbian" +msgstr "고지 소르브어" + +msgid "Hungarian" +msgstr "헝가리어" + +msgid "Armenian" +msgstr "아르메니아어" + +msgid "Interlingua" +msgstr "인테르링구아어" + +msgid "Indonesian" +msgstr "인도네시아어" + +msgid "Igbo" +msgstr "이그보어" + +msgid "Ido" +msgstr "이도어" + +msgid "Icelandic" +msgstr "아이슬란드어" + +msgid "Italian" +msgstr "이탈리아어" + +msgid "Japanese" +msgstr "일본어" + +msgid "Georgian" +msgstr "조지아어" + +msgid "Kabyle" +msgstr "커바일어" + +msgid "Kazakh" +msgstr "카자흐어" + +msgid "Khmer" +msgstr "크메르어" + +msgid "Kannada" +msgstr "칸나다어" + +msgid "Korean" +msgstr "한국어" + +msgid "Kyrgyz" +msgstr "키르키즈 공화국어" + +msgid "Luxembourgish" +msgstr "룩셈부르크" + +msgid "Lithuanian" +msgstr "리투아니아어" + +msgid "Latvian" +msgstr "라트비아어" + +msgid "Macedonian" +msgstr "마케도니아어" + +msgid "Malayalam" +msgstr "말라얄람어" + +msgid "Mongolian" +msgstr "몽고어" + +msgid "Marathi" +msgstr "마라티어" + +msgid "Malay" +msgstr "말레이시아어" + +msgid "Burmese" +msgstr "룩셈부르크어" + +msgid "Norwegian Bokmål" +msgstr "노르웨이어(보크몰)" + +msgid "Nepali" +msgstr "네팔어" + +msgid "Dutch" +msgstr "네덜란드어" + +msgid "Norwegian Nynorsk" +msgstr "노르웨이어 (뉘노르스크)" + +msgid "Ossetic" +msgstr "오세티아어" + +msgid "Punjabi" +msgstr "펀자브어" + +msgid "Polish" +msgstr "폴란드어" + +msgid "Portuguese" +msgstr "포르투갈어" + +msgid "Brazilian Portuguese" +msgstr "브라질 포르투갈어" + +msgid "Romanian" +msgstr "루마니아어" + +msgid "Russian" +msgstr "러시아어" + +msgid "Slovak" +msgstr "슬로바키아어" + +msgid "Slovenian" +msgstr "슬로베니아어" + +msgid "Albanian" +msgstr "알바니아어" + +msgid "Serbian" +msgstr "세르비아어" + +msgid "Serbian Latin" +msgstr "세르비아어" + +msgid "Swedish" +msgstr "스웨덴어" + +msgid "Swahili" +msgstr "스와힐리어" + +msgid "Tamil" +msgstr "타밀어" + +msgid "Telugu" +msgstr "텔루구어" + +msgid "Tajik" +msgstr "타지크어" + +msgid "Thai" +msgstr "태국어" + +msgid "Turkmen" +msgstr "튀르크멘어" + +msgid "Turkish" +msgstr "터키어" + +msgid "Tatar" +msgstr "타타르" + +msgid "Udmurt" +msgstr "이제프스크" + +msgid "Uyghur" +msgstr "위구르" + +msgid "Ukrainian" +msgstr "우크라이나어" + +msgid "Urdu" +msgstr "우르드어" + +msgid "Uzbek" +msgstr "우즈베크어" + +msgid "Vietnamese" +msgstr "베트남어" + +msgid "Simplified Chinese" +msgstr "중국어 간체" + +msgid "Traditional Chinese" +msgstr "중국어 번체" + +msgid "Messages" +msgstr "메시지" + +msgid "Site Maps" +msgstr "사이트 맵" + +msgid "Static Files" +msgstr "정적 파일" + +msgid "Syndication" +msgstr "신디케이션" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "..." + +msgid "That page number is not an integer" +msgstr "페이지 번호가 정수가 아닙니다." + +msgid "That page number is less than 1" +msgstr "페이지 번호가 1보다 작습니다." + +msgid "That page contains no results" +msgstr "해당 페이지에 결과가 없습니다." + +msgid "Enter a valid value." +msgstr "올바른 값을 입력하세요." + +msgid "Enter a valid domain name." +msgstr "유효한 도메인 이름을 입력하세요." + +msgid "Enter a valid URL." +msgstr "올바른 URL을 입력하세요." + +msgid "Enter a valid integer." +msgstr "올바른 정수를 입력하세요." + +msgid "Enter a valid email address." +msgstr "올바른 이메일 주소를 입력하세요." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "문자, 숫자, '_', '-'만 가능합니다." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"유니코드 문자, 숫자, 언더스코어 또는 하이픈으로 구성된 올바른 내용을 입력하세" +"요." + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "유효한 %(protocol)s의 주소를 입력하세요." + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "IPv4 or IPv6" +msgstr "IPv4 혹은 IPv6" + +msgid "Enter only digits separated by commas." +msgstr "콤마로 구분된 숫자만 입력하세요." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"%(limit_value)s 안의 값을 입력해 주세요. (입력하신 값은 %(show_value)s입니" +"다.)" + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "%(limit_value)s 이하의 값을 입력해 주세요." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "%(limit_value)s 이상의 값을 입력해 주세요." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "단계 크기 %(limit_value)s의 배수를 입력해 주세요." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"예를 들어 %(offset)s, %(valid_value1)s, %(valid_value2)s 등, %(offset)s에서 " +"시작하는 %(limit_value)s의 배수를 입력해 주세요." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"이 값이 최소 %(limit_value)d 개의 글자인지 확인하세요(입력값 %(show_value)d " +"자)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"이 값이 최대 %(limit_value)d 개의 글자인지 확인하세요(입력값 %(show_value)d " +"자)." + +msgid "Enter a number." +msgstr "숫자를 입력하세요." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "전체 자릿수가 %(max)s 개를 넘지 않도록 해주세요." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "전체 유효자리 개수가 %(max)s 개를 넘지 않도록 해주세요." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "전체 유효자리 개수가 %(max)s 개를 넘지 않도록 해주세요." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"파일 확장자 '%(extension)s'는 허용되지 않습니다. 허용된 확장자: " +"'%(allowed_extensions)s'." + +msgid "Null characters are not allowed." +msgstr "null 문자는 사용할 수 없습니다. " + +msgid "and" +msgstr "또한" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s의 %(field_labels)s 은/는 이미 존재합니다." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "%(name)s을(를) 위반하였습니다." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "%(value)r 은/는 올바른 선택사항이 아닙니다." + +msgid "This field cannot be null." +msgstr "이 필드는 null 값을 사용할 수 없습니다. " + +msgid "This field cannot be blank." +msgstr "이 필드는 빈 칸으로 둘 수 없습니다." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s의 %(field_label)s은/는 이미 존재합니다." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s은/는 반드시 %(date_field_label)s %(lookup_type)s에 대해 유일" +"해야 합니다." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "%(field_type)s 형식 필드" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "'%(value)s' 값은 반드시 True 또는 False 중 하나여야만 합니다." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "'%(value)s'값은 반드시 True, False, None 중 하나여야만 합니다." + +msgid "Boolean (Either True or False)" +msgstr "boolean(True 또는 False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "문자열(%(max_length)s 글자까지)" + +msgid "String (unlimited)" +msgstr "문자열 (무제한의)" + +msgid "Comma-separated integers" +msgstr "정수(콤마로 구분)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "'%(value)s' 값은 날짜 형식이 아닙니다. YYYY-MM-DD 형식이어야 합니다." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"'%(value)s' 값은 올바른 형식(YYYY-MM-DD)이지만 유효하지 않은 날짜입니다." + +msgid "Date (without time)" +msgstr "날짜(시간 제외)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"'%(value)s' 값은 올바르지 않은 형식입니다. YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ] 형식이어야 합니다." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"'%(value)s' 값은 올바른 형식이지만 (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]) 유효" +"하지 않은 날짜/시간입니다." + +msgid "Date (with time)" +msgstr "날짜(시간 포함)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "'%(value)s' 값은 10진수를 입력하여야 합니다." + +msgid "Decimal number" +msgstr "10진수" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"'%(value)s' 값은 올바르지 않은 형식입니다. [DD] [HH:[MM:]]ss[.uuuuuu] 형식이" +"어야 합니다." + +msgid "Duration" +msgstr "지속시간" + +msgid "Email address" +msgstr "이메일 주소" + +msgid "File path" +msgstr "파일 경로" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "\"%(value)s\" 값은 실수를 입력하여야 합니다." + +msgid "Floating point number" +msgstr "부동소수점 숫자" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "\"%(value)s\" 값은 정수를 입력하여야 합니다." + +msgid "Integer" +msgstr "정수" + +msgid "Big (8 byte) integer" +msgstr "큰 정수 (8 byte)" + +msgid "Small integer" +msgstr "작은 정수" + +msgid "IPv4 address" +msgstr "IPv4 주소" + +msgid "IP address" +msgstr "IP 주소" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "\"%(value)s\" 값은 반드시 None, True 또는 False이어야 합니다." + +msgid "Boolean (Either True, False or None)" +msgstr "boolean (True, False 또는 None)" + +msgid "Positive big integer" +msgstr "큰 양의 정수" + +msgid "Positive integer" +msgstr "양의 정수" + +msgid "Positive small integer" +msgstr "작은 양의 정수" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "슬러그(%(max_length)s 까지)" + +msgid "Text" +msgstr "텍스트" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"\"%(value)s\" 값의 형식이 올바르지 않습니다. HH:MM[:ss[.uuuuuu]] 형식이어야 " +"합니다." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"\"%(value)s\" 값이 올바른 형식(HH:MM[:ss[.uuuuuu]])이나, 유효하지 않은 시간 " +"값입니다." + +msgid "Time" +msgstr "시각" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Raw binary data" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "\"%(value)s\"은 유효하지 않은 UUID입니다." + +msgid "Universally unique identifier" +msgstr "범용 고유 식별 수단(UUID)" + +msgid "File" +msgstr "파일" + +msgid "Image" +msgstr "이미지" + +msgid "A JSON object" +msgstr "JSON 객체" + +msgid "Value must be valid JSON." +msgstr "올바른 JSON 형식이여야 합니다." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "%(field)s %(value)r 를 가지는 %(model)s 인스턴스가 존재하지 않습니다." + +msgid "Foreign Key (type determined by related field)" +msgstr "외래 키 (연관 필드에 의해 형식 결정)" + +msgid "One-to-one relationship" +msgstr "일대일 관계" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s 관계" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s 관계들" + +msgid "Many-to-many relationship" +msgstr "다대다 관계" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "필수 항목입니다." + +msgid "Enter a whole number." +msgstr "정수를 입력하세요." + +msgid "Enter a valid date." +msgstr "올바른 날짜를 입력하세요." + +msgid "Enter a valid time." +msgstr "올바른 시각을 입력하세요." + +msgid "Enter a valid date/time." +msgstr "올바른 날짜/시각을 입력하세요." + +msgid "Enter a valid duration." +msgstr "올바른 기간을 입력하세요." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "날짜는 {min_days}와 {max_days} 사이여야 합니다." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "등록된 파일이 없습니다. 인코딩 형식을 확인하세요." + +msgid "No file was submitted." +msgstr "파일이 전송되지 않았습니다." + +msgid "The submitted file is empty." +msgstr "입력하신 파일은 빈 파일입니다." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "파일이름의 길이가 최대 %(max)d 자인지 확인하세요(%(length)d 자)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"파일 업로드 또는 삭제 체크박스를 선택하세요. 동시에 둘 다 할 수는 없습니다." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"올바른 이미지를 업로드하세요. 업로드하신 파일은 이미지 파일이 아니거나 파일" +"이 깨져 있습니다." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "올바르게 선택해 주세요. %(value)s 이/가 선택가능항목에 없습니다." + +msgid "Enter a list of values." +msgstr "리스트를 입력하세요." + +msgid "Enter a complete value." +msgstr "완전한 값을 입력하세요." + +msgid "Enter a valid UUID." +msgstr "올바른 UUID를 입력하세요." + +msgid "Enter a valid JSON." +msgstr "올바른 JSON을 입력하세요." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(%(name)s hidden 필드) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"ManagementForm 데이터가 없거나 변경되었습니다. 현재 없는 필드: " +"%(field_names)s. 이런 이슈가 지속된다면 버그 리포트를 제출해주시기 바랍니다." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "최대 %(num)d개의 양식을 제출하세요." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "최소 %(num)d개의 양식을 제출하세요." + +msgid "Order" +msgstr "순서:" + +msgid "Delete" +msgstr "삭제" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "%(field)s의 중복된 데이터를 고쳐주세요." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "%(field)s의 중복된 데이터를 고쳐주세요. 유일한 값이어야 합니다." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"%(field_name)s의 값은 %(date_field)s의 %(lookup)s에 대해 유일해야 합니다. 중" +"복된 데이터를 고쳐주세요." + +msgid "Please correct the duplicate values below." +msgstr "아래의 중복된 값들을 고쳐주세요." + +msgid "The inline value did not match the parent instance." +msgstr "Inline 값이 부모 인스턴스와 일치하지 않습니다." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "올바르게 선택해 주세요. 선택하신 것이 선택가능항목에 없습니다." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "\"%(pk)s\" 은/는 유효한 값이 아닙니다." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s 은/는 %(current_timezone)s 시간대에서 해석될 수 없습니다; 정보" +"가 모호하거나 존재하지 않을 수 있습니다." + +msgid "Clear" +msgstr "취소" + +msgid "Currently" +msgstr "현재" + +msgid "Change" +msgstr "변경" + +msgid "Unknown" +msgstr "알 수 없습니다." + +msgid "Yes" +msgstr "예" + +msgid "No" +msgstr "아니오" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "예,아니오,아마도" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d 바이트" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "오후" + +msgid "a.m." +msgstr "오전" + +msgid "PM" +msgstr "오후" + +msgid "AM" +msgstr "오전" + +msgid "midnight" +msgstr "자정" + +msgid "noon" +msgstr "정오" + +msgid "Monday" +msgstr "월요일" + +msgid "Tuesday" +msgstr "화요일" + +msgid "Wednesday" +msgstr "수요일" + +msgid "Thursday" +msgstr "목요일" + +msgid "Friday" +msgstr "금요일" + +msgid "Saturday" +msgstr "토요일" + +msgid "Sunday" +msgstr "일요일" + +msgid "Mon" +msgstr "월요일" + +msgid "Tue" +msgstr "화요일" + +msgid "Wed" +msgstr "수요일" + +msgid "Thu" +msgstr "목요일" + +msgid "Fri" +msgstr "금요일" + +msgid "Sat" +msgstr "토요일" + +msgid "Sun" +msgstr "일요일" + +msgid "January" +msgstr "1월" + +msgid "February" +msgstr "2월" + +msgid "March" +msgstr "3월" + +msgid "April" +msgstr "4월" + +msgid "May" +msgstr "5월" + +msgid "June" +msgstr "6월" + +msgid "July" +msgstr "7월" + +msgid "August" +msgstr "8월" + +msgid "September" +msgstr "9월" + +msgid "October" +msgstr "10월" + +msgid "November" +msgstr "11월" + +msgid "December" +msgstr "12월" + +msgid "jan" +msgstr "1월" + +msgid "feb" +msgstr "2월" + +msgid "mar" +msgstr "3월" + +msgid "apr" +msgstr "4월" + +msgid "may" +msgstr "5월" + +msgid "jun" +msgstr "6월" + +msgid "jul" +msgstr "7월" + +msgid "aug" +msgstr "8월" + +msgid "sep" +msgstr "9월" + +msgid "oct" +msgstr "10월" + +msgid "nov" +msgstr "11월" + +msgid "dec" +msgstr "12월" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "1월" + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "2월" + +msgctxt "abbrev. month" +msgid "March" +msgstr "3월" + +msgctxt "abbrev. month" +msgid "April" +msgstr "4월" + +msgctxt "abbrev. month" +msgid "May" +msgstr "5월" + +msgctxt "abbrev. month" +msgid "June" +msgstr "6월" + +msgctxt "abbrev. month" +msgid "July" +msgstr "7월" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "8월" + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "9월" + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "10월" + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "11월" + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "12월" + +msgctxt "alt. month" +msgid "January" +msgstr "1월" + +msgctxt "alt. month" +msgid "February" +msgstr "2월" + +msgctxt "alt. month" +msgid "March" +msgstr "3월" + +msgctxt "alt. month" +msgid "April" +msgstr "4월" + +msgctxt "alt. month" +msgid "May" +msgstr "5월" + +msgctxt "alt. month" +msgid "June" +msgstr "6월" + +msgctxt "alt. month" +msgid "July" +msgstr "7월" + +msgctxt "alt. month" +msgid "August" +msgstr "8월" + +msgctxt "alt. month" +msgid "September" +msgstr "9월" + +msgctxt "alt. month" +msgid "October" +msgstr "10월" + +msgctxt "alt. month" +msgid "November" +msgstr "11월" + +msgctxt "alt. month" +msgid "December" +msgstr "12월" + +msgid "This is not a valid IPv6 address." +msgstr "올바른 IPv6 주소가 아닙니다." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "또는" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d년" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d개월" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d주" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d일" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d시간" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d분" + +msgid "Forbidden" +msgstr "Forbidden" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF 검증에 실패했습니다. 요청을 중단하였습니다." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"이 메세지가 보이는 이유는 이 HTTPS 사이트가 당신의 웹 브라우저로부터 \"참조 " +"헤더\"를 요구하지만, 아무것도 받기 못하였기 때문입니다. 이 헤더는 보안상의 이" +"유로 필요하며, 당신의 웹 브라우저가 제3자에 의해 해킹당하고 있지 않다는 것을 " +"보장하기 위함입니다." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"만약 브라우저 설정에서 '참조' 헤더를 비활성화 시켰을 경우, 적어도 이 사이트" +"나 HTTPS 연결, '동일-출처' 요청에 대해서는 이를 다시 활성화 시키십시오. " + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"태그나 'Referrer-Policy: no-" +"referrer' 헤더를 포함하고 있다면, 제거해주시기 바랍니다. CSRF 방지를 위한 리" +"퍼러 검사를 위해 'Referer' 헤더가 필요합니다. 개인 정보에 대해 우려가 있는 경" +"우, 서드 파티 사이트에 대한 링크에 와 같은 대안을 사" +"용할 수 있습니다." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"이 메세지가 보이는 이유는 사이트가 폼을 제출할 때 CSRF 쿠키를 필요로 하기 때" +"문입니다. 이 쿠키는 보안상의 이유로 필요하며, 제3자에 의해 당신의 브라우저가 " +"해킹당하고 있지 않다는 것을 보장합니다." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"만약 브라우저 설정에서 쿠키를 비활성화 시켰을 경우, 적어도 이 사이트나 '동일-" +"출처' 요청에 대해서는 활성화 시키십시오." + +msgid "More information is available with DEBUG=True." +msgstr "DEBUG=True 로 더 많은 정보를 확인할 수 있습니다." + +msgid "No year specified" +msgstr "년도가 없습니다." + +msgid "Date out of range" +msgstr "유효 범위 밖의 날짜" + +msgid "No month specified" +msgstr "월이 없습니다." + +msgid "No day specified" +msgstr "날짜가 없습니다." + +msgid "No week specified" +msgstr "주가 없습니다." + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr " %(verbose_name_plural)s를 사용할 수 없습니다." + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Future 모듈 %(verbose_name_plural)s을 사용할 수 없습니다. %(class_name)s." +"allow_future가 False 입니다." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "날짜 문자열 '%(datestr)s'이 표준 형식 '%(format)s'과 다릅니다." + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "쿼리 결과에 %(verbose_name)s가 없습니다." + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "'마지막' 페이지가 아니거나, 정수형으로 변환할 수 없습니다." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Invalid page (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "빈 리스트이고 '%(class_name)s.allow_empty'가 False입니다." + +msgid "Directory indexes are not allowed here." +msgstr "디렉토리 인덱스는 이곳에 사용할 수 없습니다." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "\"%(path)s\" 이/가 존재하지 않습니다." + +#, python-format +msgid "Index of %(directory)s" +msgstr "Index of %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "성공적으로 설치되었습니다! 축하합니다!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Django %(version)s릴리스 노트 보기" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"이 페이지는 어떤 URL도 지정되지 않았고, settings 파일에 DEBUG=True가 설정되어 있을 때 표시됩니" +"다." + +msgid "Django Documentation" +msgstr "Django 문서" + +msgid "Topics, references, & how-to’s" +msgstr "주제, 레퍼런스, & 입문참조하다" + +msgid "Tutorial: A Polling App" +msgstr "튜토리얼: 폴링 애플리케이션" + +msgid "Get started with Django" +msgstr "Django와 함께 시작하기" + +msgid "Django Community" +msgstr "Django 커뮤니티" + +msgid "Connect, get help, or contribute" +msgstr "연결하고, 도움을 받거나 기여하기" diff --git a/external_sources/django/django/conf/locale/ko/__init__.py b/external_sources/django/django/conf/locale/ko/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/ko/formats.py b/external_sources/django/django/conf/locale/ko/formats.py new file mode 100644 index 0000000..1f3487c --- /dev/null +++ b/external_sources/django/django/conf/locale/ko/formats.py @@ -0,0 +1,54 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "Y년 n월 j일" +TIME_FORMAT = "A g:i" +DATETIME_FORMAT = "Y년 n월 j일 g:i A" +YEAR_MONTH_FORMAT = "Y년 n월" +MONTH_DAY_FORMAT = "n월 j일" +SHORT_DATE_FORMAT = "Y-n-j." +SHORT_DATETIME_FORMAT = "Y-n-j H:i" +# FIRST_DAY_OF_WEEK = + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# Kept ISO formats as they are in first position +DATE_INPUT_FORMATS = [ + "%Y-%m-%d", # '2006-10-25' + "%m/%d/%Y", # '10/25/2006' + "%m/%d/%y", # '10/25/06' + # "%b %d %Y", # 'Oct 25 2006' + # "%b %d, %Y", # 'Oct 25, 2006' + # "%d %b %Y", # '25 Oct 2006' + # "%d %b, %Y", #'25 Oct, 2006' + # "%B %d %Y", # 'October 25 2006' + # "%B %d, %Y", #'October 25, 2006' + # "%d %B %Y", # '25 October 2006' + # "%d %B, %Y", # '25 October, 2006' + "%Y년 %m월 %d일", # '2006년 10월 25일', with localized suffix. +] +TIME_INPUT_FORMATS = [ + "%H:%M:%S", # '14:30:59' + "%H:%M:%S.%f", # '14:30:59.000200' + "%H:%M", # '14:30' + "%H시 %M분 %S초", # '14시 30분 59초' + "%H시 %M분", # '14시 30분' +] +DATETIME_INPUT_FORMATS = [ + "%Y-%m-%d %H:%M:%S", # '2006-10-25 14:30:59' + "%Y-%m-%d %H:%M:%S.%f", # '2006-10-25 14:30:59.000200' + "%Y-%m-%d %H:%M", # '2006-10-25 14:30' + "%m/%d/%Y %H:%M:%S", # '10/25/2006 14:30:59' + "%m/%d/%Y %H:%M:%S.%f", # '10/25/2006 14:30:59.000200' + "%m/%d/%Y %H:%M", # '10/25/2006 14:30' + "%m/%d/%y %H:%M:%S", # '10/25/06 14:30:59' + "%m/%d/%y %H:%M:%S.%f", # '10/25/06 14:30:59.000200' + "%m/%d/%y %H:%M", # '10/25/06 14:30' + "%Y년 %m월 %d일 %H시 %M분 %S초", # '2006년 10월 25일 14시 30분 59초' + "%Y년 %m월 %d일 %H시 %M분", # '2006년 10월 25일 14시 30분' +] + +DECIMAL_SEPARATOR = "." +THOUSAND_SEPARATOR = "," +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/ky/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/ky/LC_MESSAGES/django.po new file mode 100644 index 0000000..391196f --- /dev/null +++ b/external_sources/django/django/conf/locale/ky/LC_MESSAGES/django.po @@ -0,0 +1,1279 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Mariusz Felisiak , 2021 +# Soyuzbek Orozbek uulu , 2020-2021 +# Soyuzbek Orozbek uulu , 2020 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-09-21 10:22+0200\n" +"PO-Revision-Date: 2021-11-27 14:11+0000\n" +"Last-Translator: Soyuzbek Orozbek uulu \n" +"Language-Team: Kyrgyz (http://www.transifex.com/django/django/language/ky/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ky\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Afrikaans" +msgstr "Африканча" + +msgid "Arabic" +msgstr "Арабча" + +msgid "Algerian Arabic" +msgstr "Алжир арабчасы" + +msgid "Asturian" +msgstr "Австрийче" + +msgid "Azerbaijani" +msgstr "Азерче" + +msgid "Bulgarian" +msgstr "Болгарча" + +msgid "Belarusian" +msgstr "Белорусча" + +msgid "Bengali" +msgstr "Бенгалча" + +msgid "Breton" +msgstr "Бретончо" + +msgid "Bosnian" +msgstr "Босния" + +msgid "Catalan" +msgstr "Каталан" + +msgid "Czech" +msgstr "Чехче" + +msgid "Welsh" +msgstr "Валлий" + +msgid "Danish" +msgstr "Данчийче" + +msgid "German" +msgstr "Немисче" + +msgid "Lower Sorbian" +msgstr "Сорб" + +msgid "Greek" +msgstr "Грекче" + +msgid "English" +msgstr "Англисче" + +msgid "Australian English" +msgstr "Авс. Англисчеси" + +msgid "British English" +msgstr "Бр. Англ." + +msgid "Esperanto" +msgstr "Есперанто" + +msgid "Spanish" +msgstr "Испанча" + +msgid "Argentinian Spanish" +msgstr "Арг. исп" + +msgid "Colombian Spanish" +msgstr "Колумб Испанчасы" + +msgid "Mexican Spanish" +msgstr "Мекс. исп" + +msgid "Nicaraguan Spanish" +msgstr "Никарагуа испанчасы" + +msgid "Venezuelan Spanish" +msgstr "Венесуела Испанчасы" + +msgid "Estonian" +msgstr "Эстон" + +msgid "Basque" +msgstr "Баск" + +msgid "Persian" +msgstr "Персче" + +msgid "Finnish" +msgstr "Финче" + +msgid "French" +msgstr "Французча" + +msgid "Frisian" +msgstr "Фризче" + +msgid "Irish" +msgstr "Ирланча" + +msgid "Scottish Gaelic" +msgstr "Шотланча" + +msgid "Galician" +msgstr "Галицианча" + +msgid "Hebrew" +msgstr "Жөөтчө" + +msgid "Hindi" +msgstr "Хиндче" + +msgid "Croatian" +msgstr "Хорватча" + +msgid "Upper Sorbian" +msgstr "Жогорку Сорбчо" + +msgid "Hungarian" +msgstr "Венгрче" + +msgid "Armenian" +msgstr "Арменче" + +msgid "Interlingua" +msgstr "Эл аралык" + +msgid "Indonesian" +msgstr "Индонезче" + +msgid "Igbo" +msgstr "Игбо" + +msgid "Ido" +msgstr "идо" + +msgid "Icelandic" +msgstr "Исландча" + +msgid "Italian" +msgstr "Итальянча" + +msgid "Japanese" +msgstr "Жапончо" + +msgid "Georgian" +msgstr "Грузинче" + +msgid "Kabyle" +msgstr "Кабилче" + +msgid "Kazakh" +msgstr "Казакча" + +msgid "Khmer" +msgstr "Кхмер" + +msgid "Kannada" +msgstr "Канадча" + +msgid "Korean" +msgstr "Корейче" + +msgid "Kyrgyz" +msgstr "Кыргызча" + +msgid "Luxembourgish" +msgstr "Люкцембургча" + +msgid "Lithuanian" +msgstr "Литвача" + +msgid "Latvian" +msgstr "Латвияча" + +msgid "Macedonian" +msgstr "Македончо" + +msgid "Malayalam" +msgstr "Малаяламча" + +msgid "Mongolian" +msgstr "Монголчо" + +msgid "Marathi" +msgstr "Марати" + +msgid "Malay" +msgstr "Малай" + +msgid "Burmese" +msgstr "Бурмача" + +msgid "Norwegian Bokmål" +msgstr "Норвег Бокмолчо" + +msgid "Nepali" +msgstr "Непалча" + +msgid "Dutch" +msgstr "Голландча" + +msgid "Norwegian Nynorsk" +msgstr "Норвегиялык нюнор" + +msgid "Ossetic" +msgstr "Оссетче" + +msgid "Punjabi" +msgstr "Пенжабча" + +msgid "Polish" +msgstr "Полякча" + +msgid "Portuguese" +msgstr "Португалча" + +msgid "Brazilian Portuguese" +msgstr "Бразилиялык португалчасы" + +msgid "Romanian" +msgstr "Румынча" + +msgid "Russian" +msgstr "Орусча" + +msgid "Slovak" +msgstr "Словакча" + +msgid "Slovenian" +msgstr "Словенияча" + +msgid "Albanian" +msgstr "Албанча" + +msgid "Serbian" +msgstr "Сербче" + +msgid "Serbian Latin" +msgstr "Серб латынчасы" + +msgid "Swedish" +msgstr "Шведче" + +msgid "Swahili" +msgstr "Свахилче" + +msgid "Tamil" +msgstr "Тамиль" + +msgid "Telugu" +msgstr "Телугу" + +msgid "Tajik" +msgstr "Тажикче" + +msgid "Thai" +msgstr "Тайча" + +msgid "Turkmen" +msgstr "Түркмөнчө" + +msgid "Turkish" +msgstr "Түркчө" + +msgid "Tatar" +msgstr "Татарча" + +msgid "Udmurt" +msgstr "Удмурча" + +msgid "Ukrainian" +msgstr "Украинче" + +msgid "Urdu" +msgstr "Урду" + +msgid "Uzbek" +msgstr "Өзбекче" + +msgid "Vietnamese" +msgstr "Вьетнамча" + +msgid "Simplified Chinese" +msgstr "Жеңилдетилген кытайча" + +msgid "Traditional Chinese" +msgstr "салттык кытайча" + +msgid "Messages" +msgstr "Билдирүүлөр" + +msgid "Site Maps" +msgstr "сайт картасы" + +msgid "Static Files" +msgstr "Туруктуу файлдар" + +msgid "Syndication" +msgstr "Синдикат" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "..." + +msgid "That page number is not an integer" +msgstr "Бул барактын номуру сан эмес" + +msgid "That page number is less than 1" +msgstr "Бул барактын номуру 1 ден кичине" + +msgid "That page contains no results" +msgstr "Бул баракта жыйынтык жок" + +msgid "Enter a valid value." +msgstr "Туура маани киргиз" + +msgid "Enter a valid URL." +msgstr "Туура URL киргиз" + +msgid "Enter a valid integer." +msgstr "Туура натурал сан тер." + +msgid "Enter a valid email address." +msgstr "Туура эдарек тер." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"ариптер, цифралар, дефис же астыңкы сызык камтыган туура слаг киргизиңиз." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Юникод символдор, цифралар, астыңкы сызыктар же дефис камтыган туурга слаг " +"киргизиңиз." + +msgid "Enter a valid IPv4 address." +msgstr "Туура IPv4 тер." + +msgid "Enter a valid IPv6 address." +msgstr "Туура IPv6 тер." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Туура IPv4 же IPv6 тер." + +msgid "Enter only digits separated by commas." +msgstr "Жалаң үтүр менен бөлүнгөн сан тер." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Бул маани %(limit_value)s ашпоосун текшериңиз (азыр %(show_value)s)" + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "%(limit_value)s карата кичине же барабар маани болгонун текшериңиз" + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "%(limit_value)s карата чоң же барабар маани болгонун текшериңиз" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Бул маани жок дегенде %(limit_value)dсимвол камтыганын текшериңиз (азыркысы " +"%(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Бул маани эң көп %(limit_value)dсимвол камтыганын текшериңиз (азыркысы " +"%(show_value)d)." + +msgid "Enter a number." +msgstr "Сан киргизиңиз." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Жалпысынан %(max)sорундан ашпоосун текшериңиз." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Жалпысынан ондук сандын%(max)s ашпоосун текшериңиз." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "Жалпысынан үтүргө чейин%(max)s ашпоосун текшериңиз." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"%(extension)sфайл кеңейтүүсү кабыл алынбайт. Кабыл алынгандар: " +"%(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Боштук кабыл алынбайт" + +msgid "and" +msgstr "жана" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s бул %(field_labels)s менен мурдатан эле бар" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "%(value)r мааниси туура эмес тандоо." + +msgid "This field cannot be null." +msgstr "Бул аймак жок маани албашы керек" + +msgid "This field cannot be blank." +msgstr "Бул аймак бош калбашы керек" + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s бул %(field_label)s менен мурдатан эле бар" + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s %(date_field_label)s %(lookup_type)s үчүн уникал болуусу " +"керек." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "аймактын түрү: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "“%(value)s” мааниси же True же False болуусу керек." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "“%(value)s” мааниси же True же False же None болуусу керек." + +msgid "Boolean (Either True or False)" +msgstr "Булен (Туура же Ката)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Сап (%(max_length)s чейин)" + +msgid "Comma-separated integers" +msgstr "үтүр менен бөлүнгөн сан" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"“%(value)s” мааниси туура эмес форматта. Ал ЖЖЖЖ-АА-КК форматта болуусу " +"керек." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "%(value)sмааниси туура (ЖЖЖЖ-АА-КК) форматта бирок ал күн туура эмес." + +msgid "Date (without time)" +msgstr "Күн (убакытсыз)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"“%(value)s” мааниси туура эмес форматта. Ал ЖЖЖЖ-АА-КК СС:ММ[сс[.дддддд]]" +"[УЗ] форматта болуусу керек." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"“%(value)s” мааниси туура форматта (ЖЖЖЖ-АА-КК СС:ММ[сс[.дддддд]][УЗ] ) " +"бирок ал күн/убакыт туура эмес." + +msgid "Date (with time)" +msgstr "Күн(убакыттуу)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "“%(value)s” мааниси ондук сан болушу керек." + +msgid "Decimal number" +msgstr "ондук сан" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"“%(value)s” мааниси туура эмес форматта. Ал [КК][[CC:]MM:]cc[.дддддд] " +"форматта болуусу керек." + +msgid "Duration" +msgstr "Мөөнөт" + +msgid "Email address" +msgstr "электрондук дарек" + +msgid "File path" +msgstr "файл жайгашуусу" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "“%(value)s” мааниси калкыган чекиттүү болуусу керек." + +msgid "Floating point number" +msgstr "калкыган чекит саны" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "“%(value)s” мааниси натуралдык сан болуусу керек." + +msgid "Integer" +msgstr "Натурал сан" + +msgid "Big (8 byte) integer" +msgstr "Чоң ( 8 байт) натурал сан" + +msgid "Small integer" +msgstr "кичине натурал сан" + +msgid "IPv4 address" +msgstr "IPv4 дареги" + +msgid "IP address" +msgstr "IP дареги" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "“%(value)s” мааниси же None же True же False болуусу керек." + +msgid "Boolean (Either True, False or None)" +msgstr "Булен(Туура же Жалган же Куру)" + +msgid "Positive big integer" +msgstr "Оң чоң натуралдык сан." + +msgid "Positive integer" +msgstr "оң сан" + +msgid "Positive small integer" +msgstr "кичине оң сан" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "слаг ( %(max_length)s чейин)" + +msgid "Text" +msgstr "сап" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"“%(value)s” мааниси туура эмес форматта. Ал СС:ММ[:сс[.ддддддд]] форматта " +"болуусу керек." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"“%(value)s” мааниси туура форматта (СС:ММ[:cc[.дддддд]]) бирок ал убакыт " +"туура эмес." + +msgid "Time" +msgstr "Убакыт" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "жалаң экилик берилиш" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "“%(value)s” туура эмес UUID." + +msgid "Universally unique identifier" +msgstr "универсал уникал көрсөтүүчү" + +msgid "File" +msgstr "Файл" + +msgid "Image" +msgstr "Сүрөт" + +msgid "A JSON object" +msgstr "JSON обектиси" + +msgid "Value must be valid JSON." +msgstr "Маани туура JSON болушу керек." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "%(model)s нерсеси %(field)s аймагы %(value)r маани менен табылбады." + +msgid "Foreign Key (type determined by related field)" +msgstr "Бөтөн Ачкыч (байланышкан аймак менен аныкталат)" + +msgid "One-to-one relationship" +msgstr "Бирге-бир байланышы" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s байланышы" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s байланыштары" + +msgid "Many-to-many relationship" +msgstr "көпкө-көп байланышы" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Бул талаа керектүү." + +msgid "Enter a whole number." +msgstr "Толук сан киргиз." + +msgid "Enter a valid date." +msgstr "туура күн киргиз." + +msgid "Enter a valid time." +msgstr "Туура убакыт киргиз." + +msgid "Enter a valid date/time." +msgstr "Туура күн/убакыт киргиз." + +msgid "Enter a valid duration." +msgstr "Туура мөөнөт киргиз." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Күндөрдүн саны {min_days} жана {max_days} арасында болуусу керек." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Файл жиберилген жок. Формдун бекитүү түрүн текшер." + +msgid "No file was submitted." +msgstr "Файл жиберилген жок." + +msgid "The submitted file is empty." +msgstr "Жиберилген файл бош." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Бул файлдын аты эң көп %(max)dсимвол ала алат. (азыркысы %(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Сураныч же файл жибериңиз же тандоону бош калтырыңыз. Экөөн тең эмес." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "Туура сүрөт жөнөтүңүз. Сиз жүктөгөн же сүрөт эмес же бузулган сүрөт." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Туура тандоону танда. %(value)s мүмкүн болгон тандоо эмес." + +msgid "Enter a list of values." +msgstr "Туура маанилер тизмесин киргиз." + +msgid "Enter a complete value." +msgstr "Толук маани киргиз." + +msgid "Enter a valid UUID." +msgstr "Туура UUID киргиз." + +msgid "Enter a valid JSON." +msgstr "Туура JSON киргиз." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(жашырылган аймак %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"ManagementForm берилиши жетишпей атат же жасалма болуп атат. Жетишпеген " +"талаалар: %(field_names)s. Эгер көйгөй чечилбей атса сиз баг билдирүү " +"жөнөтсөңүз болот." + +#, python-format +msgid "Please submit at most %d form." +msgid_plural "Please submit at most %d forms." +msgstr[0] "Сураныч, эң көп %d форм жөнөтүңүз." + +#, python-format +msgid "Please submit at least %d form." +msgid_plural "Please submit at least %d forms." +msgstr[0] "Сураныч, эң аз %dформ жөнөтүңүз." + +msgid "Order" +msgstr "Тартип" + +msgid "Delete" +msgstr "Өчүрүү" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "%(field)s үчүн кайталанган маанилерди оңдоңуз." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"%(field)s үчүн кайталанган маанилерди оңдоңуз алар уникал болуусу керек." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"%(field_name)s %(date_field)s да %(lookup)s үчүн уникал болусу керек. " +"Берилиштерди оңдоңуз." + +msgid "Please correct the duplicate values below." +msgstr "Төмөндө кайталанган маанилерди оңдоңуз." + +msgid "The inline value did not match the parent instance." +msgstr "Катардагы маани энелик нерсеге туура келбей жатат." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Туура тандоо кылыңыз. Ал тандоо мүмкүнчүлүктөн сырткары." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr " “%(pk)s”туура эмес маани." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)sкүнү %(current_timezone)sубактысы боюнча чечмелене албай атат. " +"Ал экианжы же жок болушу мүмкүн." + +msgid "Clear" +msgstr "Тазалоо" + +msgid "Currently" +msgstr "Азыркы" + +msgid "Change" +msgstr "өзгөртүү" + +msgid "Unknown" +msgstr "Белгисиз" + +msgid "Yes" +msgstr "Ооба" + +msgid "No" +msgstr "Жок" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "ооба, жок, балким" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)dбит" + +#, python-format +msgid "%s KB" +msgstr "%s КБ" + +#, python-format +msgid "%s MB" +msgstr "%s мегабайт" + +#, python-format +msgid "%s GB" +msgstr "%s гигабайт" + +#, python-format +msgid "%s TB" +msgstr "%s терабайт" + +#, python-format +msgid "%s PB" +msgstr "%s пикабайт" + +msgid "p.m." +msgstr "түштөн кийин" + +msgid "a.m." +msgstr "түшкө чейин" + +msgid "PM" +msgstr "Түштөн кийин" + +msgid "AM" +msgstr "Түшкө чейин" + +msgid "midnight" +msgstr "Түнүчү" + +msgid "noon" +msgstr "ай" + +msgid "Monday" +msgstr "Дүйшөмбү" + +msgid "Tuesday" +msgstr "Шейшемби" + +msgid "Wednesday" +msgstr "Шаршемби" + +msgid "Thursday" +msgstr "Бейшемби" + +msgid "Friday" +msgstr "Жума" + +msgid "Saturday" +msgstr "Ишемби" + +msgid "Sunday" +msgstr "Жекшемби" + +msgid "Mon" +msgstr "Дүйш" + +msgid "Tue" +msgstr "Шей" + +msgid "Wed" +msgstr "Шар" + +msgid "Thu" +msgstr "Бей" + +msgid "Fri" +msgstr "Жума" + +msgid "Sat" +msgstr "Ише" + +msgid "Sun" +msgstr "Жек" + +msgid "January" +msgstr "Январь" + +msgid "February" +msgstr "Февраль" + +msgid "March" +msgstr "Март" + +msgid "April" +msgstr "Апрель" + +msgid "May" +msgstr "Май" + +msgid "June" +msgstr "Июнь" + +msgid "July" +msgstr "Июль" + +msgid "August" +msgstr "Август" + +msgid "September" +msgstr "Сентябрь" + +msgid "October" +msgstr "Октябрь" + +msgid "November" +msgstr "Ноябрь" + +msgid "December" +msgstr "Декабрь" + +msgid "jan" +msgstr "янв" + +msgid "feb" +msgstr "фев" + +msgid "mar" +msgstr "мар" + +msgid "apr" +msgstr "апр" + +msgid "may" +msgstr "май" + +msgid "jun" +msgstr "июн" + +msgid "jul" +msgstr "июл" + +msgid "aug" +msgstr "авг" + +msgid "sep" +msgstr "сен" + +msgid "oct" +msgstr "окт" + +msgid "nov" +msgstr "ноя" + +msgid "dec" +msgstr "дек" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Янв." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Фев." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Март" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Апрель" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Май" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Июнь" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Июль" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Авг." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Сен." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Окт." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Ноя." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Дек." + +msgctxt "alt. month" +msgid "January" +msgstr "Январь" + +msgctxt "alt. month" +msgid "February" +msgstr "Февраль" + +msgctxt "alt. month" +msgid "March" +msgstr "Март" + +msgctxt "alt. month" +msgid "April" +msgstr "Апрель" + +msgctxt "alt. month" +msgid "May" +msgstr "Май" + +msgctxt "alt. month" +msgid "June" +msgstr "Июнь" + +msgctxt "alt. month" +msgid "July" +msgstr "Июль" + +msgctxt "alt. month" +msgid "August" +msgstr "Август" + +msgctxt "alt. month" +msgid "September" +msgstr "Сентябрь" + +msgctxt "alt. month" +msgid "October" +msgstr "Октябрь" + +msgctxt "alt. month" +msgid "November" +msgstr "Ноябрь" + +msgctxt "alt. month" +msgid "December" +msgstr "Декабрь" + +msgid "This is not a valid IPv6 address." +msgstr "Бул туура эмес IPv6 дареги" + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "же" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr "," + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d жыл" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d ай" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d апта" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d күн" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d саат" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d мүнөт" + +msgid "Forbidden" +msgstr "Тыйылган" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF текшерүү кыйрады. Суроо четке кагылды." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Браузер тараптан \"Referer header\" HTTPS сайтына жиберилбей калгандыгы үчүн " +"бул билдирүүнү көрүп турасыз. Бул хэдэр сиздин браузер үчүнчү жактан " +"чабуулга учурабаганын текшерүүгө коопсуздук үчүн керек." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Эгер сиз броузерден “Referer” хэдерин өчүрүп салсаңыз, аны күйгүзүп коюңуз. " +"Жок дегенде ушул сайт үчүн же жок дегенде HTTPS байланышуу үчүн. Же болбосо " +"“same-origin” суроолору үчүн." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Эгер сиз тегин же “Referrer-" +"Policy: no-referrer” хэдерин колдонуп жатсаңыз, аларды өчүрүп салыңыз. CSRF " +"коргоосу “Referer” хэдерин талап кылат. Эгер сиз коопсуздук жөнүндө " +"кабатырланып атсаңыз үчүнчү жактар үчүн шилтемесин " +"колдонуңуз." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Сиз бул билдирүүнү бул сайт форм жиберүүдө CSRF кукини талап кылгандыгы үчүн " +"көрүп жатасыз. Бул куки коопсуздуктан улам сиздин сайтыңыз үчүнчү жактан " +"чабуулга кабылбаганын текшерүү үчүн талап кылынат. " + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Эгер сиз броузерде кукиледи өчүрүп койсоңуз, аларды кайра күйгүзүп коюңуз. " +"Жок дегенде ушул сайтка же “same-origin” суроолоруна." + +msgid "More information is available with DEBUG=True." +msgstr "Сиз бул маалыматты DEBUG=True болгону үчүн көрүп жатасыз." + +msgid "No year specified" +msgstr "Жыл көрсөтүлгөн эмес" + +msgid "Date out of range" +msgstr "Күн чектен сырткары" + +msgid "No month specified" +msgstr "Ай көрсөтүлгөн эмес" + +msgid "No day specified" +msgstr "Апта күнү көрсөтүлгөн эмес" + +msgid "No week specified" +msgstr "Апта көрсөтүлгө эмес" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "%(verbose_name_plural)s жок" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"%(verbose_name_plural)s future си тейленбейт. Себеби %(class_name)s." +"allow_future си False маани алган." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "Туура эмес күн сабы “%(datestr)s” берилген формат болсо “%(format)s”." + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "суроого эч бир %(verbose_name)s табылбады" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "Барак акыркы эмес. Же натуралдык санга өткөрүлө албай атат." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Туура эмес (%(page_number)s) барак: %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Бош тизме жана “%(class_name)s.allow_empty” = False болуп калган." + +msgid "Directory indexes are not allowed here." +msgstr "Папка индекстери бул жерде иштей албайт." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "“%(path)s” жашабайт" + +#, python-format +msgid "Index of %(directory)s" +msgstr "%(directory)s индексттери" + +msgid "The install worked successfully! Congratulations!" +msgstr "Орнотуу ийгиликтүү аяктады! Куттуу болсун!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Жанго %(version)s үчүн чыгарылыш " +"эскертмелерин кара." + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" +"Сиз бул бетти сиздин тууралоо файлыңызда DEBUG=True жана эчбир урл тууралабагандыгыңыз үчүн көрүп " +"жататсыз." + +msgid "Django Documentation" +msgstr "Жанго Түшүндүрмөсү" + +msgid "Topics, references, & how-to’s" +msgstr "Темалар, Сурамжылар, & кантип.. тер" + +msgid "Tutorial: A Polling App" +msgstr "Колдонмо:" + +msgid "Get started with Django" +msgstr "Жангону башта" + +msgid "Django Community" +msgstr "Жанго жамааты" + +msgid "Connect, get help, or contribute" +msgstr "Туташ, жардам ал, же салым кош" diff --git a/external_sources/django/django/conf/locale/ky/__init__.py b/external_sources/django/django/conf/locale/ky/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/ky/formats.py b/external_sources/django/django/conf/locale/ky/formats.py new file mode 100644 index 0000000..25a0928 --- /dev/null +++ b/external_sources/django/django/conf/locale/ky/formats.py @@ -0,0 +1,32 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j E Y ж." +TIME_FORMAT = "G:i" +DATETIME_FORMAT = "j E Y ж. G:i" +YEAR_MONTH_FORMAT = "F Y ж." +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "d.m.Y" +SHORT_DATETIME_FORMAT = "d.m.Y H:i" +FIRST_DAY_OF_WEEK = 1 # Дүйшөмбү, Monday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d.%m.%Y", # '25.10.2006' + "%d.%m.%y", # '25.10.06' +] +DATETIME_INPUT_FORMATS = [ + "%d.%m.%Y %H:%M:%S", # '25.10.2006 14:30:59' + "%d.%m.%Y %H:%M:%S.%f", # '25.10.2006 14:30:59.000200' + "%d.%m.%Y %H:%M", # '25.10.2006 14:30' + "%d.%m.%Y", # '25.10.2006' + "%d.%m.%y %H:%M:%S", # '25.10.06 14:30:59' + "%d.%m.%y %H:%M:%S.%f", # '25.10.06 14:30:59.000200' + "%d.%m.%y %H:%M", # '25.10.06 14:30' + "%d.%m.%y", # '25.10.06' +] +DECIMAL_SEPARATOR = "." +THOUSAND_SEPARATOR = "\xa0" # non-breaking space +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/lb/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/lb/LC_MESSAGES/django.po new file mode 100644 index 0000000..b0d4755 --- /dev/null +++ b/external_sources/django/django/conf/locale/lb/LC_MESSAGES/django.po @@ -0,0 +1,1213 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# sim0n , 2011,2013 +# sim0n , 2013 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-27 22:40+0200\n" +"PO-Revision-Date: 2019-11-05 00:38+0000\n" +"Last-Translator: Ramiro Morales\n" +"Language-Team: Luxembourgish (http://www.transifex.com/django/django/" +"language/lb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "Afrikaans" + +msgid "Arabic" +msgstr "Arabesch" + +msgid "Asturian" +msgstr "" + +msgid "Azerbaijani" +msgstr "" + +msgid "Bulgarian" +msgstr "Bulgaresch" + +msgid "Belarusian" +msgstr "Wäissrussesch" + +msgid "Bengali" +msgstr "Bengalesch" + +msgid "Breton" +msgstr "" + +msgid "Bosnian" +msgstr "Bosnesch" + +msgid "Catalan" +msgstr "Katalanesch" + +msgid "Czech" +msgstr "Tschechesch" + +msgid "Welsh" +msgstr "Walisesch" + +msgid "Danish" +msgstr "Dänesch" + +msgid "German" +msgstr "Däitsch" + +msgid "Lower Sorbian" +msgstr "" + +msgid "Greek" +msgstr "Griichesch" + +msgid "English" +msgstr "Englesch" + +msgid "Australian English" +msgstr "" + +msgid "British English" +msgstr "Britesch Englesch" + +msgid "Esperanto" +msgstr "" + +msgid "Spanish" +msgstr "Spuenesch" + +msgid "Argentinian Spanish" +msgstr "Argentinesch Spuenesch" + +msgid "Colombian Spanish" +msgstr "" + +msgid "Mexican Spanish" +msgstr "Mexikanesch Spuenesch" + +msgid "Nicaraguan Spanish" +msgstr "" + +msgid "Venezuelan Spanish" +msgstr "" + +msgid "Estonian" +msgstr "Estonesch" + +msgid "Basque" +msgstr "Baskesch" + +msgid "Persian" +msgstr "Persesch" + +msgid "Finnish" +msgstr "Finnesch" + +msgid "French" +msgstr "Franséisch" + +msgid "Frisian" +msgstr "Frisesch" + +msgid "Irish" +msgstr "Iresch" + +msgid "Scottish Gaelic" +msgstr "" + +msgid "Galician" +msgstr "Galesch" + +msgid "Hebrew" +msgstr "Hebräesch" + +msgid "Hindi" +msgstr "Hindi" + +msgid "Croatian" +msgstr "Kroatesch" + +msgid "Upper Sorbian" +msgstr "" + +msgid "Hungarian" +msgstr "Ungaresch" + +msgid "Armenian" +msgstr "" + +msgid "Interlingua" +msgstr "" + +msgid "Indonesian" +msgstr "Indonesesch" + +msgid "Ido" +msgstr "" + +msgid "Icelandic" +msgstr "Islännesch" + +msgid "Italian" +msgstr "Italienesch" + +msgid "Japanese" +msgstr "Japanesch" + +msgid "Georgian" +msgstr "Georgesch" + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "" + +msgid "Khmer" +msgstr "Khmer" + +msgid "Kannada" +msgstr "Kanadesch" + +msgid "Korean" +msgstr "Koreanesch" + +msgid "Luxembourgish" +msgstr "Lëtzebuergesch" + +msgid "Lithuanian" +msgstr "Lithuanesesch" + +msgid "Latvian" +msgstr "Lättesch" + +msgid "Macedonian" +msgstr "Macedonesch" + +msgid "Malayalam" +msgstr "Malayalam" + +msgid "Mongolian" +msgstr "Mongolesch" + +msgid "Marathi" +msgstr "" + +msgid "Burmese" +msgstr "" + +msgid "Norwegian Bokmål" +msgstr "" + +msgid "Nepali" +msgstr "" + +msgid "Dutch" +msgstr "Hollännesch" + +msgid "Norwegian Nynorsk" +msgstr "Norwegesch Nynorsk" + +msgid "Ossetic" +msgstr "" + +msgid "Punjabi" +msgstr "Punjabi" + +msgid "Polish" +msgstr "Polnesch" + +msgid "Portuguese" +msgstr "Portugisesch" + +msgid "Brazilian Portuguese" +msgstr "Brasilianesch Portugisesch" + +msgid "Romanian" +msgstr "Rumänesch" + +msgid "Russian" +msgstr "Russesch" + +msgid "Slovak" +msgstr "Slowakesch" + +msgid "Slovenian" +msgstr "Slowenesch" + +msgid "Albanian" +msgstr "Albanesch" + +msgid "Serbian" +msgstr "Serbesch" + +msgid "Serbian Latin" +msgstr "Serbesch Latäinesch" + +msgid "Swedish" +msgstr "Schwedesch" + +msgid "Swahili" +msgstr "" + +msgid "Tamil" +msgstr "Tamil" + +msgid "Telugu" +msgstr "Telugu" + +msgid "Thai" +msgstr "Thai" + +msgid "Turkish" +msgstr "Tierkesch" + +msgid "Tatar" +msgstr "" + +msgid "Udmurt" +msgstr "" + +msgid "Ukrainian" +msgstr "Ukrainesch" + +msgid "Urdu" +msgstr "" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "Vietnamesesch" + +msgid "Simplified Chinese" +msgstr "Einfach d'Chinesesch" + +msgid "Traditional Chinese" +msgstr "Traditionell d'Chinesesch" + +msgid "Messages" +msgstr "" + +msgid "Site Maps" +msgstr "" + +msgid "Static Files" +msgstr "" + +msgid "Syndication" +msgstr "" + +msgid "That page number is not an integer" +msgstr "" + +msgid "That page number is less than 1" +msgstr "" + +msgid "That page contains no results" +msgstr "" + +msgid "Enter a valid value." +msgstr "Gëff en validen Wärt an." + +msgid "Enter a valid URL." +msgstr "Gëff eng valid URL an." + +msgid "Enter a valid integer." +msgstr "" + +msgid "Enter a valid email address." +msgstr "Gëff eng valid e-mail Adress an." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "Gëff eng valid IPv4 Adress an." + +msgid "Enter a valid IPv6 address." +msgstr "Gëff eng valid IPv6 Adress an." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Gëff eng valid IPv4 oder IPv6 Adress an." + +msgid "Enter only digits separated by commas." +msgstr "" + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Enter a number." +msgstr "" + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "" + +msgid "and" +msgstr "an" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "" + +msgid "This field cannot be null." +msgstr "" + +msgid "This field cannot be blank." +msgstr "" + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "" + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "" + +msgid "Comma-separated integers" +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "Datum (ouni Zäit)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "Datum (mat Zäit)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "Dezimalzuel" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "" + +msgid "Email address" +msgstr "E-mail Adress" + +msgid "File path" +msgstr "" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "Kommazuel" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "Zuel" + +msgid "Big (8 byte) integer" +msgstr "Grouss (8 byte) Zuel" + +msgid "IPv4 address" +msgstr "IPv4 Adress" + +msgid "IP address" +msgstr "IP Adress" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "" + +msgid "Positive integer" +msgstr "Positiv Zuel" + +msgid "Positive small integer" +msgstr "Kleng positiv Zuel" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "" + +msgid "Small integer" +msgstr "Kleng Zuel" + +msgid "Text" +msgstr "Text" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "Zäit" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Rei Binär Daten" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "Fichier" + +msgid "Image" +msgstr "Bild" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" + +msgid "Foreign Key (type determined by related field)" +msgstr "" + +msgid "One-to-one relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "" + +msgid "Many-to-many relationship" +msgstr "" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "" + +msgid "Enter a whole number." +msgstr "" + +msgid "Enter a valid date." +msgstr "" + +msgid "Enter a valid time." +msgstr "" + +msgid "Enter a valid date/time." +msgstr "" + +msgid "Enter a valid duration." +msgstr "" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" + +msgid "No file was submitted." +msgstr "Et ass keng Datei geschéckt ginn." + +msgid "The submitted file is empty." +msgstr "" + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" + +msgid "Enter a list of values." +msgstr "Gëff eng Lescht vun Wäerter an." + +msgid "Enter a complete value." +msgstr "" + +msgid "Enter a valid UUID." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "" +msgstr[1] "" + +msgid "Order" +msgstr "Sortéier" + +msgid "Delete" +msgstr "Läsch" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "" + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" + +msgid "Please correct the duplicate values below." +msgstr "" + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "Maach eidel" + +msgid "Currently" +msgstr "Momentan" + +msgid "Change" +msgstr "Änner" + +msgid "Unknown" +msgstr "Onbekannt" + +msgid "Yes" +msgstr "Jo" + +msgid "No" +msgstr "Nee" + +msgid "Year" +msgstr "" + +msgid "Month" +msgstr "" + +msgid "Day" +msgstr "" + +msgid "yes,no,maybe" +msgstr "jo,nee,vläit" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "" + +msgid "noon" +msgstr "" + +msgid "Monday" +msgstr "Méindeg" + +msgid "Tuesday" +msgstr "Dënschdeg" + +msgid "Wednesday" +msgstr "Mëttwoch" + +msgid "Thursday" +msgstr "Donneschdes" + +msgid "Friday" +msgstr "Freides" + +msgid "Saturday" +msgstr "Samschdes" + +msgid "Sunday" +msgstr "Sonndes" + +msgid "Mon" +msgstr "Mei" + +msgid "Tue" +msgstr "Dën" + +msgid "Wed" +msgstr "Mett" + +msgid "Thu" +msgstr "Don" + +msgid "Fri" +msgstr "Fre" + +msgid "Sat" +msgstr "Sam" + +msgid "Sun" +msgstr "Son" + +msgid "January" +msgstr "Januar" + +msgid "February" +msgstr "Februar" + +msgid "March" +msgstr "März" + +msgid "April" +msgstr "Abrell" + +msgid "May" +msgstr "" + +msgid "June" +msgstr "Juni" + +msgid "July" +msgstr "Juli" + +msgid "August" +msgstr "August" + +msgid "September" +msgstr "September" + +msgid "October" +msgstr "Oktober" + +msgid "November" +msgstr "November" + +msgid "December" +msgstr "Dezember" + +msgid "jan" +msgstr "jan" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "mär" + +msgid "apr" +msgstr "abr" + +msgid "may" +msgstr "" + +msgid "jun" +msgstr "jun" + +msgid "jul" +msgstr "jul" + +msgid "aug" +msgstr "aug" + +msgid "sep" +msgstr "sep" + +msgid "oct" +msgstr "okt" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "dec" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Jan." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "März" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Abrell" + +msgctxt "abbrev. month" +msgid "May" +msgstr "" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Juni" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Juli" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Aug." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Sept." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Okt." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Dec." + +msgctxt "alt. month" +msgid "January" +msgstr "Januar" + +msgctxt "alt. month" +msgid "February" +msgstr "Februar" + +msgctxt "alt. month" +msgid "March" +msgstr "März" + +msgctxt "alt. month" +msgid "April" +msgstr "Abrell" + +msgctxt "alt. month" +msgid "May" +msgstr "" + +msgctxt "alt. month" +msgid "June" +msgstr "Juni" + +msgctxt "alt. month" +msgid "July" +msgstr "Juli" + +msgctxt "alt. month" +msgid "August" +msgstr "August" + +msgctxt "alt. month" +msgid "September" +msgstr "September" + +msgctxt "alt. month" +msgid "October" +msgstr "Oktober" + +msgctxt "alt. month" +msgid "November" +msgstr "November" + +msgctxt "alt. month" +msgid "December" +msgstr "December" + +msgid "This is not a valid IPv6 address." +msgstr "" + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "oder" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "%d Joer" +msgstr[1] "%d Joren" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "%d Mount" +msgstr[1] "%d Meint" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "%d Woch" +msgstr[1] "%d Wochen" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "%d Dag" +msgstr[1] "%d Deeg" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "%d Stonn" +msgstr[1] "%d Stonnen" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "%d Minutt" +msgstr[1] "%d Minutten" + +msgid "0 minutes" +msgstr "0 Minutten" + +msgid "Forbidden" +msgstr "" + +msgid "CSRF verification failed. Request aborted." +msgstr "" + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "" + +msgid "No year specified" +msgstr "" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "" + +msgid "No day specified" +msgstr "" + +msgid "No week specified" +msgstr "" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "" + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/lt/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/lt/LC_MESSAGES/django.po new file mode 100644 index 0000000..0c055a2 --- /dev/null +++ b/external_sources/django/django/conf/locale/lt/LC_MESSAGES/django.po @@ -0,0 +1,1324 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel , 2011 +# Kostas , 2011 +# lauris , 2011 +# Mariusz Felisiak , 2021 +# Matas Dailyda , 2015-2019 +# naktinis , 2012 +# Nikolajus Krauklis , 2013 +# Povilas Balzaravičius , 2011-2012 +# Simonas Kazlauskas , 2012-2014 +# Vytautas Astrauskas , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-09-21 10:22+0200\n" +"PO-Revision-Date: 2021-11-24 16:28+0000\n" +"Last-Translator: Mariusz Felisiak \n" +"Language-Team: Lithuanian (http://www.transifex.com/django/django/language/" +"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" + +msgid "Afrikaans" +msgstr "Afrikiečių" + +msgid "Arabic" +msgstr "Arabų" + +msgid "Algerian Arabic" +msgstr "" + +msgid "Asturian" +msgstr "Austrų" + +msgid "Azerbaijani" +msgstr "Azerbaidžaniečių" + +msgid "Bulgarian" +msgstr "Bulgarų" + +msgid "Belarusian" +msgstr "Gudų" + +msgid "Bengali" +msgstr "Bengalų" + +msgid "Breton" +msgstr "Bretonų" + +msgid "Bosnian" +msgstr "Bosnių" + +msgid "Catalan" +msgstr "Katalonų" + +msgid "Czech" +msgstr "Čekų" + +msgid "Welsh" +msgstr "Velso" + +msgid "Danish" +msgstr "Danų" + +msgid "German" +msgstr "Vokiečių" + +msgid "Lower Sorbian" +msgstr "Žemutinė Sorbų" + +msgid "Greek" +msgstr "Graikų" + +msgid "English" +msgstr "Anglų" + +msgid "Australian English" +msgstr "Australų Anlgų" + +msgid "British English" +msgstr "Britų Anglų" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Ispanų" + +msgid "Argentinian Spanish" +msgstr "Argentiniečių Ispanų" + +msgid "Colombian Spanish" +msgstr "Kolumbų Ispanų" + +msgid "Mexican Spanish" +msgstr "Meksikiečių Ispanų" + +msgid "Nicaraguan Spanish" +msgstr "Nikaragvos Ispanijos" + +msgid "Venezuelan Spanish" +msgstr "Venesuelos Ispanų" + +msgid "Estonian" +msgstr "Estų" + +msgid "Basque" +msgstr "Baskų" + +msgid "Persian" +msgstr "Persų" + +msgid "Finnish" +msgstr "Suomių" + +msgid "French" +msgstr "Prancūzų" + +msgid "Frisian" +msgstr "Fryzų" + +msgid "Irish" +msgstr "Airių" + +msgid "Scottish Gaelic" +msgstr "Škotų Gėlų" + +msgid "Galician" +msgstr "Galų" + +msgid "Hebrew" +msgstr "Hebrajų" + +msgid "Hindi" +msgstr "Hindi" + +msgid "Croatian" +msgstr "Kroatų" + +msgid "Upper Sorbian" +msgstr "Aukštutinė Sorbų" + +msgid "Hungarian" +msgstr "Vengrų" + +msgid "Armenian" +msgstr "Armėnų" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indoneziečių" + +msgid "Igbo" +msgstr "" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Islandų" + +msgid "Italian" +msgstr "Italų" + +msgid "Japanese" +msgstr "Japonų" + +msgid "Georgian" +msgstr "Gruzinų" + +msgid "Kabyle" +msgstr "Kabilų" + +msgid "Kazakh" +msgstr "Kazachų" + +msgid "Khmer" +msgstr "Khmerų" + +msgid "Kannada" +msgstr "Dravidų" + +msgid "Korean" +msgstr "Korėjiečių" + +msgid "Kyrgyz" +msgstr "" + +msgid "Luxembourgish" +msgstr "Liuksemburgų" + +msgid "Lithuanian" +msgstr "Lietuvių" + +msgid "Latvian" +msgstr "Latvių" + +msgid "Macedonian" +msgstr "Makedonų" + +msgid "Malayalam" +msgstr "Malajalių" + +msgid "Mongolian" +msgstr "Mongolų" + +msgid "Marathi" +msgstr "Marati" + +msgid "Malay" +msgstr "" + +msgid "Burmese" +msgstr "Mjanmų" + +msgid "Norwegian Bokmål" +msgstr "Norvegų Bokmal" + +msgid "Nepali" +msgstr "Nepalų" + +msgid "Dutch" +msgstr "Olandų" + +msgid "Norwegian Nynorsk" +msgstr "Norvegų Nynorsk" + +msgid "Ossetic" +msgstr "Osetinų" + +msgid "Punjabi" +msgstr "Pandžabi" + +msgid "Polish" +msgstr "Lenkų" + +msgid "Portuguese" +msgstr "Protugalų" + +msgid "Brazilian Portuguese" +msgstr "Brazilijos Portugalų" + +msgid "Romanian" +msgstr "Rumunų" + +msgid "Russian" +msgstr "Rusų" + +msgid "Slovak" +msgstr "Slovakų" + +msgid "Slovenian" +msgstr "Slovėnų" + +msgid "Albanian" +msgstr "Albanų" + +msgid "Serbian" +msgstr "Serbų" + +msgid "Serbian Latin" +msgstr "Serbų Lotynų" + +msgid "Swedish" +msgstr "Švedų" + +msgid "Swahili" +msgstr "Svahili" + +msgid "Tamil" +msgstr "Tamilų" + +msgid "Telugu" +msgstr "Telugų" + +msgid "Tajik" +msgstr "" + +msgid "Thai" +msgstr "Tailando" + +msgid "Turkmen" +msgstr "" + +msgid "Turkish" +msgstr "Turkų" + +msgid "Tatar" +msgstr "Totorių" + +msgid "Udmurt" +msgstr "Udmurtų" + +msgid "Ukrainian" +msgstr "Ukrainiečių" + +msgid "Urdu" +msgstr "Urdu" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "Vietnamiečių" + +msgid "Simplified Chinese" +msgstr "Supaprastinta kinų" + +msgid "Traditional Chinese" +msgstr "Tradicinė kinų" + +msgid "Messages" +msgstr "Žinutės" + +msgid "Site Maps" +msgstr "Tinklalapio struktūros" + +msgid "Static Files" +msgstr "Statiniai failai" + +msgid "Syndication" +msgstr "Sindikacija" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "" + +msgid "That page number is not an integer" +msgstr "To puslapio numeris nėra sveikasis skaičius." + +msgid "That page number is less than 1" +msgstr "To numerio puslapis yra mažesnis už 1" + +msgid "That page contains no results" +msgstr "Tas puslapis neturi jokių rezultatų" + +msgid "Enter a valid value." +msgstr "Įveskite tinkamą reikšmę." + +msgid "Enter a valid URL." +msgstr "Įveskite tinkamą URL adresą." + +msgid "Enter a valid integer." +msgstr "Įveskite tinkamą sveikąjį skaičių." + +msgid "Enter a valid email address." +msgstr "Įveskite teisingą el. pašto adresą." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "Įveskite validų IPv4 adresą." + +msgid "Enter a valid IPv6 address." +msgstr "Įveskite validų IPv6 adresą." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Įveskite validų IPv4 arba IPv6 adresą." + +msgid "Enter only digits separated by commas." +msgstr "Įveskite skaitmenis atskirtus kableliais." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Įsitikinkite, kad reikšmę sudaro %(limit_value)s simbolių (dabar yra " +"%(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Įsitikinkite, kad reikšmė yra mažesnė arba lygi %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Įsitikinkite, kad reikšmė yra didesnė arba lygi %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Įsitikinkite, kad reikšmė sudaryta iš nemažiau kaip %(limit_value)d ženklo " +"(dabartinis ilgis %(show_value)d)." +msgstr[1] "" +"Įsitikinkite, kad reikšmė sudaryta iš nemažiau kaip %(limit_value)d ženklų " +"(dabartinis ilgis %(show_value)d)." +msgstr[2] "" +"Įsitikinkite, kad reikšmė sudaryta iš nemažiau kaip %(limit_value)d ženklų " +"(dabartinis ilgis %(show_value)d)." +msgstr[3] "" +"Įsitikinkite, kad reikšmė sudaryta iš nemažiau kaip %(limit_value)d ženklų " +"(dabartinis ilgis %(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Įsitikinkite, kad reikšmė sudaryta iš nedaugiau kaip %(limit_value)d ženklo " +"(dabartinis ilgis %(show_value)d)." +msgstr[1] "" +"Įsitikinkite, kad reikšmė sudaryta iš nedaugiau kaip %(limit_value)d ženklų " +"(dabartinis ilgis %(show_value)d)." +msgstr[2] "" +"Įsitikinkite, kad reikšmė sudaryta iš nedaugiau kaip %(limit_value)d ženklų " +"(dabartinis ilgis %(show_value)d)." +msgstr[3] "" +"Įsitikinkite, kad reikšmė sudaryta iš nedaugiau kaip %(limit_value)d ženklų " +"(dabartinis ilgis %(show_value)d)." + +msgid "Enter a number." +msgstr "Įveskite skaičių." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmuo." +msgstr[1] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenys." +msgstr[2] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenų." +msgstr[3] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenų." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmuo po kablelio." +msgstr[1] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenys po kablelio." +msgstr[2] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenų po kablelio." +msgstr[3] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenų po kablelio." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmuo prieš kablelį." +msgstr[1] "" +"Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenys prieš kablelį." +msgstr[2] "" +"Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenų prieš kablelį." +msgstr[3] "" +"Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenų prieš kablelį." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "Nuliniai simboliai neleidžiami." + +msgid "and" +msgstr "ir" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s su šiais %(field_labels)s jau egzistuoja." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Reikšmės %(value)r rinktis negalima." + +msgid "This field cannot be null." +msgstr "Šis laukas negali būti null." + +msgid "This field cannot be blank." +msgstr "Lauką privaloma užpildyti." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s su šiuo %(field_label)s jau egzistuoja." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s privalo būti unikalus %(date_field_label)s %(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Lauko tipas: %(field_type)s " + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "Loginė reikšmė (Tiesa arba Netiesa)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Eilutė (ilgis iki %(max_length)s)" + +msgid "Comma-separated integers" +msgstr "Kableliais atskirti sveikieji skaičiai" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "Data (be laiko)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "Data (su laiku)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "Dešimtainis skaičius" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "Trukmė" + +msgid "Email address" +msgstr "El. pašto adresas" + +msgid "File path" +msgstr "Kelias iki failo" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "Realus skaičius" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "Sveikas skaičius" + +msgid "Big (8 byte) integer" +msgstr "Didelis (8 baitų) sveikas skaičius" + +msgid "Small integer" +msgstr "Nedidelis sveikasis skaičius" + +msgid "IPv4 address" +msgstr "IPv4 adresas" + +msgid "IP address" +msgstr "IP adresas" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "Loginė reikšmė (Tiesa, Netiesa arba Nieko)" + +msgid "Positive big integer" +msgstr "" + +msgid "Positive integer" +msgstr "Teigiamas sveikasis skaičius" + +msgid "Positive small integer" +msgstr "Nedidelis teigiamas sveikasis skaičius" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Unikalus adresas (iki %(max_length)s ženklų)" + +msgid "Text" +msgstr "Tekstas" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "Laikas" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Neapdorota informacija" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "Universaliai unikalus identifikatorius" + +msgid "File" +msgstr "Failas" + +msgid "Image" +msgstr "Paveiksliukas" + +msgid "A JSON object" +msgstr "" + +msgid "Value must be valid JSON." +msgstr "" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "%(model)s objektas su %(field)s %(value)r neegzistuoja." + +msgid "Foreign Key (type determined by related field)" +msgstr "Išorinis raktas (tipas nustatomas susijusiame lauke)" + +msgid "One-to-one relationship" +msgstr "Sąryšis vienas su vienu" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s sąryšis" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s sąryšiai" + +msgid "Many-to-many relationship" +msgstr "Sąryšis daug su daug" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Šis laukas yra privalomas." + +msgid "Enter a whole number." +msgstr "Įveskite pilną skaičių." + +msgid "Enter a valid date." +msgstr "Įveskite tinkamą datą." + +msgid "Enter a valid time." +msgstr "Įveskite tinkamą laiką." + +msgid "Enter a valid date/time." +msgstr "Įveskite tinkamą datą/laiką." + +msgid "Enter a valid duration." +msgstr "Įveskite tinkamą trukmę." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Dienų skaičius turi būti tarp {min_days} ir {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Nebuvo nurodytas failas. Patikrinkite formos koduotę." + +msgid "No file was submitted." +msgstr "Failas nebuvo nurodytas." + +msgid "The submitted file is empty." +msgstr "Nurodytas failas yra tuščias." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Įsitikinkite, kad failo pavadinimas sudarytas iš nedaugiau kaip %(max)d " +"ženklo (dabartinis ilgis %(length)d)." +msgstr[1] "" +"Įsitikinkite, kad failo pavadinimas sudarytas iš nedaugiau kaip %(max)d " +"ženklų (dabartinis ilgis %(length)d)." +msgstr[2] "" +"Įsitikinkite, kad failo pavadinimas sudarytas iš nedaugiau kaip %(max)d " +"ženklų (dabartinis ilgis %(length)d)." +msgstr[3] "" +"Įsitikinkite, kad failo pavadinimas sudarytas iš nedaugiau kaip %(max)d " +"ženklų (dabartinis ilgis %(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Nurodykite failą arba pažymėkite išvalyti. Abu pasirinkimai negalimi." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Atsiųskite tinkamą paveiksliuką. Failas, kurį siuntėte nebuvo paveiksliukas, " +"arba buvo sugadintas." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Nurodykite tinkamą reikšmę. %(value)s nėra galimas pasirinkimas." + +msgid "Enter a list of values." +msgstr "Įveskite reikšmių sarašą." + +msgid "Enter a complete value." +msgstr "Įveskite pilną reikšmę." + +msgid "Enter a valid UUID." +msgstr "Įveskite tinkamą UUID." + +msgid "Enter a valid JSON." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Paslėptas laukelis %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" + +#, python-format +msgid "Please submit at most %d form." +msgid_plural "Please submit at most %d forms." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#, python-format +msgid "Please submit at least %d form." +msgid_plural "Please submit at least %d forms." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +msgid "Order" +msgstr "Nurodyti" + +msgid "Delete" +msgstr "Ištrinti" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Pataisykite pasikartojančius duomenis laukui %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Pataisykite pasikartojančius duomenis laukui %(field)s. Duomenys privalo " +"būti unikalūs." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Pataisykite pasikartojančius duomenis laukui %(field_name)s. Duomenys " +"privalo būti unikalūs %(lookup)s peržiūroms per %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Pataisykite žemiau esančias pasikartojančias reikšmes." + +msgid "The inline value did not match the parent instance." +msgstr "Reikšmė nesutapo su pirminiu objektu." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Pasirinkite tinkamą reikšmę. Parinkta reikšmė nėra galima." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "Išvalyti" + +msgid "Currently" +msgstr "Šiuo metu" + +msgid "Change" +msgstr "Pakeisti" + +msgid "Unknown" +msgstr "Nežinomas" + +msgid "Yes" +msgstr "Taip" + +msgid "No" +msgstr "Ne" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "taip,ne,galbūt" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d baitas" +msgstr[1] "%(size)d baitai" +msgstr[2] "%(size)d baitai" +msgstr[3] "%(size)d baitai" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "vidurnaktis" + +msgid "noon" +msgstr "vidurdienis" + +msgid "Monday" +msgstr "Pirmadienis" + +msgid "Tuesday" +msgstr "Antradienis" + +msgid "Wednesday" +msgstr "Trečiadienis" + +msgid "Thursday" +msgstr "Ketvirtadienis" + +msgid "Friday" +msgstr "Penktadienis" + +msgid "Saturday" +msgstr "Šeštadienis" + +msgid "Sunday" +msgstr "Sekmadienis" + +msgid "Mon" +msgstr "Pr" + +msgid "Tue" +msgstr "A" + +msgid "Wed" +msgstr "T" + +msgid "Thu" +msgstr "K" + +msgid "Fri" +msgstr "P" + +msgid "Sat" +msgstr "Š" + +msgid "Sun" +msgstr "S" + +msgid "January" +msgstr "sausis" + +msgid "February" +msgstr "vasaris" + +msgid "March" +msgstr "kovas" + +msgid "April" +msgstr "balandis" + +msgid "May" +msgstr "gegužė" + +msgid "June" +msgstr "birželis" + +msgid "July" +msgstr "liepa" + +msgid "August" +msgstr "rugpjūtis" + +msgid "September" +msgstr "rugsėjis" + +msgid "October" +msgstr "spalis" + +msgid "November" +msgstr "lapkritis" + +msgid "December" +msgstr "gruodis" + +msgid "jan" +msgstr "sau" + +msgid "feb" +msgstr "vas" + +msgid "mar" +msgstr "kov" + +msgid "apr" +msgstr "bal" + +msgid "may" +msgstr "geg" + +msgid "jun" +msgstr "bir" + +msgid "jul" +msgstr "lie" + +msgid "aug" +msgstr "rugp" + +msgid "sep" +msgstr "rugs" + +msgid "oct" +msgstr "spa" + +msgid "nov" +msgstr "lap" + +msgid "dec" +msgstr "grd" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "saus." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "vas." + +msgctxt "abbrev. month" +msgid "March" +msgstr "kov." + +msgctxt "abbrev. month" +msgid "April" +msgstr "bal." + +msgctxt "abbrev. month" +msgid "May" +msgstr "geg." + +msgctxt "abbrev. month" +msgid "June" +msgstr "birž." + +msgctxt "abbrev. month" +msgid "July" +msgstr "liep." + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "rugpj." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "rugs." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "spal." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "lapkr." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "gruod." + +msgctxt "alt. month" +msgid "January" +msgstr "sausio" + +msgctxt "alt. month" +msgid "February" +msgstr "vasario" + +msgctxt "alt. month" +msgid "March" +msgstr "kovo" + +msgctxt "alt. month" +msgid "April" +msgstr "balandžio" + +msgctxt "alt. month" +msgid "May" +msgstr "gegužės" + +msgctxt "alt. month" +msgid "June" +msgstr "birželio" + +msgctxt "alt. month" +msgid "July" +msgstr "liepos" + +msgctxt "alt. month" +msgid "August" +msgstr "rugpjūčio" + +msgctxt "alt. month" +msgid "September" +msgstr "rugsėjo" + +msgctxt "alt. month" +msgid "October" +msgstr "spalio" + +msgctxt "alt. month" +msgid "November" +msgstr "lapkričio" + +msgctxt "alt. month" +msgid "December" +msgstr "gruodžio" + +msgid "This is not a valid IPv6 address." +msgstr "Tai nėra teisingas IPv6 adresas." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "arba" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr "," + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +msgid "Forbidden" +msgstr "Uždrausta" + +msgid "CSRF verification failed. Request aborted." +msgstr "Nepavyko CSRF patvirtinimas. Užklausa nutraukta." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Jūs matote šią žinutę nes šis puslapis reikalauja CSRF slapuko, kai " +"pateikiama forma. Slapukas reikalaujamas saugumo sumetimais, kad užtikrinti " +"jog jūsų naršyklė nėra užgrobiama trečiųjų asmenų." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "Gauti daugiau informacijos galima su DEBUG=True nustatymu." + +msgid "No year specified" +msgstr "Nenurodyti metai" + +msgid "Date out of range" +msgstr "Data išeina iš ribų" + +msgid "No month specified" +msgstr "Nenurodytas mėnuo" + +msgid "No day specified" +msgstr "Nenurodyta diena" + +msgid "No week specified" +msgstr "Nenurodyta savaitė" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Nėra %(verbose_name_plural)s" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Ateities %(verbose_name_plural)s nėra prieinami, nes %(class_name)s." +"allow_future yra False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Atitinkantis užklausą %(verbose_name)s nerastas" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Neegzistuojantis puslapis (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "Aplankų indeksai čia neleidžiami." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "%(directory)s indeksas" + +msgid "The install worked successfully! Congratulations!" +msgstr "Diegimas pavyko! Sveikiname!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Žiūrėti Django %(version)s išleidimo " +"pastabas" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" +"Jūs matote šią žinutę dėl to kad Django nustatymų faile įvesta DEBUG = True ir Jūs nenustatėte jokių URL'ų." + +msgid "Django Documentation" +msgstr "Django dokumentacija" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "Pamoka: Apklausos aplikacija" + +msgid "Get started with Django" +msgstr "Pradėti su Django" + +msgid "Django Community" +msgstr "Django Bendrija" + +msgid "Connect, get help, or contribute" +msgstr "Prisijunk, gauk pagalbą arba prisidėk" diff --git a/external_sources/django/django/conf/locale/lt/__init__.py b/external_sources/django/django/conf/locale/lt/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/lt/formats.py b/external_sources/django/django/conf/locale/lt/formats.py new file mode 100644 index 0000000..a351b3c --- /dev/null +++ b/external_sources/django/django/conf/locale/lt/formats.py @@ -0,0 +1,45 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = r"Y \m. E j \d." +TIME_FORMAT = "H:i" +DATETIME_FORMAT = r"Y \m. E j \d., H:i" +YEAR_MONTH_FORMAT = r"Y \m. F" +MONTH_DAY_FORMAT = r"E j \d." +SHORT_DATE_FORMAT = "Y-m-d" +SHORT_DATETIME_FORMAT = "Y-m-d H:i" +FIRST_DAY_OF_WEEK = 1 # Monday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%Y-%m-%d", # '2006-10-25' + "%d.%m.%Y", # '25.10.2006' + "%d.%m.%y", # '25.10.06' +] +TIME_INPUT_FORMATS = [ + "%H:%M:%S", # '14:30:59' + "%H:%M:%S.%f", # '14:30:59.000200' + "%H:%M", # '14:30' + "%H.%M.%S", # '14.30.59' + "%H.%M.%S.%f", # '14.30.59.000200' + "%H.%M", # '14.30' +] +DATETIME_INPUT_FORMATS = [ + "%Y-%m-%d %H:%M:%S", # '2006-10-25 14:30:59' + "%Y-%m-%d %H:%M:%S.%f", # '2006-10-25 14:30:59.000200' + "%Y-%m-%d %H:%M", # '2006-10-25 14:30' + "%d.%m.%Y %H:%M:%S", # '25.10.2006 14:30:59' + "%d.%m.%Y %H:%M:%S.%f", # '25.10.2006 14:30:59.000200' + "%d.%m.%Y %H:%M", # '25.10.2006 14:30' + "%d.%m.%y %H:%M:%S", # '25.10.06 14:30:59' + "%d.%m.%y %H:%M:%S.%f", # '25.10.06 14:30:59.000200' + "%d.%m.%y %H:%M", # '25.10.06 14:30' + "%d.%m.%y %H.%M.%S", # '25.10.06 14.30.59' + "%d.%m.%y %H.%M.%S.%f", # '25.10.06 14.30.59.000200' + "%d.%m.%y %H.%M", # '25.10.06 14.30' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "." +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/lv/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/lv/LC_MESSAGES/django.po new file mode 100644 index 0000000..26e5090 --- /dev/null +++ b/external_sources/django/django/conf/locale/lv/LC_MESSAGES/django.po @@ -0,0 +1,1367 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# edgars , 2011 +# Edgars Voroboks , 2023-2024 +# Edgars Voroboks , 2017,2022 +# Edgars Voroboks , 2017-2018 +# Jannis Leidel , 2011 +# krikulis , 2014 +# Māris Nartišs , 2016 +# Mariusz Felisiak , 2021 +# Mārtiņš Šulcs , 2018 +# Edgars Voroboks , 2018-2021 +# peterisb , 2016-2017 +# Pēteris Caune, 2023 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 06:49+0000\n" +"Last-Translator: Edgars Voroboks , 2023-2024\n" +"Language-Team: Latvian (http://app.transifex.com/django/django/language/" +"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" + +msgid "Afrikaans" +msgstr "afrikāņu" + +msgid "Arabic" +msgstr "arābu" + +msgid "Algerian Arabic" +msgstr "Alžīrijas arābu" + +msgid "Asturian" +msgstr "asturiešu" + +msgid "Azerbaijani" +msgstr "azerbaidžāņu" + +msgid "Bulgarian" +msgstr "bulgāru" + +msgid "Belarusian" +msgstr "baltkrievu" + +msgid "Bengali" +msgstr "bengāļu" + +msgid "Breton" +msgstr "bretoņu" + +msgid "Bosnian" +msgstr "bosniešu" + +msgid "Catalan" +msgstr "katalāņu" + +msgid "Central Kurdish (Sorani)" +msgstr "centrālā kurdu (sorani)" + +msgid "Czech" +msgstr "čehu" + +msgid "Welsh" +msgstr "velsiešu" + +msgid "Danish" +msgstr "dāņu" + +msgid "German" +msgstr "vācu" + +msgid "Lower Sorbian" +msgstr "apakšsorbu" + +msgid "Greek" +msgstr "grieķu" + +msgid "English" +msgstr "angļu" + +msgid "Australian English" +msgstr "Austrālijas angļu" + +msgid "British English" +msgstr "Lielbritānijas angļu" + +msgid "Esperanto" +msgstr "esperanto" + +msgid "Spanish" +msgstr "spāņu" + +msgid "Argentinian Spanish" +msgstr "Argentīnas spāņu" + +msgid "Colombian Spanish" +msgstr "Kolumbijas spāņu" + +msgid "Mexican Spanish" +msgstr "Meksikas spāņu" + +msgid "Nicaraguan Spanish" +msgstr "Nikaragvas spāņu" + +msgid "Venezuelan Spanish" +msgstr "Venecuēlas spāņu" + +msgid "Estonian" +msgstr "igauņu" + +msgid "Basque" +msgstr "basku" + +msgid "Persian" +msgstr "persiešu" + +msgid "Finnish" +msgstr "somu" + +msgid "French" +msgstr "franču" + +msgid "Frisian" +msgstr "frīzu" + +msgid "Irish" +msgstr "īru" + +msgid "Scottish Gaelic" +msgstr "skotu gēlu" + +msgid "Galician" +msgstr "galīciešu" + +msgid "Hebrew" +msgstr "ebreju" + +msgid "Hindi" +msgstr "hindu" + +msgid "Croatian" +msgstr "horvātu" + +msgid "Upper Sorbian" +msgstr "augšsorbu" + +msgid "Hungarian" +msgstr "ungāru" + +msgid "Armenian" +msgstr "armēņu" + +msgid "Interlingua" +msgstr "modernā latīņu" + +msgid "Indonesian" +msgstr "indonēziešu" + +msgid "Igbo" +msgstr "igbo" + +msgid "Ido" +msgstr "ido" + +msgid "Icelandic" +msgstr "islandiešu" + +msgid "Italian" +msgstr "itāļu" + +msgid "Japanese" +msgstr "japāņu" + +msgid "Georgian" +msgstr "gruzīnu" + +msgid "Kabyle" +msgstr "kabiliešu" + +msgid "Kazakh" +msgstr "kazahu" + +msgid "Khmer" +msgstr "khmeru" + +msgid "Kannada" +msgstr "kannādiešu" + +msgid "Korean" +msgstr "korejiešu" + +msgid "Kyrgyz" +msgstr "kirgīzu" + +msgid "Luxembourgish" +msgstr "luksemburgiešu" + +msgid "Lithuanian" +msgstr "lietuviešu" + +msgid "Latvian" +msgstr "latviešu" + +msgid "Macedonian" +msgstr "maķedoniešu" + +msgid "Malayalam" +msgstr "malajalu" + +msgid "Mongolian" +msgstr "mongoļu" + +msgid "Marathi" +msgstr "maratiešu" + +msgid "Malay" +msgstr "malajiešu" + +msgid "Burmese" +msgstr "birmiešu" + +msgid "Norwegian Bokmål" +msgstr "norvēģu bokmål" + +msgid "Nepali" +msgstr "nepāliešu" + +msgid "Dutch" +msgstr "holandiešu" + +msgid "Norwegian Nynorsk" +msgstr "norvēģu nynorsk" + +msgid "Ossetic" +msgstr "osetiešu" + +msgid "Punjabi" +msgstr "pandžabu" + +msgid "Polish" +msgstr "poļu" + +msgid "Portuguese" +msgstr "portugāļu" + +msgid "Brazilian Portuguese" +msgstr "Brazīlijas portugāļu" + +msgid "Romanian" +msgstr "rumāņu" + +msgid "Russian" +msgstr "krievu" + +msgid "Slovak" +msgstr "slovāku" + +msgid "Slovenian" +msgstr "slovēņu" + +msgid "Albanian" +msgstr "albāņu" + +msgid "Serbian" +msgstr "serbu" + +msgid "Serbian Latin" +msgstr "serbu latīņu" + +msgid "Swedish" +msgstr "zviedru" + +msgid "Swahili" +msgstr "svahili" + +msgid "Tamil" +msgstr "tamilu" + +msgid "Telugu" +msgstr "telugu" + +msgid "Tajik" +msgstr "tadžiku" + +msgid "Thai" +msgstr "taizemiešu" + +msgid "Turkmen" +msgstr "turkmēņu" + +msgid "Turkish" +msgstr "turku" + +msgid "Tatar" +msgstr "tatāru" + +msgid "Udmurt" +msgstr "udmurtu" + +msgid "Uyghur" +msgstr "uiguru" + +msgid "Ukrainian" +msgstr "ukraiņu" + +msgid "Urdu" +msgstr "urdu" + +msgid "Uzbek" +msgstr "Uzbeku" + +msgid "Vietnamese" +msgstr "vjetnamiešu" + +msgid "Simplified Chinese" +msgstr "vienkāršā ķīniešu" + +msgid "Traditional Chinese" +msgstr "tradicionālā ķīniešu" + +msgid "Messages" +msgstr "Ziņojumi" + +msgid "Site Maps" +msgstr "Lapas kartes" + +msgid "Static Files" +msgstr "Statiski faili" + +msgid "Syndication" +msgstr "Sindikācija" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "Lapas numurs nav cipars" + +msgid "That page number is less than 1" +msgstr "Lapas numurs ir mazāks par 1" + +msgid "That page contains no results" +msgstr "Lapa nesatur rezultātu" + +msgid "Enter a valid value." +msgstr "Ievadiet korektu vērtību." + +msgid "Enter a valid domain name." +msgstr "Ievadiet derīgu domēna vārdu." + +msgid "Enter a valid URL." +msgstr "Ievadiet korektu URL adresi." + +msgid "Enter a valid integer." +msgstr "Ievadiet veselu skaitli." + +msgid "Enter a valid email address." +msgstr "Ievadiet korektu e-pasta adresi" + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Ievadiet korektu \"identifikatora\" vērtību, kas satur tikai burtus, " +"ciparus, apakšsvītras vai defises." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Ievadiet korektu \"identifikatora\" vērtību, kas satur tikai Unikoda burtus, " +"ciparus, apakšsvītras vai defises." + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "Ievadiet derīgu %(protocol)s adresi." + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "IPv4 or IPv6" +msgstr "IPv4 vai IPv6" + +msgid "Enter only digits separated by commas." +msgstr "Ievadiet tikai numurus, atdalītus ar komatiem." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Nodrošiniet, ka vērtība ir %(limit_value)s (tā satur %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Šai vērtībai jabūt mazākai vai vienādai ar %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Vērtībai jābūt lielākai vai vienādai ar %(limit_value)s." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "Vērtībai jābūt reizinājumam no %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"Pārliecinieties, ka šī vērtība ir soļa lieluma %(limit_value)s reizinājums, " +"sākot no %(offset)s, piem. %(offset)s, %(valid_value1)s, %(valid_value2)s, " +"un tā tālāk." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Vērtībai jābūt vismaz %(limit_value)d zīmēm (tai ir %(show_value)d)." +msgstr[1] "" +"Vērtībai jābūt vismaz %(limit_value)d zīmei (tai ir %(show_value)d)." +msgstr[2] "" +"Vērtībai jābūt vismaz %(limit_value)d zīmēm (tai ir %(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Vērtībai jābūt ne vairāk kā %(limit_value)d zīmēm (tai ir %(show_value)d)." +msgstr[1] "" +"Vērtībai jābūt ne vairāk kā %(limit_value)d zīmei (tai ir %(show_value)d)." +msgstr[2] "" +"Vērtībai jābūt ne vairāk kā %(limit_value)d zīmēm (tai ir %(show_value)d)." + +msgid "Enter a number." +msgstr "Ievadiet skaitli." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Pārliecinieties, ka kopā nav vairāk par %(max)s ciparu." +msgstr[1] "Pārliecinieties, ka kopā nav vairāk par %(max)s cipariem." +msgstr[2] "Pārliecinieties, ka kopā nav vairāk par %(max)s cipariem." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" +"Pārliecinieties, ka aiz decimālās zīmes nav vairāk par %(max)s ciparu." +msgstr[1] "" +"Pārliecinieties, ka aiz decimālās zīmes nav vairāk par %(max)s cipariem." +msgstr[2] "" +"Pārliecinieties, ka aiz decimālās zīmes nav vairāk par %(max)s cipariem." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Pārliecinieties, ka pirms decimālās zīmes nav vairāk par %(max)s ciparu." +msgstr[1] "" +"Pārliecinieties, ka pirms decimālās zīmes nav vairāk par %(max)s cipariem." +msgstr[2] "" +"Pārliecinieties, ka pirms decimālās zīmes nav vairāk par %(max)s cipariem." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Faila paplašinājums “%(extension)s” nav atļauts. Atļautie paplašinājumi ir: " +"%(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Nulles rakstzīmes nav atļautas." + +msgid "and" +msgstr "un" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s ar šādu lauka %(field_labels)s vērtību jau eksistē." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "Ierobežojums “%(name)s” ir pārkāpts." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Vērtība %(value)r ir nederīga izvēle." + +msgid "This field cannot be null." +msgstr "Šis lauks nevar būt tukšs, null." + +msgid "This field cannot be blank." +msgstr "Šis lauks nevar būt tukšs" + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s ar šādu lauka %(field_label)s vērtību jau eksistē." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "%(field_label)s jābūt unikālam %(date_field_label)s %(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Lauks ar tipu: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "“%(value)s” vērtībai ir jābūt vai nu True, vai False." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "“%(value)s” vērtībai ir jābūt True, False vai None." + +msgid "Boolean (Either True or False)" +msgstr "Boolean (vai nu True, vai False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Simbolu virkne (līdz pat %(max_length)s)" + +msgid "String (unlimited)" +msgstr "Simbolu virkne (neierobežota)" + +msgid "Comma-separated integers" +msgstr "Ar komatu atdalīti veselie skaitļi" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"“%(value)s” vērtība ir nepareizā formātā. Tai ir jābūt YYYY-MM-DD formātā." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"“%(value)s” vērtība ir pareizā formātā (YYYY-MM-DD), bet tas nav derīgs " +"datums." + +msgid "Date (without time)" +msgstr "Datums (bez laika)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"“%(value)s” vērtība ir nepareizā formātā. Tai ir jābūt YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] formātā." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"“%(value)s” vērtība ir pareizā formātā (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]), " +"bet tas nav derīgs datums/laiks." + +msgid "Date (with time)" +msgstr "Datums (ar laiku)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "“%(value)s” vērtībai ir jābūt decimālam skaitlim." + +msgid "Decimal number" +msgstr "Decimāls skaitlis" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"“%(value)s” vērtība ir nepareizā formātā. Tai ir jābūt [DD] [[HH:]MM:]ss[." +"uuuuuu] formātā." + +msgid "Duration" +msgstr "Ilgums" + +msgid "Email address" +msgstr "E-pasta adrese" + +msgid "File path" +msgstr "Faila ceļš" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "“%(value)s” vērtībai ir jābūt daļskaitlim." + +msgid "Floating point number" +msgstr "Peldošā komata skaitlis" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "“%(value)s” vērtībai ir jābūt veselam skaitlim." + +msgid "Integer" +msgstr "Vesels skaitlis" + +msgid "Big (8 byte) integer" +msgstr "Liels (8 baitu) vesels skaitlis" + +msgid "Small integer" +msgstr "Mazs vesels skaitlis" + +msgid "IPv4 address" +msgstr "IPv4 adrese" + +msgid "IP address" +msgstr "IP adrese" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "“%(value)s” vērtībai ir jābūt None, True vai False." + +msgid "Boolean (Either True, False or None)" +msgstr "Boolean (vai nu True, False, vai None)" + +msgid "Positive big integer" +msgstr "Liels pozitīvs vesels skaitlis" + +msgid "Positive integer" +msgstr "Naturāls skaitlis" + +msgid "Positive small integer" +msgstr "Mazs pozitīvs vesels skaitlis" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Identifikators (līdz %(max_length)s)" + +msgid "Text" +msgstr "Teksts" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"“%(value)s” vērtība ir nepareizā formātā. Tai ir jābūt HH:MM[:ss[.uuuuuu]] " +"formātā." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"“%(value)s” vērtība ir pareizā formātā (HH:MM[:ss[.uuuuuu]]), bet tas nav " +"derīgs laiks." + +msgid "Time" +msgstr "Laiks" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Bināri dati" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "“%(value)s” nav derīgs UUID." + +msgid "Universally unique identifier" +msgstr "Universāli unikāls identifikators" + +msgid "File" +msgstr "Fails" + +msgid "Image" +msgstr "Attēls" + +msgid "A JSON object" +msgstr "JSON objekts" + +msgid "Value must be valid JSON." +msgstr "Vērtībai ir jābūt derīgam JSON." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "%(model)s instance ar %(field)s %(value)r neeksistē." + +msgid "Foreign Key (type determined by related field)" +msgstr "Ārējā atslēga (tipu nosaka lauks uz kuru attiecas)" + +msgid "One-to-one relationship" +msgstr "Attiecība viens pret vienu" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s attiecība" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s attiecības" + +msgid "Many-to-many relationship" +msgstr "Attiecība daudzi pret daudziem" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Šis lauks ir obligāts." + +msgid "Enter a whole number." +msgstr "Ievadiet veselu skaitli." + +msgid "Enter a valid date." +msgstr "Ievadiet korektu datumu." + +msgid "Enter a valid time." +msgstr "Ievadiet korektu laiku." + +msgid "Enter a valid date/time." +msgstr "Ievadiet korektu datumu/laiku." + +msgid "Enter a valid duration." +msgstr "Ievadiet korektu ilgumu." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Dienu skaitam jābūt no {min_days} līdz {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Nav nosūtīts fails. Pārbaudiet formas kodējuma tipu." + +msgid "No file was submitted." +msgstr "Netika nosūtīts fails." + +msgid "The submitted file is empty." +msgstr "Jūsu nosūtītais fails ir tukšs." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Faila nosaukuma garumam jābūt ne vairāk kā %(max)d zīmēm (tas ir %(length)d)." +msgstr[1] "" +"Faila nosaukuma garumam jābūt ne vairāk kā %(max)d zīmei (tas ir %(length)d)." +msgstr[2] "" +"Faila nosaukuma garumam jābūt ne vairāk kā %(max)d zīmēm (tas ir %(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Vai nu iesniedziet failu, vai atzīmējiet tukšo izvēles rūtiņu, bet ne abus." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Augšupielādējiet korektu attēlu. Fails, ko augšupielādējāt, vai nu nav " +"attēls, vai arī ir bojāts." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Izvēlieties korektu izvēli. %(value)s nav pieejamo izvēļu sarakstā." + +msgid "Enter a list of values." +msgstr "Ievadiet sarakstu ar vērtībām." + +msgid "Enter a complete value." +msgstr "Ievadiet pilnu vērtību." + +msgid "Enter a valid UUID." +msgstr "Ievadiet derīgu UUID." + +msgid "Enter a valid JSON." +msgstr "Ievadiet korektu JSON." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Slēpts lauks %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"ManagementForm trūkst datu vai tie ir mainīti. Trūkstošie lauki: " +"%(field_names)s. Paziņojiet par kļūdu, ja problēma atkārtojas." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Lūdzu iesniedziet ne vairāk par %(num)d formām." +msgstr[1] "Lūdzu iesniedziet ne vairāk par %(num)d formu." +msgstr[2] "Lūdzu iesniedziet ne vairāk par %(num)d formām." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Lūdzu iesniedziet vismaz %(num)d formas." +msgstr[1] "Lūdzu iesniedziet vismaz %(num)d formu." +msgstr[2] "Lūdzu iesniedziet vismaz %(num)d formas." + +msgid "Order" +msgstr "Kārtība" + +msgid "Delete" +msgstr "Dzēst" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Lūdzu izlabojiet dublicētos datus priekš %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Lūdzu izlabojiet dublicētos datus laukam %(field)s, kam jābūt unikālam." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Lūdzu izlabojiet dublicētos datus laukam %(field_name)s, kam jābūt unikālam " +"priekš %(lookup)s iekš %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Lūdzu izlabojiet dublicētās vērtības zemāk." + +msgid "The inline value did not match the parent instance." +msgstr "Iekļautā vērtība nesakrita ar vecāka instanci." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Izvēlieties pareizu izvēli. Jūsu izvēle neietilpst pieejamo sarakstā." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "“%(pk)s” nav derīga vērtība." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s vērtība nevar tikt attēlota %(current_timezone)s laika zonā; tā " +"var būt neskaidra vai neeksistē." + +msgid "Clear" +msgstr "Notīrīt" + +msgid "Currently" +msgstr "Pašlaik" + +msgid "Change" +msgstr "Mainīt" + +msgid "Unknown" +msgstr "Nezināms" + +msgid "Yes" +msgstr "Jā" + +msgid "No" +msgstr "Nē" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "jā,nē,varbūt" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d baits" +msgstr[1] "%(size)d baiti" +msgstr[2] "%(size)d baitu" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "pusnakts" + +msgid "noon" +msgstr "dienasvidus" + +msgid "Monday" +msgstr "pirmdiena" + +msgid "Tuesday" +msgstr "otrdiena" + +msgid "Wednesday" +msgstr "trešdiena" + +msgid "Thursday" +msgstr "ceturtdiena" + +msgid "Friday" +msgstr "piektdiena" + +msgid "Saturday" +msgstr "sestdiena" + +msgid "Sunday" +msgstr "svētdiena" + +msgid "Mon" +msgstr "pr" + +msgid "Tue" +msgstr "ot" + +msgid "Wed" +msgstr "tr" + +msgid "Thu" +msgstr "ce" + +msgid "Fri" +msgstr "pk" + +msgid "Sat" +msgstr "se" + +msgid "Sun" +msgstr "sv" + +msgid "January" +msgstr "janvāris" + +msgid "February" +msgstr "februāris" + +msgid "March" +msgstr "marts" + +msgid "April" +msgstr "aprīlis" + +msgid "May" +msgstr "maijs" + +msgid "June" +msgstr "jūnijs" + +msgid "July" +msgstr "jūlijs" + +msgid "August" +msgstr "augusts" + +msgid "September" +msgstr "septembris" + +msgid "October" +msgstr "oktobris" + +msgid "November" +msgstr "novembris" + +msgid "December" +msgstr "decembris" + +msgid "jan" +msgstr "jan" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "apr" + +msgid "may" +msgstr "mai" + +msgid "jun" +msgstr "jūn" + +msgid "jul" +msgstr "jūl" + +msgid "aug" +msgstr "aug" + +msgid "sep" +msgstr "sep" + +msgid "oct" +msgstr "okt" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "dec" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "jan." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "marts" + +msgctxt "abbrev. month" +msgid "April" +msgstr "aprīlis" + +msgctxt "abbrev. month" +msgid "May" +msgstr "maijs" + +msgctxt "abbrev. month" +msgid "June" +msgstr "jūnijs" + +msgctxt "abbrev. month" +msgid "July" +msgstr "jūlijs" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "aug." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "sept." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "okt." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "dec." + +msgctxt "alt. month" +msgid "January" +msgstr "janvāris" + +msgctxt "alt. month" +msgid "February" +msgstr "februāris" + +msgctxt "alt. month" +msgid "March" +msgstr "marts" + +msgctxt "alt. month" +msgid "April" +msgstr "aprīlis" + +msgctxt "alt. month" +msgid "May" +msgstr "maijs" + +msgctxt "alt. month" +msgid "June" +msgstr "jūnijs" + +msgctxt "alt. month" +msgid "July" +msgstr "jūlijs" + +msgctxt "alt. month" +msgid "August" +msgstr "augusts" + +msgctxt "alt. month" +msgid "September" +msgstr "septembris" + +msgctxt "alt. month" +msgid "October" +msgstr "oktobris" + +msgctxt "alt. month" +msgid "November" +msgstr "novembris" + +msgctxt "alt. month" +msgid "December" +msgstr "decembris" + +msgid "This is not a valid IPv6 address." +msgstr "Šī nav derīga IPv6 adrese." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "vai" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d gadi" +msgstr[1] "%(num)d gads" +msgstr[2] "%(num)d gadi" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d mēneši" +msgstr[1] "%(num)d mēnesis" +msgstr[2] "%(num)d mēneši" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d nedēļas" +msgstr[1] "%(num)d nedēļa" +msgstr[2] "%(num)d nedēļas" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d dienas" +msgstr[1] "%(num)d diena" +msgstr[2] "%(num)d dienas" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d stundas" +msgstr[1] "%(num)d stunda" +msgstr[2] "%(num)d stubdas" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d minūtes" +msgstr[1] "%(num)d minūte" +msgstr[2] "%(num)d minūtes" + +msgid "Forbidden" +msgstr "Aizliegts" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF pārbaude neizdevās. Pieprasījums pārtrauks." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Jūs redzat šo paziņojumu, jo jūsu pārlūkprogrammai ir jānosūta “Referer " +"header” šai HTTPS vietnei, taču tā netika nosūtīta. Šī galvene ir " +"nepieciešama drošības apsvērumu dēļ, lai pārliecinātos, ka jūsu " +"pārlūkprogrammas komunikācijas datus nepārtver trešās puses." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Ja esat konfigurējis savu pārlūkprogrammu, lai atspējotu “Referer” headerus, " +"lūdzu, atkārtoti iespējojiet tos vismaz šai vietnei, HTTPS savienojumiem vai " +"“same-origin” pieprasījumiem." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Ja jūs izmantojat tagu vai " +"iekļaujat “Referrer-Policy: no-referrer” headeri, lūdzu noņemiet tos. CSRF " +"aizsardzībai ir nepieciešams, lai “Referer” headerī tiktu veikta strikta " +"pārvirzītāja pārbaude. Ja jūs domājat par privātumu, tad izmantojiet tādas " +"alternatīvas kā priekš saitēm uz trešo pušu vietnēm." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Jūs redzat šo ziņojumu, jo, iesniedzot veidlapas, šai vietnei ir " +"nepieciešams CSRF sīkfails. Šis sīkfails ir vajadzīgs drošības apsvērumu " +"dēļ, lai pārliecinātos, ka trešās personas nepārņems kontroli pār jūsu " +"pārlūkprogrammu." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Ja esat konfigurējis pārlūkprogrammu, lai atspējotu sīkdatnes, lūdzu, " +"atkārtoti iespējojiet tās vismaz šai vietnei vai “same-origin” " +"pieprasījumiem." + +msgid "More information is available with DEBUG=True." +msgstr "Vairāk informācijas ir pieejams ar DEBUG=True" + +msgid "No year specified" +msgstr "Nav norādīts gads" + +msgid "Date out of range" +msgstr "Datums ir ārpus diapazona" + +msgid "No month specified" +msgstr "Nav norādīts mēnesis" + +msgid "No day specified" +msgstr "Nav norādīta diena" + +msgid "No week specified" +msgstr "Nav norādīta nedēļa" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "%(verbose_name_plural)s nav pieejami" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Nākotne %(verbose_name_plural)s nav pieejama, jo %(class_name)s.allow_future " +"ir False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "Nepareiza datuma rinda “%(datestr)s” norādītajā formātā “%(format)s”" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Neviens %(verbose_name)s netika atrasts" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "Lapa nav “pēdējā”, kā arī tā nevar tikt konvertēta par ciparu." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Nepareiza lapa (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Tukšs saraksts un \"%(class_name)s.allow_empty\" ir False." + +msgid "Directory indexes are not allowed here." +msgstr "Direktoriju indeksi nav atļauti." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "\"%(path)s\" neeksistē" + +#, python-format +msgid "Index of %(directory)s" +msgstr "%(directory)s saturs" + +msgid "The install worked successfully! Congratulations!" +msgstr "Instalācija veiksmīga! Apsveicam!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Apskatīt laidiena piezīmes Django %(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Jūs redziet šo lapu, jo DEBUG=True ir iestatījumu failā un Jūs neesiet " +"konfigurējis nevienu saiti." + +msgid "Django Documentation" +msgstr "Django Dokumentācija" + +msgid "Topics, references, & how-to’s" +msgstr "Tēmas, atsauces, & how-to" + +msgid "Tutorial: A Polling App" +msgstr "Apmācība: Balsošanas aplikācija" + +msgid "Get started with Django" +msgstr "Sāciet ar Django" + +msgid "Django Community" +msgstr "Django Komūna" + +msgid "Connect, get help, or contribute" +msgstr "Sazinieties, saņemiet palīdzību vai sniedziet ieguldījumu" diff --git a/external_sources/django/django/conf/locale/lv/__init__.py b/external_sources/django/django/conf/locale/lv/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/lv/formats.py b/external_sources/django/django/conf/locale/lv/formats.py new file mode 100644 index 0000000..bb34444 --- /dev/null +++ b/external_sources/django/django/conf/locale/lv/formats.py @@ -0,0 +1,46 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = r"Y. \g\a\d\a j. F" +TIME_FORMAT = "H:i" +DATETIME_FORMAT = r"Y. \g\a\d\a j. F, H:i" +YEAR_MONTH_FORMAT = r"Y. \g. F" +MONTH_DAY_FORMAT = "j. F" +SHORT_DATE_FORMAT = r"j.m.Y" +SHORT_DATETIME_FORMAT = "j.m.Y H:i" +FIRST_DAY_OF_WEEK = 1 # Monday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# Kept ISO formats as they are in first position +DATE_INPUT_FORMATS = [ + "%Y-%m-%d", # '2006-10-25' + "%d.%m.%Y", # '25.10.2006' + "%d.%m.%y", # '25.10.06' +] +TIME_INPUT_FORMATS = [ + "%H:%M:%S", # '14:30:59' + "%H:%M:%S.%f", # '14:30:59.000200' + "%H:%M", # '14:30' + "%H.%M.%S", # '14.30.59' + "%H.%M.%S.%f", # '14.30.59.000200' + "%H.%M", # '14.30' +] +DATETIME_INPUT_FORMATS = [ + "%Y-%m-%d %H:%M:%S", # '2006-10-25 14:30:59' + "%Y-%m-%d %H:%M:%S.%f", # '2006-10-25 14:30:59.000200' + "%Y-%m-%d %H:%M", # '2006-10-25 14:30' + "%d.%m.%Y %H:%M:%S", # '25.10.2006 14:30:59' + "%d.%m.%Y %H:%M:%S.%f", # '25.10.2006 14:30:59.000200' + "%d.%m.%Y %H:%M", # '25.10.2006 14:30' + "%d.%m.%y %H:%M:%S", # '25.10.06 14:30:59' + "%d.%m.%y %H:%M:%S.%f", # '25.10.06 14:30:59.000200' + "%d.%m.%y %H:%M", # '25.10.06 14:30' + "%d.%m.%y %H.%M.%S", # '25.10.06 14.30.59' + "%d.%m.%y %H.%M.%S.%f", # '25.10.06 14.30.59.000200' + "%d.%m.%y %H.%M", # '25.10.06 14.30' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = " " # Non-breaking space +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/mk/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/mk/LC_MESSAGES/django.po new file mode 100644 index 0000000..ecd62ce --- /dev/null +++ b/external_sources/django/django/conf/locale/mk/LC_MESSAGES/django.po @@ -0,0 +1,1273 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Bojan Drangovski , 2021 +# Claude Paroz , 2020 +# dekomote , 2015 +# Jannis Leidel , 2011 +# Vasil Vangelovski , 2016-2017 +# Vasil Vangelovski , 2013-2015 +# Vasil Vangelovski , 2011-2013 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-15 09:00+0100\n" +"PO-Revision-Date: 2021-05-12 22:47+0000\n" +"Last-Translator: Bojan Drangovski \n" +"Language-Team: Macedonian (http://www.transifex.com/django/django/language/" +"mk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: mk\n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +msgid "Afrikaans" +msgstr "Африканс" + +msgid "Arabic" +msgstr "Арапски" + +msgid "Algerian Arabic" +msgstr "" + +msgid "Asturian" +msgstr "Астуриски" + +msgid "Azerbaijani" +msgstr "Азербејџански" + +msgid "Bulgarian" +msgstr "Бугарски" + +msgid "Belarusian" +msgstr "Белоруски" + +msgid "Bengali" +msgstr "Бенгалски" + +msgid "Breton" +msgstr "Бретонски" + +msgid "Bosnian" +msgstr "Босански" + +msgid "Catalan" +msgstr "Каталански" + +msgid "Czech" +msgstr "Чешки" + +msgid "Welsh" +msgstr "Велшки" + +msgid "Danish" +msgstr "Дански" + +msgid "German" +msgstr "Германски" + +msgid "Lower Sorbian" +msgstr "Долно Лужичко-Српски" + +msgid "Greek" +msgstr "Грчки" + +msgid "English" +msgstr "Англиски" + +msgid "Australian English" +msgstr "Австралиски англиски" + +msgid "British English" +msgstr "Британски англиски" + +msgid "Esperanto" +msgstr "Есперанто" + +msgid "Spanish" +msgstr "Шпански" + +msgid "Argentinian Spanish" +msgstr "Аргентински шпански" + +msgid "Colombian Spanish" +msgstr "Колумбиски Шпански" + +msgid "Mexican Spanish" +msgstr "Мексикански шпански" + +msgid "Nicaraguan Spanish" +msgstr "Никарагва шпански" + +msgid "Venezuelan Spanish" +msgstr "Венецуела шпански" + +msgid "Estonian" +msgstr "Естонски" + +msgid "Basque" +msgstr "Баскиски" + +msgid "Persian" +msgstr "Персиски" + +msgid "Finnish" +msgstr "Фински" + +msgid "French" +msgstr "Француски" + +msgid "Frisian" +msgstr "Фризиски" + +msgid "Irish" +msgstr "Ирски" + +msgid "Scottish Gaelic" +msgstr "Шкотски Галски" + +msgid "Galician" +msgstr "Галски" + +msgid "Hebrew" +msgstr "Еврејски" + +msgid "Hindi" +msgstr "Хинди" + +msgid "Croatian" +msgstr "Хрватски" + +msgid "Upper Sorbian" +msgstr "Горно Лужичко-Српски" + +msgid "Hungarian" +msgstr "Унгарски" + +msgid "Armenian" +msgstr "Ерменски" + +msgid "Interlingua" +msgstr "Интерлингва" + +msgid "Indonesian" +msgstr "Индонезиски" + +msgid "Igbo" +msgstr "" + +msgid "Ido" +msgstr "Идо" + +msgid "Icelandic" +msgstr "Исландски" + +msgid "Italian" +msgstr "Италијански" + +msgid "Japanese" +msgstr "Јапонски" + +msgid "Georgian" +msgstr "Грузиски" + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "Казахстански" + +msgid "Khmer" +msgstr "Кмер" + +msgid "Kannada" +msgstr "Канада" + +msgid "Korean" +msgstr "Корејски" + +msgid "Kyrgyz" +msgstr "" + +msgid "Luxembourgish" +msgstr "Луксембуршки" + +msgid "Lithuanian" +msgstr "Литвански" + +msgid "Latvian" +msgstr "Латвиски" + +msgid "Macedonian" +msgstr "Македонски" + +msgid "Malayalam" +msgstr "Малајалам" + +msgid "Mongolian" +msgstr "Монголски" + +msgid "Marathi" +msgstr "Марати" + +msgid "Burmese" +msgstr "Бурмански" + +msgid "Norwegian Bokmål" +msgstr "Норвешки Бокмел" + +msgid "Nepali" +msgstr "Непалски" + +msgid "Dutch" +msgstr "Холандски" + +msgid "Norwegian Nynorsk" +msgstr "Нинорск норвешки" + +msgid "Ossetic" +msgstr "Осетски" + +msgid "Punjabi" +msgstr "Пунџаби" + +msgid "Polish" +msgstr "Полски" + +msgid "Portuguese" +msgstr "Португалкски" + +msgid "Brazilian Portuguese" +msgstr "Бразилско португалски" + +msgid "Romanian" +msgstr "Романски" + +msgid "Russian" +msgstr "Руски" + +msgid "Slovak" +msgstr "Словачки" + +msgid "Slovenian" +msgstr "Словенечки" + +msgid "Albanian" +msgstr "Албански" + +msgid "Serbian" +msgstr "Српски" + +msgid "Serbian Latin" +msgstr "Српски Латиница" + +msgid "Swedish" +msgstr "Шведски" + +msgid "Swahili" +msgstr "Свахили" + +msgid "Tamil" +msgstr "Тамил" + +msgid "Telugu" +msgstr "Телугу" + +msgid "Tajik" +msgstr "" + +msgid "Thai" +msgstr "Тајландски" + +msgid "Turkmen" +msgstr "" + +msgid "Turkish" +msgstr "Турски" + +msgid "Tatar" +msgstr "Татарски" + +msgid "Udmurt" +msgstr "Удмурт" + +msgid "Ukrainian" +msgstr "Украински" + +msgid "Urdu" +msgstr "Урду" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "Виетнамски" + +msgid "Simplified Chinese" +msgstr "Поедноставен кинески" + +msgid "Traditional Chinese" +msgstr "Традиционален кинески" + +msgid "Messages" +msgstr "Пораки" + +msgid "Site Maps" +msgstr "Сајт мапи" + +msgid "Static Files" +msgstr "Статички датотеки" + +msgid "Syndication" +msgstr "Синдикација" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "" + +msgid "That page number is not an integer" +msgstr "Тој број на страна не е цел број" + +msgid "That page number is less than 1" +msgstr "Тој број на страна е помал од 1" + +msgid "That page contains no results" +msgstr "Таа страна не содржи резултати" + +msgid "Enter a valid value." +msgstr "Внесете правилна вредност." + +msgid "Enter a valid URL." +msgstr "Внесете правилна веб адреса." + +msgid "Enter a valid integer." +msgstr "Внесете валиден цел број." + +msgid "Enter a valid email address." +msgstr "Внесете валидна email адреса." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "Внесeте правилна IPv4 адреса." + +msgid "Enter a valid IPv6 address." +msgstr "Внесете валидна IPv6 адреса." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Внесете валидна IPv4 или IPv6 адреса." + +msgid "Enter only digits separated by commas." +msgstr "Внесете само цифри одделени со запирки." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Осигурајте се дека оваа вредност е %(limit_value)s (моментално е " +"%(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" +"Осигурајте се дека оваа вредност е помала или еднаква со %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" +"Осигурајте се дека оваа вредност е поголема или еднаква со %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Осигурајте се дека оваа вредност има најмалку %(limit_value)d карактер (има " +"%(show_value)d)." +msgstr[1] "" +"Осигурајте се дека оваа вредност има најмалку %(limit_value)d карактери (има " +"%(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Осигурајте се дека оваа вредност има најмногу %(limit_value)d карактер (има " +"%(show_value)d)." +msgstr[1] "" +"Осигурајте се дека оваа вредност има најмногу %(limit_value)d карактери (има " +"%(show_value)d)." + +msgid "Enter a number." +msgstr "Внесете број." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Осигурајте се дека вкупно нема повеќе од %(max)s цифра." +msgstr[1] "Осигурајте се дека вкупно нема повеќе од %(max)s цифри." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Осигурајте се дека нема повеќе од %(max)s децимално место." +msgstr[1] "Осигурајте се дека нема повеќе од %(max)s децимални места." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Осигурајте се дека нема повеќе одs %(max)s цифра пред децималната запирка." +msgstr[1] "" +"Осигурајте се дека нема повеќе од %(max)s цифри пред децималната запирка." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "Null карактери не се дозволени." + +msgid "and" +msgstr "и" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s со ова %(field_labels)s веќе постојат." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Вредноста %(value)r не е валиден избор." + +msgid "This field cannot be null." +msgstr "Оваа вредност неможе да биде null." + +msgid "This field cannot be blank." +msgstr "Ова поле не може да биде празно" + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s со %(field_label)s веќе постои." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s мора да биде уникатно за %(date_field_label)s " +"%(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Поле од тип: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "Вредноста '%(value)s' мора да биде точно или неточно." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "Логичка (или точно или неточно)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Нишка од знаци (текст) (до %(max_length)s карактери)" + +msgid "Comma-separated integers" +msgstr "Целобројни вредности одделени со запирка" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "Датум (без време)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "Датум (со време)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "Децимален број" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "Траење" + +msgid "Email address" +msgstr "Адреса за е-пошта (email)" + +msgid "File path" +msgstr "Патека на датотека" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "Децимален број подвижна запирка" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "Цел број" + +msgid "Big (8 byte) integer" +msgstr "Голем (8 бајти) цел број" + +msgid "Small integer" +msgstr "Мал цел број" + +msgid "IPv4 address" +msgstr "IPv4 адреса" + +msgid "IP address" +msgstr "IP адреса" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "Логичка вредност (точно,неточно или ништо)" + +msgid "Positive big integer" +msgstr "" + +msgid "Positive integer" +msgstr "Позитивен цел број" + +msgid "Positive small integer" +msgstr "Позитивен мал цел број" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Скратено име (до %(max_length)s знаци)" + +msgid "Text" +msgstr "Текст" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "Време" + +msgid "URL" +msgstr "URL (веб адреса)" + +msgid "Raw binary data" +msgstr "Сурови бинарни податоци" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "Датотека" + +msgid "Image" +msgstr "Слика" + +msgid "A JSON object" +msgstr "" + +msgid "Value must be valid JSON." +msgstr "" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "%(model)s инстанца со %(field)s %(value)r не постои." + +msgid "Foreign Key (type determined by related field)" +msgstr "Надворешен клуч (типот е одреден според поврзаното поле)" + +msgid "One-to-one relationship" +msgstr "Еден-према-еден релација" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s релација" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s релации" + +msgid "Many-to-many relationship" +msgstr "Повеќе-према-повеќе релација" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Ова поле е задолжително." + +msgid "Enter a whole number." +msgstr "Внесете цел број." + +msgid "Enter a valid date." +msgstr "Внесете правилен датум." + +msgid "Enter a valid time." +msgstr "Внесете правилно време." + +msgid "Enter a valid date/time." +msgstr "Внесете правилен датум со време." + +msgid "Enter a valid duration." +msgstr "Внесете валидно времетрање." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Не беше пратена датотека. Проверете го типот на енкодирање на формата." + +msgid "No file was submitted." +msgstr "Не беше пратена датотека." + +msgid "The submitted file is empty." +msgstr "Пратената датотека е празна." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Осигурајте се дека ова име на датотека има најмногу %(max)d карактер (има " +"%(length)d)." +msgstr[1] "" +"Осигурајте се дека ова име на датотека има најмногу %(max)d карактери (има " +"%(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Или прикачете датотека или штиклирајте го полето за чистење, не двете од " +"еднаш." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Качете валидна слика. Датотеката која ја качивте или не беше слика или беше " +"расипана датотеката." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Внесете валиден избор. %(value)s не е еден од можните избори." + +msgid "Enter a list of values." +msgstr "Внесете листа на вредности." + +msgid "Enter a complete value." +msgstr "Внесете целосна вредност." + +msgid "Enter a valid UUID." +msgstr "Внесете валиден UUID (единствен идентификатор)." + +msgid "Enter a valid JSON." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Скриено поле %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" + +#, python-format +msgid "Please submit at most %d form." +msgid_plural "Please submit at most %d forms." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Please submit at least %d form." +msgid_plural "Please submit at least %d forms." +msgstr[0] "" +msgstr[1] "" + +msgid "Order" +msgstr "Редослед" + +msgid "Delete" +msgstr "Избриши" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Ве молам поправете ја дуплираната вредност за %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Ве молам поправете ја дуплираната вредност за %(field)s, која мора да биде " +"уникатна." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Ве молам поправете ја дуплираната вредност за %(field_name)s која мора да " +"биде уникатна за %(lookup)s во %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Ве молам поправете ги дуплираните вредности подолу." + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Изберете правилно. Тоа не е еден од можните избори." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "Исчисти" + +msgid "Currently" +msgstr "Моментално" + +msgid "Change" +msgstr "Измени" + +msgid "Unknown" +msgstr "Непознато" + +msgid "Yes" +msgstr "Да" + +msgid "No" +msgstr "Не" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "да,не,можеби" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d бајт" +msgstr[1] "%(size)d бајти" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "попладне" + +msgid "a.m." +msgstr "наутро" + +msgid "PM" +msgstr "попладне" + +msgid "AM" +msgstr "наутро" + +msgid "midnight" +msgstr "полноќ" + +msgid "noon" +msgstr "пладне" + +msgid "Monday" +msgstr "Понеделник" + +msgid "Tuesday" +msgstr "Вторник" + +msgid "Wednesday" +msgstr "Среда" + +msgid "Thursday" +msgstr "Четврток" + +msgid "Friday" +msgstr "Петок" + +msgid "Saturday" +msgstr "Сабота" + +msgid "Sunday" +msgstr "Недела" + +msgid "Mon" +msgstr "Пон" + +msgid "Tue" +msgstr "Вто" + +msgid "Wed" +msgstr "Сре" + +msgid "Thu" +msgstr "Чет" + +msgid "Fri" +msgstr "Пет" + +msgid "Sat" +msgstr "Саб" + +msgid "Sun" +msgstr "Нед" + +msgid "January" +msgstr "Јануари" + +msgid "February" +msgstr "Февруари" + +msgid "March" +msgstr "Март" + +msgid "April" +msgstr "Април" + +msgid "May" +msgstr "Мај" + +msgid "June" +msgstr "Јуни" + +msgid "July" +msgstr "Јули" + +msgid "August" +msgstr "август" + +msgid "September" +msgstr "Септември" + +msgid "October" +msgstr "Октомври" + +msgid "November" +msgstr "Ноември" + +msgid "December" +msgstr "Декември" + +msgid "jan" +msgstr "јан" + +msgid "feb" +msgstr "фев" + +msgid "mar" +msgstr "мар" + +msgid "apr" +msgstr "апр" + +msgid "may" +msgstr "мај" + +msgid "jun" +msgstr "јун" + +msgid "jul" +msgstr "јул" + +msgid "aug" +msgstr "авг" + +msgid "sep" +msgstr "сеп" + +msgid "oct" +msgstr "окт" + +msgid "nov" +msgstr "ное" + +msgid "dec" +msgstr "дек" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Јан." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Фев." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Март" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Април" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Мај" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Јуни" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Јули" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Авг." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Септ." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Окт." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Ное." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Дек." + +msgctxt "alt. month" +msgid "January" +msgstr "Јануари" + +msgctxt "alt. month" +msgid "February" +msgstr "Февруари" + +msgctxt "alt. month" +msgid "March" +msgstr "Март" + +msgctxt "alt. month" +msgid "April" +msgstr "Април" + +msgctxt "alt. month" +msgid "May" +msgstr "Мај" + +msgctxt "alt. month" +msgid "June" +msgstr "Јуни" + +msgctxt "alt. month" +msgid "July" +msgstr "Јули" + +msgctxt "alt. month" +msgid "August" +msgstr "Август" + +msgctxt "alt. month" +msgid "September" +msgstr "Септември" + +msgctxt "alt. month" +msgid "October" +msgstr "Октомври" + +msgctxt "alt. month" +msgid "November" +msgstr "Ноември" + +msgctxt "alt. month" +msgid "December" +msgstr "Декември" + +msgid "This is not a valid IPv6 address." +msgstr "Ова не е валидна IPv6 адреса." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "или" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr "," + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "%d година" +msgstr[1] "%d години" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "%d месец" +msgstr[1] "%d месеци" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "%d недела" +msgstr[1] "%d недели" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "%d ден" +msgstr[1] "%d дена" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "%d час" +msgstr[1] "%d часови" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "%d минута" +msgstr[1] "%d минути" + +msgid "Forbidden" +msgstr "Забрането" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF верификацијата не успеа. Барањето е прекинато." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Ја гледате оваа порака бидејќи овој сајт бара CSRF колаче (cookie) за да се " +"поднесуваат форми. Ова колаче е потребно од безбедносни причини, за да се " +"осигураме дека вашиот веб прелистувач не е грабнат и контролиран од трети " +"страни." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "Повеќе информации се достапни со DEBUG = True." + +msgid "No year specified" +msgstr "Не е дадена година" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "Не е даден месец" + +msgid "No day specified" +msgstr "Не е даден ден" + +msgid "No week specified" +msgstr "Не е дадена недела" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Нема достапни %(verbose_name_plural)s" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Идни %(verbose_name_plural)s не се достапни бидејќи %(class_name)s." +"allow_future е False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Нема %(verbose_name)s што се совпаѓа со пребарувањето" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Невалидна страна (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "Индекси на директориуми не се дозволени тука." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Индекс на %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/mk/__init__.py b/external_sources/django/django/conf/locale/mk/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/mk/formats.py b/external_sources/django/django/conf/locale/mk/formats.py new file mode 100644 index 0000000..fbb577f --- /dev/null +++ b/external_sources/django/django/conf/locale/mk/formats.py @@ -0,0 +1,40 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "d F Y" +TIME_FORMAT = "H:i" +DATETIME_FORMAT = "j. F Y H:i" +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j. F" +SHORT_DATE_FORMAT = "j.m.Y" +SHORT_DATETIME_FORMAT = "j.m.Y H:i" +FIRST_DAY_OF_WEEK = 1 + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d.%m.%Y", # '25.10.2006' + "%d.%m.%y", # '25.10.06' + "%d. %m. %Y", # '25. 10. 2006' + "%d. %m. %y", # '25. 10. 06' +] + +DATETIME_INPUT_FORMATS = [ + "%d.%m.%Y %H:%M:%S", # '25.10.2006 14:30:59' + "%d.%m.%Y %H:%M:%S.%f", # '25.10.2006 14:30:59.000200' + "%d.%m.%Y %H:%M", # '25.10.2006 14:30' + "%d.%m.%y %H:%M:%S", # '25.10.06 14:30:59' + "%d.%m.%y %H:%M:%S.%f", # '25.10.06 14:30:59.000200' + "%d.%m.%y %H:%M", # '25.10.06 14:30' + "%d. %m. %Y %H:%M:%S", # '25. 10. 2006 14:30:59' + "%d. %m. %Y %H:%M:%S.%f", # '25. 10. 2006 14:30:59.000200' + "%d. %m. %Y %H:%M", # '25. 10. 2006 14:30' + "%d. %m. %y %H:%M:%S", # '25. 10. 06 14:30:59' + "%d. %m. %y %H:%M:%S.%f", # '25. 10. 06 14:30:59.000200' + "%d. %m. %y %H:%M", # '25. 10. 06 14:30' +] + +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "." +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/ml/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/ml/LC_MESSAGES/django.po new file mode 100644 index 0000000..7e1945d --- /dev/null +++ b/external_sources/django/django/conf/locale/ml/LC_MESSAGES/django.po @@ -0,0 +1,1274 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# c1007a0b890405f1fbddfacebc4c6ef7, 2013 +# Claude Paroz , 2020 +# Hrishikesh , 2019-2020 +# Jannis Leidel , 2011 +# Jaseem KM , 2019 +# Jeffy , 2012 +# Jibin Mathew , 2019 +# Mariusz Felisiak , 2021 +# Rag sagar , 2016 +# Rajeesh Nair , 2011-2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-09-21 10:22+0200\n" +"PO-Revision-Date: 2021-11-24 16:29+0000\n" +"Last-Translator: Mariusz Felisiak \n" +"Language-Team: Malayalam (http://www.transifex.com/django/django/language/" +"ml/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ml\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "ആഫ്രിക്കാന്‍സ്" + +msgid "Arabic" +msgstr "അറബിൿ" + +msgid "Algerian Arabic" +msgstr "അൾഗേരിയൻ അറബിൿ" + +msgid "Asturian" +msgstr "ആസ്ടൂറിയൻ" + +msgid "Azerbaijani" +msgstr "അസര്‍ബൈജാനി" + +msgid "Bulgarian" +msgstr "ബള്‍ഗേറിയന്‍" + +msgid "Belarusian" +msgstr "ബെലറൂഷ്യന്‍" + +msgid "Bengali" +msgstr "ബംഗാളി" + +msgid "Breton" +msgstr "ബ്രെട്ടണ്‍" + +msgid "Bosnian" +msgstr "ബോസ്നിയന്‍" + +msgid "Catalan" +msgstr "കാറ്റലന്‍" + +msgid "Czech" +msgstr "ചെൿ" + +msgid "Welsh" +msgstr "വെല്‍ഷ്" + +msgid "Danish" +msgstr "ഡാനിഷ്" + +msgid "German" +msgstr "ജര്‍മന്‍" + +msgid "Lower Sorbian" +msgstr "ലോവർ സോർബിയൻ " + +msgid "Greek" +msgstr "ഗ്രീക്ക്" + +msgid "English" +msgstr "ഇംഗ്ലീഷ്" + +msgid "Australian English" +msgstr "ആസ്ട്രേലിയൻ ഇംഗ്ലീഷ്" + +msgid "British English" +msgstr "ബ്രിട്ടീഷ് ഇംഗ്ലീഷ്" + +msgid "Esperanto" +msgstr "എസ്പെരാന്റോ" + +msgid "Spanish" +msgstr "സ്പാനിഷ്" + +msgid "Argentinian Spanish" +msgstr "അര്‍ജന്റീനിയന്‍ സ്പാനിഷ്" + +msgid "Colombian Spanish" +msgstr "കൊളംബിയൻ സ്പാനിഷ്" + +msgid "Mexican Spanish" +msgstr "മെക്സിക്കന്‍ സ്പാനിഷ്" + +msgid "Nicaraguan Spanish" +msgstr "നിക്കരാഗ്വന്‍ സ്പാനിഷ്" + +msgid "Venezuelan Spanish" +msgstr "വെനിസ്വലന്‍ സ്പാനിഷ്" + +msgid "Estonian" +msgstr "എസ്ടോണിയന്‍ സ്പാനിഷ്" + +msgid "Basque" +msgstr "ബാസ്ക്യു" + +msgid "Persian" +msgstr "പേര്‍ഷ്യന്‍" + +msgid "Finnish" +msgstr "ഫിന്നിഷ്" + +msgid "French" +msgstr "ഫ്രെഞ്ച്" + +msgid "Frisian" +msgstr "ഫ്രിസിയന്‍" + +msgid "Irish" +msgstr "ഐറിഷ്" + +msgid "Scottish Gaelic" +msgstr "സ്കോട്ടിഷ് ഗൈലിൿ" + +msgid "Galician" +msgstr "ഗലിഷ്യന്‍" + +msgid "Hebrew" +msgstr "ഹീബ്രു" + +msgid "Hindi" +msgstr "ഹിന്ദി" + +msgid "Croatian" +msgstr "ക്രൊയേഷ്യന്‍" + +msgid "Upper Sorbian" +msgstr "അപ്പർ സോർബിയൻ " + +msgid "Hungarian" +msgstr "ഹംഗേറിയന്‍" + +msgid "Armenian" +msgstr "അർമേനിയൻ" + +msgid "Interlingua" +msgstr "ഇന്റര്‍ലിംഗ്വാ" + +msgid "Indonesian" +msgstr "ഇന്തൊനേഷ്യന്‍" + +msgid "Igbo" +msgstr "" + +msgid "Ido" +msgstr "ഈടോ" + +msgid "Icelandic" +msgstr "ഐസ്ലാന്‍ഡിൿ" + +msgid "Italian" +msgstr "ഇറ്റാലിയന്‍" + +msgid "Japanese" +msgstr "ജാപ്പനീസ്" + +msgid "Georgian" +msgstr "ജോര്‍ജിയന്‍" + +msgid "Kabyle" +msgstr "കാബയെൽ " + +msgid "Kazakh" +msgstr "കസാഖ്" + +msgid "Khmer" +msgstr "ഖ്മേര്‍" + +msgid "Kannada" +msgstr "കന്നഡ" + +msgid "Korean" +msgstr "കൊറിയന്‍" + +msgid "Kyrgyz" +msgstr "" + +msgid "Luxembourgish" +msgstr "ലക്സംബര്‍ഗിഷ് " + +msgid "Lithuanian" +msgstr "ലിത്വാനിയന്‍" + +msgid "Latvian" +msgstr "ലാറ്റ്വിയന്‍" + +msgid "Macedonian" +msgstr "മാസിഡോണിയന്‍" + +msgid "Malayalam" +msgstr "മലയാളം" + +msgid "Mongolian" +msgstr "മംഗോളിയന്‍" + +msgid "Marathi" +msgstr "മറാത്തി" + +msgid "Malay" +msgstr "" + +msgid "Burmese" +msgstr "ബര്‍മീസ്" + +msgid "Norwegian Bokmål" +msgstr "നോർവേജിയൻ ബുക്ക്മൊൾ" + +msgid "Nepali" +msgstr "നേപ്പാളി" + +msgid "Dutch" +msgstr "ഡച്ച്" + +msgid "Norwegian Nynorsk" +msgstr "നോര്‍വീജിയന്‍ നിനോഷ്ക്" + +msgid "Ossetic" +msgstr "ഒസ്സെറ്റിക്" + +msgid "Punjabi" +msgstr "പഞ്ചാബി" + +msgid "Polish" +msgstr "പോളിഷ്" + +msgid "Portuguese" +msgstr "പോര്‍ചുഗീസ്" + +msgid "Brazilian Portuguese" +msgstr "ബ്രസീലിയന്‍ പോര്‍ച്ചുഗീസ്" + +msgid "Romanian" +msgstr "റൊമാനിയന്‍" + +msgid "Russian" +msgstr "റഷ്യന്‍" + +msgid "Slovak" +msgstr "സ്ലൊവാൿ" + +msgid "Slovenian" +msgstr "സ്ളൊവേനിയന്‍" + +msgid "Albanian" +msgstr "അല്‍ബേനിയന്‍" + +msgid "Serbian" +msgstr "സെര്‍ബിയന്‍" + +msgid "Serbian Latin" +msgstr "സെര്‍ബിയന്‍ ലാറ്റിന്‍" + +msgid "Swedish" +msgstr "സ്വീഡിഷ്" + +msgid "Swahili" +msgstr "സ്വാഹിലി" + +msgid "Tamil" +msgstr "തമിഴ്" + +msgid "Telugu" +msgstr "തെലുങ്ക്" + +msgid "Tajik" +msgstr "" + +msgid "Thai" +msgstr "തായ്" + +msgid "Turkmen" +msgstr "" + +msgid "Turkish" +msgstr "ടര്‍ക്കിഷ്" + +msgid "Tatar" +msgstr "തൊതാര്‍" + +msgid "Udmurt" +msgstr "ഉദ്മര്‍ത്" + +msgid "Ukrainian" +msgstr "യുക്രേനിയന്‍" + +msgid "Urdu" +msgstr "ഉര്‍ദു" + +msgid "Uzbek" +msgstr "ഉസ്ബെൿ" + +msgid "Vietnamese" +msgstr "വിയറ്റ്നാമീസ്" + +msgid "Simplified Chinese" +msgstr "സിമ്പ്ലിഫൈഡ് ചൈനീസ്" + +msgid "Traditional Chinese" +msgstr "പരമ്പരാഗത ചൈനീസ്" + +msgid "Messages" +msgstr "സന്ദേശങ്ങൾ" + +msgid "Site Maps" +msgstr "സൈറ്റ് മാപ്പുകൾ" + +msgid "Static Files" +msgstr " സ്റ്റാറ്റിൿ ഫയലുകൾ" + +msgid "Syndication" +msgstr "വിതരണം " + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "" + +msgid "That page number is not an integer" +msgstr "ആ പേജ് നമ്പർ ഒരു ഇന്റിജറല്ല" + +msgid "That page number is less than 1" +msgstr "ആ പേജ് നമ്പർ 1 നെ കാൾ ചെറുതാണ് " + +msgid "That page contains no results" +msgstr "ആ പേജിൽ റിസൾട്ടുകൾ ഒന്നും ഇല്ല " + +msgid "Enter a valid value." +msgstr "ശരിയായ വാല്യു നൽകുക." + +msgid "Enter a valid URL." +msgstr "ശരിയായ URL നല്‍കുക" + +msgid "Enter a valid integer." +msgstr "ശരിയായ ഇന്റിജർ നൽകുക." + +msgid "Enter a valid email address." +msgstr "ശരിയായ ഇമെയില്‍ വിലാസം നല്‍കുക." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"അക്ഷരങ്ങള്‍, അക്കങ്ങള്‍, അണ്ടര്‍സ്കോര്‍, ഹൈഫന്‍ എന്നിവ മാത്രം അടങ്ങിയ ശരിയായ ഒരു 'സ്ലഗ്ഗ്' നൽകുക. " + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"യൂണികോഡ് അക്ഷരങ്ങൾ, അക്കങ്ങൾ, ഹൈഫണുകൾ, അണ്ടർസ്കോറുക‌‌ൾ എന്നിവമാത്രം അടങ്ങിയ ശെരിയായ ‌ഒരു " +"“സ്ലഗ്” എഴുതുക ." + +msgid "Enter a valid IPv4 address." +msgstr "ശരിയായ IPv4 വിലാസം നൽകുക." + +msgid "Enter a valid IPv6 address." +msgstr "ശരിയായ ഒരു IPv6 വിലാസം നൽകുക." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "ശരിയായ ഒരു IPv4 വിലാസമോ IPv6 വിലാസമോ നൽകുക." + +msgid "Enter only digits separated by commas." +msgstr "കോമകൾ ഉപയോഗിച്ച് വേർതിരിച്ച രീതിയിലുള്ള അക്കങ്ങൾ മാത്രം നൽകുക." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "ഇത് %(limit_value)s ആവണം. (ഇപ്പോള്‍ %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "ഇത് %(limit_value)s-ഓ അതില്‍ കുറവോ ആവണം" + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "ഇത് %(limit_value)s-ഓ അതില്‍ കൂടുതലോ ആവണം" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"ഈ വാല്യൂയിൽ %(limit_value)d ക്യാരക്ടർ എങ്കിലും ഉണ്ടെന്നു ഉറപ്പു വരുത്തുക(ഇതിൽ " +"%(show_value)d ഉണ്ട് )" +msgstr[1] "" +"ഈ വാല്യൂയിൽ %(limit_value)dക്യാരക്ടേർസ് എങ്കിലും ഉണ്ടെന്നു ഉറപ്പു വരുത്തുക(ഇതിൽ " +"%(show_value)d ഉണ്ട് )" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"ഈ വാല്യൂയിൽ %(limit_value)d ക്യാരക്ടർ 1 ഇൽ കൂടുതൽ ഇല്ലെന്നു ഉറപ്പു വരുത്തുക(ഇതിൽ 2 " +"%(show_value)d ഉണ്ട് )" +msgstr[1] "" +"ഈ വാല്യൂയിൽ %(limit_value)d ക്യാരക്ടർസ് 1 ഇൽ കൂടുതൽ ഇല്ലെന്നു ഉറപ്പു വരുത്തുക(ഇതിൽ 2 " +"%(show_value)d ഉണ്ട് )" + +msgid "Enter a number." +msgstr "ഒരു സംഖ്യ നല്കുക." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "%(max)s ഡിജിറ്റിൽ കൂടുതൽ ഇല്ല എന്ന് ഉറപ്പു വരുത്തുക ." +msgstr[1] "%(max)sഡിജിറ്റ്സിൽ കൂടുതൽ ഇല്ല എന്ന് ഉറപ്പു വരുത്തുക. " + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "%(max)sകൂടുതൽ ഡെസിമൽ പോയന്റില്ല എന്ന് ഉറപ്പു വരുത്തുക. " +msgstr[1] "%(max)sകൂടുതൽ ഡെസിമൽ പോയിന്റുകളില്ല എന്ന് ഉറപ്പു വരുത്തുക. " + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "%(max)sഡിജിറ്റ് ഡെസിമൽ പോയിന്റിനു മുൻപ് ഇല്ല എന്ന് ഉറപ്പു വരുത്തുക." +msgstr[1] "%(max)sഡിജിറ്റ്സ് ഡെസിമൽ പോയിന്റിനു മുൻപ് ഇല്ല എന്ന് ഉറപ്പു വരുത്തുക. " + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"“%(extension)s” എന്ന ഫയൽ എക്സ്റ്റൻഷൻ അനുവദനീയമല്ല. അനുവദനീയമായ എക്സ്റ്റൻഷനുകൾ ഇവയാണ്: " +"%(allowed_extensions)s" + +msgid "Null characters are not allowed." +msgstr "Null ക്യാരക്ടറുകൾ അനുവദനീയമല്ല." + +msgid "and" +msgstr "പിന്നെ" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(field_labels)sഉള്ള %(model_name)sനിലവിലുണ്ട്." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "%(value)r എന്ന വാല്യൂ ശെരിയായ ചോയ്സ് അല്ല. " + +msgid "This field cannot be null." +msgstr "ഈ കളം (ഫീല്‍ഡ്) ഒഴിച്ചിടരുത്." + +msgid "This field cannot be blank." +msgstr "ഈ കളം (ഫീല്‍ഡ്) ഒഴിച്ചിടരുത്." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(field_label)s-ഓടു കൂടിയ %(model_name)s നിലവിലുണ്ട്." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(date_field_label)s %(lookup_type)s-നു %(field_label)s ആവര്‍ത്തിക്കാന്‍ പാടില്ല." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "%(field_type)s എന്ന തരത്തിലുള്ള കളം (ഫീല്‍ഡ്)" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "“%(value)s” മൂല്യം ഒന്നുകിൽ True, False എന്നിവയിലേതെങ്കിലുമേ ആവാൻ പാടുള്ളൂ." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" +"“%(value)s” മൂല്യം ഒന്നുകിൽ True, False അല്ലെങ്കിൽ None എന്നിവയിലേതെങ്കിലുമേ ആവാൻ " +"പാടുള്ളൂ." + +msgid "Boolean (Either True or False)" +msgstr "ശരിയോ തെറ്റോ (True അഥവാ False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "സ്ട്രിങ്ങ് (%(max_length)s വരെ നീളമുള്ളത്)" + +msgid "Comma-separated integers" +msgstr "കോമയിട്ട് വേര്‍തിരിച്ച സംഖ്യകള്‍" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "തീയതി (സമയം വേണ്ട)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "തീയതി (സമയത്തോടൊപ്പം)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "ദശാംശസംഖ്യ" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "കാലയളവ്" + +msgid "Email address" +msgstr "ഇ-മെയില്‍ വിലാസം" + +msgid "File path" +msgstr "ഫയല്‍ സ്ഥാനം" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "ദശാംശസംഖ്യ" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "പൂര്‍ണ്ണസംഖ്യ" + +msgid "Big (8 byte) integer" +msgstr "8 ബൈറ്റ് പൂര്‍ണസംഖ്യ." + +msgid "Small integer" +msgstr "ഹ്രസ്വ പൂര്‍ണസംഖ്യ" + +msgid "IPv4 address" +msgstr "IPv4 വിലാസം" + +msgid "IP address" +msgstr "IP വിലാസം" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "ശരിയോ തെറ്റോ എന്നു മാത്രം (True, False, None എന്നിവയില്‍ ഏതെങ്കിലും ഒന്ന്)" + +msgid "Positive big integer" +msgstr "" + +msgid "Positive integer" +msgstr "ധന പൂര്‍ണസംഖ്യ" + +msgid "Positive small integer" +msgstr "ധന ഹ്രസ്വ പൂര്‍ണസംഖ്യ" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "സ്ലഗ് (%(max_length)s വരെ)" + +msgid "Text" +msgstr "ടെക്സ്റ്റ്" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "സമയം" + +msgid "URL" +msgstr "URL(വെബ്-വിലാസം)" + +msgid "Raw binary data" +msgstr "റോ ബൈനറി ഡാറ്റ" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "എല്ലായിടത്തും യുണീക്കായ ഐഡന്റിഫൈയർ." + +msgid "File" +msgstr "ഫയല്‍" + +msgid "Image" +msgstr "ചിത്രം" + +msgid "A JSON object" +msgstr "" + +msgid "Value must be valid JSON." +msgstr "" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "%(field)s%(value)r ഉള്ള%(model)s ഇൻസ്റ്റൻസ് നിലവിൽ ഇല്ല." + +msgid "Foreign Key (type determined by related field)" +msgstr "ഫോറിന്‍ കീ (ടൈപ്പ് ബന്ധപ്പെട്ട ഫീല്‍ഡില്‍ നിന്നും നിര്‍ണ്ണയിക്കുന്നതാണ്)" + +msgid "One-to-one relationship" +msgstr "വണ്‍-ടു-വണ്‍ ബന്ധം" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s റിലേഷൻഷിപ്‌." + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)sറിലേഷൻഷിപ്‌സ്. " + +msgid "Many-to-many relationship" +msgstr "മെനി-ടു-മെനി ബന്ധം" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "ഈ കള്ളി(ഫീല്‍ഡ്) നിര്‍ബന്ധമാണ്." + +msgid "Enter a whole number." +msgstr "ഒരു പൂര്‍ണസംഖ്യ നല്കുക." + +msgid "Enter a valid date." +msgstr "ശരിയായ തീയതി നല്കുക." + +msgid "Enter a valid time." +msgstr "ശരിയായ സമയം നല്കുക." + +msgid "Enter a valid date/time." +msgstr "ശരിയായ തീയതിയും സമയവും നല്കുക." + +msgid "Enter a valid duration." +msgstr "സാധുതയുള്ള കാലയളവ് നല്കുക." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "ദിവസങ്ങളുടെ എണ്ണം {min_days}, {max_days} എന്നിവയുടെ ഇടയിലായിരിക്കണം." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "ഫയലൊന്നും ലഭിച്ചിട്ടില്ല. ഫോമിലെ എന്‍-കോഡിംഗ് പരിശോധിക്കുക." + +msgid "No file was submitted." +msgstr "ഫയലൊന്നും ലഭിച്ചിട്ടില്ല." + +msgid "The submitted file is empty." +msgstr "ലഭിച്ച ഫയല്‍ ശൂന്യമാണ്." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"ഈ ഫയൽ നെയ്മിൽ%(max)dക്യാരക്ടറിൽ കൂടുതലില്ല എന്ന് ഉറപ്പു വരുത്തുക (അതിൽ %(length)dഉണ്ട്) . " +msgstr[1] "" +"ഈ ഫയൽ നെയ്മിൽ%(max)dക്യാരക്ടേഴ്‌സിൽ കൂടുതലില്ല എന്ന് ഉറപ്പു വരുത്തുക (അതിൽ %(length)dഉണ്ട്)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"ഒന്നുകില്‍ ഫയല്‍ സമര്‍പ്പിക്കണം, അല്ലെങ്കില്‍ ക്ളിയര്‍ എന്ന ചെക്ബോക്സ് ടിക് ചെയ്യണം. ദയവായി രണ്ടും " +"കൂടി ചെയ്യരുത്." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"ശരിയായ ചിത്രം അപ് ലോഡ് ചെയ്യുക. നിങ്ങള്‍ നല്കിയ ഫയല്‍ ഒന്നുകില്‍ ഒരു ചിത്രമല്ല, അല്ലെങ്കില്‍ " +"വികലമാണ്." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "യോഗ്യമായത് തെരഞ്ഞെടുക്കുക. %(value)s ലഭ്യമായവയില്‍ ഉള്‍പ്പെടുന്നില്ല." + +msgid "Enter a list of values." +msgstr "മൂല്യങ്ങളുടെ പട്ടിക(ലിസ്റ്റ്) നല്കുക." + +msgid "Enter a complete value." +msgstr "പൂർണ്ണമായ വാല്യൂ നല്കുക." + +msgid "Enter a valid UUID." +msgstr "സാധുവായ യു യു ഐ ഡി നല്കുക." + +msgid "Enter a valid JSON." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(ഹിഡൻ ഫീൽഡ് %(name)s)%(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" + +#, python-format +msgid "Please submit at most %d form." +msgid_plural "Please submit at most %d forms." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Please submit at least %d form." +msgid_plural "Please submit at least %d forms." +msgstr[0] "" +msgstr[1] "" + +msgid "Order" +msgstr "ക്രമം" + +msgid "Delete" +msgstr "ഡിലീറ്റ്" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "%(field)s-നായി നല്കുന്ന വിവരം ആവര്‍ത്തിച്ചത് ദയവായി തിരുത്തുക." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "%(field)s-നായി നല്കുന്ന വിവരം ആവര്‍ത്തിക്കാന്‍ പാടില്ല. ദയവായി തിരുത്തുക." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"%(date_field)s ലെ %(lookup)s നു വേണ്ടി %(field_name)s നു നല്കുന്ന വിവരം ആവര്‍ത്തിക്കാന്‍ " +"പാടില്ല. ദയവായി തിരുത്തുക." + +msgid "Please correct the duplicate values below." +msgstr "താഴെ കൊടുത്തവയില്‍ ആവര്‍ത്തനം ഒഴിവാക്കുക." + +msgid "The inline value did not match the parent instance." +msgstr "ഇൻലൈൻ വാല്യൂ, പാരെന്റ് ഇൻസ്റ്റൻസുമായി ചേരുന്നില്ല." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "യോഗ്യമായത് തെരഞ്ഞെടുക്കുക. നിങ്ങള്‍ നല്കിയത് ലഭ്യമായവയില്‍ ഉള്‍പ്പെടുന്നില്ല." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "കാലിയാക്കുക" + +msgid "Currently" +msgstr "നിലവിലുള്ളത്" + +msgid "Change" +msgstr "മാറ്റുക" + +msgid "Unknown" +msgstr "അജ്ഞാതം" + +msgid "Yes" +msgstr "അതെ" + +msgid "No" +msgstr "അല്ല" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "ഉണ്ട്,ഇല്ല,ഉണ്ടായേക്കാം" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d ബൈറ്റ്" +msgstr[1] "%(size)d ബൈറ്റുകള്‍" + +#, python-format +msgid "%s KB" +msgstr "%s കെ.ബി" + +#, python-format +msgid "%s MB" +msgstr "%s എം.ബി" + +#, python-format +msgid "%s GB" +msgstr "%s ജി.ബി" + +#, python-format +msgid "%s TB" +msgstr "%s ടി.ബി" + +#, python-format +msgid "%s PB" +msgstr "%s പി.ബി" + +msgid "p.m." +msgstr "പി. എം (ഉച്ചയ്ക്കു ശേഷം) " + +msgid "a.m." +msgstr "എ. എം (ഉച്ചയ്ക്കു മുമ്പ്)" + +msgid "PM" +msgstr "പി. എം (ഉച്ചയ്ക്കു ശേഷം) " + +msgid "AM" +msgstr "എ. എം (ഉച്ചയ്ക്കു മുമ്പ്)" + +msgid "midnight" +msgstr "അര്‍ധരാത്രി" + +msgid "noon" +msgstr "ഉച്ച" + +msgid "Monday" +msgstr "തിങ്കളാഴ്ച" + +msgid "Tuesday" +msgstr "ചൊവ്വാഴ്ച" + +msgid "Wednesday" +msgstr "ബുധനാഴ്ച" + +msgid "Thursday" +msgstr "വ്യാഴാഴ്ച" + +msgid "Friday" +msgstr "വെള്ളിയാഴ്ച" + +msgid "Saturday" +msgstr "ശനിയാഴ്ച" + +msgid "Sunday" +msgstr "ഞായറാഴ്ച" + +msgid "Mon" +msgstr "തിങ്കള്‍" + +msgid "Tue" +msgstr "ചൊവ്വ" + +msgid "Wed" +msgstr "ബുധന്‍" + +msgid "Thu" +msgstr "വ്യാഴം" + +msgid "Fri" +msgstr "വെള്ളി" + +msgid "Sat" +msgstr "ശനി" + +msgid "Sun" +msgstr "ഞായര്‍" + +msgid "January" +msgstr "ജനുവരി" + +msgid "February" +msgstr "ഫെബ്രുവരി" + +msgid "March" +msgstr "മാര്‍ച്ച്" + +msgid "April" +msgstr "ഏപ്രില്‍" + +msgid "May" +msgstr "മേയ്" + +msgid "June" +msgstr "ജൂണ്‍" + +msgid "July" +msgstr "ജൂലൈ" + +msgid "August" +msgstr "ആഗസ്ത്" + +msgid "September" +msgstr "സെപ്തംബര്‍" + +msgid "October" +msgstr "ഒക്ടോബര്‍" + +msgid "November" +msgstr "നവംബര്‍" + +msgid "December" +msgstr "ഡിസംബര്‍" + +msgid "jan" +msgstr "ജനു." + +msgid "feb" +msgstr "ഫെബ്രു." + +msgid "mar" +msgstr "മാര്‍ച്ച്" + +msgid "apr" +msgstr "ഏപ്രില്‍" + +msgid "may" +msgstr "മേയ്" + +msgid "jun" +msgstr "ജൂണ്‍" + +msgid "jul" +msgstr "ജൂലൈ" + +msgid "aug" +msgstr "ആഗസ്ത്" + +msgid "sep" +msgstr "സെപ്ടം." + +msgid "oct" +msgstr "ഒക്ടോ." + +msgid "nov" +msgstr "നവം." + +msgid "dec" +msgstr "ഡിസം." + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "ജനു." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "ഫെബ്രു." + +msgctxt "abbrev. month" +msgid "March" +msgstr "മാര്‍ച്ച്" + +msgctxt "abbrev. month" +msgid "April" +msgstr "ഏപ്രില്‍" + +msgctxt "abbrev. month" +msgid "May" +msgstr "മേയ്" + +msgctxt "abbrev. month" +msgid "June" +msgstr "ജൂണ്‍" + +msgctxt "abbrev. month" +msgid "July" +msgstr "ജൂലൈ" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "ആഗ." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "സെപ്തം." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "ഒക്ടോ." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "നവം." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "ഡിസം." + +msgctxt "alt. month" +msgid "January" +msgstr "ജനുവരി" + +msgctxt "alt. month" +msgid "February" +msgstr "ഫെബ്രുവരി" + +msgctxt "alt. month" +msgid "March" +msgstr "മാര്‍ച്ച്" + +msgctxt "alt. month" +msgid "April" +msgstr "ഏപ്രില്‍" + +msgctxt "alt. month" +msgid "May" +msgstr "മേയ്" + +msgctxt "alt. month" +msgid "June" +msgstr "ജൂണ്‍" + +msgctxt "alt. month" +msgid "July" +msgstr "ജൂലൈ" + +msgctxt "alt. month" +msgid "August" +msgstr "ആഗസ്ത്" + +msgctxt "alt. month" +msgid "September" +msgstr "സെപ്തംബര്‍" + +msgctxt "alt. month" +msgid "October" +msgstr "ഒക്ടോബര്‍" + +msgctxt "alt. month" +msgid "November" +msgstr "നവംബര്‍" + +msgctxt "alt. month" +msgid "December" +msgstr "ഡിസംബര്‍" + +msgid "This is not a valid IPv6 address." +msgstr "ഇതു സാധുവായ IPv6 വിലാസമല്ല." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "അഥവാ" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "" +msgstr[1] "" + +msgid "Forbidden" +msgstr "വിലക്കപ്പെട്ടത്" + +msgid "CSRF verification failed. Request aborted." +msgstr "സി എസ് ആർ എഫ് പരിശോധന പരാജയപ്പെട്ടു. റിക്വെസ്റ്റ് റദ്ദാക്കി." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"ഫോം സമർപ്പിക്കുമ്പോൾ ഒരു CSRF കുക്കി ഈ സൈറ്റിൽ ആവശ്യമാണ് എന്നതിനാലാണ് നിങ്ങൾ ഈ സന്ദേശം " +"കാണുന്നത്. മറ്റുള്ളവരാരെങ്കിലും നിങ്ങളുടെ ബ്രൗസറിനെ നിയന്ത്രിക്കുന്നില്ല എന്ന് ഉറപ്പുവരുത്താനായി ഈ " +"കുക്കി ആവശ്യമാണ്. " + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "Debug=True എന്നു കൊടുത്താൽ കൂടുതൽ കാര്യങ്ങൾ അറിയാൻ കഴിയും." + +msgid "No year specified" +msgstr "വര്‍ഷം പരാമര്‍ശിച്ചിട്ടില്ല" + +msgid "Date out of range" +msgstr "ഡാറ്റ പരിധിയുടെ പുറത്താണ്" + +msgid "No month specified" +msgstr "മാസം പരാമര്‍ശിച്ചിട്ടില്ല" + +msgid "No day specified" +msgstr "ദിവസം പരാമര്‍ശിച്ചിട്ടില്ല" + +msgid "No week specified" +msgstr "ആഴ്ച പരാമര്‍ശിച്ചിട്ടില്ല" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "%(verbose_name_plural)s ഒന്നും ലഭ്യമല്ല" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"%(class_name)s.allow_future ന് False എന്നു നല്കിയിട്ടുള്ളതിനാല്‍ Future " +"%(verbose_name_plural)s ഒന്നും ലഭ്യമല്ല." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "ചോദ്യത്തിനു ചേരുന്ന് %(verbose_name)s ഇല്ല" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "ഡയറക്ടറി സൂചികകള്‍ ഇവിടെ അനുവദനീയമല്ല." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "%(directory)s യുടെ സൂചിക" + +msgid "The install worked successfully! Congratulations!" +msgstr "ഇൻസ്ടാൾ ഭംഗിയായി നടന്നു! അഭിനന്ദനങ്ങൾ !" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "ജാംഗോ ഡോക്യുമെന്റേഷൻ" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "പരിശീലനം: ഒരു പോളിങ്ങ് ആപ്പ്" + +msgid "Get started with Django" +msgstr "ജാംഗോയുമായി പരിചയത്തിലാവുക" + +msgid "Django Community" +msgstr "ജാംഗോ കമ്യൂണിറ്റി" + +msgid "Connect, get help, or contribute" +msgstr "കൂട്ടുകൂടൂ, സഹായം തേടൂ, അല്ലെങ്കിൽ സഹകരിക്കൂ" diff --git a/external_sources/django/django/conf/locale/ml/__init__.py b/external_sources/django/django/conf/locale/ml/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/ml/formats.py b/external_sources/django/django/conf/locale/ml/formats.py new file mode 100644 index 0000000..b1ca2ee --- /dev/null +++ b/external_sources/django/django/conf/locale/ml/formats.py @@ -0,0 +1,43 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "N j, Y" +TIME_FORMAT = "P" +DATETIME_FORMAT = "N j, Y, P" +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "F j" +SHORT_DATE_FORMAT = "m/d/Y" +SHORT_DATETIME_FORMAT = "m/d/Y P" +FIRST_DAY_OF_WEEK = 0 # Sunday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# Kept ISO formats as they are in first position +DATE_INPUT_FORMATS = [ + "%Y-%m-%d", # '2006-10-25' + "%m/%d/%Y", # '10/25/2006' + "%m/%d/%y", # '10/25/06' + # "%b %d %Y", # 'Oct 25 2006' + # "%b %d, %Y", # 'Oct 25, 2006' + # "%d %b %Y", # '25 Oct 2006' + # "%d %b, %Y", # '25 Oct, 2006' + # "%B %d %Y", # 'October 25 2006' + # "%B %d, %Y", # 'October 25, 2006' + # "%d %B %Y", # '25 October 2006' + # "%d %B, %Y", # '25 October, 2006' +] +DATETIME_INPUT_FORMATS = [ + "%Y-%m-%d %H:%M:%S", # '2006-10-25 14:30:59' + "%Y-%m-%d %H:%M:%S.%f", # '2006-10-25 14:30:59.000200' + "%Y-%m-%d %H:%M", # '2006-10-25 14:30' + "%m/%d/%Y %H:%M:%S", # '10/25/2006 14:30:59' + "%m/%d/%Y %H:%M:%S.%f", # '10/25/2006 14:30:59.000200' + "%m/%d/%Y %H:%M", # '10/25/2006 14:30' + "%m/%d/%y %H:%M:%S", # '10/25/06 14:30:59' + "%m/%d/%y %H:%M:%S.%f", # '10/25/06 14:30:59.000200' + "%m/%d/%y %H:%M", # '10/25/06 14:30' +] +DECIMAL_SEPARATOR = "." +THOUSAND_SEPARATOR = "," +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/mn/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/mn/LC_MESSAGES/django.po new file mode 100644 index 0000000..47479f8 --- /dev/null +++ b/external_sources/django/django/conf/locale/mn/LC_MESSAGES/django.po @@ -0,0 +1,1345 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Ankhbayar , 2013 +# Bayarkhuu Bataa, 2014,2017-2018 +# Baskhuu Lodoikhuu , 2011 +# Jannis Leidel , 2011 +# jargalan , 2011 +# Tsolmon , 2011 +# Turmunkh Batkhuyag, 2023 +# Zorig, 2013-2014,2016,2018 +# Zorig, 2019 +# Анхбаяр Анхаа , 2013-2016,2018-2019 +# Баясгалан Цэвлээ , 2011,2015,2017 +# Ганзориг БП , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 11:41-0300\n" +"PO-Revision-Date: 2023-12-25 06:49+0000\n" +"Last-Translator: Turmunkh Batkhuyag, 2023\n" +"Language-Team: Mongolian (http://app.transifex.com/django/django/language/" +"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" + +msgid "Afrikaans" +msgstr "Африк" + +msgid "Arabic" +msgstr "Араб" + +msgid "Algerian Arabic" +msgstr "Алжир Араб" + +msgid "Asturian" +msgstr "Астури" + +msgid "Azerbaijani" +msgstr "Азербажан" + +msgid "Bulgarian" +msgstr "Болгар" + +msgid "Belarusian" +msgstr "Беларус" + +msgid "Bengali" +msgstr "Бенгал" + +msgid "Breton" +msgstr "Бэрэйтон " + +msgid "Bosnian" +msgstr "Босни" + +msgid "Catalan" +msgstr "Каталан" + +msgid "Central Kurdish (Sorani)" +msgstr "Төв Курд (Сорани)" + +msgid "Czech" +msgstr "Чех" + +msgid "Welsh" +msgstr "Уэльс" + +msgid "Danish" +msgstr "Дани" + +msgid "German" +msgstr "Герман" + +msgid "Lower Sorbian" +msgstr "Доод Сорбин" + +msgid "Greek" +msgstr "Грек" + +msgid "English" +msgstr "Англи" + +msgid "Australian English" +msgstr "Австрали Англи" + +msgid "British English" +msgstr "Британи Англи" + +msgid "Esperanto" +msgstr "Эсперанто" + +msgid "Spanish" +msgstr "Испани" + +msgid "Argentinian Spanish" +msgstr "Аргентинийн Испани" + +msgid "Colombian Spanish" +msgstr "Колумбийн Испаниар" + +msgid "Mexican Spanish" +msgstr "Мексикийн Испани" + +msgid "Nicaraguan Spanish" +msgstr "Никрагуан Испани" + +msgid "Venezuelan Spanish" +msgstr "Венесуэлийн Спани" + +msgid "Estonian" +msgstr "Эстони" + +msgid "Basque" +msgstr "Баск" + +msgid "Persian" +msgstr "Перс" + +msgid "Finnish" +msgstr "Финлянд" + +msgid "French" +msgstr "Франц" + +msgid "Frisian" +msgstr "Фриз" + +msgid "Irish" +msgstr "Ирланд" + +msgid "Scottish Gaelic" +msgstr "Шотландийн Гаелик" + +msgid "Galician" +msgstr "Галици" + +msgid "Hebrew" +msgstr "Еврэй" + +msgid "Hindi" +msgstr "Хинди" + +msgid "Croatian" +msgstr "Хорват" + +msgid "Upper Sorbian" +msgstr "Дээд Сорбин" + +msgid "Hungarian" +msgstr "Унгар" + +msgid "Armenian" +msgstr "Армен" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Индонези" + +msgid "Igbo" +msgstr "Игбо" + +msgid "Ido" +msgstr "Идо" + +msgid "Icelandic" +msgstr "Исланд" + +msgid "Italian" +msgstr "Итали" + +msgid "Japanese" +msgstr "Япон" + +msgid "Georgian" +msgstr "Гүрж" + +msgid "Kabyle" +msgstr "Кабилэ" + +msgid "Kazakh" +msgstr "Казак" + +msgid "Khmer" +msgstr "Кхмер" + +msgid "Kannada" +msgstr "Канад" + +msgid "Korean" +msgstr "Солонгос" + +msgid "Kyrgyz" +msgstr "Киргиз" + +msgid "Luxembourgish" +msgstr "Лүксенбүргиш" + +msgid "Lithuanian" +msgstr "Литва" + +msgid "Latvian" +msgstr "Латви" + +msgid "Macedonian" +msgstr "Македон" + +msgid "Malayalam" +msgstr "Малайз" + +msgid "Mongolian" +msgstr "Монгол" + +msgid "Marathi" +msgstr "маратхи" + +msgid "Malay" +msgstr "Малай" + +msgid "Burmese" +msgstr "Бирм" + +msgid "Norwegian Bokmål" +msgstr "Норвеги Бокмал" + +msgid "Nepali" +msgstr "Непал" + +msgid "Dutch" +msgstr "Голланд" + +msgid "Norwegian Nynorsk" +msgstr "Норвегийн нюнорск" + +msgid "Ossetic" +msgstr "Оссетик" + +msgid "Punjabi" +msgstr "Панжаби" + +msgid "Polish" +msgstr "Польш" + +msgid "Portuguese" +msgstr "Португал" + +msgid "Brazilian Portuguese" +msgstr "Бразилийн Португали" + +msgid "Romanian" +msgstr "Румын" + +msgid "Russian" +msgstr "Орос" + +msgid "Slovak" +msgstr "Словак" + +msgid "Slovenian" +msgstr "Словен" + +msgid "Albanian" +msgstr "Альбани" + +msgid "Serbian" +msgstr "Серби" + +msgid "Serbian Latin" +msgstr "Серби латин" + +msgid "Swedish" +msgstr "Щвед" + +msgid "Swahili" +msgstr "Савахил" + +msgid "Tamil" +msgstr "Тамил" + +msgid "Telugu" +msgstr "Тэлүгү" + +msgid "Tajik" +msgstr "Тажик" + +msgid "Thai" +msgstr "Тайланд" + +msgid "Turkmen" +msgstr "Турк хүн" + +msgid "Turkish" +msgstr "Турк" + +msgid "Tatar" +msgstr "Татар" + +msgid "Udmurt" +msgstr "Удмурт" + +msgid "Uyghur" +msgstr "Уйгур" + +msgid "Ukrainian" +msgstr "Украйн" + +msgid "Urdu" +msgstr "Урду" + +msgid "Uzbek" +msgstr "Узбек" + +msgid "Vietnamese" +msgstr "Вьетнам" + +msgid "Simplified Chinese" +msgstr "Хятад (хялбаршуулсан) " + +msgid "Traditional Chinese" +msgstr "Хятад (уламжлалт)" + +msgid "Messages" +msgstr "Мэдээллүүд" + +msgid "Site Maps" +msgstr "Сайтын бүтэц" + +msgid "Static Files" +msgstr "Статик файлууд" + +msgid "Syndication" +msgstr "Нэгтгэл" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "Хуудасны дугаар бүхэл тоо / Integer / биш байна" + +msgid "That page number is less than 1" +msgstr "Хуудасны дугаар 1-ээс байга байна" + +msgid "That page contains no results" +msgstr "Хуудас үр дүн агуулаагүй байна" + +msgid "Enter a valid value." +msgstr "Зөв утга оруулна уу." + +msgid "Enter a valid URL." +msgstr "Зөв, хүчинтэй хаяг (URL) оруулна уу." + +msgid "Enter a valid integer." +msgstr "Бүхэл тоо оруулна уу" + +msgid "Enter a valid email address." +msgstr "Зөв имэйл хаяг оруулна уу" + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Үсэг, тоо, доогуур зураас эсвэл зурааснаас бүрдсэн хүчинтэй \"slug\" оруулна " +"уу." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Юникод үсэг, тоо, доогуур зураас, зурааснаас бүрдсэн хүчинтэй \"slug\" " +"оруулна уу." + +msgid "Enter a valid IPv4 address." +msgstr "Зөв IPv4 хаяг оруулна уу. " + +msgid "Enter a valid IPv6 address." +msgstr "Зөв IPv6 хаяг оруулна уу." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Зөв IPv4 эсвэл IPv6 хаяг оруулна уу." + +msgid "Enter only digits separated by commas." +msgstr "Зөвхөн таслалаар тусгаарлагдсан цифр оруулна уу." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Энэ утга хамгийн ихдээ %(limit_value)s байх ёстой. (одоо %(show_value)s " +"байна)" + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Энэ утга %(limit_value)s -с бага эсвэл тэнцүү байх ёстой." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Энэ утга %(limit_value)s -с их эсвэл тэнцүү байх нөхцлийг хангана уу." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "" +"Утга нь алхамын хэмжээнд %(limit_value)s-ээс олон байхыг " +"баталгаажуулна уу." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"Энэ утга нь алхмын хэмжээнд %(limit_value)s, %(offset)s-с эхлэн %(offset)s, " +"%(valid_value1)s, %(valid_value2)s гэх мэт утга байхыг баталгаажуулна уу." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Хамгийн ихдээ %(limit_value)d тэмдэгт байх нөхцлийг хангана уу. " +"(%(show_value)d-ийн дагуу)" +msgstr[1] "" +"Хамгийн ихдээ %(limit_value)d тэмдэгт байх нөхцлийг хангана уу. " +"(%(show_value)d-ийн дагуу)" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[1] "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." + +msgid "Enter a number." +msgstr "Тоон утга оруулна уу." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "%(max)s -ээс ихгүй утга оруулна уу " +msgstr[1] "%(max)s -ээс ихгүй утга оруулна уу " + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Энд %(max)s -аас олонгүй бутархайн орон байх ёстой. " +msgstr[1] "Энд %(max)s -аас олонгүй бутархайн орон байх ёстой. " + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "Энд бутархайн таслалаас өмнө %(max)s-аас олонгүй цифр байх ёстой." +msgstr[1] "Энд бутархайн таслалаас өмнө %(max)s-аас олонгүй цифр байх ёстой." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Файлын өргөтгөл “%(extension)s” зөвшөөрөгдөөгүй байна. Боломжит өргөтгөлүүд: " +"%(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Хоосон тэмдэгт зөвшөөрөгдөхгүй." + +msgid "and" +msgstr "ба" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(field_labels)s талбар бүхий %(model_name)s аль хэдийн орсон байна." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "“%(name)s” хязгаарлалтыг зөрчсөн." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "%(value)r буруу сонголт байна." + +msgid "This field cannot be null." +msgstr "Энэ хэсгийг хоосон орхиж болохгүй." + +msgid "This field cannot be blank." +msgstr "Энэ хэсэг хоосон байж болохгүй." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(field_label)s-тэй %(model_name)s-ийг аль хэдийнэ оруулсан байна." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s талбарт давхардахгүй байх хэрэгтэй %(date_field_label)s " +"%(lookup_type)s оруулна." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Талбарийн төрөл нь : %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "\"“%(value)s” утга True эсвэл False байх ёстой.\"" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "“%(value)s” утга True, False, эсвэл None байх ёстой." + +msgid "Boolean (Either True or False)" +msgstr "Boolean (Үнэн худлын аль нэг нь)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Бичвэр (%(max_length)s хүртэл)" + +msgid "String (unlimited)" +msgstr "Тэмдэг мөр (хязгааргүй)" + +msgid "Comma-separated integers" +msgstr "Таслалаар тусгаарлагдсан бүхэл тоо" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"“%(value)s” утга нь буруу огнооны форматтай байна. Энэ нь YYYY-MM-DD " +"форматтай байх ёстой." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"“%(value)s” утга зөв (YYYY-MM-DD) форматтай байна, гэхдээ буруу огноо байна." + +msgid "Date (without time)" +msgstr "Огноо (цаггүй)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"“%(value)s” утга буруу форматтай байна. Энэ нь YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ] форматтай байх ёстой." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"“%(value)s” утгын формат зөв байна (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]) " +"гэхдээ буруу огноо/цаг байна." + +msgid "Date (with time)" +msgstr "Огноо (цагтай)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "“%(value)s” утга нь бодит тоо байх ёстой." + +msgid "Decimal number" +msgstr "Аравтын бутархайт тоо" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"“%(value)s” утга буруу форматтай байна. Энэ нь [DD] [[HH:]MM:]ss[.uuuuuu] " +"форматтай байх ёстой." + +msgid "Duration" +msgstr "Үргэлжлэх хугацаа" + +msgid "Email address" +msgstr "Имэйл хаяг" + +msgid "File path" +msgstr "Файлын зам " + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "“%(value)s” бутархай тоон утга байх ёстой." + +msgid "Floating point number" +msgstr "Хөвөгч таслалтай тоо" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "“%(value)s” утга нь бүхэл тоо байх ёстой." + +msgid "Integer" +msgstr "Бүхэл тоо" + +msgid "Big (8 byte) integer" +msgstr "Том (8 байт) бүхэл тоо" + +msgid "Small integer" +msgstr "Бага тоон утна" + +msgid "IPv4 address" +msgstr "IPv4 хаяг" + +msgid "IP address" +msgstr "IP хаяг" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "\"“%(value)s” утга нь None, True эсвэл False байх ёстой.\"" + +msgid "Boolean (Either True, False or None)" +msgstr "Boolean (Үнэн, худал, эсвэл юу ч биш)" + +msgid "Positive big integer" +msgstr "Эерэг том бүхэл тоо" + +msgid "Positive integer" +msgstr "Бүхэл тоох утга" + +msgid "Positive small integer" +msgstr "Бага бүхэл тоон утга" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Слаг (ихдээ %(max_length)s )" + +msgid "Text" +msgstr "Текст" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"“%(value)s” утга буруу форматтай байна. Энэ нь HH:MM[:ss[.uuuuuu]] форматтай " +"байх ёстой." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"“%(value)s” утга зөв форматтай байна (HH:MM[:ss[.uuuuuu]]) гэхдээ буруу цаг " +"байна." + +msgid "Time" +msgstr "Цаг" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Бинари өгөгдөл" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "“%(value)s” нь хүчинтэй UUID биш." + +msgid "Universally unique identifier" +msgstr "UUID" + +msgid "File" +msgstr "Файл" + +msgid "Image" +msgstr "Зураг" + +msgid "A JSON object" +msgstr "JSON объект " + +msgid "Value must be valid JSON." +msgstr "JSON утга байх боломжтой." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "%(field)s %(value)r утгатай %(model)s байхгүй байна." + +msgid "Foreign Key (type determined by related field)" +msgstr "Гадаад түлхүүр (тодорхой төрлийн холбоос талбар)" + +msgid "One-to-one relationship" +msgstr "Нэг-нэг холбоос" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s холбоос" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s холбоосууд" + +msgid "Many-to-many relationship" +msgstr "Олон-олон холбоос" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Энэ талбарыг бөглөх шаардлагатай." + +msgid "Enter a whole number." +msgstr "Бүхэл тоон утга оруулна уу." + +msgid "Enter a valid date." +msgstr "Зөв огноо оруулна уу." + +msgid "Enter a valid time." +msgstr "Зөв цаг оруулна уу." + +msgid "Enter a valid date/time." +msgstr "Огноо/цаг-ыг зөв оруулна уу." + +msgid "Enter a valid duration." +msgstr "Үргэлжилэх хугацааг зөв оруулна уу." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Өдөрийн утга {min_days} ээс {max_days} ийн хооронд байх ёстой." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Файл оруулаагүй байна. Маягтаас кодлох төрлийг чагтал. " + +msgid "No file was submitted." +msgstr "Файл оруулаагүй байна." + +msgid "The submitted file is empty." +msgstr "Оруулсан файл хоосон байна. " + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[1] "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Нэг бол сонголтын чягтыг авах эсвэл файл оруулна уу. Зэрэг хэрэгжих " +"боломжгүй." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Зөв зураг оруулна уу. Таны оруулсан файл нэг бол зургийн файл биш эсвэл " +"гэмтсэн зураг байна." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Зөв сонголт хийнэ үү. %(value)s гэсэн сонголт байхгүй байна." + +msgid "Enter a list of values." +msgstr "Өгөгдхүүний жагсаалтаа оруулна уу." + +msgid "Enter a complete value." +msgstr "Бүрэн утга оруулна уу." + +msgid "Enter a valid UUID." +msgstr "Зөв UUID оруулна уу." + +msgid "Enter a valid JSON." +msgstr "JSON-ийн бүтцээр оруулна уу." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Нууц талбар%(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"ManagementForm-ын өгөгдөл дутуу эсвэл өөрчилсөн байна. Дутуу талбарууд: " +"%(field_names)s. Хэрэв асуудал хэвээр байвал та алдааны тайлан гаргах " +"шаардлагатай байж магадгүй." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Та хамгийн ихдээ %(num)d форм илгээнэ үү." +msgstr[1] "Та хамгийн ихдээ %(num)d форм илгээнэ үү." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Та хамгийн багадаа %(num)d форм илгээнэ үү." +msgstr[1] "Та хамгийн багадаа %(num)d форм илгээнэ үү." + +msgid "Order" +msgstr "Эрэмбэлэх" + +msgid "Delete" +msgstr "Устгах" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "%(field)s хэсэг дэх давхардсан утгыг засварлана уу. " + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"%(field)s хэсэг дэх давхардсан утгыг засварлана уу. Түүний утгууд " +"давхардахгүй байх ёстой." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"%(field_name)s хэсэг дэх давхардсан утгыг засварлана уу. %(date_field)s-н " +"%(lookup)s хувьд давхардахгүй байх ёстой." + +msgid "Please correct the duplicate values below." +msgstr "Доорх давхардсан утгуудыг засна уу." + +msgid "The inline value did not match the parent instance." +msgstr "Inline утга эцэг обекттой таарахгүй байна." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Зөв сонголт хийнэ үү. Энэ утга сонголтонд алга." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "“%(pk)s” нь шаардлага хангаагүй утга байна." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s нь %(current_timezone)s цагийн бүсэд хөрвүүлэх боломжгүй байна; " +"энэ нь хоёрдмол утгатай эсвэл байхгүй байж болно." + +msgid "Clear" +msgstr "Цэвэрлэх" + +msgid "Currently" +msgstr "Одоогийн" + +msgid "Change" +msgstr "Засах" + +msgid "Unknown" +msgstr "Тодорхойгүй" + +msgid "Yes" +msgstr "Тийм" + +msgid "No" +msgstr "Үгүй" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "тийм,үгүй,магадгүй" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d байт" +msgstr[1] "%(size)d байт" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "шөнө дунд" + +msgid "noon" +msgstr "үд дунд" + +msgid "Monday" +msgstr "Даваа гариг" + +msgid "Tuesday" +msgstr "Мягмар гариг" + +msgid "Wednesday" +msgstr "Лхагва гариг" + +msgid "Thursday" +msgstr "Пүрэв гариг" + +msgid "Friday" +msgstr "Баасан гариг" + +msgid "Saturday" +msgstr "Бямба гариг" + +msgid "Sunday" +msgstr "Ням гариг" + +msgid "Mon" +msgstr "Дав" + +msgid "Tue" +msgstr "Мяг" + +msgid "Wed" +msgstr "Лха" + +msgid "Thu" +msgstr "Пүр" + +msgid "Fri" +msgstr "Баа" + +msgid "Sat" +msgstr "Бям" + +msgid "Sun" +msgstr "Ням" + +msgid "January" +msgstr "1-р сар" + +msgid "February" +msgstr "2-р сар" + +msgid "March" +msgstr "3-р сар" + +msgid "April" +msgstr "4-р сар" + +msgid "May" +msgstr "5-р сар" + +msgid "June" +msgstr "6-р сар" + +msgid "July" +msgstr "7-р сар" + +msgid "August" +msgstr "8-р сар" + +msgid "September" +msgstr "9-р сар" + +msgid "October" +msgstr "10-р сар" + +msgid "November" +msgstr "11-р сар" + +msgid "December" +msgstr "12-р сар" + +msgid "jan" +msgstr "1-р сар" + +msgid "feb" +msgstr "2-р сар" + +msgid "mar" +msgstr "3-р сар" + +msgid "apr" +msgstr "4-р сар" + +msgid "may" +msgstr "5-р сар" + +msgid "jun" +msgstr "6-р сар" + +msgid "jul" +msgstr "7-р сар" + +msgid "aug" +msgstr "8-р сар " + +msgid "sep" +msgstr "9-р сар" + +msgid "oct" +msgstr "10-р сар" + +msgid "nov" +msgstr "11-р сар" + +msgid "dec" +msgstr "12-р сар" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "1-р сар." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "2-р сар." + +msgctxt "abbrev. month" +msgid "March" +msgstr "3-р сар." + +msgctxt "abbrev. month" +msgid "April" +msgstr "4-р сар." + +msgctxt "abbrev. month" +msgid "May" +msgstr "5-р сар." + +msgctxt "abbrev. month" +msgid "June" +msgstr "6-р сар." + +msgctxt "abbrev. month" +msgid "July" +msgstr "7-р сар." + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "8-р сар." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "9-р сар." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "10-р сар." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "11-р сар." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "12-р сар." + +msgctxt "alt. month" +msgid "January" +msgstr "Хулгана" + +msgctxt "alt. month" +msgid "February" +msgstr "Үхэр" + +msgctxt "alt. month" +msgid "March" +msgstr "Бар" + +msgctxt "alt. month" +msgid "April" +msgstr "Туулай" + +msgctxt "alt. month" +msgid "May" +msgstr "Луу" + +msgctxt "alt. month" +msgid "June" +msgstr "Могой" + +msgctxt "alt. month" +msgid "July" +msgstr "Морь" + +msgctxt "alt. month" +msgid "August" +msgstr "Хонь" + +msgctxt "alt. month" +msgid "September" +msgstr "Бич" + +msgctxt "alt. month" +msgid "October" +msgstr "Тахиа" + +msgctxt "alt. month" +msgid "November" +msgstr "Нохой" + +msgctxt "alt. month" +msgid "December" +msgstr "Гахай" + +msgid "This is not a valid IPv6 address." +msgstr "Энэ буруу IPv6 хаяг байна." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "буюу" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d жил" +msgstr[1] "%(num)d жил" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d сар" +msgstr[1] "%(num)d сар" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d долоо хоног" +msgstr[1] "%(num)d долоо хоног" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d өдөр" +msgstr[1] "%(num)d өдөр" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d цаг" +msgstr[1] "%(num)d цаг" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d минут" +msgstr[1] "%(num)d минут" + +msgid "Forbidden" +msgstr "Хориотой" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF дээр уналаа. Хүсэлт таслагдсан." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Та энэ мэдэгдлийг харж байгаа нь таны веб хөтөчөөс 'Referer header'-ийг " +"HTTPS хуудасд илгээх шаардлагатай байгаатай холбоотой. Энэ нь гуравдагч " +"этгээдээс хамгаалахын тулд шаардлагатай." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Хэрвээ та веб хөтөчөө 'Referer' толгойг идэвхигүй болгосон бол энэ хуудас, " +"HTTPS холболт эсвэл 'same-origin' хүсэлтэнд зориулж идэвхижүүлнэ үү." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Хэрвээ та таг ашиглаж " +"байгаа бол эсвэл 'Referrer-Policy: no-referrer' толгойг нэмсэн бол, " +"эдгээрийг устгана уу. CSRF хамгаалалт 'Referer' толгойг чанд шалгалт хийхийг " +"шаарддаг. Хэрвээ та аюулгүй байдлыг чухалчилж байгаа бол гуравдагч сайтыг " +"холбохдоо ашиглана уу." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Энэ хуудсанд форм илгээхийн тулд CSRF күүки шаардлагатай учир Та энэ " +"мэдэгдлийг харж байна. Энэ күүки нь гуравдагч этгээдээс хамгаалахын тулд " +"шаардлагатай." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Хэрвээ та веб хөтөчийн \"cookies\"-г хаасан бол энэ хуудас эсвэл 'same-" +"origin' хүсэлтэнд зориулж идэвхижүүлнэ үү." + +msgid "More information is available with DEBUG=True." +msgstr "DEBUG=True үед дэлгэрэнгүй мэдээлэл харах боломжтой." + +msgid "No year specified" +msgstr "Он тодорхойлоогүй байна" + +msgid "Date out of range" +msgstr "Хугацааны хязгаар хэтэрсэн байна" + +msgid "No month specified" +msgstr "Сар тодорхойлоогүй байна" + +msgid "No day specified" +msgstr "Өдөр тодорхойлоогүй байна" + +msgid "No week specified" +msgstr "Долоо хоног тодорхойлоогүй байна" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "%(verbose_name_plural)s боломжгүй" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"%(class_name)s.allow_future нь худлаа учраас %(verbose_name_plural)s нь " +"боломжгүй." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" +"Буруу огноо. '%(datestr)s' огноо '%(format)s' хэлбэрт тохирохгүй байна." + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Шүүлтүүрт таарах %(verbose_name)s олдсонгүй " + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "Хуудас \"сүүлчийн\" биш бөгөөд үүнийг int болгон хувиргах боломжгүй." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Буруу хуудас (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Хоосон жагсаалт ба “%(class_name)s.allow_empty” нь False байна." + +msgid "Directory indexes are not allowed here." +msgstr "Файлын жагсаалтыг энд зөвшөөрөөгүй." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "“%(path)s” хуудас байхгүй байна." + +#, python-format +msgid "Index of %(directory)s" +msgstr "%(directory)s ийн жагсаалт" + +msgid "The install worked successfully! Congratulations!" +msgstr "Амжилттай суулгалаа! Баяр хүргэе!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Джанго %(version)s хувирбарын тэмдэглэл харах " + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Таний тохиргооны файл дээр DEBUG=TRUE гэж тохируулсан мөн URLs дээр тохиргоо " +"хийгээгүй учраас энэ хуудасыг харж байна." + +msgid "Django Documentation" +msgstr "Джанго баримтжуулалт" + +msgid "Topics, references, & how-to’s" +msgstr "Сэдэв, лавлахууд болон зааврууд" + +msgid "Tutorial: A Polling App" +msgstr "Хичээл: Санал асуулга App" + +msgid "Get started with Django" +msgstr "Джанготой ажиллаж эхлэх" + +msgid "Django Community" +msgstr "Django Бүлгэм" + +msgid "Connect, get help, or contribute" +msgstr "Холбогдох, тусламж авах эсвэл хувь нэмрээ оруулах" diff --git a/external_sources/django/django/conf/locale/mn/__init__.py b/external_sources/django/django/conf/locale/mn/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/mn/formats.py b/external_sources/django/django/conf/locale/mn/formats.py new file mode 100644 index 0000000..589c24c --- /dev/null +++ b/external_sources/django/django/conf/locale/mn/formats.py @@ -0,0 +1,21 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "d F Y" +TIME_FORMAT = "g:i A" +# DATETIME_FORMAT = +# YEAR_MONTH_FORMAT = +# MONTH_DAY_FORMAT = +SHORT_DATE_FORMAT = "j M Y" +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +# DECIMAL_SEPARATOR = +# THOUSAND_SEPARATOR = +# NUMBER_GROUPING = diff --git a/external_sources/django/django/conf/locale/mr/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/mr/LC_MESSAGES/django.po new file mode 100644 index 0000000..fe4c6eb --- /dev/null +++ b/external_sources/django/django/conf/locale/mr/LC_MESSAGES/django.po @@ -0,0 +1,1280 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Omkar Parab, 2024 +# Suraj Kawade, 2013 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 11:41-0300\n" +"PO-Revision-Date: 2024-01-20 06:49+0000\n" +"Last-Translator: Omkar Parab, 2024\n" +"Language-Team: Marathi (http://app.transifex.com/django/django/language/" +"mr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: mr\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "अफ्रिकान्स" + +msgid "Arabic" +msgstr "अरेबिक" + +msgid "Algerian Arabic" +msgstr "अल्जेरियन अरेबिक" + +msgid "Asturian" +msgstr "अस्टूरियन" + +msgid "Azerbaijani" +msgstr "अझरबैजानी" + +msgid "Bulgarian" +msgstr "बल्गेरियन" + +msgid "Belarusian" +msgstr "बेलारशियन" + +msgid "Bengali" +msgstr "बंगाली" + +msgid "Breton" +msgstr "ब्रेटन" + +msgid "Bosnian" +msgstr "बोस्नियन" + +msgid "Catalan" +msgstr "कॅटलान" + +msgid "Central Kurdish (Sorani)" +msgstr "मध्य कुर्दिश (सोरानी)" + +msgid "Czech" +msgstr "झेक" + +msgid "Welsh" +msgstr "वेल्श" + +msgid "Danish" +msgstr "डॅनिश" + +msgid "German" +msgstr "जर्मन" + +msgid "Lower Sorbian" +msgstr "लोअर सोर्बियन" + +msgid "Greek" +msgstr "ग्रीक" + +msgid "English" +msgstr "इंग्रजी" + +msgid "Australian English" +msgstr "ऑस्ट्रेलियन इंग्रजी" + +msgid "British English" +msgstr "ब्रिटिश इंग्रजी" + +msgid "Esperanto" +msgstr "एस्पेरॅन्टो" + +msgid "Spanish" +msgstr "स्पॅनिश " + +msgid "Argentinian Spanish" +msgstr "अर्जेन्टिनाची स्पॅनिश" + +msgid "Colombian Spanish" +msgstr "कोलंबियन स्पॅनिश" + +msgid "Mexican Spanish" +msgstr "मेक्सिकन स्पॅनिश" + +msgid "Nicaraguan Spanish" +msgstr "निकारागुआन स्पॅनिश" + +msgid "Venezuelan Spanish" +msgstr "व्हेनेझुएलन स्पॅनिश" + +msgid "Estonian" +msgstr "एस्टोनियन" + +msgid "Basque" +msgstr "बास्क" + +msgid "Persian" +msgstr "पर्शियन" + +msgid "Finnish" +msgstr "फिनिश" + +msgid "French" +msgstr "फ्रेंच" + +msgid "Frisian" +msgstr "फ्रिसियन" + +msgid "Irish" +msgstr "आयरिश" + +msgid "Scottish Gaelic" +msgstr "स्कॉटिश गेलिक" + +msgid "Galician" +msgstr "गॅलिशियन" + +msgid "Hebrew" +msgstr "हिब्रू" + +msgid "Hindi" +msgstr "हिंदी" + +msgid "Croatian" +msgstr "क्रोएशियन" + +msgid "Upper Sorbian" +msgstr "अप्पर सोर्बियन" + +msgid "Hungarian" +msgstr "हंगेरियन" + +msgid "Armenian" +msgstr "अर्मेनियन" + +msgid "Interlingua" +msgstr "इंटरलिंगुआ" + +msgid "Indonesian" +msgstr "इंडोनेशियन" + +msgid "Igbo" +msgstr "इग्बो" + +msgid "Ido" +msgstr "इदो" + +msgid "Icelandic" +msgstr "आयलँडिक" + +msgid "Italian" +msgstr "इटालियन" + +msgid "Japanese" +msgstr "जपानी" + +msgid "Georgian" +msgstr "जॉर्जियन" + +msgid "Kabyle" +msgstr "कबायल" + +msgid "Kazakh" +msgstr "कझाक" + +msgid "Khmer" +msgstr "ख्मेर" + +msgid "Kannada" +msgstr "कन्नड" + +msgid "Korean" +msgstr "कोरियन" + +msgid "Kyrgyz" +msgstr "किर्गिझ" + +msgid "Luxembourgish" +msgstr "लक्झेंबर्गिश" + +msgid "Lithuanian" +msgstr "लिथुआनियन" + +msgid "Latvian" +msgstr "लाटव्हिअन" + +msgid "Macedonian" +msgstr "मॅसेडोनिअन" + +msgid "Malayalam" +msgstr "मल्याळम" + +msgid "Mongolian" +msgstr "मंगोलियन" + +msgid "Marathi" +msgstr "मराठी" + +msgid "Malay" +msgstr "मलय" + +msgid "Burmese" +msgstr "बर्मीस" + +msgid "Norwegian Bokmål" +msgstr "नॉर्वेजियन बोकमाल" + +msgid "Nepali" +msgstr "नेपाळी" + +msgid "Dutch" +msgstr "डच" + +msgid "Norwegian Nynorsk" +msgstr "नॉर्वेजिअन निनॉर्स्क " + +msgid "Ossetic" +msgstr "ओस्सेटिक" + +msgid "Punjabi" +msgstr "पंजाबी" + +msgid "Polish" +msgstr "पॉलिश" + +msgid "Portuguese" +msgstr "पोर्तुगीज" + +msgid "Brazilian Portuguese" +msgstr "ब्रझिलियन पोर्तुगीज" + +msgid "Romanian" +msgstr "रोमेनियन" + +msgid "Russian" +msgstr "रशियन" + +msgid "Slovak" +msgstr "स्लोवाक" + +msgid "Slovenian" +msgstr "स्लोवेनियन" + +msgid "Albanian" +msgstr "अल्बेनियन" + +msgid "Serbian" +msgstr "सर्बियन" + +msgid "Serbian Latin" +msgstr "सर्बियन लॅटिन" + +msgid "Swedish" +msgstr "स्वीडिश" + +msgid "Swahili" +msgstr "स्वाहिली" + +msgid "Tamil" +msgstr "तमिळ" + +msgid "Telugu" +msgstr "तेलुगु" + +msgid "Tajik" +msgstr "ताजिक" + +msgid "Thai" +msgstr "थाई" + +msgid "Turkmen" +msgstr "तुर्कमेन" + +msgid "Turkish" +msgstr "तुर्की" + +msgid "Tatar" +msgstr "टाटर" + +msgid "Udmurt" +msgstr "उदमर्त" + +msgid "Uyghur" +msgstr "उईघुर" + +msgid "Ukrainian" +msgstr "युक्रेनियन" + +msgid "Urdu" +msgstr "उर्दू" + +msgid "Uzbek" +msgstr "उझबेक" + +msgid "Vietnamese" +msgstr "व्हिएतनामी" + +msgid "Simplified Chinese" +msgstr "सोपी चायनिज" + +msgid "Traditional Chinese" +msgstr "पारंपारिक चायनिज" + +msgid "Messages" +msgstr "संदेश" + +msgid "Site Maps" +msgstr "संकेतस्थळ नकाशे" + +msgid "Static Files" +msgstr "स्थिर फाइल्स" + +msgid "Syndication" +msgstr "सिंडिकेशन" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "..." + +msgid "That page number is not an integer" +msgstr "तो पान क्रमांक पूर्णांक नाही." + +msgid "That page number is less than 1" +msgstr "तो पान क्रमांक 1 पेक्षा कमी आहे" + +msgid "That page contains no results" +msgstr "त्या पानावर कोणतेही परिणाम नाहीत." + +msgid "Enter a valid value." +msgstr "वैध मूल्य टाका." + +msgid "Enter a valid URL." +msgstr "एक योग्य युआरएल टाका करा." + +msgid "Enter a valid integer." +msgstr "योग्य पूर्णांक टाका." + +msgid "Enter a valid email address." +msgstr "योग्य विपत्र पत्ता टाका." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "अक्षरे, संख्या, अंडरस्कोर किंवा हायफनसह असलेला योग्य \"स्लग\" टाका." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "योग्य \"स्लग\" टाका ज्यामध्ये यूनिकोड अक्षरे, अंक, अंडरस्कोर किंवा हायफन असतात." + +msgid "Enter a valid IPv4 address." +msgstr "योग्य IPv4 पत्ता टाका." + +msgid "Enter a valid IPv6 address." +msgstr "योग्य IPv6 पत्ता टाका." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "योग्य IPv4 किंवा IPv6 पत्ता नमूद करा." + +msgid "Enter only digits separated by commas." +msgstr "स्वल्पविरामाने वेगळे केलेले अंकच फक्त नमूद करा." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "हे मूल्य%(limit_value)s(%(show_value)s) आहे याची खात्री करा." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "हे मूल्य %(limit_value)sया मर्यादेइतके किंवा त्यापेक्षा कमी आहे याची काळजी घ्या." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "हे मूल्य %(limit_value)sया मर्यादेइतके किंवा त्यापेक्षा जास्त आहे याची काळजी घ्या." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "हे मूल्य पायरी आकार %(limit_value)s चा गुणाकार असल्याची खात्री करा." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Enter a number." +msgstr "अंक टाका." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "शून्य वर्णांना परवानगी नाही." + +msgid "and" +msgstr "आणि" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s सह %(field_labels)s हे अगोदरच अस्तित्वात आहे." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "\"%(name)s\" च्या मर्यादेचं उल्लंघन आहे." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Value %(value)r हा योग्य पर्याय नाही." + +msgid "This field cannot be null." +msgstr "हे क्षेत्र रिक्त असू शकत नाही." + +msgid "This field cannot be blank." +msgstr "हे क्षेत्र रिक्त असू शकत नाही." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s %(field_label)s ने अगोदरच अस्तित्वात आहे." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "क्षेत्राचा प्रकार: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "“%(value)s” मूल्य सत्य किंवा असत्य असावा." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "“%(value)s” मूल्य सत्य, असत्य किंवा कोणतेही नसावेत." + +msgid "Boolean (Either True or False)" +msgstr "बूलियन (सत्य किंवा असत्य)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "" + +msgid "String (unlimited)" +msgstr "" + +msgid "Comma-separated integers" +msgstr "स्वल्पविरामाने वेगळे केलेले पूर्णांक" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "दिनांक (वेळेशिवाय)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "दिनांक (वेळेसह)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "कालावधी" + +msgid "Email address" +msgstr "विपत्र पत्ता" + +msgid "File path" +msgstr "दस्तऐवज मार्ग" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "पूर्णांक" + +msgid "Big (8 byte) integer" +msgstr "" + +msgid "Small integer" +msgstr "लहान पूर्णांक" + +msgid "IPv4 address" +msgstr "IPv4 पत्ता" + +msgid "IP address" +msgstr "IP पत्ता" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "बुलियन (एकतर खरे, असत्य किंवा काहीही नाही)" + +msgid "Positive big integer" +msgstr "सकारात्मक मोठा पूर्णांक" + +msgid "Positive integer" +msgstr "सकारात्मक पूर्णांक" + +msgid "Positive small integer" +msgstr "सकारात्मक लहान पूर्णांक" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "" + +msgid "Text" +msgstr "मजकूर" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "वेळ" + +msgid "URL" +msgstr "" + +msgid "Raw binary data" +msgstr "कच्चा बायनरी डेटा" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "सार्वत्रिक अद्वितीय ओळखकर्ता" + +msgid "File" +msgstr "फाइल" + +msgid "Image" +msgstr "चित्र " + +msgid "A JSON object" +msgstr "" + +msgid "Value must be valid JSON." +msgstr "मूल्य योग्य JSON असणे आवश्यक." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" + +msgid "Foreign Key (type determined by related field)" +msgstr "" + +msgid "One-to-one relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "" + +msgid "Many-to-many relationship" +msgstr "" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "हे क्षेत्र आवश्यक आहे." + +msgid "Enter a whole number." +msgstr "पूर्ण संख्या प्रविष्ट करा." + +msgid "Enter a valid date." +msgstr "योग्य दिनांक नमूद करा." + +msgid "Enter a valid time." +msgstr "योग्य वेळ नमूद करा." + +msgid "Enter a valid date/time." +msgstr "योग्य दिनांक/वेळ नमूद करा." + +msgid "Enter a valid duration." +msgstr "योग्य कालावधी नमूद करा." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "दिवसांची संख्या {min_days} आणि {max_days} च्या मधे असावी." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "कोणताही दस्तऐवज सुपूर्त केलेला नाही. अर्जावरील एन्कोडिंग प्रकार तपासा." + +msgid "No file was submitted." +msgstr "कोणताही दस्तऐवज सुपूर्त केलेला नाही." + +msgid "The submitted file is empty." +msgstr "सुपूर्त केलेला दस्तऐवज रिकामी आहे." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "कृपया एकतर फाइल सबमिट करा किंवा स्पष्ट चेकबॉक्स चेक करा, दोन्ही नाही." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "एक वैध प्रतिमा अपलोड करा. तुम्ही अपलोड केलेली फाइल चित्र किंवा दूषित चित्र नव्हते." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" + +msgid "Enter a list of values." +msgstr "मूल्यांची यादी नमूद करा." + +msgid "Enter a complete value." +msgstr "पूर्ण मूल्य नमूद करा." + +msgid "Enter a valid UUID." +msgstr "योग्य UUID नमूद करा." + +msgid "Enter a valid JSON." +msgstr "योग्य JSON नमूद करा." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "" +msgstr[1] "" + +msgid "Order" +msgstr "क्रम" + +msgid "Delete" +msgstr "घालवा" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "कृपया %(field)s साठी दुय्यम माहिती प्रत सुधारा." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" + +msgid "Please correct the duplicate values below." +msgstr "कृपया खालील नकली मूल्ये सुधारा." + +msgid "The inline value did not match the parent instance." +msgstr "इनलाइन मूल्य मूळ उदाहरणाशी जुळत नाही." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "तो पर्याय उपलब्ध पर्यायांपैकी एक नाही. योग्य पर्याय निवडा. " + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "“%(pk)s” हे वैध मूल्य नाही." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "साफ करा" + +msgid "Currently" +msgstr "सध्या" + +msgid "Change" +msgstr "बदला" + +msgid "Unknown" +msgstr "अज्ञात" + +msgid "Yes" +msgstr "होय" + +msgid "No" +msgstr "नाही" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "होय,नाही,कदाचित" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%s KB" +msgstr "%s केबी" + +#, python-format +msgid "%s MB" +msgstr "%s एमबी" + +#, python-format +msgid "%s GB" +msgstr "%s जीबी" + +#, python-format +msgid "%s TB" +msgstr "%s टिबी" + +#, python-format +msgid "%s PB" +msgstr "%s पीबी" + +msgid "p.m." +msgstr "म.उ." + +msgid "a.m." +msgstr "म.पू." + +msgid "PM" +msgstr "मउ" + +msgid "AM" +msgstr "मपू" + +msgid "midnight" +msgstr "मध्यरात्री" + +msgid "noon" +msgstr "दुपारी" + +msgid "Monday" +msgstr "सोमवार" + +msgid "Tuesday" +msgstr "मंगळवार" + +msgid "Wednesday" +msgstr "बुधवार" + +msgid "Thursday" +msgstr "गुरुवार" + +msgid "Friday" +msgstr "शुक्रवार" + +msgid "Saturday" +msgstr "शनिवार" + +msgid "Sunday" +msgstr "रविवार" + +msgid "Mon" +msgstr "सोम" + +msgid "Tue" +msgstr "मंगळ" + +msgid "Wed" +msgstr "बुध" + +msgid "Thu" +msgstr "गुरु" + +msgid "Fri" +msgstr "शुक्र" + +msgid "Sat" +msgstr "शनि" + +msgid "Sun" +msgstr "रवि" + +msgid "January" +msgstr "जानेवारी" + +msgid "February" +msgstr "फेब्रुवारी" + +msgid "March" +msgstr "मार्च" + +msgid "April" +msgstr "एप्रिल" + +msgid "May" +msgstr "मे" + +msgid "June" +msgstr "जून" + +msgid "July" +msgstr "जुलै" + +msgid "August" +msgstr "ऑगस्ट" + +msgid "September" +msgstr "सप्टेंबर" + +msgid "October" +msgstr "ऑक्टोबर" + +msgid "November" +msgstr "नोव्हेंबर" + +msgid "December" +msgstr "डिसेंबर" + +msgid "jan" +msgstr "जान" + +msgid "feb" +msgstr "फेब" + +msgid "mar" +msgstr "मार" + +msgid "apr" +msgstr "एप्रि" + +msgid "may" +msgstr "मे" + +msgid "jun" +msgstr "जून" + +msgid "jul" +msgstr "जुल" + +msgid "aug" +msgstr "ऑग" + +msgid "sep" +msgstr "सप" + +msgid "oct" +msgstr "ऑक्ट" + +msgid "nov" +msgstr "नोव्ह" + +msgid "dec" +msgstr "डिस" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "जान." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "फेब." + +msgctxt "abbrev. month" +msgid "March" +msgstr "मार्च" + +msgctxt "abbrev. month" +msgid "April" +msgstr "एप्रिल" + +msgctxt "abbrev. month" +msgid "May" +msgstr "मे" + +msgctxt "abbrev. month" +msgid "June" +msgstr "जून" + +msgctxt "abbrev. month" +msgid "July" +msgstr "जुलै" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "ऑग." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "सप्ट." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "ऑक्ट." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "नोव्ह." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "डिस." + +msgctxt "alt. month" +msgid "January" +msgstr "जानेवारी" + +msgctxt "alt. month" +msgid "February" +msgstr "फेब्रुवारी" + +msgctxt "alt. month" +msgid "March" +msgstr "मार्च" + +msgctxt "alt. month" +msgid "April" +msgstr "एप्रिल" + +msgctxt "alt. month" +msgid "May" +msgstr "मे" + +msgctxt "alt. month" +msgid "June" +msgstr "जून" + +msgctxt "alt. month" +msgid "July" +msgstr "जुलै" + +msgctxt "alt. month" +msgid "August" +msgstr "ऑगस्ट" + +msgctxt "alt. month" +msgid "September" +msgstr "सप्टेंबर" + +msgctxt "alt. month" +msgid "October" +msgstr "ऑक्टोबर" + +msgctxt "alt. month" +msgid "November" +msgstr "नोव्हेंबर" + +msgctxt "alt. month" +msgid "December" +msgstr "डिसेंबर" + +msgid "This is not a valid IPv6 address." +msgstr "हा योग्य IPv6 पत्ता नाही." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "किंवा" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr "," + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "" +msgstr[1] "" + +msgid "Forbidden" +msgstr "निषिद्ध" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF चाचणी अयशस्वी झाली. विनंती रद्द केली." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"तुम्हाला हा सनदेश दिसत आहे कारण या HTTPS संकेतस्थळाला तुमच्या वेब ब्राउझरद्वारे \"रेफरर " +"हेडर\" पाठवण्याची आवश्यकता आहे, परंतु कोणतेही पाठवले नाही. तुमचा ब्राउझर तृतीय पक्षांकडून " +"हायजॅक केला जात नाही याची खात्री करण्यासाठी सुरक्षिततेच्या दृष्टीने हे शीर्षलेख आवश्यक आहे." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"किमान या साइटसाठी किंवा HTTPS कनेक्शनसाठी किंवा “समान-मूळ” विनंत्यांसाठी, तुम्ही तुमचे " +"ब्राउझर “रेफरर” हेडर अक्षम केले असल्यास, कृपया ते पुन्हा-सक्षम करा." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"तुम्ही जोडणी वापरत असल्यास किंवा \"रेफरर-पॉलिसी: नो-रेफरर\" हेडर समाविष्ट करत " +"असल्यास, कृपया ते काढून टाका. CSRF संरक्षणासाठी \"रेफरर\" हेडर कठोर रेफरर तपासणी करणे " +"आवश्यक आहे. तुम्हाला गोपनीयतेबद्दल काळजी वाटत असल्यास, तृतीय-पक्ष स्थळाच्या दुव्यासाठी सारखे पर्याय वापरा." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"तुम्हाला हा संदेश दिसत आहे कारण अर्ज सुपूर्त करताना या स्थळाला CSRF कुकी आवश्यक आहे. तुमचा " +"ब्राउझर तृतीय पक्षांकडून हायजॅक केला जात नाही याची खात्री करण्यासाठी ही कुकी " +"सुरक्षिततेच्या कारणांसाठी आवश्यक आहे." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"किमान या साइटसाठी किंवा \"समान-मूळ\" विनंत्यांसाठी, कृपया अक्षम केलेल्या ब्राउझर कुकीज " +"पुन्हा सक्षम करा." + +msgid "More information is available with DEBUG=True." +msgstr "अधिक माहिती DEBUG=True सह उपलब्ध आहे." + +msgid "No year specified" +msgstr "कोणतेही वर्ष नमूद केलेले नाही" + +msgid "Date out of range" +msgstr "पल्ल्याच्या बाहेरची दिनांक" + +msgid "No month specified" +msgstr "कोणताही महिना निर्दिष्ट केलेला नाही" + +msgid "No day specified" +msgstr "कोणताही दिवस निर्दिष्ट केलेला नाही" + +msgid "No week specified" +msgstr "कोणताही आठवडा निर्दिष्ट केलेला नाही" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "कोणतेही %(verbose_name_plural)s उपलब्ध नाहीत" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "क्वेरीसह जुळणारे कोणतेही %(verbose_name)s सापडले नाही" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "अवैध पान (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "डिरेक्टरी निर्देशकांना येथे परवानगी नाही." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "“%(path)s” अस्तित्वात नाही" + +#, python-format +msgid "Index of %(directory)s" +msgstr "%(directory)s चे निर्देशांक" + +msgid "The install worked successfully! Congratulations!" +msgstr "इंस्टॉलेशनने यशस्वीरित्या कार्य केले! अभिनंदन!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"डिजांगो %(version)s साठी प्रदर्शित संदेश पहा" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"तुम्ही हे पान पाहत आहात कारण तुमच्या सेटिंग्ज फाइलमध्ये DEBUG=True आहे आणि तुम्ही कोणतीही URL कॉन्फिगर केलेली नाही." + +msgid "Django Documentation" +msgstr "जांगो दस्तऐवजीकरण" + +msgid "Topics, references, & how-to’s" +msgstr "विषय, संदर्भ, आणि कसे करावे" + +msgid "Tutorial: A Polling App" +msgstr "शिकवणी: मतदान अ‍ॅप" + +msgid "Get started with Django" +msgstr "जॅंगो सोबत सुरवात करा" + +msgid "Django Community" +msgstr "जॅंगो समुदाय" + +msgid "Connect, get help, or contribute" +msgstr "जोडा, मदत मिळवा किंवा हातभार लावा" diff --git a/external_sources/django/django/conf/locale/ms/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/ms/LC_MESSAGES/django.po new file mode 100644 index 0000000..5884745 --- /dev/null +++ b/external_sources/django/django/conf/locale/ms/LC_MESSAGES/django.po @@ -0,0 +1,1286 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jafry Hisham, 2021 +# Mariusz Felisiak , 2021 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-09-21 10:22+0200\n" +"PO-Revision-Date: 2021-12-06 07:43+0000\n" +"Last-Translator: Mariusz Felisiak \n" +"Language-Team: Malay (http://www.transifex.com/django/django/language/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" + +msgid "Afrikaans" +msgstr "Bahasa Afrikaans" + +msgid "Arabic" +msgstr "Bahasa Arab" + +msgid "Algerian Arabic" +msgstr "Bahasa Arab Algeria" + +msgid "Asturian" +msgstr "Bahasa Asturia" + +msgid "Azerbaijani" +msgstr "Bahasa Azerbaijan" + +msgid "Bulgarian" +msgstr "Bahasa Bulgaria" + +msgid "Belarusian" +msgstr "Bahasa Belarus" + +msgid "Bengali" +msgstr "Bahasa Benggali" + +msgid "Breton" +msgstr "Bahasa Breton" + +msgid "Bosnian" +msgstr "Bahasa Bosnia" + +msgid "Catalan" +msgstr "Bahasa Catalonia" + +msgid "Czech" +msgstr "Bahasa Czech" + +msgid "Welsh" +msgstr "Bahasa Wales" + +msgid "Danish" +msgstr "Bahasa Denmark" + +msgid "German" +msgstr "Bahasa Jerman" + +msgid "Lower Sorbian" +msgstr "Bahasa Sorbian Rendah" + +msgid "Greek" +msgstr "Bahasa Yunani" + +msgid "English" +msgstr "Bahasa Inggeris" + +msgid "Australian English" +msgstr "Bahasa Inggeris Australia" + +msgid "British English" +msgstr "Bahasa Inggeris British" + +msgid "Esperanto" +msgstr "Bahasa Esperanto" + +msgid "Spanish" +msgstr "Bahasa Sepanyol" + +msgid "Argentinian Spanish" +msgstr "Bahasa Sepanyol Argentina" + +msgid "Colombian Spanish" +msgstr "Bahasa Sepanyol Kolumbia" + +msgid "Mexican Spanish" +msgstr "Bahasa Sepanyol Mexico" + +msgid "Nicaraguan Spanish" +msgstr "Bahasa Sepanyol Nicaragua" + +msgid "Venezuelan Spanish" +msgstr "Bahasa Sepanyol Venezuela" + +msgid "Estonian" +msgstr "Bahasa Estonia" + +msgid "Basque" +msgstr "Bahasa Bask" + +msgid "Persian" +msgstr "Bahasa Farsi" + +msgid "Finnish" +msgstr "Bahassa Finland" + +msgid "French" +msgstr "Bahasa Perancis" + +msgid "Frisian" +msgstr "Bahasa Frisia" + +msgid "Irish" +msgstr "Bahasa Ireland" + +msgid "Scottish Gaelic" +msgstr "Bahasa Gael Scotland" + +msgid "Galician" +msgstr "Bahasa Galisia" + +msgid "Hebrew" +msgstr "Bahasa Ibrani" + +msgid "Hindi" +msgstr "Bahasa Hindi" + +msgid "Croatian" +msgstr "Bahasa Kroatia" + +msgid "Upper Sorbian" +msgstr "Bahasa Sorbia Atasan" + +msgid "Hungarian" +msgstr "Bahasa Hungary" + +msgid "Armenian" +msgstr "Bahasa Armenia" + +msgid "Interlingua" +msgstr "Bahasa Interlingua" + +msgid "Indonesian" +msgstr "Bahasa Indonesia" + +msgid "Igbo" +msgstr "Bahasa Igbo" + +msgid "Ido" +msgstr "Bahasa Ido" + +msgid "Icelandic" +msgstr "Bahasa Iceland" + +msgid "Italian" +msgstr "Bahasa Itali" + +msgid "Japanese" +msgstr "Bahasa Jepun" + +msgid "Georgian" +msgstr "Bahasa Georgia" + +msgid "Kabyle" +msgstr "Bahasa Kabylia" + +msgid "Kazakh" +msgstr "Bahasa Kazakhstan" + +msgid "Khmer" +msgstr "Bahasa Kambodia" + +msgid "Kannada" +msgstr "Bahasa Kannada" + +msgid "Korean" +msgstr "Bahasa Korea" + +msgid "Kyrgyz" +msgstr "Bahasa Kyrgyzstan" + +msgid "Luxembourgish" +msgstr "Bahasa Luxemborg" + +msgid "Lithuanian" +msgstr "Bahasa Lithuania" + +msgid "Latvian" +msgstr "Bahasa Latvia" + +msgid "Macedonian" +msgstr "Bahasa Masedonia" + +msgid "Malayalam" +msgstr "Malayalam" + +msgid "Mongolian" +msgstr "Bahasa Mongol" + +msgid "Marathi" +msgstr "Marathi" + +msgid "Malay" +msgstr "Bahasa Melayu" + +msgid "Burmese" +msgstr "Bahasa Burma" + +msgid "Norwegian Bokmål" +msgstr "Bahasa Bokmal Norway" + +msgid "Nepali" +msgstr "Bahasa Nepal" + +msgid "Dutch" +msgstr "Belanda" + +msgid "Norwegian Nynorsk" +msgstr "Bahasa Nynorsk Norway" + +msgid "Ossetic" +msgstr "Bahasa Ossetic" + +msgid "Punjabi" +msgstr "Bahasa Punjab" + +msgid "Polish" +msgstr "Bahasa Poland" + +msgid "Portuguese" +msgstr "Bahasa Portugal" + +msgid "Brazilian Portuguese" +msgstr "Bahasa Portugal Brazil" + +msgid "Romanian" +msgstr "Bahasa Romania" + +msgid "Russian" +msgstr "Bahasa Rusia" + +msgid "Slovak" +msgstr "Bahasa Slovakia" + +msgid "Slovenian" +msgstr "Bahasa Slovenia" + +msgid "Albanian" +msgstr "Bahasa Albania" + +msgid "Serbian" +msgstr "Bahasa Serbia" + +msgid "Serbian Latin" +msgstr "Bahasa Latin Serbia" + +msgid "Swedish" +msgstr "Bahasa Sweden" + +msgid "Swahili" +msgstr "Bahasa Swahili" + +msgid "Tamil" +msgstr "Bahasa Tamil" + +msgid "Telugu" +msgstr "Bahasa Telugu" + +msgid "Tajik" +msgstr "Bahasa Tajik" + +msgid "Thai" +msgstr "Bahasa Siam" + +msgid "Turkmen" +msgstr "Bahasa Turkmenistan" + +msgid "Turkish" +msgstr "Bahasa Turki" + +msgid "Tatar" +msgstr "Bahasa Tatar" + +msgid "Udmurt" +msgstr "Bahasa Udmurt" + +msgid "Ukrainian" +msgstr "Bahasa Ukraine" + +msgid "Urdu" +msgstr "Bahasa Urdu" + +msgid "Uzbek" +msgstr "Bahasa Uzbekistan" + +msgid "Vietnamese" +msgstr "Bahasa Vietnam" + +msgid "Simplified Chinese" +msgstr "Bahasa Cina (Dipermudahkan)" + +msgid "Traditional Chinese" +msgstr "Bahasa Cina Tradisional" + +msgid "Messages" +msgstr "Mesej" + +msgid "Site Maps" +msgstr "Peta Laman" + +msgid "Static Files" +msgstr "Fail Statik" + +msgid "Syndication" +msgstr "Sindikasi" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "..." + +msgid "That page number is not an integer" +msgstr "Nombor ruangan itu bukanlah integer" + +msgid "That page number is less than 1" +msgstr "Nombor ruangan itu kurang daripada 1" + +msgid "That page contains no results" +msgstr "Ruangan itu tiada keputusan" + +msgid "Enter a valid value." +msgstr "Masukkan nilai yang sah." + +msgid "Enter a valid URL." +msgstr "Masukkan URL yang sah." + +msgid "Enter a valid integer." +msgstr "Masukkan integer yang sah." + +msgid "Enter a valid email address." +msgstr "Masukkan alamat emel yang sah." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Masukkan \"slug\" yang sah yang mengandungi huruf, nombor, garisan atau " +"tanda sempang." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Masukkan \"slug\" yang sah yang mengandungi huruf Unicode, nombor, garisan, " +"atau tanda sempang." + +msgid "Enter a valid IPv4 address." +msgstr "Masukkan alamat IPv4 yang sah." + +msgid "Enter a valid IPv6 address." +msgstr "Masukkan alamat IPv6 yang sah." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Masukkan alamat IPv4 atau IPv6 yang sah." + +msgid "Enter only digits separated by commas." +msgstr "Hanya masukkan digit yang dipisahkan oleh koma." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Pastikan nilai ini adalah %(limit_value)s (ia adalah %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Pastikan nilai ini kurang daripada atau sama dengan %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Pastikan nilai ini lebih daripada atau sama dengan %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Pastikan nilai ini mempunyai sekurang-kurangnya %(limit_value)d karater (ia " +"mempunyai %(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Pastikan nilai ini mempunyai sepalingnya %(limit_value)d karakter (ia " +"mempunyai %(show_value)d)." + +msgid "Enter a number." +msgstr "Masukkan nombor." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Pastikan jumlah tidak melebihi %(max)s digit." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Pastikan titik perpuluhan tidak melebihi %(max)s." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Pastikan jumlah digit tidak melebihi %(max)s sebelum titik perpuluhan." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Sambungan fail \"%(extension)s\" tidak dibenarkan. Sambungan yang dibenarkan " +"adalah: %(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Karakter Null tidak dibenarkan." + +msgid "and" +msgstr "dan" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s dengan %(field_labels)s ini sudah wujud." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Nilai %(value)r bukan pilihan yang sah." + +msgid "This field cannot be null." +msgstr "Medan ini tidak boleh null." + +msgid "This field cannot be blank." +msgstr "Medan ini tidak boleh dibiarkan kosong." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s dengan %(field_label)s ini sudah wujud." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "%(field_label)s mesti unik untuk %(date_field_label)s %(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Jenis medan: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "Nilai \"%(value)s\" mesti samada True atau False." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "Nilai \"%(value)s\" mesti samada True, False, atau None." + +msgid "Boolean (Either True or False)" +msgstr "Boolean (Samada True atau False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "String (sehingga %(max_length)s)" + +msgid "Comma-separated integers" +msgstr "Integer dipisahkan dengan koma" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"Nilai \"%(value)s\" mempunyai format tarikh yang tidak sah. Format harus " +"berbentuk YYYY-MM-DD." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"Nilai \"%(value)s\" mempunyai format yang betul (YYYY-MM-DD) tetapi ia " +"adalah tarikh yang tidak sah." + +msgid "Date (without time)" +msgstr "Tarikh (tanpa masa)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"Nilai \"%(value)s\" mempunyai format yang tidak sah. Format harus berbentuk " +"YYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"Nilai \"%(value)s\" mempunyai format yang betul (YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ]) tetapi ia adalah tarikh/masa yang tidak sah." + +msgid "Date (with time)" +msgstr "Tarikh (dengan masa)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "Nilai \"%(value)s\" mesti dalam bentuk nombor titik perpuluhan." + +msgid "Decimal number" +msgstr "Nombor titik perpuluhan" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"Nilai \"%(value)s\" mempunyai format yang tidak sah. Format harus berbentuk " +"[DD] [[HH:]MM:]ss[.uuuuuu]." + +msgid "Duration" +msgstr "Jangka-masa" + +msgid "Email address" +msgstr "Alama emel" + +msgid "File path" +msgstr "Laluan fail" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "Nilai \"%(value)s\" mesti dalam bentuk titik terapung." + +msgid "Floating point number" +msgstr "Nombor titik terapung" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "Nilai \"%(value)s\" mesti dalam bentuk integer." + +msgid "Integer" +msgstr "Integer" + +msgid "Big (8 byte) integer" +msgstr "Integer besar (8 bait)" + +msgid "Small integer" +msgstr "Integer kecil" + +msgid "IPv4 address" +msgstr "Alamat IPv4" + +msgid "IP address" +msgstr "Alamat IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "Nilai \"%(value)s\" mesti samada None, True, atau False." + +msgid "Boolean (Either True, False or None)" +msgstr "Boolean (samada True, False, None)" + +msgid "Positive big integer" +msgstr "Integer besar positif" + +msgid "Positive integer" +msgstr "Integer positif" + +msgid "Positive small integer" +msgstr "Integer kecil positif" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (sehingga %(max_length)s)" + +msgid "Text" +msgstr "Teks" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"Nilai \"%(value)s\" mempunyai format yang tidak sah. Format harus berbentuk " +"HH:MM[:ss[.uuuuuu]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"Nilai \"%(value)s\" mempunyai format yang betul (HH:MM[:ss[.uuuuuu]]) tetapi " +"ia mempunyai masa yang tidak sah." + +msgid "Time" +msgstr "Masa" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Data binari mentah" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "UUID \"%(value)s\" tidak sah." + +msgid "Universally unique identifier" +msgstr "Pengecam unik universal" + +msgid "File" +msgstr "Fail" + +msgid "Image" +msgstr "Imej" + +msgid "A JSON object" +msgstr "Objek JSON" + +msgid "Value must be valid JSON." +msgstr "Nilai harus dalam bentuk JSON yang sah." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "%(model)s dengan %(field)s %(value)r tidak wujud." + +msgid "Foreign Key (type determined by related field)" +msgstr "Kunci Asing (jenis ditentukan oleh medan yang berkaitan)" + +msgid "One-to-one relationship" +msgstr "Hubungan satu-ke-satu" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "Hubungan %(from)s-%(to)s" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "Hubungan %(from)s-%(to)s" + +msgid "Many-to-many relationship" +msgstr "Hubungan banyak-ke-banyak" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Medan ini diperlukan." + +msgid "Enter a whole number." +msgstr "Masukkan nombor bulat." + +msgid "Enter a valid date." +msgstr "Masukkan tarikh yang sah." + +msgid "Enter a valid time." +msgstr "Masukkan masa yang sah." + +msgid "Enter a valid date/time." +msgstr "Masukkan tarikh/masa yang sah." + +msgid "Enter a valid duration." +msgstr "Masukkan jangka-masa yang sah." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Jumlah hari mesti diantara {min_days} ke {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Tiada fail yang dihantar. Periksa jenis encoding pada borang." + +msgid "No file was submitted." +msgstr "Tiada fail yang dihantar." + +msgid "The submitted file is empty." +msgstr "Fail yang dihantar kosong." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Pastikan nama fial ini tidak melebihi %(max)d karakter (ia mempunyai " +"%(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Sila hantar fail atau tandakan pada kotak, bukan kedua-duanya sekali. " + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Muatnaik imej yang sah. Fail yang anda muatnaik samada bukan imej atau imej " +"yang rosak." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Pilih pilihan yang sah. %(value)s bukan pilihan yang tersedia." + +msgid "Enter a list of values." +msgstr "Masukkan senarai nilai." + +msgid "Enter a complete value." +msgstr "Masukkan nilai yang lengkap." + +msgid "Enter a valid UUID." +msgstr "Masukkan UUID yang sah." + +msgid "Enter a valid JSON." +msgstr "Masukkan JSON yang sah." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "%(error)s (Medan tersorok %(name)s)" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"Data ManagementForm tidak dijumpai atau telah diusik. Medan yang hilang: " +"%(field_names)s. Anda mungkin perlu menghantar laporan pepijat sekiranya " +"masalah masih berterusan." + +#, python-format +msgid "Please submit at most %d form." +msgid_plural "Please submit at most %d forms." +msgstr[0] "Sila hantar tidak lebih dari %d borang." + +#, python-format +msgid "Please submit at least %d form." +msgid_plural "Please submit at least %d forms." +msgstr[0] "Sila hantar sekurang-kurangnya %d borang." + +msgid "Order" +msgstr "Susunan" + +msgid "Delete" +msgstr "Padam" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Sila betulkan data duplikasi bagi %(field)s" + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "Sila betulkan data duplikasi bagi %(field)s, yang mana mestilah unik." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Sila betulkan data duplikasi bagi %(field_name)s yang mana mestilah unik " +"untuk %(lookup)s didalam %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Sila betulkan nilai-nilai duplikasi dibawah." + +msgid "The inline value did not match the parent instance." +msgstr "Nilai didalam barisan tidak sepadan dengan parent instance." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Pilih pilihan yang sah. Pilihan itu tidak ada didalam senarai pilihan." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "\"%(pk)s\" bukan nilai yang sah." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s tidak dapat diterjemahkan ke dalam zon masa " +"%(current_timezone)s; ia mungkin samar-samar atau tidak wujud." + +msgid "Clear" +msgstr "Kosongkan" + +msgid "Currently" +msgstr "Kini" + +msgid "Change" +msgstr "Tukar" + +msgid "Unknown" +msgstr "Tidak diketahui" + +msgid "Yes" +msgstr "Ya" + +msgid "No" +msgstr "Tidak" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "ya,tidak,mungkin" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d bait" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "malam" + +msgid "a.m." +msgstr "pagi" + +msgid "PM" +msgstr "MALAM" + +msgid "AM" +msgstr "PAGI" + +msgid "midnight" +msgstr "tengah malam" + +msgid "noon" +msgstr "tengahari" + +msgid "Monday" +msgstr "Isnin" + +msgid "Tuesday" +msgstr "Selasa" + +msgid "Wednesday" +msgstr "Rabu" + +msgid "Thursday" +msgstr "Khamis" + +msgid "Friday" +msgstr "Jumaat" + +msgid "Saturday" +msgstr "Sabtu" + +msgid "Sunday" +msgstr "Ahad" + +msgid "Mon" +msgstr "Isn" + +msgid "Tue" +msgstr "Sel" + +msgid "Wed" +msgstr "Rab" + +msgid "Thu" +msgstr "Kha" + +msgid "Fri" +msgstr "Jum" + +msgid "Sat" +msgstr "Sab" + +msgid "Sun" +msgstr "Aha" + +msgid "January" +msgstr "Januari" + +msgid "February" +msgstr "Februari" + +msgid "March" +msgstr "Mac" + +msgid "April" +msgstr "April" + +msgid "May" +msgstr "Mei" + +msgid "June" +msgstr "Jun" + +msgid "July" +msgstr "Julai" + +msgid "August" +msgstr "Ogos" + +msgid "September" +msgstr "September" + +msgid "October" +msgstr "Oktober" + +msgid "November" +msgstr "November" + +msgid "December" +msgstr "Disember" + +msgid "jan" +msgstr "jan" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "apr" + +msgid "may" +msgstr "mei" + +msgid "jun" +msgstr "jun" + +msgid "jul" +msgstr "jul" + +msgid "aug" +msgstr "ogo" + +msgid "sep" +msgstr "sep" + +msgid "oct" +msgstr "okt" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "dis" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Jan." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Feb" + +msgctxt "abbrev. month" +msgid "March" +msgstr "Mac" + +msgctxt "abbrev. month" +msgid "April" +msgstr "April" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Mei" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Jun" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Julai" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Ogo." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Sept." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Okt." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Dis." + +msgctxt "alt. month" +msgid "January" +msgstr "Januari" + +msgctxt "alt. month" +msgid "February" +msgstr "Februari" + +msgctxt "alt. month" +msgid "March" +msgstr "Mac" + +msgctxt "alt. month" +msgid "April" +msgstr "April" + +msgctxt "alt. month" +msgid "May" +msgstr "Mei" + +msgctxt "alt. month" +msgid "June" +msgstr "Jun" + +msgctxt "alt. month" +msgid "July" +msgstr "Julai" + +msgctxt "alt. month" +msgid "August" +msgstr "Ogos" + +msgctxt "alt. month" +msgid "September" +msgstr "September" + +msgctxt "alt. month" +msgid "October" +msgstr "Oktober" + +msgctxt "alt. month" +msgid "November" +msgstr "November" + +msgctxt "alt. month" +msgid "December" +msgstr "Disember" + +msgid "This is not a valid IPv6 address." +msgstr "Alamat IPv6 ini tidak sah." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s ..." + +msgid "or" +msgstr "atau" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr "," + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d tahun" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d bulan" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d minggu " + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d hari" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d jam" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d minit" + +msgid "Forbidden" +msgstr "Dilarang" + +msgid "CSRF verification failed. Request aborted." +msgstr "Verifikasi VSRF gagal. Permintaan dihentikan." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Anda melihat mesej ini kerana laman HTTPS ini memerlukan \"Referer header\" " +"dihantar ke pelayar sesawang anda, tetapi ia tidak dihantar. Header ini " +"diperlukan bagi tujuan keselamatan, agar dapat memastikan pelayar anda tidak " +"dirampas oleh pihak ketiga." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Sekiranya anda telah menetapkan pelayar anda untuk mematikan header \"Referer" +"\", sila hidupkannya semula, sekurang-kurangya bagi laman ini, atau bagi " +"sambungan HTTPS, atau bagi permintaan \"same-origin\"." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Sekiranya anda menggunakan tag atau memasukkan header \"Referer-Policy: no-referrer\", sila buangkan " +"ia. Perlindungan CSRF memerlukan header \"Referer\" untuk melakukan " +"penyemakan referer yang ketat. Sekiranya anda risau tentang privasi anda, " +"gunakan alternatif seperti bagi pautan laman pihak " +"ketiga." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Anda melihat mesej ini kerana laman ini memerlukan cookie CSRF apabila " +"menghantar borang. Cookie ini diperlukan bagi tujuan keselamatan, bagi " +"memastikan pelayar anda tidak dirampas oleh pihak ketiga." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Sekiranya anda telah menetapkan pelayar anda untuk tidak menerima cookie, " +"sila hidupkannya semula, sekurang-kurangnya bagi laman ini, atau bagi " +"permintaan \"same-origin\"." + +msgid "More information is available with DEBUG=True." +msgstr "Maklumat lanjut boleh didapati dengan menetapkan DEBUG=True." + +msgid "No year specified" +msgstr "Tiada tahun diberikan" + +msgid "Date out of range" +msgstr "Tarikh diluar julat" + +msgid "No month specified" +msgstr "Tiada bulan diberikan" + +msgid "No day specified" +msgstr "Tiada hari diberikan" + +msgid "No week specified" +msgstr "Tiada minggu diberikan" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "%(verbose_name_plural)s tiada" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"%(verbose_name_plural)s masa depan tiada kerana %(class_name)s.allow_future " +"adalah False. " + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" +"\"%(datestr)s\" tarikh yang diberikan tidak sah mengikut format \"%(format)s" +"\"" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Tiada %(verbose_name)s mengikut pertanyaan yang dimasukkan" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "Ruangan ini bukan \"last\", dan tidak boleh ditukar kepada int." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Ruangan tidak sah (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Senarai kosong dan \"%(class_name)s.allow_empty\" adalah False." + +msgid "Directory indexes are not allowed here." +msgstr "Indeks Direktori tidak dibenarkan disini." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "\"%(path)s\" tidak wujud" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Indeks %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "Pemasangan berjaya dilakukan! Tahniah!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Lihat nota pelepasan bagi Django %(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" +"Anda melihat ruangan ini kerana DEBUG=True terdapat didalam fail tetapan anda dan anda tidak " +"menetapkan sebarang URL." + +msgid "Django Documentation" +msgstr "Dokumentasi Django" + +msgid "Topics, references, & how-to’s" +msgstr "Topik, rujukan, & bagaimana-cara" + +msgid "Tutorial: A Polling App" +msgstr "Tutorial: App Soal-Selidik" + +msgid "Get started with Django" +msgstr "Mulakan dengan Django" + +msgid "Django Community" +msgstr "Komuniti Django" + +msgid "Connect, get help, or contribute" +msgstr "Sambung, minta bantuan, atau sumbang" diff --git a/external_sources/django/django/conf/locale/ms/__init__.py b/external_sources/django/django/conf/locale/ms/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/ms/formats.py b/external_sources/django/django/conf/locale/ms/formats.py new file mode 100644 index 0000000..d06719f --- /dev/null +++ b/external_sources/django/django/conf/locale/ms/formats.py @@ -0,0 +1,38 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j M Y" # '25 Oct 2006' +TIME_FORMAT = "P" # '2:30 p.m.' +DATETIME_FORMAT = "j M Y, P" # '25 Oct 2006, 2:30 p.m.' +YEAR_MONTH_FORMAT = "F Y" # 'October 2006' +MONTH_DAY_FORMAT = "j F" # '25 October' +SHORT_DATE_FORMAT = "d/m/Y" # '25/10/2006' +SHORT_DATETIME_FORMAT = "d/m/Y P" # '25/10/2006 2:30 p.m.' +FIRST_DAY_OF_WEEK = 0 # Sunday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%Y-%m-%d", # '2006-10-25' + "%d/%m/%Y", # '25/10/2006' + "%d/%m/%y", # '25/10/06' + "%d %b %Y", # '25 Oct 2006' + "%d %b, %Y", # '25 Oct, 2006' + "%d %B %Y", # '25 October 2006' + "%d %B, %Y", # '25 October, 2006' +] +DATETIME_INPUT_FORMATS = [ + "%Y-%m-%d %H:%M:%S", # '2006-10-25 14:30:59' + "%Y-%m-%d %H:%M:%S.%f", # '2006-10-25 14:30:59.000200' + "%Y-%m-%d %H:%M", # '2006-10-25 14:30' + "%d/%m/%Y %H:%M:%S", # '25/10/2006 14:30:59' + "%d/%m/%Y %H:%M:%S.%f", # '25/10/2006 14:30:59.000200' + "%d/%m/%Y %H:%M", # '25/10/2006 14:30' + "%d/%m/%y %H:%M:%S", # '25/10/06 14:30:59' + "%d/%m/%y %H:%M:%S.%f", # '25/10/06 14:30:59.000200' + "%d/%m/%y %H:%M", # '25/10/06 14:30' +] +DECIMAL_SEPARATOR = "." +THOUSAND_SEPARATOR = "," +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/my/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/my/LC_MESSAGES/django.po new file mode 100644 index 0000000..a1c7e9a --- /dev/null +++ b/external_sources/django/django/conf/locale/my/LC_MESSAGES/django.po @@ -0,0 +1,1197 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Yhal Htet Aung , 2013,2015 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-27 22:40+0200\n" +"PO-Revision-Date: 2019-11-05 00:38+0000\n" +"Last-Translator: Ramiro Morales\n" +"Language-Team: Burmese (http://www.transifex.com/django/django/language/" +"my/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: my\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Afrikaans" +msgstr "အာဖရိကန်" + +msgid "Arabic" +msgstr "အာရပ်" + +msgid "Asturian" +msgstr "" + +msgid "Azerbaijani" +msgstr "" + +msgid "Bulgarian" +msgstr "ဘူဂေးရီယန်" + +msgid "Belarusian" +msgstr "" + +msgid "Bengali" +msgstr "ဘင်းဂလီ" + +msgid "Breton" +msgstr "" + +msgid "Bosnian" +msgstr "ဘော့်စ်နီယန်" + +msgid "Catalan" +msgstr "ကက်တလန်" + +msgid "Czech" +msgstr "ချက်" + +msgid "Welsh" +msgstr "ဝေးလ်" + +msgid "Danish" +msgstr "ဒိန်းမတ်" + +msgid "German" +msgstr "ဂျာမန်" + +msgid "Lower Sorbian" +msgstr "" + +msgid "Greek" +msgstr "ဂရိ" + +msgid "English" +msgstr "အင်္ဂလိပ်" + +msgid "Australian English" +msgstr "" + +msgid "British English" +msgstr "ဗြိတိသျှအင်္ဂလိပ်" + +msgid "Esperanto" +msgstr "" + +msgid "Spanish" +msgstr "စပိန်" + +msgid "Argentinian Spanish" +msgstr "" + +msgid "Colombian Spanish" +msgstr "" + +msgid "Mexican Spanish" +msgstr "" + +msgid "Nicaraguan Spanish" +msgstr "" + +msgid "Venezuelan Spanish" +msgstr "" + +msgid "Estonian" +msgstr "" + +msgid "Basque" +msgstr "" + +msgid "Persian" +msgstr "" + +msgid "Finnish" +msgstr "" + +msgid "French" +msgstr "" + +msgid "Frisian" +msgstr "" + +msgid "Irish" +msgstr "" + +msgid "Scottish Gaelic" +msgstr "" + +msgid "Galician" +msgstr "" + +msgid "Hebrew" +msgstr "" + +msgid "Hindi" +msgstr "" + +msgid "Croatian" +msgstr "" + +msgid "Upper Sorbian" +msgstr "" + +msgid "Hungarian" +msgstr "" + +msgid "Armenian" +msgstr "" + +msgid "Interlingua" +msgstr "" + +msgid "Indonesian" +msgstr "" + +msgid "Ido" +msgstr "" + +msgid "Icelandic" +msgstr "" + +msgid "Italian" +msgstr "" + +msgid "Japanese" +msgstr "" + +msgid "Georgian" +msgstr "" + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "" + +msgid "Khmer" +msgstr "" + +msgid "Kannada" +msgstr "" + +msgid "Korean" +msgstr "" + +msgid "Luxembourgish" +msgstr "" + +msgid "Lithuanian" +msgstr "" + +msgid "Latvian" +msgstr "" + +msgid "Macedonian" +msgstr "" + +msgid "Malayalam" +msgstr "" + +msgid "Mongolian" +msgstr "" + +msgid "Marathi" +msgstr "" + +msgid "Burmese" +msgstr "" + +msgid "Norwegian Bokmål" +msgstr "" + +msgid "Nepali" +msgstr "" + +msgid "Dutch" +msgstr "" + +msgid "Norwegian Nynorsk" +msgstr "" + +msgid "Ossetic" +msgstr "" + +msgid "Punjabi" +msgstr "" + +msgid "Polish" +msgstr "" + +msgid "Portuguese" +msgstr "" + +msgid "Brazilian Portuguese" +msgstr "" + +msgid "Romanian" +msgstr "" + +msgid "Russian" +msgstr "" + +msgid "Slovak" +msgstr "" + +msgid "Slovenian" +msgstr "" + +msgid "Albanian" +msgstr "" + +msgid "Serbian" +msgstr "" + +msgid "Serbian Latin" +msgstr "" + +msgid "Swedish" +msgstr "" + +msgid "Swahili" +msgstr "" + +msgid "Tamil" +msgstr "" + +msgid "Telugu" +msgstr "" + +msgid "Thai" +msgstr "" + +msgid "Turkish" +msgstr "" + +msgid "Tatar" +msgstr "" + +msgid "Udmurt" +msgstr "" + +msgid "Ukrainian" +msgstr "" + +msgid "Urdu" +msgstr "" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "" + +msgid "Simplified Chinese" +msgstr "" + +msgid "Traditional Chinese" +msgstr "" + +msgid "Messages" +msgstr "" + +msgid "Site Maps" +msgstr "" + +msgid "Static Files" +msgstr "" + +msgid "Syndication" +msgstr "" + +msgid "That page number is not an integer" +msgstr "" + +msgid "That page number is less than 1" +msgstr "" + +msgid "That page contains no results" +msgstr "" + +msgid "Enter a valid value." +msgstr "" + +msgid "Enter a valid URL." +msgstr "" + +msgid "Enter a valid integer." +msgstr "" + +msgid "Enter a valid email address." +msgstr "" + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "" + +msgid "Enter a valid IPv6 address." +msgstr "" + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "" + +msgid "Enter only digits separated by commas." +msgstr "" + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" + +msgid "Enter a number." +msgstr "" + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "" + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "" + +msgid "and" +msgstr "နှင့်" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "" + +msgid "This field cannot be null." +msgstr "" + +msgid "This field cannot be blank." +msgstr "" + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "" + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "" + +msgid "Comma-separated integers" +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "" + +msgid "Email address" +msgstr "အီးမေးလ်လိပ်စာ" + +msgid "File path" +msgstr "" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "ကိန်းပြည့်" + +msgid "Big (8 byte) integer" +msgstr "" + +msgid "IPv4 address" +msgstr "အိုင်ပီဗီ၄လိပ်စာ" + +msgid "IP address" +msgstr "အိုင်ပီလိပ်စာ" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "" + +msgid "Positive integer" +msgstr "" + +msgid "Positive small integer" +msgstr "" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "" + +msgid "Small integer" +msgstr "" + +msgid "Text" +msgstr "စာသား" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "" + +msgid "URL" +msgstr "ယူအာအယ်" + +msgid "Raw binary data" +msgstr "" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "ဖိုင်" + +msgid "Image" +msgstr "ပံု" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" + +msgid "Foreign Key (type determined by related field)" +msgstr "" + +msgid "One-to-one relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "" + +msgid "Many-to-many relationship" +msgstr "" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr "" + +msgid "This field is required." +msgstr "" + +msgid "Enter a whole number." +msgstr "" + +msgid "Enter a valid date." +msgstr "" + +msgid "Enter a valid time." +msgstr "" + +msgid "Enter a valid date/time." +msgstr "" + +msgid "Enter a valid duration." +msgstr "" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" + +msgid "No file was submitted." +msgstr "" + +msgid "The submitted file is empty." +msgstr "" + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" + +msgid "Enter a list of values." +msgstr "" + +msgid "Enter a complete value." +msgstr "" + +msgid "Enter a valid UUID." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr "" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "" + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "" + +msgid "Order" +msgstr "မှာကြား" + +msgid "Delete" +msgstr "ပယ်ဖျက်" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "" + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" + +msgid "Please correct the duplicate values below." +msgstr "" + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "" + +msgid "Currently" +msgstr "" + +msgid "Change" +msgstr "" + +msgid "Unknown" +msgstr "အမည်မသိ" + +msgid "Yes" +msgstr "ဟုတ်" + +msgid "No" +msgstr "မဟုတ်" + +msgid "Year" +msgstr "" + +msgid "Month" +msgstr "" + +msgid "Day" +msgstr "" + +msgid "yes,no,maybe" +msgstr "" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d ဘိုက်များ" + +#, python-format +msgid "%s KB" +msgstr "%s ကီလိုဘိုက်" + +#, python-format +msgid "%s MB" +msgstr "%s မက်ဂါဘိုက်" + +#, python-format +msgid "%s GB" +msgstr "%s ဂစ်ဂါဘိုက်" + +#, python-format +msgid "%s TB" +msgstr "%s တီရာဘိုက်" + +#, python-format +msgid "%s PB" +msgstr "%s ပီတာဘိုက်" + +msgid "p.m." +msgstr "ညနေ" + +msgid "a.m." +msgstr "မနက်" + +msgid "PM" +msgstr "ညနေ" + +msgid "AM" +msgstr "မနက်" + +msgid "midnight" +msgstr "သန်းခေါင်" + +msgid "noon" +msgstr "မွန်းတည့်" + +msgid "Monday" +msgstr "တနင်္လာနေ့" + +msgid "Tuesday" +msgstr "" + +msgid "Wednesday" +msgstr "" + +msgid "Thursday" +msgstr "" + +msgid "Friday" +msgstr "" + +msgid "Saturday" +msgstr "" + +msgid "Sunday" +msgstr "" + +msgid "Mon" +msgstr "" + +msgid "Tue" +msgstr "" + +msgid "Wed" +msgstr "" + +msgid "Thu" +msgstr "" + +msgid "Fri" +msgstr "" + +msgid "Sat" +msgstr "" + +msgid "Sun" +msgstr "" + +msgid "January" +msgstr "" + +msgid "February" +msgstr "" + +msgid "March" +msgstr "" + +msgid "April" +msgstr "" + +msgid "May" +msgstr "" + +msgid "June" +msgstr "" + +msgid "July" +msgstr "" + +msgid "August" +msgstr "" + +msgid "September" +msgstr "" + +msgid "October" +msgstr "" + +msgid "November" +msgstr "" + +msgid "December" +msgstr "" + +msgid "jan" +msgstr "" + +msgid "feb" +msgstr "" + +msgid "mar" +msgstr "" + +msgid "apr" +msgstr "" + +msgid "may" +msgstr "" + +msgid "jun" +msgstr "" + +msgid "jul" +msgstr "" + +msgid "aug" +msgstr "" + +msgid "sep" +msgstr "" + +msgid "oct" +msgstr "" + +msgid "nov" +msgstr "" + +msgid "dec" +msgstr "" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "" + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "" + +msgctxt "abbrev. month" +msgid "March" +msgstr "" + +msgctxt "abbrev. month" +msgid "April" +msgstr "" + +msgctxt "abbrev. month" +msgid "May" +msgstr "" + +msgctxt "abbrev. month" +msgid "June" +msgstr "" + +msgctxt "abbrev. month" +msgid "July" +msgstr "" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "" + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "" + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "" + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "" + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "" + +msgctxt "alt. month" +msgid "January" +msgstr "" + +msgctxt "alt. month" +msgid "February" +msgstr "" + +msgctxt "alt. month" +msgid "March" +msgstr "" + +msgctxt "alt. month" +msgid "April" +msgstr "" + +msgctxt "alt. month" +msgid "May" +msgstr "" + +msgctxt "alt. month" +msgid "June" +msgstr "" + +msgctxt "alt. month" +msgid "July" +msgstr "" + +msgctxt "alt. month" +msgid "August" +msgstr "" + +msgctxt "alt. month" +msgid "September" +msgstr "" + +msgctxt "alt. month" +msgid "October" +msgstr "" + +msgctxt "alt. month" +msgid "November" +msgstr "" + +msgctxt "alt. month" +msgid "December" +msgstr "" + +msgid "This is not a valid IPv6 address." +msgstr "" + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr "" + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "" + +msgid "0 minutes" +msgstr "" + +msgid "Forbidden" +msgstr "" + +msgid "CSRF verification failed. Request aborted." +msgstr "" + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "" + +msgid "No year specified" +msgstr "" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "" + +msgid "No day specified" +msgstr "" + +msgid "No week specified" +msgstr "" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "" + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/nb/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/nb/LC_MESSAGES/django.po new file mode 100644 index 0000000..cb2932b --- /dev/null +++ b/external_sources/django/django/conf/locale/nb/LC_MESSAGES/django.po @@ -0,0 +1,1324 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Alexander Hansen , 2014 +# Eirik Krogstad , 2014 +# Jannis Leidel , 2011 +# jensadne , 2014-2015 +# Jon, 2015-2016 +# Jon, 2014 +# Jon, 2017-2022 +# Jon, 2013 +# Jon, 2011 +# Sigurd Gartmann , 2012 +# Tommy Strand , 2013 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-01-17 02:13-0600\n" +"PO-Revision-Date: 2023-04-25 06:49+0000\n" +"Last-Translator: Jon, 2017-2022\n" +"Language-Team: Norwegian Bokmål (http://www.transifex.com/django/django/" +"language/nb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "Afrikaans" + +msgid "Arabic" +msgstr "Arabisk" + +msgid "Algerian Arabic" +msgstr "Algerisk arabisk" + +msgid "Asturian" +msgstr "Asturiansk" + +msgid "Azerbaijani" +msgstr "Aserbajdsjansk" + +msgid "Bulgarian" +msgstr "Bulgarsk" + +msgid "Belarusian" +msgstr "Hviterussisk" + +msgid "Bengali" +msgstr "Bengalsk" + +msgid "Breton" +msgstr "Bretonsk" + +msgid "Bosnian" +msgstr "Bosnisk" + +msgid "Catalan" +msgstr "Katalansk" + +msgid "Central Kurdish (Sorani)" +msgstr "" + +msgid "Czech" +msgstr "Tsjekkisk" + +msgid "Welsh" +msgstr "Walisisk" + +msgid "Danish" +msgstr "Dansk" + +msgid "German" +msgstr "Tysk" + +msgid "Lower Sorbian" +msgstr "Lavsorbisk" + +msgid "Greek" +msgstr "Gresk" + +msgid "English" +msgstr "Engelsk" + +msgid "Australian English" +msgstr "Engelsk (australsk)" + +msgid "British English" +msgstr "Engelsk (britisk)" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Spansk" + +msgid "Argentinian Spanish" +msgstr "Argentinsk spansk" + +msgid "Colombian Spanish" +msgstr "Colombiansk spansk" + +msgid "Mexican Spanish" +msgstr "Meksikansk spansk" + +msgid "Nicaraguan Spanish" +msgstr "Nicaraguansk spansk" + +msgid "Venezuelan Spanish" +msgstr "Venezuelanske spansk" + +msgid "Estonian" +msgstr "Estisk" + +msgid "Basque" +msgstr "Baskisk" + +msgid "Persian" +msgstr "Persisk" + +msgid "Finnish" +msgstr "Finsk" + +msgid "French" +msgstr "Fransk" + +msgid "Frisian" +msgstr "Frisisk" + +msgid "Irish" +msgstr "Irsk" + +msgid "Scottish Gaelic" +msgstr "Skotsk-gælisk" + +msgid "Galician" +msgstr "Galisisk" + +msgid "Hebrew" +msgstr "Hebraisk" + +msgid "Hindi" +msgstr "Hindi" + +msgid "Croatian" +msgstr "Kroatisk" + +msgid "Upper Sorbian" +msgstr "Høysorbisk" + +msgid "Hungarian" +msgstr "Ungarsk" + +msgid "Armenian" +msgstr "Armensk" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indonesisk" + +msgid "Igbo" +msgstr "Ibo" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Islandsk" + +msgid "Italian" +msgstr "Italiensk" + +msgid "Japanese" +msgstr "Japansk" + +msgid "Georgian" +msgstr "Georgisk" + +msgid "Kabyle" +msgstr "Kabylsk" + +msgid "Kazakh" +msgstr "Kasakhisk" + +msgid "Khmer" +msgstr "Khmer" + +msgid "Kannada" +msgstr "Kannada" + +msgid "Korean" +msgstr "Koreansk" + +msgid "Kyrgyz" +msgstr "Kirgisisk" + +msgid "Luxembourgish" +msgstr "Luxembourgsk" + +msgid "Lithuanian" +msgstr "Litauisk" + +msgid "Latvian" +msgstr "Latvisk" + +msgid "Macedonian" +msgstr "Makedonsk" + +msgid "Malayalam" +msgstr "Malayalam" + +msgid "Mongolian" +msgstr "Mongolsk" + +msgid "Marathi" +msgstr "Marathi" + +msgid "Malay" +msgstr "Malayisk" + +msgid "Burmese" +msgstr "Burmesisk" + +msgid "Norwegian Bokmål" +msgstr "Norsk (bokmål)" + +msgid "Nepali" +msgstr "Nepali" + +msgid "Dutch" +msgstr "Nederlandsk" + +msgid "Norwegian Nynorsk" +msgstr "Norsk (nynorsk)" + +msgid "Ossetic" +msgstr "Ossetisk" + +msgid "Punjabi" +msgstr "Panjabi" + +msgid "Polish" +msgstr "Polsk" + +msgid "Portuguese" +msgstr "Portugisisk" + +msgid "Brazilian Portuguese" +msgstr "Brasiliansk portugisisk" + +msgid "Romanian" +msgstr "Rumensk" + +msgid "Russian" +msgstr "Russisk" + +msgid "Slovak" +msgstr "Slovakisk" + +msgid "Slovenian" +msgstr "Slovensk" + +msgid "Albanian" +msgstr "Albansk" + +msgid "Serbian" +msgstr "Serbisk" + +msgid "Serbian Latin" +msgstr "Serbisk latin" + +msgid "Swedish" +msgstr "Svensk" + +msgid "Swahili" +msgstr "Swahili" + +msgid "Tamil" +msgstr "Tamil" + +msgid "Telugu" +msgstr "Telugu" + +msgid "Tajik" +msgstr "Tadsjikisk" + +msgid "Thai" +msgstr "Thai" + +msgid "Turkmen" +msgstr "Turkmensk" + +msgid "Turkish" +msgstr "Tyrkisk" + +msgid "Tatar" +msgstr "Tatarisk" + +msgid "Udmurt" +msgstr "Udmurtisk" + +msgid "Ukrainian" +msgstr "Ukrainsk" + +msgid "Urdu" +msgstr "Urdu" + +msgid "Uzbek" +msgstr "Usbekisk" + +msgid "Vietnamese" +msgstr "Vietnamesisk" + +msgid "Simplified Chinese" +msgstr "Forenklet kinesisk" + +msgid "Traditional Chinese" +msgstr "Tradisjonell kinesisk" + +msgid "Messages" +msgstr "Meldinger" + +msgid "Site Maps" +msgstr "Sidekart" + +msgid "Static Files" +msgstr "Statiske filer" + +msgid "Syndication" +msgstr "Syndikering" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "Sidenummeret er ikke et heltall" + +msgid "That page number is less than 1" +msgstr "Sidenummeret er mindre enn 1" + +msgid "That page contains no results" +msgstr "Siden inneholder ingen resultater" + +msgid "Enter a valid value." +msgstr "Oppgi en gyldig verdi." + +msgid "Enter a valid URL." +msgstr "Oppgi en gyldig nettadresse." + +msgid "Enter a valid integer." +msgstr "Skriv inn et gyldig heltall." + +msgid "Enter a valid email address." +msgstr "Oppgi en gyldig e-postadresse" + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Oppgi en gyldig \"slug\" bestående av bokstaver, nummer, understreker eller " +"bindestreker." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Oppgi en gyldig \"slug\" bestående av Unicode-bokstaver, nummer, " +"understreker eller bindestreker." + +msgid "Enter a valid IPv4 address." +msgstr "Oppgi en gyldig IPv4-adresse." + +msgid "Enter a valid IPv6 address." +msgstr "Oppgi en gyldig IPv6-adresse." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Oppgi en gyldig IPv4- eller IPv6-adresse." + +msgid "Enter only digits separated by commas." +msgstr "Oppgi kun tall adskilt med komma." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Verdien må være %(limit_value)s (den er %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Verdien må være mindre enn eller lik %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Verdien må være større enn eller lik %(limit_value)s." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "Verdien må være et multiplum av trinnstørrelse %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Sørg for denne verdien har minst %(limit_value)d tegn (den har " +"%(show_value)d)." +msgstr[1] "" +"Sørg for at denne verdien har minst %(limit_value)d tegn (den har " +"%(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Sørg for denne verdien har %(limit_value)d tegn (den har nå %(show_value)d)." +msgstr[1] "" +"Sørg for at denne verdien har %(limit_value)d eller færre tegn (den har nå " +"%(show_value)d)." + +msgid "Enter a number." +msgstr "Oppgi et tall." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Sørg for at det er kun %(max)s tall." +msgstr[1] "Sørg for at det er %(max)s eller færre tall totalt." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Sørg for at det er kun %(max)s desimal." +msgstr[1] "Sørg for at det er %(max)s eller færre desimaler." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "Sørg for at det kun %(max)s tall før desimalpunkt." +msgstr[1] "Sørg for at det er %(max)s eller færre tall før desimalpunkt." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Filendelsen \"%(extension)s\" er ikke tillatt. Tillatte filendelser er: " +"%(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Null-tegn er ikke tillatt." + +msgid "and" +msgstr "og" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s med denne %(field_labels)s finnes allerede." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "Begrensning \"%(name)s\" er brutt." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Verdien %(value)r er ikke et gyldig valg." + +msgid "This field cannot be null." +msgstr "Feltet kan ikke være tomt." + +msgid "This field cannot be blank." +msgstr "Feltet kan ikke være blankt." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s med %(field_label)s finnes allerede." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "%(field_label)s må være unik for %(date_field_label)s %(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Felt av typen: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "\"%(value)s\"-verdien må være enten True eller False." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "\"%(value)s\"-verdien må være enten True, False, eller None." + +msgid "Boolean (Either True or False)" +msgstr "Boolsk (True eller False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Tekst (opp til %(max_length)s tegn)" + +msgid "String (unlimited)" +msgstr "" + +msgid "Comma-separated integers" +msgstr "Heltall adskilt med komma" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"\"%(value)s\"-verdien har et ugyldig datoformat. Det må være på formen YYYY-" +"MM-DD." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"\"%(value)s\"-verdien er på den korrekte formen (YYYY-MM-DD), men det er en " +"ugyldig dato." + +msgid "Date (without time)" +msgstr "Dato (uten tid)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"\"%(value)s\"-verdien har et ugyldig datoformat. Det må være på formen YYYY-" +"MM-DD HH:MM[:ss[.uuuuuu]][TZ]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"\"%(value)s\"-verdien er på den korrekte formen (YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ]), men er ugyldig dato/tid." + +msgid "Date (with time)" +msgstr "Dato (med tid)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "\"%(value)s\"-verdien må være et desimaltall." + +msgid "Decimal number" +msgstr "Desimaltall" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"\"%(value)s\"-verdien har et ugyldig format. Det må være på formen [DD] [HH:" +"[MM:]]ss[.uuuuuu]." + +msgid "Duration" +msgstr "Varighet" + +msgid "Email address" +msgstr "E-postadresse" + +msgid "File path" +msgstr "Filsti" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "Verdien \"%(value)s\" må være et flyttall." + +msgid "Floating point number" +msgstr "Flyttall" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "\"%(value)s\"-verdien må være et heltall." + +msgid "Integer" +msgstr "Heltall" + +msgid "Big (8 byte) integer" +msgstr "Stort (8 byte) heltall" + +msgid "Small integer" +msgstr "Lite heltall" + +msgid "IPv4 address" +msgstr "IPv4-adresse" + +msgid "IP address" +msgstr "IP-adresse" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "Verdien \"%(value)s\" må være enten None, True eller False." + +msgid "Boolean (Either True, False or None)" +msgstr "Boolsk (True, False eller None)" + +msgid "Positive big integer" +msgstr "Positivt stort heltall" + +msgid "Positive integer" +msgstr "Positivt heltall" + +msgid "Positive small integer" +msgstr "Positivt lite heltall" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (opp til %(max_length)s)" + +msgid "Text" +msgstr "Tekst" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"\"%(value)s\"-verdien har et ugyldig format. Det må være på formen HH:MM[:" +"ss[.uuuuuu]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"Verdien \"%(value)s\" har riktig format (HH:MM[:ss[.uuuuuu]]), men er ikke " +"et gyldig klokkeslett." + +msgid "Time" +msgstr "Tid" + +msgid "URL" +msgstr "Nettadresse" + +msgid "Raw binary data" +msgstr "Rå binærdata" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "\"%(value)s\" er ikke en gyldig UUID." + +msgid "Universally unique identifier" +msgstr "Universelt unik identifikator" + +msgid "File" +msgstr "Fil" + +msgid "Image" +msgstr "Bilde" + +msgid "A JSON object" +msgstr "Et JSON-objekt" + +msgid "Value must be valid JSON." +msgstr "Verdi må være gyldig JSON." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "%(model)s-instansen med %(field)s %(value)r finnes ikke." + +msgid "Foreign Key (type determined by related field)" +msgstr "Fremmednøkkel (type bestemmes av relatert felt)" + +msgid "One-to-one relationship" +msgstr "En-til-en-relasjon" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s-relasjon" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s-relasjoner" + +msgid "Many-to-many relationship" +msgstr "Mange-til-mange-relasjon" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Feltet er påkrevet." + +msgid "Enter a whole number." +msgstr "Oppgi et heltall." + +msgid "Enter a valid date." +msgstr "Oppgi en gyldig dato." + +msgid "Enter a valid time." +msgstr "Oppgi et gyldig tidspunkt." + +msgid "Enter a valid date/time." +msgstr "Oppgi gyldig dato og tidspunkt." + +msgid "Enter a valid duration." +msgstr "Oppgi en gyldig varighet." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Antall dager må være mellom {min_days} og {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Ingen fil ble sendt. Sjekk «encoding»-typen på skjemaet." + +msgid "No file was submitted." +msgstr "Ingen fil ble sendt." + +msgid "The submitted file is empty." +msgstr "Filen er tom." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "Sørg for at filnavnet har %(max)d tegn (det har nå %(length)d)." +msgstr[1] "" +"Sørg for at filnavnet har færre enn %(max)d tegn (det har nå %(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Vennligst last opp en ny fil eller marker fjern-boksen, ikke begge." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Last opp et gyldig bilde. Filen du lastet opp var ødelagt eller ikke et " +"bilde." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Velg et gyldig valg. %(value)s er ikke et av de tilgjengelige valgene." + +msgid "Enter a list of values." +msgstr "Oppgi en liste med verdier." + +msgid "Enter a complete value." +msgstr "Skriv inn en fullstendig verdi." + +msgid "Enter a valid UUID." +msgstr "Oppgi en gyldig UUID." + +msgid "Enter a valid JSON." +msgstr "Oppgi gyldig JSON." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Skjult felt %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"ManagementForm-data mangler eller har blitt tuklet med. Felt som mangler: " +"%(field_names)s. Du må muligens rapportere en bug hvis problemet vedvarer." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Vennligst send inn maks %(num)d skjema." +msgstr[1] "Vennligst send inn maks %(num)d skjemaer." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Vennligst send inn minst %(num)d skjema." +msgstr[1] "Vennligst send inn minst %(num)d skjemaer." + +msgid "Order" +msgstr "Rekkefølge" + +msgid "Delete" +msgstr "Slett" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Vennligst korriger dupliserte data for %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "Vennligst korriger dupliserte data for %(field)s, som må være unike." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Vennligst korriger dupliserte data for %(field_name)s, som må være unike for " +"%(lookup)s i %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Vennligst korriger de dupliserte verdiene nedenfor." + +msgid "The inline value did not match the parent instance." +msgstr "Inline-verdien var ikke i samsvar med foreldre-instansen." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Velg et gyldig valg. Valget er ikke av de tilgjengelige valgene." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "\"%(pk)s\" er ikke en gyldig verdi." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s kunne ikke tolkes i tidssonen %(current_timezone)s, det kan " +"være tvetydig eller ikke eksistere." + +msgid "Clear" +msgstr "Fjern" + +msgid "Currently" +msgstr "Nåværende" + +msgid "Change" +msgstr "Endre" + +msgid "Unknown" +msgstr "Ukjent" + +msgid "Yes" +msgstr "Ja" + +msgid "No" +msgstr "Nei" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "ja,nei,kanskje" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d byte" +msgstr[1] "%(size)d byte" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "midnatt" + +msgid "noon" +msgstr "12:00" + +msgid "Monday" +msgstr "mandag" + +msgid "Tuesday" +msgstr "tirsdag" + +msgid "Wednesday" +msgstr "onsdag" + +msgid "Thursday" +msgstr "torsdag" + +msgid "Friday" +msgstr "fredag" + +msgid "Saturday" +msgstr "lørdag" + +msgid "Sunday" +msgstr "søndag" + +msgid "Mon" +msgstr "man" + +msgid "Tue" +msgstr "tir" + +msgid "Wed" +msgstr "ons" + +msgid "Thu" +msgstr "tor" + +msgid "Fri" +msgstr "fre" + +msgid "Sat" +msgstr "lør" + +msgid "Sun" +msgstr "søn" + +msgid "January" +msgstr "januar" + +msgid "February" +msgstr "februar" + +msgid "March" +msgstr "mars" + +msgid "April" +msgstr "april" + +msgid "May" +msgstr "mai" + +msgid "June" +msgstr "juni" + +msgid "July" +msgstr "juli" + +msgid "August" +msgstr "august" + +msgid "September" +msgstr "september" + +msgid "October" +msgstr "oktober" + +msgid "November" +msgstr "november" + +msgid "December" +msgstr "desember" + +msgid "jan" +msgstr "jan" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "apr" + +msgid "may" +msgstr "mai" + +msgid "jun" +msgstr "jun" + +msgid "jul" +msgstr "jul" + +msgid "aug" +msgstr "aug" + +msgid "sep" +msgstr "sep" + +msgid "oct" +msgstr "okt" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "des" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "jan." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "mar." + +msgctxt "abbrev. month" +msgid "April" +msgstr "apr." + +msgctxt "abbrev. month" +msgid "May" +msgstr "mai" + +msgctxt "abbrev. month" +msgid "June" +msgstr "jun." + +msgctxt "abbrev. month" +msgid "July" +msgstr "jul." + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "aug." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "sept." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "okt." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "des." + +msgctxt "alt. month" +msgid "January" +msgstr "Januar" + +msgctxt "alt. month" +msgid "February" +msgstr "Februar" + +msgctxt "alt. month" +msgid "March" +msgstr "Mars" + +msgctxt "alt. month" +msgid "April" +msgstr "April" + +msgctxt "alt. month" +msgid "May" +msgstr "Mai" + +msgctxt "alt. month" +msgid "June" +msgstr "Juni" + +msgctxt "alt. month" +msgid "July" +msgstr "Juli" + +msgctxt "alt. month" +msgid "August" +msgstr "August" + +msgctxt "alt. month" +msgid "September" +msgstr "September" + +msgctxt "alt. month" +msgid "October" +msgstr "Oktober" + +msgctxt "alt. month" +msgid "November" +msgstr "November" + +msgctxt "alt. month" +msgid "December" +msgstr "Desember" + +msgid "This is not a valid IPv6 address." +msgstr "Dette er ikke en gyldig IPv6-adresse." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "eller" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d år" +msgstr[1] "%(num)d år" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d måned" +msgstr[1] "%(num)d måneder" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d uke" +msgstr[1] "%(num)d uker" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d dag" +msgstr[1] "%(num)d dager" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d time" +msgstr[1] "%(num)d timer" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d minutt" +msgstr[1] "%(num)d minutter" + +msgid "Forbidden" +msgstr "Forbudt" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF-verifisering feilet. Forespørsel avbrutt." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Du ser denne meldingen fordi dette HTTPS-nettstedet krever en 'Referer'-" +"header til å bli sendt av nettleseren, men ingen ble sendt. Denne headeren " +"er nødvendig av sikkerhetsmessige årsaker, for å sikre at nettleseren din " +"ikke blir kapret av tredjeparter." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Hvis du har konfigurert nettleseren din til å deaktivere 'Referer'-headers, " +"kan du aktivere dem, i hvert fall for dette nettstedet, eller for HTTPS-" +"tilkoblinger, eller for 'same-origin'-forespørsler." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Hvis du bruker -taggen eller " +"inkluderer 'Referrer-Policy: no-referrer'-header, vennligst fjern dem. CSRF-" +"beskyttelsen krever 'Referer'-headeren for å utføre streng kontroll av " +"referanser. Hvis du er bekymret for personvern, bruk alternativer som for koblinger til tredjeparts nettsteder." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Du ser denne meldingen fordi denne nettsiden krever en CSRF-cookie når du " +"sender inn skjemaer. Denne informasjonskapselen er nødvendig av " +"sikkerhetsmessige årsaker, for å sikre at nettleseren din ikke blir kapret " +"av tredjeparter." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Hvis du har konfigurert nettleseren din til å deaktivere " +"informasjonskapsler, kan du aktivere dem, i hvert fall for dette nettstedet, " +"eller for 'same-origin'-forespørsler." + +msgid "More information is available with DEBUG=True." +msgstr "Mer informasjon er tilgjengelig med DEBUG=True." + +msgid "No year specified" +msgstr "År ikke spesifisert" + +msgid "Date out of range" +msgstr "Date utenfor rekkevidde" + +msgid "No month specified" +msgstr "Måned ikke spesifisert" + +msgid "No day specified" +msgstr "Dag ikke spesifisert" + +msgid "No week specified" +msgstr "Uke ikke spesifisert" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Ingen %(verbose_name_plural)s tilgjengelig" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Fremtidig %(verbose_name_plural)s ikke tilgjengelig fordi %(class_name)s." +"allow_future er False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "Ugyldig datostreng \"%(datestr)s\" gitt formatet \"%(format)s\"" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Fant ingen %(verbose_name)s som passet spørringen" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "Siden er ikke \"last\", og kan heller ikke konverteres til et heltall." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Ugyldig side (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Tom liste og \"%(class_name)s.allow_empty\" er False." + +msgid "Directory indexes are not allowed here." +msgstr "Mappeinnhold er ikke tillatt her." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "\"%(path)s\" finnes ikke" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Innhold i %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "Installasjonen var vellykket! Gratulerer!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Se produktmerknader for Django " +"%(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Du ser denne siden fordi DEBUG=True er i din Django-innstillingsfil og du ikke " +"har konfigurert noen URL-er." + +msgid "Django Documentation" +msgstr "Django-dokumentasjon" + +msgid "Topics, references, & how-to’s" +msgstr "Temaer, referanser & how-tos" + +msgid "Tutorial: A Polling App" +msgstr "Tutorial: en polling-app" + +msgid "Get started with Django" +msgstr "Kom i gang med Django" + +msgid "Django Community" +msgstr "Django nettsamfunn" + +msgid "Connect, get help, or contribute" +msgstr "Koble, få hjelp eller bidra" diff --git a/external_sources/django/django/conf/locale/nb/__init__.py b/external_sources/django/django/conf/locale/nb/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/nb/formats.py b/external_sources/django/django/conf/locale/nb/formats.py new file mode 100644 index 0000000..0ddb8fe --- /dev/null +++ b/external_sources/django/django/conf/locale/nb/formats.py @@ -0,0 +1,41 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j. F Y" +TIME_FORMAT = "H:i" +DATETIME_FORMAT = "j. F Y H:i" +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j. F" +SHORT_DATE_FORMAT = "d.m.Y" +SHORT_DATETIME_FORMAT = "d.m.Y H:i" +FIRST_DAY_OF_WEEK = 1 # Monday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# Kept ISO formats as they are in first position +DATE_INPUT_FORMATS = [ + "%Y-%m-%d", # '2006-10-25' + "%d.%m.%Y", # '25.10.2006' + "%d.%m.%y", # '25.10.06' + # "%d. %b %Y", # '25. okt 2006' + # "%d %b %Y", # '25 okt 2006' + # "%d. %b. %Y", # '25. okt. 2006' + # "%d %b. %Y", # '25 okt. 2006' + # "%d. %B %Y", # '25. oktober 2006' + # "%d %B %Y", # '25 oktober 2006' +] +DATETIME_INPUT_FORMATS = [ + "%Y-%m-%d %H:%M:%S", # '2006-10-25 14:30:59' + "%Y-%m-%d %H:%M:%S.%f", # '2006-10-25 14:30:59.000200' + "%Y-%m-%d %H:%M", # '2006-10-25 14:30' + "%d.%m.%Y %H:%M:%S", # '25.10.2006 14:30:59' + "%d.%m.%Y %H:%M:%S.%f", # '25.10.2006 14:30:59.000200' + "%d.%m.%Y %H:%M", # '25.10.2006 14:30' + "%d.%m.%y %H:%M:%S", # '25.10.06 14:30:59' + "%d.%m.%y %H:%M:%S.%f", # '25.10.06 14:30:59.000200' + "%d.%m.%y %H:%M", # '25.10.06 14:30' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "\xa0" # non-breaking space +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/ne/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/ne/LC_MESSAGES/django.po new file mode 100644 index 0000000..6882466 --- /dev/null +++ b/external_sources/django/django/conf/locale/ne/LC_MESSAGES/django.po @@ -0,0 +1,1253 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Claude Paroz , 2020 +# Jannis Leidel , 2014 +# Paras Nath Chaudhary , 2012 +# Sagar Chalise , 2011-2012,2015,2018 +# Sagar Chalise , 2015 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-05-19 20:23+0200\n" +"PO-Revision-Date: 2020-07-14 21:42+0000\n" +"Last-Translator: Transifex Bot <>\n" +"Language-Team: Nepali (http://www.transifex.com/django/django/language/ne/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ne\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "अफ्रिकन" + +msgid "Arabic" +msgstr "अरबिक" + +msgid "Algerian Arabic" +msgstr "" + +msgid "Asturian" +msgstr "अस्टुरियन" + +msgid "Azerbaijani" +msgstr "अजरबैजानी" + +msgid "Bulgarian" +msgstr "बुल्गेरियाली" + +msgid "Belarusian" +msgstr "बेलारुसियन" + +msgid "Bengali" +msgstr "बंगाली" + +msgid "Breton" +msgstr "ब्रेटोन" + +msgid "Bosnian" +msgstr "बोस्नियाली" + +msgid "Catalan" +msgstr "क्याटालान" + +msgid "Czech" +msgstr "चेक" + +msgid "Welsh" +msgstr "वेल्स" + +msgid "Danish" +msgstr "डेनिस" + +msgid "German" +msgstr "जर्मन" + +msgid "Lower Sorbian" +msgstr "तल्लो सोर्बियन" + +msgid "Greek" +msgstr "ग्रिक" + +msgid "English" +msgstr "अंग्रेजी" + +msgid "Australian English" +msgstr "अस्ट्रेलियाली अंग्रेजी" + +msgid "British English" +msgstr "बेलायती अंग्रेजी" + +msgid "Esperanto" +msgstr "इस्परा्न्तो" + +msgid "Spanish" +msgstr "स्पेनिस" + +msgid "Argentinian Spanish" +msgstr "अर्जेन्टिनाली स्पेनिस" + +msgid "Colombian Spanish" +msgstr "कोलम्बियाली स्पेनिस" + +msgid "Mexican Spanish" +msgstr "मेक्सिकन स्पेनिस" + +msgid "Nicaraguan Spanish" +msgstr "निकारागुँवा स्पेनिस" + +msgid "Venezuelan Spanish" +msgstr "भेनेजुएला स्पेनिस" + +msgid "Estonian" +msgstr "इस्टोनियन" + +msgid "Basque" +msgstr "बास्क" + +msgid "Persian" +msgstr "फारसी" + +msgid "Finnish" +msgstr "फिन्निस" + +msgid "French" +msgstr "फ्रान्सेली" + +msgid "Frisian" +msgstr "फ्रिसियन" + +msgid "Irish" +msgstr "आयरिस" + +msgid "Scottish Gaelic" +msgstr "स्कटीस गैलिक" + +msgid "Galician" +msgstr "ग्यलिसियन" + +msgid "Hebrew" +msgstr "हिब्रु" + +msgid "Hindi" +msgstr "हिन्दि " + +msgid "Croatian" +msgstr "क्रोषियन" + +msgid "Upper Sorbian" +msgstr "माथिल्लो सोर्बियन " + +msgid "Hungarian" +msgstr "हन्गेरियन" + +msgid "Armenian" +msgstr "अर्मेनियन" + +msgid "Interlingua" +msgstr "ईन्टरलिन्गुवा" + +msgid "Indonesian" +msgstr "इन्डोनेसियाली" + +msgid "Igbo" +msgstr "" + +msgid "Ido" +msgstr "आइडु" + +msgid "Icelandic" +msgstr "आइसल्यान्डिक" + +msgid "Italian" +msgstr "ईटालियन" + +msgid "Japanese" +msgstr "जापनिज" + +msgid "Georgian" +msgstr "जर्जीयन" + +msgid "Kabyle" +msgstr "कबायल" + +msgid "Kazakh" +msgstr "कजाक" + +msgid "Khmer" +msgstr "ख्मेर" + +msgid "Kannada" +msgstr "कन्नड" + +msgid "Korean" +msgstr "कोरियाली" + +msgid "Kyrgyz" +msgstr "" + +msgid "Luxembourgish" +msgstr "लक्जेमबर्गेली" + +msgid "Lithuanian" +msgstr "लिथुवानियाली" + +msgid "Latvian" +msgstr "लाट्भियन" + +msgid "Macedonian" +msgstr "म्यासेडोनियन" + +msgid "Malayalam" +msgstr "मलायलम" + +msgid "Mongolian" +msgstr "मंगोलियन" + +msgid "Marathi" +msgstr "मराठी" + +msgid "Burmese" +msgstr "बर्मेली" + +msgid "Norwegian Bokmål" +msgstr "नर्वे बक्मल" + +msgid "Nepali" +msgstr "नेपाली" + +msgid "Dutch" +msgstr "डच" + +msgid "Norwegian Nynorsk" +msgstr "नर्वेली न्योर्स्क" + +msgid "Ossetic" +msgstr "ओसेटिक" + +msgid "Punjabi" +msgstr "पञ्जावी" + +msgid "Polish" +msgstr "पोलिस" + +msgid "Portuguese" +msgstr "पुर्तगाली" + +msgid "Brazilian Portuguese" +msgstr "ब्राजिली पुर्तगाली" + +msgid "Romanian" +msgstr "रोमानियाली" + +msgid "Russian" +msgstr "रुसी" + +msgid "Slovak" +msgstr "सलोभाक" + +msgid "Slovenian" +msgstr "स्लोभेनियाली" + +msgid "Albanian" +msgstr "अल्बानियाली" + +msgid "Serbian" +msgstr "सर्वियाली" + +msgid "Serbian Latin" +msgstr "सर्वियाली ल्याटिन" + +msgid "Swedish" +msgstr "स्विडिस" + +msgid "Swahili" +msgstr "स्वाहिली" + +msgid "Tamil" +msgstr "तामिल" + +msgid "Telugu" +msgstr "तेलुगु" + +msgid "Tajik" +msgstr "" + +msgid "Thai" +msgstr "थाई" + +msgid "Turkmen" +msgstr "" + +msgid "Turkish" +msgstr "टर्किस" + +msgid "Tatar" +msgstr "टाटर" + +msgid "Udmurt" +msgstr "उद्मुर्ट" + +msgid "Ukrainian" +msgstr "युक्रेनि" + +msgid "Urdu" +msgstr "उर्दु" + +msgid "Uzbek" +msgstr "उज्बेक" + +msgid "Vietnamese" +msgstr "भियतनामी" + +msgid "Simplified Chinese" +msgstr "सरल चिनि" + +msgid "Traditional Chinese" +msgstr "प्राचिन चिनि" + +msgid "Messages" +msgstr "सुचनाहरु" + +msgid "Site Maps" +msgstr "साइट म्याप्स" + +msgid "Static Files" +msgstr "स्टेेटिक फाइलहरु" + +msgid "Syndication" +msgstr "सिन्डिकेसन" + +msgid "That page number is not an integer" +msgstr "पृष्ठ नं अंक होइन ।" + +msgid "That page number is less than 1" +msgstr "पृष्ठ नं १ भन्दा कम भयो ।" + +msgid "That page contains no results" +msgstr "पृष्ठमा नतिजा छैन ।" + +msgid "Enter a valid value." +msgstr "उपयुक्त मान राख्नुहोस ।" + +msgid "Enter a valid URL." +msgstr "उपयुक्त URL राख्नुहोस ।" + +msgid "Enter a valid integer." +msgstr "उपयुक्त अंक राख्नुहोस ।" + +msgid "Enter a valid email address." +msgstr "सही ई-मेल ठेगाना राख्नु होस ।" + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "उपयुक्त IPv4 ठेगाना राख्नुहोस" + +msgid "Enter a valid IPv6 address." +msgstr "उपयुक्त IPv6 ठेगाना राख्नुहोस ।" + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "उपयुक्त IPv4 वा IPv6 ठेगाना राख्नुहोस ।" + +msgid "Enter only digits separated by commas." +msgstr "कम्मा सहितका वर्ण मात्र राख्नुहोस ।" + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "यो मान %(limit_value)s छ भन्ने निश्चित गर्नुहोस । (यो %(show_value)s हो ।)" + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "यो मान %(limit_value)s भन्दा कम अथवा बराबर छ भन्ने निश्चित गर्नुहोस ।" + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "यो मान %(limit_value)s भन्दा बढी अथवा बराबर छ भन्ने निशचित गर्नुहोस ।" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"यो मान कम्तिमा पनि %(limit_value)d अक्षर छ भन्ने निश्चित गर्नुहोस । (यसमा " +"%(show_value)d छ ।)" +msgstr[1] "" +"यो मान कम्तिमा पनि %(limit_value)d अक्षरहरु छ भन्ने निश्चित गर्नुहोस । (यसमा " +"%(show_value)d छ ।)" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"यो मान बढिमा पनि %(limit_value)d अक्षर छ भन्ने निश्चित गर्नुहोस । (यसमा " +"%(show_value)d छ ।)" +msgstr[1] "" +"यो मान बढिमा पनि %(limit_value)d अक्षरहरु छ भन्ने निश्चित गर्नुहोस । (यसमा " +"%(show_value)d छ ।)" + +msgid "Enter a number." +msgstr "संख्या राख्नुहोस ।" + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "जम्मा %(max)s भन्दा बढी अक्षर नभएको निश्चित पार्नु होस ।" +msgstr[1] "जम्मा %(max)s भन्दा बढी अक्षरहरु नभएको निश्चित पार्नु होस ।" + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "दशमलव पछि %(max)s भन्दा बढी अक्षर नभएको निश्चित पार्नु होस ।" +msgstr[1] "दशमलव पछि %(max)s भन्दा बढी अक्षरहरु नभएको निश्चित पार्नु होस ।" + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "दशमलव अघि %(max)s भन्दा बढी अक्षर नभएको निश्चित पार्नु होस ।" +msgstr[1] "दशमलव अघि %(max)s भन्दा बढी अक्षरहरु नभएको निश्चित पार्नु होस ।" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "शून्य मान अनुमति छैन।" + +msgid "and" +msgstr "र" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(field_labels)s भएको %(model_name)s बनि सकेको छ । " + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "%(value)r मान उपयुक्त छनोट होइन ।" + +msgid "This field cannot be null." +msgstr "यो फाँट शून्य हुन सक्दैन ।" + +msgid "This field cannot be blank." +msgstr "यो फाँट खाली हुन सक्दैन ।" + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(field_label)s भएको %(model_name)s पहिलै विद्धमान छ ।" + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(date_field_label)s %(lookup_type)s को लागि %(field_label)s अनुपम हुनु पर्दछ ।" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "फाँटको प्रकार: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "बुलियन (True अथवा False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "वर्ण (%(max_length)s सम्म)" + +msgid "Comma-separated integers" +msgstr "कम्माले छुट्याइएका अंकहरु ।" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "मिति (समय रहित)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "मिति (समय सहित)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "दश्मलव संख्या" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "अवधि" + +msgid "Email address" +msgstr "ई-मेल ठेगाना" + +msgid "File path" +msgstr "फाइलको मार्ग" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "दश्मलव हुने संख्या" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "अंक" + +msgid "Big (8 byte) integer" +msgstr "ठूलो (८ बाइटको) अंक" + +msgid "IPv4 address" +msgstr "आइ.पी.भी४ ठेगाना" + +msgid "IP address" +msgstr "IP ठेगाना" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "बुलियन (True, False अथवा None)" + +msgid "Positive big integer" +msgstr "" + +msgid "Positive integer" +msgstr "सकारात्मक पूर्णांक" + +msgid "Positive small integer" +msgstr "सानो जोड अङ्क" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "स्लग(%(max_length)s सम्म)" + +msgid "Small integer" +msgstr "सानो अङ्क" + +msgid "Text" +msgstr "पाठ" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "समय" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "र बाइनरी डाटा" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "फाइल" + +msgid "Image" +msgstr "चित्र" + +msgid "A JSON object" +msgstr "" + +msgid "Value must be valid JSON." +msgstr "" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" + +msgid "Foreign Key (type determined by related field)" +msgstr "फोरेन कि (प्रकार नातागत फाँटले जनाउछ)" + +msgid "One-to-one relationship" +msgstr "एक-देखि-एक नाता" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s सम्बन्ध" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s सम्बन्धहरु" + +msgid "Many-to-many relationship" +msgstr "अनेक-देखि-अनेक नाता" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "यो फाँट अनिवार्य छ ।" + +msgid "Enter a whole number." +msgstr "संख्या राख्नुहोस ।" + +msgid "Enter a valid date." +msgstr "उपयुक्त मिति राख्नुहोस ।" + +msgid "Enter a valid time." +msgstr "उपयुक्त समय राख्नुहोस ।" + +msgid "Enter a valid date/time." +msgstr "उपयुक्त मिति/समय राख्नुहोस ।" + +msgid "Enter a valid duration." +msgstr "उपयुक्त अवधि राख्नुहोस ।" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "दिन गन्ती {min_days} र {max_days} बीचमा हुनु पर्छ । " + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "कुनै फाईल पेश गरिएको छैन । फारममा ईनकोडिङको प्रकार जाँच गर्नुहोस । " + +msgid "No file was submitted." +msgstr "कुनै फाईल पेश गरिएको छैन ।" + +msgid "The submitted file is empty." +msgstr "पेश गरिएको फाइल खाली छ ।" + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"यो फाइलको नाममा बाढीमा %(max)d अङ्क भएको निश्चित गर्नु होस । (यसमा %(length)d छ " +"।)" +msgstr[1] "" +"यो फाइलको नाममा बढी मा %(max)d अङ्कहरू भएको निश्चित गर्नु होस । (यसमा %(length)d " +"छ ।)" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "दुवै नछान्नुहोस, कि त फाइल पेश गर्नुहोस वा चेक बाकस मा छान्नुहोस ।" + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"उपयुक्त चित्र अपलोड गर्नुहोस । तपाइले अपलोड गर्नु भएको फाइल चित्र होइन वा बिग्रेको चित्र " +"हो ।" + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "उपयुक्त विकल्प छान्नुहोस । %(value)s प्रस्तावित विकल्प होइन ।" + +msgid "Enter a list of values." +msgstr "मानहरु राख्नुहोस" + +msgid "Enter a complete value." +msgstr "पुरा मान राख्नु होस ।" + +msgid "Enter a valid UUID." +msgstr "उपयुक्त UUID राख्नु होस ।" + +msgid "Enter a valid JSON." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(लुकेका %(name)s) %(error)s" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "म्यानेजमेन्ट फारम डाटा चलाइएको वा नभरेको पाइयो ।" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "कृपया %d अथवा सो भन्दा थोरै फारम बुझाउनु होस ।" +msgstr[1] "कृपया %d अथवा सो भन्दा थोरै फारमहरु बुझाउनु होस ।" + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "कृपया %d अथवा सो भन्दा धेरै फारम बुझाउनु होस ।" +msgstr[1] "कृपया %d अथवा सो भन्दा धेरै फारमहरु बुझाउनु होस ।" + +msgid "Order" +msgstr "क्रम" + +msgid "Delete" +msgstr "मेट्नुहोस" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "कृपया %(field)s का लागि दोहोरिइका तथ्याङ्कहरु सच्याउनुहोस ।" + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "कृपया %(field)s का लागि दोहोरिइका तथ्याङ्कहरु नौलो तथ्याङ्क सहित सच्याउनुहोस ।" + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"कृपया %(field_name)s का लागि दोहोरिइका तथ्याङ्कहरु सच्याउनुहोस जसमा " +"%(date_field)sको %(lookup)s नौलो हुनुपर्दछ ।" + +msgid "Please correct the duplicate values below." +msgstr "कृपया तलका दोहोरिइका मानहरु सच्याउनुहोस ।" + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "उपयुक्त विकल्प छान्नुहोस । छानिएको विकल्प प्रस्तावित विकल्प होइन ।" + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "सबै खाली गर्नु होस ।" + +msgid "Currently" +msgstr "अहिले" + +msgid "Change" +msgstr "फेर्नुहोस" + +msgid "Unknown" +msgstr "अज्ञात" + +msgid "Yes" +msgstr "हुन्छ" + +msgid "No" +msgstr "होइन" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "हो,होइन,सायद" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d बाइट" +msgstr[1] "%(size)d बाइटहरु" + +#, python-format +msgid "%s KB" +msgstr "%s किलोबाइट" + +#, python-format +msgid "%s MB" +msgstr "%s मेगाबाइट" + +#, python-format +msgid "%s GB" +msgstr "%s गिगाबाइट" + +#, python-format +msgid "%s TB" +msgstr "%s टेराबाइट" + +#, python-format +msgid "%s PB" +msgstr "%s पिटाबाइट" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "मध्यरात" + +msgid "noon" +msgstr "मध्यान्ह" + +msgid "Monday" +msgstr "सोमवार" + +msgid "Tuesday" +msgstr "मंगलवार" + +msgid "Wednesday" +msgstr "बुधवार" + +msgid "Thursday" +msgstr "बिहीवार" + +msgid "Friday" +msgstr "शुक्रवार" + +msgid "Saturday" +msgstr "शनिवार" + +msgid "Sunday" +msgstr "आइतवार" + +msgid "Mon" +msgstr "सोम" + +msgid "Tue" +msgstr "मंगल" + +msgid "Wed" +msgstr "बुध" + +msgid "Thu" +msgstr "बिहि" + +msgid "Fri" +msgstr "शुक्र" + +msgid "Sat" +msgstr "शनि" + +msgid "Sun" +msgstr "आइत" + +msgid "January" +msgstr "जनवरी" + +msgid "February" +msgstr "फेब्रुअरी" + +msgid "March" +msgstr "मार्च" + +msgid "April" +msgstr "अप्रिल" + +msgid "May" +msgstr "मई" + +msgid "June" +msgstr "जुन" + +msgid "July" +msgstr "जुलै" + +msgid "August" +msgstr "अगस्त" + +msgid "September" +msgstr "सेप्टेम्बर" + +msgid "October" +msgstr "अक्टुवर" + +msgid "November" +msgstr "नभम्वर" + +msgid "December" +msgstr "डिसम्वर" + +msgid "jan" +msgstr "जनवरी" + +msgid "feb" +msgstr "फेब्रुअरी" + +msgid "mar" +msgstr "मार्च" + +msgid "apr" +msgstr "अप्रिल" + +msgid "may" +msgstr "मई" + +msgid "jun" +msgstr "जुन" + +msgid "jul" +msgstr "जुलै" + +msgid "aug" +msgstr "अग्सत" + +msgid "sep" +msgstr "सेप्तेम्बर" + +msgid "oct" +msgstr "अक्टुवर" + +msgid "nov" +msgstr "नभम्वर" + +msgid "dec" +msgstr "डिसम्वर" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "जनवरी" + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "फेब्रुअरी" + +msgctxt "abbrev. month" +msgid "March" +msgstr "मार्च" + +msgctxt "abbrev. month" +msgid "April" +msgstr "अप्रिल" + +msgctxt "abbrev. month" +msgid "May" +msgstr "मई" + +msgctxt "abbrev. month" +msgid "June" +msgstr "जुन" + +msgctxt "abbrev. month" +msgid "July" +msgstr "जुलै" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "अगस्त" + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "सेप्तेम्बर" + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "अक्टुवर" + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "नभम्वर" + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "डिसम्वर" + +msgctxt "alt. month" +msgid "January" +msgstr "जनवरी" + +msgctxt "alt. month" +msgid "February" +msgstr "फेब्रुअरी" + +msgctxt "alt. month" +msgid "March" +msgstr "मार्च" + +msgctxt "alt. month" +msgid "April" +msgstr "अप्रिल" + +msgctxt "alt. month" +msgid "May" +msgstr "मई" + +msgctxt "alt. month" +msgid "June" +msgstr "जुन" + +msgctxt "alt. month" +msgid "July" +msgstr "जुलै" + +msgctxt "alt. month" +msgid "August" +msgstr "अगस्त" + +msgctxt "alt. month" +msgid "September" +msgstr "सेप्टेम्बर" + +msgctxt "alt. month" +msgid "October" +msgstr "अक्टुवर" + +msgctxt "alt. month" +msgid "November" +msgstr "नभम्वर" + +msgctxt "alt. month" +msgid "December" +msgstr "डिसम्वर" + +msgid "This is not a valid IPv6 address." +msgstr "यो उपयुक्त IPv6 ठेगाना होइन ।" + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "अथवा" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr "," + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "%d वर्ष" +msgstr[1] "%d वर्षहरु" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "%d महिना" +msgstr[1] "%d महिनाहरु" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "%d सप्ताह" +msgstr[1] "%d सप्ताहहरु" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "%d दिन" +msgstr[1] "%d दिनहरु" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "%d घण्टा" +msgstr[1] "%d घण्टाहरु" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "%d मिनट" +msgstr[1] "%d मिनटहरु" + +msgid "Forbidden" +msgstr "निषेधित" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF प्रमाणीकरण भएन । अनुरोध विफल ।" + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "DEBUG=True ले ज्यादा सुचना प्रदान गर्दछ ।" + +msgid "No year specified" +msgstr "साल तोकिएको छैन ।" + +msgid "Date out of range" +msgstr "मिति मिलेन ।" + +msgid "No month specified" +msgstr "महिना तोकिएको छैन ।" + +msgid "No day specified" +msgstr "दिन तोकिएको छैन ।" + +msgid "No week specified" +msgstr "साता तोकिएको छैन ।" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "%(verbose_name_plural)s उपलब्ध छैन ।" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"%(class_name)s.allow_future 'False' हुनाले आगामी %(verbose_name_plural)s उपलब्ध " +"छैन ।" + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "%(verbose_name)s भेटिएन ।" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "रद्द पृष्ठ (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "डाइरेक्टरी इन्डेक्सहरु यहाँ अनुमति छैन ।" + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "%(directory)s को सूची" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "ज्याङ्गो : वेब साइट र एप्लिकेसन बनाउन सहयोगी औजार " + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"ज्याङ्गो %(version)s को परिवर्तन तथा विशेषता यहाँ हेर्नु होस" + +msgid "The install worked successfully! Congratulations!" +msgstr "बधाई छ । स्थापना भएको छ ।" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "ज्याङ्गो दस्तावेज ।" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "मतदान एप उदाहरण " + +msgid "Get started with Django" +msgstr "ज्याङ्गो सुरु गर्नु होस ।" + +msgid "Django Community" +msgstr "ज्याङ्गो समुदाय" + +msgid "Connect, get help, or contribute" +msgstr "सहयोग अथवा योगदान गरी जोडिनु होस" diff --git a/external_sources/django/django/conf/locale/nl/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/nl/LC_MESSAGES/django.po new file mode 100644 index 0000000..85fe240 --- /dev/null +++ b/external_sources/django/django/conf/locale/nl/LC_MESSAGES/django.po @@ -0,0 +1,1356 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Bas Peschier , 2011,2013 +# Blue , 2011-2012 +# Bouke Haarsma , 2013 +# Claude Paroz , 2014 +# Erik Romijn , 2013 +# Evelijn Saaltink , 2016 +# Harro van der Klauw , 2011-2012 +# Ilja Maas , 2015 +# Jannis Leidel , 2011 +# 6a27f10aef159701c7a5ff07f0fb0a78_05545ed , 2011-2012,2014 +# Michiel Overtoom , 2014 +# Meteor0id, 2019-2020 +# 8de006b1b0894aab6aef71979dcd8bd6_5c6b207 , 2014-2015 +# Tino de Bruijn , 2013 +# Tonnes , 2017,2019-2020,2022-2024 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 06:49+0000\n" +"Last-Translator: Tonnes , 2017,2019-2020,2022-2024\n" +"Language-Team: Dutch (http://app.transifex.com/django/django/language/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" + +msgid "Afrikaans" +msgstr "Afrikaans" + +msgid "Arabic" +msgstr "Arabisch" + +msgid "Algerian Arabic" +msgstr "Algerijns Arabisch" + +msgid "Asturian" +msgstr "Asturisch" + +msgid "Azerbaijani" +msgstr "Azerbeidzjaans" + +msgid "Bulgarian" +msgstr "Bulgaars" + +msgid "Belarusian" +msgstr "Wit-Russisch" + +msgid "Bengali" +msgstr "Bengaals" + +msgid "Breton" +msgstr "Bretons" + +msgid "Bosnian" +msgstr "Bosnisch" + +msgid "Catalan" +msgstr "Catalaans" + +msgid "Central Kurdish (Sorani)" +msgstr "Centraal-Koerdisch (Sorani)" + +msgid "Czech" +msgstr "Tsjechisch" + +msgid "Welsh" +msgstr "Welsh" + +msgid "Danish" +msgstr "Deens" + +msgid "German" +msgstr "Duits" + +msgid "Lower Sorbian" +msgstr "Nedersorbisch" + +msgid "Greek" +msgstr "Grieks" + +msgid "English" +msgstr "Engels" + +msgid "Australian English" +msgstr "Australisch-Engels" + +msgid "British English" +msgstr "Brits-Engels" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Spaans" + +msgid "Argentinian Spanish" +msgstr "Argentijns Spaans" + +msgid "Colombian Spanish" +msgstr "Colombiaans Spaans" + +msgid "Mexican Spanish" +msgstr "Mexicaans Spaans" + +msgid "Nicaraguan Spanish" +msgstr "Nicaraguaans Spaans" + +msgid "Venezuelan Spanish" +msgstr "Venezolaans Spaans" + +msgid "Estonian" +msgstr "Ests" + +msgid "Basque" +msgstr "Baskisch" + +msgid "Persian" +msgstr "Perzisch" + +msgid "Finnish" +msgstr "Fins" + +msgid "French" +msgstr "Frans" + +msgid "Frisian" +msgstr "Fries" + +msgid "Irish" +msgstr "Iers" + +msgid "Scottish Gaelic" +msgstr "Schots-Gaelisch" + +msgid "Galician" +msgstr "Galicisch" + +msgid "Hebrew" +msgstr "Hebreeuws" + +msgid "Hindi" +msgstr "Hindi" + +msgid "Croatian" +msgstr "Kroatisch" + +msgid "Upper Sorbian" +msgstr "Oppersorbisch" + +msgid "Hungarian" +msgstr "Hongaars" + +msgid "Armenian" +msgstr "Armeens" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indonesisch" + +msgid "Igbo" +msgstr "Igbo" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "IJslands" + +msgid "Italian" +msgstr "Italiaans" + +msgid "Japanese" +msgstr "Japans" + +msgid "Georgian" +msgstr "Georgisch" + +msgid "Kabyle" +msgstr "Kabylisch" + +msgid "Kazakh" +msgstr "Kazachs" + +msgid "Khmer" +msgstr "Khmer" + +msgid "Kannada" +msgstr "Kannada" + +msgid "Korean" +msgstr "Koreaans" + +msgid "Kyrgyz" +msgstr "Kirgizisch" + +msgid "Luxembourgish" +msgstr "Luxemburgs" + +msgid "Lithuanian" +msgstr "Litouws" + +msgid "Latvian" +msgstr "Lets" + +msgid "Macedonian" +msgstr "Macedonisch" + +msgid "Malayalam" +msgstr "Malayalam" + +msgid "Mongolian" +msgstr "Mongools" + +msgid "Marathi" +msgstr "Marathi" + +msgid "Malay" +msgstr "Maleis" + +msgid "Burmese" +msgstr "Birmaans" + +msgid "Norwegian Bokmål" +msgstr "Noors Bokmål" + +msgid "Nepali" +msgstr "Nepalees" + +msgid "Dutch" +msgstr "Nederlands" + +msgid "Norwegian Nynorsk" +msgstr "Noors Nynorsk" + +msgid "Ossetic" +msgstr "Ossetisch" + +msgid "Punjabi" +msgstr "Punjabi" + +msgid "Polish" +msgstr "Pools" + +msgid "Portuguese" +msgstr "Portugees" + +msgid "Brazilian Portuguese" +msgstr "Braziliaans Portugees" + +msgid "Romanian" +msgstr "Roemeens" + +msgid "Russian" +msgstr "Russisch" + +msgid "Slovak" +msgstr "Slovaaks" + +msgid "Slovenian" +msgstr "Sloveens" + +msgid "Albanian" +msgstr "Albanisch" + +msgid "Serbian" +msgstr "Servisch" + +msgid "Serbian Latin" +msgstr "Servisch Latijn" + +msgid "Swedish" +msgstr "Zweeds" + +msgid "Swahili" +msgstr "Swahili" + +msgid "Tamil" +msgstr "Tamil" + +msgid "Telugu" +msgstr "Telegu" + +msgid "Tajik" +msgstr "Tadzjieks" + +msgid "Thai" +msgstr "Thai" + +msgid "Turkmen" +msgstr "Turkmeens" + +msgid "Turkish" +msgstr "Turks" + +msgid "Tatar" +msgstr "Tataars" + +msgid "Udmurt" +msgstr "Oedmoerts" + +msgid "Uyghur" +msgstr "Oeigoers" + +msgid "Ukrainian" +msgstr "Oekraïens" + +msgid "Urdu" +msgstr "Urdu" + +msgid "Uzbek" +msgstr "Oezbeeks" + +msgid "Vietnamese" +msgstr "Vietnamees" + +msgid "Simplified Chinese" +msgstr "Vereenvoudigd Chinees" + +msgid "Traditional Chinese" +msgstr "Traditioneel Chinees" + +msgid "Messages" +msgstr "Berichten" + +msgid "Site Maps" +msgstr "Sitemaps" + +msgid "Static Files" +msgstr "Statische bestanden" + +msgid "Syndication" +msgstr "Syndicatie" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "Dat paginanummer is geen geheel getal" + +msgid "That page number is less than 1" +msgstr "Dat paginanummer is kleiner dan 1" + +msgid "That page contains no results" +msgstr "Die pagina bevat geen resultaten" + +msgid "Enter a valid value." +msgstr "Voer een geldige waarde in." + +msgid "Enter a valid domain name." +msgstr "Voer een geldige domeinnaam in." + +msgid "Enter a valid URL." +msgstr "Voer een geldige URL in." + +msgid "Enter a valid integer." +msgstr "Voer een geldig geheel getal in." + +msgid "Enter a valid email address." +msgstr "Voer een geldig e-mailadres in." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Voer een geldige ‘slug’ in, bestaande uit letters, cijfers, liggende " +"streepjes en verbindingsstreepjes." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Voer een geldige ‘slug’ in, bestaande uit Unicode-letters, cijfers, liggende " +"streepjes en verbindingsstreepjes." + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "Voer een geldig %(protocol)s-adres in." + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "IPv4 or IPv6" +msgstr "IPv4- of IPv6" + +msgid "Enter only digits separated by commas." +msgstr "Voer alleen cijfers in, gescheiden door komma's." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Zorg ervoor dat deze waarde gelijk is aan %(limit_value)s (het is nu " +"%(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Zorg ervoor dat deze waarde hoogstens %(limit_value)s is." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Zorg ervoor dat deze waarde minstens %(limit_value)s is." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "" +"Zorg ervoor dat deze waarde een veelvoud is van stapgrootte %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"Zorg dat deze waarde een veelvoud is van stapgrootte %(limit_value)s, " +"beginnend bij %(offset)s, bv. %(offset)s, %(valid_value1)s, " +"%(valid_value2)s, enzovoort." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Zorg dat deze waarde ten minste %(limit_value)d teken bevat (het zijn er nu " +"%(show_value)d)." +msgstr[1] "" +"Zorg dat deze waarde ten minste %(limit_value)d tekens bevat (het zijn er nu " +"%(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Zorg dat deze waarde niet meer dan %(limit_value)d teken bevat (het zijn er " +"nu %(show_value)d)." +msgstr[1] "" +"Zorg dat deze waarde niet meer dan %(limit_value)d tekens bevat (het zijn er " +"nu %(show_value)d)." + +msgid "Enter a number." +msgstr "Voer een getal in." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Zorg dat er niet meer dan %(max)s cijfer is." +msgstr[1] "Zorg dat er niet meer dan %(max)s cijfers zijn." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Zorg dat er niet meer dan %(max)s cijfer achter de komma staat." +msgstr[1] "Zorg dat er niet meer dan %(max)s cijfers achter de komma staan." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "Zorg dat er niet meer dan %(max)s cijfer voor de komma staat." +msgstr[1] "Zorg dat er niet meer dan %(max)s cijfers voor de komma staan." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Bestandsextensie ‘%(extension)s’ is niet toegestaan. Toegestane extensies " +"zijn: ‘%(allowed_extensions)s’." + +msgid "Null characters are not allowed." +msgstr "Null-tekens zijn niet toegestaan." + +msgid "and" +msgstr "en" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s met deze %(field_labels)s bestaat al." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "Beperking ‘%(name)s’ is geschonden." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Waarde %(value)r is geen geldige keuze." + +msgid "This field cannot be null." +msgstr "Dit veld mag niet leeg zijn." + +msgid "This field cannot be blank." +msgstr "Dit veld kan niet leeg zijn" + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "Er bestaat al een %(model_name)s met eenzelfde %(field_label)s." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s moet uniek zijn voor %(date_field_label)s %(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Veld van type: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "Waarde van ‘%(value)s’ moet True of False zijn." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "Waarde van ‘%(value)s’ moet True, False of None zijn." + +msgid "Boolean (Either True or False)" +msgstr "Boolean (True of False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Tekenreeks (hooguit %(max_length)s)" + +msgid "String (unlimited)" +msgstr "Tekenreeks (onbeperkt)" + +msgid "Comma-separated integers" +msgstr "Komma-gescheiden gehele getallen" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"Waarde van ‘%(value)s’ heeft een ongeldige datumnotatie. De juiste notatie " +"is YYYY-MM-DD." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"Waarde van ‘%(value)s’ heeft de juiste notatie (YYYY-MM-DD), maar het is een " +"ongeldige datum." + +msgid "Date (without time)" +msgstr "Datum (zonder tijd)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"Waarde van ‘%(value)s’ heeft een ongeldige notatie. De juiste notatie is " +"YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"Waarde van ‘%(value)s’ heeft de juiste notatie (YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ]), maar het is een ongeldige datum/tijd." + +msgid "Date (with time)" +msgstr "Datum (met tijd)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "Waarde van ‘%(value)s’ moet een decimaal getal zijn." + +msgid "Decimal number" +msgstr "Decimaal getal" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"Waarde van ‘%(value)s’ heeft een ongeldige notatie. De juiste notatie is " +"[DD] [[HH:]MM:]ss[.uuuuuu]." + +msgid "Duration" +msgstr "Tijdsduur" + +msgid "Email address" +msgstr "E-mailadres" + +msgid "File path" +msgstr "Bestandspad" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "Waarde van ‘%(value)s’ moet een drijvende-kommagetal zijn." + +msgid "Floating point number" +msgstr "Drijvende-kommagetal" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "Waarde van ‘%(value)s’ moet een geheel getal zijn." + +msgid "Integer" +msgstr "Geheel getal" + +msgid "Big (8 byte) integer" +msgstr "Groot (8 byte) geheel getal" + +msgid "Small integer" +msgstr "Klein geheel getal" + +msgid "IPv4 address" +msgstr "IPv4-adres" + +msgid "IP address" +msgstr "IP-adres" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "Waarde van ‘%(value)s’ moet None, True of False zijn." + +msgid "Boolean (Either True, False or None)" +msgstr "Boolean (True, False of None)" + +msgid "Positive big integer" +msgstr "Positief groot geheel getal" + +msgid "Positive integer" +msgstr "Positief geheel getal" + +msgid "Positive small integer" +msgstr "Postitief klein geheel getal" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (max. lengte %(max_length)s)" + +msgid "Text" +msgstr "Tekst" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"Waarde van ‘%(value)s’ heeft een ongeldige notatie. De juiste notatie is HH:" +"MM[:ss[.uuuuuu]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"Waarde van ‘%(value)s’ heeft de juiste notatie (HH:MM[:ss[.uuuuuu]]), maar " +"het is een ongeldige tijd." + +msgid "Time" +msgstr "Tijd" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Onbewerkte binaire gegevens" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "‘%(value)s’ is geen geldige UUID." + +msgid "Universally unique identifier" +msgstr "Universally unique identifier" + +msgid "File" +msgstr "Bestand" + +msgid "Image" +msgstr "Afbeelding" + +msgid "A JSON object" +msgstr "Een JSON-object" + +msgid "Value must be valid JSON." +msgstr "Waarde moet geldige JSON zijn." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "%(model)s-instantie met %(field)s %(value)r bestaat niet." + +msgid "Foreign Key (type determined by related field)" +msgstr "Refererende sleutel (type wordt bepaald door gerelateerde veld)" + +msgid "One-to-one relationship" +msgstr "Een-op-een-relatie" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s-relatie" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s-relaties" + +msgid "Many-to-many relationship" +msgstr "Veel-op-veel-relatie" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Dit veld is verplicht." + +msgid "Enter a whole number." +msgstr "Voer een geheel getal in." + +msgid "Enter a valid date." +msgstr "Voer een geldige datum in." + +msgid "Enter a valid time." +msgstr "Voer een geldige tijd in." + +msgid "Enter a valid date/time." +msgstr "Voer een geldige datum/tijd in." + +msgid "Enter a valid duration." +msgstr "Voer een geldige tijdsduur in." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Het aantal dagen moet tussen {min_days} en {max_days} liggen." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"Er is geen bestand verstuurd. Controleer het coderingstype op het formulier." + +msgid "No file was submitted." +msgstr "Er is geen bestand verstuurd." + +msgid "The submitted file is empty." +msgstr "Het verstuurde bestand is leeg." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Zorg dat deze bestandsnaam niet meer dan %(max)d teken bevat (het zijn er nu " +"%(length)d)." +msgstr[1] "" +"Zorg dat deze bestandsnaam niet meer dan %(max)d tekens bevat (het zijn er " +"nu %(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Upload een bestand of vink het vakje Wissen aan, niet allebei." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Upload een geldige afbeelding. Het geüploade bestand is geen of een " +"beschadigde afbeelding." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Selecteer een geldige keuze. %(value)s is geen beschikbare keuze." + +msgid "Enter a list of values." +msgstr "Voer een lijst met waarden in." + +msgid "Enter a complete value." +msgstr "Voer een volledige waarde in." + +msgid "Enter a valid UUID." +msgstr "Voer een geldige UUID in." + +msgid "Enter a valid JSON." +msgstr "Voer een geldige JSON in." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Verborgen veld %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"ManagementForm-gegevens ontbreken of er is mee geknoeid. Ontbrekende velden: " +"%(field_names)s. Mogelijk dient u een bug te melden als het probleem " +"aanhoudt." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Verstuur maximaal %(num)d formulier." +msgstr[1] "Verstuur maximaal %(num)d formulieren." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Verstuur minimaal %(num)d formulier." +msgstr[1] "Verstuur minimaal %(num)d formulieren." + +msgid "Order" +msgstr "Volgorde" + +msgid "Delete" +msgstr "Verwijderen" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Corrigeer de dubbele gegevens voor %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "Corrigeer de dubbele gegevens voor %(field)s, dat uniek moet zijn." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Corrigeer de dubbele gegevens voor %(field_name)s, dat uniek moet zijn voor " +"de %(lookup)s in %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Corrigeer de dubbele waarden hieronder." + +msgid "The inline value did not match the parent instance." +msgstr "De inline waarde komt niet overeen met de bovenliggende instantie." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Selecteer een geldige keuze. Deze keuze is niet beschikbaar." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "‘%(pk)s’ is geen geldige waarde." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s kon niet worden geïnterpreteerd in tijdzone " +"%(current_timezone)s; mogelijk is deze dubbelzinnig of bestaat deze niet." + +msgid "Clear" +msgstr "Wissen" + +msgid "Currently" +msgstr "Huidige" + +msgid "Change" +msgstr "Wijzigen" + +msgid "Unknown" +msgstr "Onbekend" + +msgid "Yes" +msgstr "Ja" + +msgid "No" +msgstr "Nee" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "ja,nee,misschien" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d byte" +msgstr[1] "%(size)d bytes" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "middernacht" + +msgid "noon" +msgstr "middag" + +msgid "Monday" +msgstr "maandag" + +msgid "Tuesday" +msgstr "dinsdag" + +msgid "Wednesday" +msgstr "woensdag" + +msgid "Thursday" +msgstr "donderdag" + +msgid "Friday" +msgstr "vrijdag" + +msgid "Saturday" +msgstr "zaterdag" + +msgid "Sunday" +msgstr "zondag" + +msgid "Mon" +msgstr "ma" + +msgid "Tue" +msgstr "di" + +msgid "Wed" +msgstr "wo" + +msgid "Thu" +msgstr "do" + +msgid "Fri" +msgstr "vr" + +msgid "Sat" +msgstr "za" + +msgid "Sun" +msgstr "zo" + +msgid "January" +msgstr "januari" + +msgid "February" +msgstr "februari" + +msgid "March" +msgstr "maart" + +msgid "April" +msgstr "april" + +msgid "May" +msgstr "mei" + +msgid "June" +msgstr "juni" + +msgid "July" +msgstr "juli" + +msgid "August" +msgstr "augustus" + +msgid "September" +msgstr "september" + +msgid "October" +msgstr "oktober" + +msgid "November" +msgstr "november" + +msgid "December" +msgstr "december" + +msgid "jan" +msgstr "jan" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "mrt" + +msgid "apr" +msgstr "apr" + +msgid "may" +msgstr "mei" + +msgid "jun" +msgstr "jun" + +msgid "jul" +msgstr "jul" + +msgid "aug" +msgstr "aug" + +msgid "sep" +msgstr "sep" + +msgid "oct" +msgstr "okt" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "dec" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "jan" + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "feb" + +msgctxt "abbrev. month" +msgid "March" +msgstr "mrt" + +msgctxt "abbrev. month" +msgid "April" +msgstr "apr" + +msgctxt "abbrev. month" +msgid "May" +msgstr "mei" + +msgctxt "abbrev. month" +msgid "June" +msgstr "jun" + +msgctxt "abbrev. month" +msgid "July" +msgstr "jul" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "aug" + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "sep" + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "okt" + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "nov" + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "dec" + +msgctxt "alt. month" +msgid "January" +msgstr "januari" + +msgctxt "alt. month" +msgid "February" +msgstr "februari" + +msgctxt "alt. month" +msgid "March" +msgstr "maart" + +msgctxt "alt. month" +msgid "April" +msgstr "april" + +msgctxt "alt. month" +msgid "May" +msgstr "mei" + +msgctxt "alt. month" +msgid "June" +msgstr "juni" + +msgctxt "alt. month" +msgid "July" +msgstr "juli" + +msgctxt "alt. month" +msgid "August" +msgstr "augustus" + +msgctxt "alt. month" +msgid "September" +msgstr "september" + +msgctxt "alt. month" +msgid "October" +msgstr "oktober" + +msgctxt "alt. month" +msgid "November" +msgstr "november" + +msgctxt "alt. month" +msgid "December" +msgstr "december" + +msgid "This is not a valid IPv6 address." +msgstr "Dit is geen geldig IPv6-adres." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "of" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d jaar" +msgstr[1] "%(num)d jaar" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d maand" +msgstr[1] "%(num)d maanden" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d week" +msgstr[1] "%(num)d weken" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d dag" +msgstr[1] "%(num)d dagen" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d uur" +msgstr[1] "%(num)d uur" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d minuut" +msgstr[1] "%(num)d minuten" + +msgid "Forbidden" +msgstr "Verboden" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF-verificatie mislukt. Aanvraag afgebroken." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"U ziet deze melding, omdat deze HTTPS-website vereist dat uw webbrowser een " +"‘Referer header’ meestuurt, maar deze ontbreekt. Deze header is om " +"veiligheidsredenen vereist om er zeker van te zijn dat uw browser niet door " +"derden wordt gekaapt." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Als u ‘Referer’-headers in uw browser hebt uitgeschakeld, schakel deze dan " +"weer in, op zijn minst voor deze website, of voor HTTPS-verbindingen, of " +"voor ‘same-origin’-aanvragen." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Als u de tag gebruikt of de " +"header ‘Referrer-Policy: no-referrer’ opneemt, verwijder deze dan. De CSRF-" +"bescherming vereist de ‘Referer’-header voor strenge referer-controle. Als u " +"bezorgd bent om privacy, gebruik dan alternatieven zoals voor koppelingen naar websites van derden." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"U ziet deze melding, omdat deze website vereist dat een CSRF-cookie wordt " +"meegestuurd bij het verzenden van formulieren. Dit cookie is om " +"veiligheidsredenen vereist om er zeker van te zijn dat uw browser niet door " +"derden wordt gekaapt." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Als u cookies in uw webbrowser hebt uitgeschakeld, schakel deze dan weer in, " +"op zijn minst voor deze website, of voor ‘same-origin’-aanvragen." + +msgid "More information is available with DEBUG=True." +msgstr "Meer informatie is beschikbaar met DEBUG=True." + +msgid "No year specified" +msgstr "Geen jaar opgegeven" + +msgid "Date out of range" +msgstr "Datum buiten bereik" + +msgid "No month specified" +msgstr "Geen maand opgegeven" + +msgid "No day specified" +msgstr "Geen dag opgegeven" + +msgid "No week specified" +msgstr "Geen week opgegeven" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Geen %(verbose_name_plural)s beschikbaar" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Geen toekomstige %(verbose_name_plural)s beschikbaar, omdat %(class_name)s." +"allow_future de waarde False (Onwaar) heeft." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "Ongeldige datumtekst ‘%(datestr)s’ op basis van notatie ‘%(format)s’" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Geen %(verbose_name)s gevonden die voldoet aan de query" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" +"Pagina is niet ‘last’ en kan ook niet naar een geheel getal worden " +"geconverteerd." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Ongeldige pagina (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Lege lijst en ‘%(class_name)s.allow_empty’ is False." + +msgid "Directory indexes are not allowed here." +msgstr "Directoryindexen zijn hier niet toegestaan." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "‘%(path)s’ bestaat niet" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Index van %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "De installatie is gelukt! Gefeliciteerd!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Uitgaveopmerkingen voor Django " +"%(version)s weergeven" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"U ziet deze pagina, omdat uw instellingenbestand DEBUG=True bevat en u geen URL's hebt geconfigureerd." + +msgid "Django Documentation" +msgstr "Django-documentatie" + +msgid "Topics, references, & how-to’s" +msgstr "Onderwerpen, referenties en instructies" + +msgid "Tutorial: A Polling App" +msgstr "Handleiding: een app voor peilingen" + +msgid "Get started with Django" +msgstr "Beginnen met Django" + +msgid "Django Community" +msgstr "Django-gemeenschap" + +msgid "Connect, get help, or contribute" +msgstr "Contact met anderen, hulp verkrijgen of bijdragen" diff --git a/external_sources/django/django/conf/locale/nl/__init__.py b/external_sources/django/django/conf/locale/nl/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/nl/formats.py b/external_sources/django/django/conf/locale/nl/formats.py new file mode 100644 index 0000000..e9f52b9 --- /dev/null +++ b/external_sources/django/django/conf/locale/nl/formats.py @@ -0,0 +1,92 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j F Y" # '20 januari 2009' +TIME_FORMAT = "H:i" # '15:23' +DATETIME_FORMAT = "j F Y H:i" # '20 januari 2009 15:23' +YEAR_MONTH_FORMAT = "F Y" # 'januari 2009' +MONTH_DAY_FORMAT = "j F" # '20 januari' +SHORT_DATE_FORMAT = "j-n-Y" # '20-1-2009' +SHORT_DATETIME_FORMAT = "j-n-Y H:i" # '20-1-2009 15:23' +FIRST_DAY_OF_WEEK = 1 # Monday (in Dutch 'maandag') + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d-%m-%Y", # '20-01-2009' + "%d-%m-%y", # '20-01-09' + "%d/%m/%Y", # '20/01/2009' + "%d/%m/%y", # '20/01/09' + "%Y/%m/%d", # '2009/01/20' + # "%d %b %Y", # '20 jan 2009' + # "%d %b %y", # '20 jan 09' + # "%d %B %Y", # '20 januari 2009' + # "%d %B %y", # '20 januari 09' +] +# Kept ISO formats as one is in first position +TIME_INPUT_FORMATS = [ + "%H:%M:%S", # '15:23:35' + "%H:%M:%S.%f", # '15:23:35.000200' + "%H.%M:%S", # '15.23:35' + "%H.%M:%S.%f", # '15.23:35.000200' + "%H.%M", # '15.23' + "%H:%M", # '15:23' +] +DATETIME_INPUT_FORMATS = [ + # With time in %H:%M:%S : + "%d-%m-%Y %H:%M:%S", # '20-01-2009 15:23:35' + "%d-%m-%y %H:%M:%S", # '20-01-09 15:23:35' + "%Y-%m-%d %H:%M:%S", # '2009-01-20 15:23:35' + "%d/%m/%Y %H:%M:%S", # '20/01/2009 15:23:35' + "%d/%m/%y %H:%M:%S", # '20/01/09 15:23:35' + "%Y/%m/%d %H:%M:%S", # '2009/01/20 15:23:35' + # "%d %b %Y %H:%M:%S", # '20 jan 2009 15:23:35' + # "%d %b %y %H:%M:%S", # '20 jan 09 15:23:35' + # "%d %B %Y %H:%M:%S", # '20 januari 2009 15:23:35' + # "%d %B %y %H:%M:%S", # '20 januari 2009 15:23:35' + # With time in %H:%M:%S.%f : + "%d-%m-%Y %H:%M:%S.%f", # '20-01-2009 15:23:35.000200' + "%d-%m-%y %H:%M:%S.%f", # '20-01-09 15:23:35.000200' + "%Y-%m-%d %H:%M:%S.%f", # '2009-01-20 15:23:35.000200' + "%d/%m/%Y %H:%M:%S.%f", # '20/01/2009 15:23:35.000200' + "%d/%m/%y %H:%M:%S.%f", # '20/01/09 15:23:35.000200' + "%Y/%m/%d %H:%M:%S.%f", # '2009/01/20 15:23:35.000200' + # With time in %H.%M:%S : + "%d-%m-%Y %H.%M:%S", # '20-01-2009 15.23:35' + "%d-%m-%y %H.%M:%S", # '20-01-09 15.23:35' + "%d/%m/%Y %H.%M:%S", # '20/01/2009 15.23:35' + "%d/%m/%y %H.%M:%S", # '20/01/09 15.23:35' + # "%d %b %Y %H.%M:%S", # '20 jan 2009 15.23:35' + # "%d %b %y %H.%M:%S", # '20 jan 09 15.23:35' + # "%d %B %Y %H.%M:%S", # '20 januari 2009 15.23:35' + # "%d %B %y %H.%M:%S", # '20 januari 2009 15.23:35' + # With time in %H.%M:%S.%f : + "%d-%m-%Y %H.%M:%S.%f", # '20-01-2009 15.23:35.000200' + "%d-%m-%y %H.%M:%S.%f", # '20-01-09 15.23:35.000200' + "%d/%m/%Y %H.%M:%S.%f", # '20/01/2009 15.23:35.000200' + "%d/%m/%y %H.%M:%S.%f", # '20/01/09 15.23:35.000200' + # With time in %H:%M : + "%d-%m-%Y %H:%M", # '20-01-2009 15:23' + "%d-%m-%y %H:%M", # '20-01-09 15:23' + "%Y-%m-%d %H:%M", # '2009-01-20 15:23' + "%d/%m/%Y %H:%M", # '20/01/2009 15:23' + "%d/%m/%y %H:%M", # '20/01/09 15:23' + "%Y/%m/%d %H:%M", # '2009/01/20 15:23' + # "%d %b %Y %H:%M", # '20 jan 2009 15:23' + # "%d %b %y %H:%M", # '20 jan 09 15:23' + # "%d %B %Y %H:%M", # '20 januari 2009 15:23' + # "%d %B %y %H:%M", # '20 januari 2009 15:23' + # With time in %H.%M : + "%d-%m-%Y %H.%M", # '20-01-2009 15.23' + "%d-%m-%y %H.%M", # '20-01-09 15.23' + "%d/%m/%Y %H.%M", # '20/01/2009 15.23' + "%d/%m/%y %H.%M", # '20/01/09 15.23' + # "%d %b %Y %H.%M", # '20 jan 2009 15.23' + # "%d %b %y %H.%M", # '20 jan 09 15.23' + # "%d %B %Y %H.%M", # '20 januari 2009 15.23' + # "%d %B %y %H.%M", # '20 januari 2009 15.23' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "." +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/nn/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/nn/LC_MESSAGES/django.po new file mode 100644 index 0000000..04b872e --- /dev/null +++ b/external_sources/django/django/conf/locale/nn/LC_MESSAGES/django.po @@ -0,0 +1,1305 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# hgrimelid , 2011 +# Jannis Leidel , 2011 +# jensadne , 2013 +# Sigurd Gartmann , 2012 +# Sivert Olstad, 2021 +# velmont , 2012 +# Vibeke Uthaug, 2021 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-09-21 10:22+0200\n" +"PO-Revision-Date: 2021-11-25 14:49+0000\n" +"Last-Translator: Sivert Olstad\n" +"Language-Team: Norwegian Nynorsk (http://www.transifex.com/django/django/" +"language/nn/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nn\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "Afrikaans" + +msgid "Arabic" +msgstr "Arabisk" + +msgid "Algerian Arabic" +msgstr "Arabisk (algersk)" + +msgid "Asturian" +msgstr "Asturiansk" + +msgid "Azerbaijani" +msgstr "Aserbajansk" + +msgid "Bulgarian" +msgstr "Bulgarsk" + +msgid "Belarusian" +msgstr "Kviterussisk" + +msgid "Bengali" +msgstr "Bengalsk" + +msgid "Breton" +msgstr "Bretonsk" + +msgid "Bosnian" +msgstr "Bosnisk" + +msgid "Catalan" +msgstr "Katalansk" + +msgid "Czech" +msgstr "Tsjekkisk" + +msgid "Welsh" +msgstr "Walisisk" + +msgid "Danish" +msgstr "Dansk" + +msgid "German" +msgstr "Tysk" + +msgid "Lower Sorbian" +msgstr "Lågsorbisk" + +msgid "Greek" +msgstr "Gresk" + +msgid "English" +msgstr "Engelsk" + +msgid "Australian English" +msgstr "Engelsk (australsk)" + +msgid "British English" +msgstr "Engelsk (britisk)" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Spansk" + +msgid "Argentinian Spanish" +msgstr "Spansk (argentinsk)" + +msgid "Colombian Spanish" +msgstr "Spansk (kolombiansk)" + +msgid "Mexican Spanish" +msgstr "Spansk (meksikansk)" + +msgid "Nicaraguan Spanish" +msgstr "Spansk (nicaraguansk)" + +msgid "Venezuelan Spanish" +msgstr "Spansk (venezuelansk)" + +msgid "Estonian" +msgstr "Estisk" + +msgid "Basque" +msgstr "Baskisk" + +msgid "Persian" +msgstr "Persisk" + +msgid "Finnish" +msgstr "Finsk" + +msgid "French" +msgstr "Fransk" + +msgid "Frisian" +msgstr "Frisisk" + +msgid "Irish" +msgstr "Irsk" + +msgid "Scottish Gaelic" +msgstr "Skotsk-gaelisk" + +msgid "Galician" +msgstr "Galisisk" + +msgid "Hebrew" +msgstr "Hebraisk" + +msgid "Hindi" +msgstr "Hindi" + +msgid "Croatian" +msgstr "Kroatisk" + +msgid "Upper Sorbian" +msgstr "Høgsorbisk" + +msgid "Hungarian" +msgstr "Ungarsk" + +msgid "Armenian" +msgstr "Armensk" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indonesisk" + +msgid "Igbo" +msgstr "Igbo" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Islandsk" + +msgid "Italian" +msgstr "Italiensk" + +msgid "Japanese" +msgstr "Japansk" + +msgid "Georgian" +msgstr "Georgisk" + +msgid "Kabyle" +msgstr "Kabylsk" + +msgid "Kazakh" +msgstr "Kasakhisk" + +msgid "Khmer" +msgstr "Khmer" + +msgid "Kannada" +msgstr "Kannada" + +msgid "Korean" +msgstr "Koreansk" + +msgid "Kyrgyz" +msgstr "Kirgisisk" + +msgid "Luxembourgish" +msgstr "Luxembourgsk" + +msgid "Lithuanian" +msgstr "Litauisk" + +msgid "Latvian" +msgstr "Latvisk" + +msgid "Macedonian" +msgstr "Makedonsk" + +msgid "Malayalam" +msgstr "Malayalam" + +msgid "Mongolian" +msgstr "Mongolsk" + +msgid "Marathi" +msgstr "Marathi" + +msgid "Malay" +msgstr "Malayisk" + +msgid "Burmese" +msgstr "Burmesisk" + +msgid "Norwegian Bokmål" +msgstr "Norsk (bokmål)" + +msgid "Nepali" +msgstr "Nepali" + +msgid "Dutch" +msgstr "Nederlandsk" + +msgid "Norwegian Nynorsk" +msgstr "Norsk (nynorsk)" + +msgid "Ossetic" +msgstr "Ossetisk" + +msgid "Punjabi" +msgstr "Punjabi" + +msgid "Polish" +msgstr "Polsk" + +msgid "Portuguese" +msgstr "Portugisisk" + +msgid "Brazilian Portuguese" +msgstr "Brasiliansk portugisisk" + +msgid "Romanian" +msgstr "Rumensk" + +msgid "Russian" +msgstr "Russisk" + +msgid "Slovak" +msgstr "Slovakisk" + +msgid "Slovenian" +msgstr "Slovensk" + +msgid "Albanian" +msgstr "Albansk" + +msgid "Serbian" +msgstr "Serbisk" + +msgid "Serbian Latin" +msgstr "Serbisk latin" + +msgid "Swedish" +msgstr "Svensk" + +msgid "Swahili" +msgstr "Swahili" + +msgid "Tamil" +msgstr "Tamil" + +msgid "Telugu" +msgstr "Telugu" + +msgid "Tajik" +msgstr "Tadsjikisk" + +msgid "Thai" +msgstr "Thai" + +msgid "Turkmen" +msgstr "Turkmensk" + +msgid "Turkish" +msgstr "Tyrkisk" + +msgid "Tatar" +msgstr "Tatarisk" + +msgid "Udmurt" +msgstr "Udmurtisk" + +msgid "Ukrainian" +msgstr "Ukrainsk" + +msgid "Urdu" +msgstr "Urdu" + +msgid "Uzbek" +msgstr "Usbekisk" + +msgid "Vietnamese" +msgstr "Vietnamesisk" + +msgid "Simplified Chinese" +msgstr "Simplifisert kinesisk" + +msgid "Traditional Chinese" +msgstr "Tradisjonell kinesisk" + +msgid "Messages" +msgstr "Meldingar" + +msgid "Site Maps" +msgstr "Sidekart" + +msgid "Static Files" +msgstr "Statiske Filer" + +msgid "Syndication" +msgstr "Syndikering" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "Sidenummeret er ikkje eit heiltal" + +msgid "That page number is less than 1" +msgstr "Sidenummeret er mindre enn 1" + +msgid "That page contains no results" +msgstr "Sida har ingen resultat" + +msgid "Enter a valid value." +msgstr "Oppgje ein gyldig verdi." + +msgid "Enter a valid URL." +msgstr "Oppgje ei gyldig nettadresse." + +msgid "Enter a valid integer." +msgstr "Oppgje eit gyldig heiltal." + +msgid "Enter a valid email address." +msgstr "Oppgje ei gyldig e-postadresse." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Oppgje ein gyldig \"slug\" som består av bokstavar, nummer, understrekar " +"eller bindestrekar." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Oppgje ein gyldig \"slug\" som består av Unicode bokstavar, nummer, " +"understrekar eller bindestrekar." + +msgid "Enter a valid IPv4 address." +msgstr "Oppgje ei gyldig IPv4-adresse." + +msgid "Enter a valid IPv6 address." +msgstr "Skriv inn ei gyldig IPv6-adresse." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Skriv inn ei gyldig IPv4- eller IPv6-adresse." + +msgid "Enter only digits separated by commas." +msgstr "Oppgje berre tall skild med komma." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Verdien må minimum ha %(limit_value)s teikn (den er %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Verdien må vere mindre enn eller lik %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Verdien må vere større enn eller lik %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "Verdien må ha minst %(limit_value)d teikn (den har %(show_value)d)." +msgstr[1] "Verdien må ha minst %(limit_value)d teikn (den har %(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Verdien kan ikkje ha fleire enn %(limit_value)d teikn (den har " +"%(show_value)d)." +msgstr[1] "" +"Verdien kan ikkje ha fleire enn %(limit_value)d teikn (den har " +"%(show_value)d)." + +msgid "Enter a number." +msgstr "Oppgje eit tal." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Verdien kan ikkje ha meir enn %(max)s siffer totalt." +msgstr[1] "Verdien kan ikkje ha meir enn %(max)s siffer totalt." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Verdien kan ikkie ha meir enn %(max)s desimal." +msgstr[1] "Verdien kan ikkie ha meir enn %(max)s desimalar." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "Verdien kan ikkje ha meir enn %(max)s siffer framanfor komma." +msgstr[1] "Verdien kan ikkje ha meir enn %(max)s siffer framanfor komma." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Filtypen “%(extension)s” er ikkje tillate. Tillate filtypar er: " +"%(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Null-teikn er ikkje tillate." + +msgid "and" +msgstr "og" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s med %(field_labels)s fins allereie." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Verdi %(value)r er eit ugyldig val." + +msgid "This field cannot be null." +msgstr "Feltet kan ikkje vere tomt." + +msgid "This field cannot be blank." +msgstr "Feltet kan ikkje vere tomt." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s med %(field_label)s fins allereie." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "%(field_label)s må vere unik for %(date_field_label)s %(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Felt av typen: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "Verdien “%(value)s” må vere anten True eller False." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "Verdien “%(value)s” må vere anten True, False, eller None." + +msgid "Boolean (Either True or False)" +msgstr "Boolsk (True eller False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Tekst (opp til %(max_length)s teikn)" + +msgid "Comma-separated integers" +msgstr "Heiltal skild med komma" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"Verdien “%(value)s” har eit ugyldig datoformat. Det må vere på formen YYYY-" +"MM-DD." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"Verdien “%(value)s” har rett format (YYYY-MM-DD) men er ein ugyldig dato." + +msgid "Date (without time)" +msgstr "Dato (utan tid)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"Verdien “%(value)s” har eit ugyldig format. Det må vere på formen YYYY-MM-DD " +"HH:MM[:ss[.uuuuuu]][TZ]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"Verdien “%(value)s” har rett format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]) men " +"er ein ugyldig dato eller klokkeslett." + +msgid "Date (with time)" +msgstr "Dato (med tid)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "Verdien “%(value)s” må vere eit desimaltal." + +msgid "Decimal number" +msgstr "Desimaltal" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"Verdien “%(value)s” har eit ugyldig format. Det må vere på formen [DD] " +"[[HH:]MM:]ss[.uuuuuu]." + +msgid "Duration" +msgstr "Varigskap" + +msgid "Email address" +msgstr "E-postadresse" + +msgid "File path" +msgstr "Filsti" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "Verdien “%(value)s” må vere eit flyttal." + +msgid "Floating point number" +msgstr "Flyttal" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "Verdien “%(value)s” må vere eit heiltal." + +msgid "Integer" +msgstr "Heiltal" + +msgid "Big (8 byte) integer" +msgstr "Stort (8 bitar) heiltal" + +msgid "Small integer" +msgstr "Lite heiltal" + +msgid "IPv4 address" +msgstr "IPv4-adresse" + +msgid "IP address" +msgstr "IP-adresse" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "Verdien “%(value)s” må vere anten None, True, eller False." + +msgid "Boolean (Either True, False or None)" +msgstr "Boolsk (True, False eller None)" + +msgid "Positive big integer" +msgstr "Positivt stort heiltal" + +msgid "Positive integer" +msgstr "Positivt heiltal" + +msgid "Positive small integer" +msgstr "Positivt lite heiltal" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (opp til %(max_length)s)" + +msgid "Text" +msgstr "Tekst" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"Verdien “%(value)s” har eit ugyldig format. Det må vere på formen HH:MM[:ss[." +"uuuuuu]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"Verdien “%(value)s” har rett format (HH:MM[:ss[.uuuuuu]]), men er eit " +"ugyldig klokkeslett." + +msgid "Time" +msgstr "Tid" + +msgid "URL" +msgstr "Nettadresse" + +msgid "Raw binary data" +msgstr "Rå binærdata" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "“%(value)s” er ikkje ein gyldig UUID." + +msgid "Universally unique identifier" +msgstr "Universelt unik identifikator." + +msgid "File" +msgstr "Fil" + +msgid "Image" +msgstr "Bilete" + +msgid "A JSON object" +msgstr "Eit JSON-objekt" + +msgid "Value must be valid JSON." +msgstr "Verdi må vere gyldig JSON." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "%(model)s-instans med %(field)s %(value)r eksisterer ikkje." + +msgid "Foreign Key (type determined by related field)" +msgstr "Fremmednøkkel (type bestemt av relatert felt)" + +msgid "One-to-one relationship" +msgstr "Ein-til-ein-forhold" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s-relasjon" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s-relasjonar" + +msgid "Many-to-many relationship" +msgstr "Mange-til-mange-forhold" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Feltet er påkravd." + +msgid "Enter a whole number." +msgstr "Oppgje eit heiltal." + +msgid "Enter a valid date." +msgstr "Oppgje ein gyldig dato." + +msgid "Enter a valid time." +msgstr "Oppgje eit gyldig tidspunkt." + +msgid "Enter a valid date/time." +msgstr "Oppgje gyldig dato og tidspunkt." + +msgid "Enter a valid duration." +msgstr "Oppgje ein gyldig varigskap." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Antal dagar må vere mellom {min_days} og {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Inga fil vart sendt. Sjekk \"encoding\"-typen på skjemaet." + +msgid "No file was submitted." +msgstr "Inga fil vart sendt." + +msgid "The submitted file is empty." +msgstr "Fila er tom." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Filnamnet kan ikkje ha fleire enn %(max)d teikn (det har %(length)d)." +msgstr[1] "" +"Filnamnet kan ikkje ha fleire enn %(max)d teikn (det har %(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Last enten opp ei fil eller huk av i avkryssingsboksen." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Last opp eit gyldig bilete. Fila du lasta opp var ødelagt eller ikkje eit " +"bilete." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Velg eit gyldig valg. %(value)s er ikkje eit av dei tilgjengelege valga." + +msgid "Enter a list of values." +msgstr "Oppgje ei liste med verdiar." + +msgid "Enter a complete value." +msgstr "Oppgje ein fullstendig verdi." + +msgid "Enter a valid UUID." +msgstr "Oppgje ein gyldig UUID." + +msgid "Enter a valid JSON." +msgstr "Oppgje gyldig JSON." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Gøymt felt %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"ManagementForm data manglar eller har blitt tukla med. Felt som manglar: " +"%(field_names)s. Du burde kanskje sende ein feilrapport dersom problemet " +"fortset. " + +#, python-format +msgid "Please submit at most %d form." +msgid_plural "Please submit at most %d forms." +msgstr[0] "Ver vennleg å ikkje sende inn fleire enn %d skjema. " +msgstr[1] "Ver vennleg å ikkje sende inn fleire enn %d skjema. " + +#, python-format +msgid "Please submit at least %d form." +msgid_plural "Please submit at least %d forms." +msgstr[0] "Ver vennleg å sende inn minst %d skjema. " +msgstr[1] "Ver vennleg å sende inn minst %d skjema. " + +msgid "Order" +msgstr "Rekkefølge" + +msgid "Delete" +msgstr "Slett" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Korriger dupliserte data for %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "Korriger dupliserte data for %(field)s, som må vere unike." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Korriger dupliserte data for %(field_name)s, som må vere unike for " +"%(lookup)s i %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Korriger dei dupliserte verdiane nedanfor." + +msgid "The inline value did not match the parent instance." +msgstr "Inline verdien stemmer ikkje overeins med forelder-instansen.  " + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Velg eit gyldig valg. Valget er ikkje eit av dei tilgjengelege valga." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "“%(pk)s” er ikkje ein gyldig verdi." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s kunne ikkje bli tolka i tidssona %(current_timezone)s; Verdien " +"er anten tvetydig eller ugyldig." + +msgid "Clear" +msgstr "Tøm" + +msgid "Currently" +msgstr "Noverande" + +msgid "Change" +msgstr "Endre" + +msgid "Unknown" +msgstr "Ukjend" + +msgid "Yes" +msgstr "Ja" + +msgid "No" +msgstr "Nei" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "ja,nei,kanskje" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d byte" +msgstr[1] "%(size)d bytes" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "midnatt" + +msgid "noon" +msgstr "12:00" + +msgid "Monday" +msgstr "måndag" + +msgid "Tuesday" +msgstr "tysdag" + +msgid "Wednesday" +msgstr "onsdag" + +msgid "Thursday" +msgstr "torsdag" + +msgid "Friday" +msgstr "fredag" + +msgid "Saturday" +msgstr "laurdag" + +msgid "Sunday" +msgstr "søndag" + +msgid "Mon" +msgstr "man" + +msgid "Tue" +msgstr "tys" + +msgid "Wed" +msgstr "ons" + +msgid "Thu" +msgstr "tor" + +msgid "Fri" +msgstr "fre" + +msgid "Sat" +msgstr "lau" + +msgid "Sun" +msgstr "søn" + +msgid "January" +msgstr "januar" + +msgid "February" +msgstr "februar" + +msgid "March" +msgstr "mars" + +msgid "April" +msgstr "april" + +msgid "May" +msgstr "mai" + +msgid "June" +msgstr "juni" + +msgid "July" +msgstr "juli" + +msgid "August" +msgstr "august" + +msgid "September" +msgstr "september" + +msgid "October" +msgstr "oktober" + +msgid "November" +msgstr "november" + +msgid "December" +msgstr "desember" + +msgid "jan" +msgstr "jan" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "mars" + +msgid "apr" +msgstr "april" + +msgid "may" +msgstr "mai" + +msgid "jun" +msgstr "juni" + +msgid "jul" +msgstr "juli" + +msgid "aug" +msgstr "aug" + +msgid "sep" +msgstr "sep" + +msgid "oct" +msgstr "okt" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "des" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "jan." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "mars" + +msgctxt "abbrev. month" +msgid "April" +msgstr "april" + +msgctxt "abbrev. month" +msgid "May" +msgstr "mai" + +msgctxt "abbrev. month" +msgid "June" +msgstr "juni" + +msgctxt "abbrev. month" +msgid "July" +msgstr "juli" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "aug." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "sep." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "okt." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "des." + +msgctxt "alt. month" +msgid "January" +msgstr "Januar" + +msgctxt "alt. month" +msgid "February" +msgstr "Februar" + +msgctxt "alt. month" +msgid "March" +msgstr "Mars" + +msgctxt "alt. month" +msgid "April" +msgstr "April" + +msgctxt "alt. month" +msgid "May" +msgstr "Mai" + +msgctxt "alt. month" +msgid "June" +msgstr "Juni" + +msgctxt "alt. month" +msgid "July" +msgstr "Juli" + +msgctxt "alt. month" +msgid "August" +msgstr "August" + +msgctxt "alt. month" +msgid "September" +msgstr "September" + +msgctxt "alt. month" +msgid "October" +msgstr "Oktober" + +msgctxt "alt. month" +msgid "November" +msgstr "November" + +msgctxt "alt. month" +msgid "December" +msgstr "Desember" + +msgid "This is not a valid IPv6 address." +msgstr "Dette er ikkje ei gyldig IPv6-adresse." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "eller" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d år" +msgstr[1] "%(num)d år" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d månad" +msgstr[1] "%(num)d månader" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d veke" +msgstr[1] "%(num)d veker" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d dag" +msgstr[1] "%(num)d dagar" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d time" +msgstr[1] "%(num)d timar" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d minutt" +msgstr[1] "%(num)d minutt" + +msgid "Forbidden" +msgstr "Forbydd" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF-verifikasjon feila. Førespurnad avbrote." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Du ser denne meldinga på grunn av at det ikkje blei sendt nokon \"Referer\" " +"hovud frå din nettlesar, noko denne HTTPS-sida krev. Dette hovudet er eit " +"krav på grunn av sikkerheit, for å hindre at din nettlesar er kapra av " +"tredjepartar. " + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Dersom du har konfigurert nettlesaren din til å deaktiverere \"Referer\"-" +"hovud må du aktivere dei på nytt, i det minste for denne nettsida, eller for " +"HTTPS-tilkoplingar eller for førespurnadar av same opphav. " + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Dersom du brukar -taggen " +"eller inkludera \"Referrer-Policy: no-referrer\" hovud, ver vennleg å fjerne " +"dei. CSRF-vern krev \"Referer\" hovud for å gjennomføre strenge kontrollar " +"av referer. Dersom du har bekymringar for personvern bruk alternativ som for lenkjer til tredepartssider" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Du ser denne meldinga fordi denne nettsida krev ein CSRF informasjonskapsel " +"når du sender inn skjema. Denne informasjonskapselen er eit krav på grunn av " +"sikkerheit, for å forsikre at nettlesaren din ikkje er kapra av " +"tredjepartar. " + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Dersom du har konfigurert nettlesaren din til å deaktivere " +"informasjonskapslar, ver vennleg å aktiver dei på nytt, i det minste for " +"denne nettsida, eller for førespurnader av same opphav. " + +msgid "More information is available with DEBUG=True." +msgstr "Meir informasjon er tilgjengeleg med DEBUG=True." + +msgid "No year specified" +msgstr "Årstal ikkje spesifisert" + +msgid "Date out of range" +msgstr "Dato er utanfor rekkjevidde" + +msgid "No month specified" +msgstr "Månad ikkje spesifisert" + +msgid "No day specified" +msgstr "Dag ikkje spesifisert" + +msgid "No week specified" +msgstr "Veke ikkje spesifisert" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "%(verbose_name_plural)s tilgjengeleg" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Framtidig %(verbose_name_plural)s er ikkje tilgjengeleg fordi %(class_name)s." +"allow_future er sett til False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "Ugyldig datostreng \"%(datestr)s\" grunna format \"%(format)s\"" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Fann ingen %(verbose_name)s som korresponderte med spørringa" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" +"Sida er ikkje \"last\" og den kan heller ikkje konverterast til eit heiltal. " + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Ugyldig side (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Tom liste og \"%(class_name)s.allow_empty\" er False." + +msgid "Directory indexes are not allowed here." +msgstr "Mappeindeksar er ikkje tillate her." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "\"%(path)s\" eksisterer ikkje" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Indeks for %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "Installasjonen var vellykka! Gratulerer!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Sjå utgjevingsnotat for Django %(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" +"Du ser denne sida fordi DEBUG=True er i innstillingsfila di og du ikkje har konfigurert noka " +"nettadresser." + +msgid "Django Documentation" +msgstr "Django-dokumentasjon" + +msgid "Topics, references, & how-to’s" +msgstr "Tema, referansar, & how-tos" + +msgid "Tutorial: A Polling App" +msgstr "Opplæring: Ein avstemmingsapp" + +msgid "Get started with Django" +msgstr "Kom i gang med Django" + +msgid "Django Community" +msgstr "Django Nettsamfunn" + +msgid "Connect, get help, or contribute" +msgstr "Koble, få hjelp, eller bidra" diff --git a/external_sources/django/django/conf/locale/nn/__init__.py b/external_sources/django/django/conf/locale/nn/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/nn/formats.py b/external_sources/django/django/conf/locale/nn/formats.py new file mode 100644 index 0000000..0ddb8fe --- /dev/null +++ b/external_sources/django/django/conf/locale/nn/formats.py @@ -0,0 +1,41 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j. F Y" +TIME_FORMAT = "H:i" +DATETIME_FORMAT = "j. F Y H:i" +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j. F" +SHORT_DATE_FORMAT = "d.m.Y" +SHORT_DATETIME_FORMAT = "d.m.Y H:i" +FIRST_DAY_OF_WEEK = 1 # Monday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# Kept ISO formats as they are in first position +DATE_INPUT_FORMATS = [ + "%Y-%m-%d", # '2006-10-25' + "%d.%m.%Y", # '25.10.2006' + "%d.%m.%y", # '25.10.06' + # "%d. %b %Y", # '25. okt 2006' + # "%d %b %Y", # '25 okt 2006' + # "%d. %b. %Y", # '25. okt. 2006' + # "%d %b. %Y", # '25 okt. 2006' + # "%d. %B %Y", # '25. oktober 2006' + # "%d %B %Y", # '25 oktober 2006' +] +DATETIME_INPUT_FORMATS = [ + "%Y-%m-%d %H:%M:%S", # '2006-10-25 14:30:59' + "%Y-%m-%d %H:%M:%S.%f", # '2006-10-25 14:30:59.000200' + "%Y-%m-%d %H:%M", # '2006-10-25 14:30' + "%d.%m.%Y %H:%M:%S", # '25.10.2006 14:30:59' + "%d.%m.%Y %H:%M:%S.%f", # '25.10.2006 14:30:59.000200' + "%d.%m.%Y %H:%M", # '25.10.2006 14:30' + "%d.%m.%y %H:%M:%S", # '25.10.06 14:30:59' + "%d.%m.%y %H:%M:%S.%f", # '25.10.06 14:30:59.000200' + "%d.%m.%y %H:%M", # '25.10.06 14:30' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "\xa0" # non-breaking space +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/os/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/os/LC_MESSAGES/django.po new file mode 100644 index 0000000..f3badb7 --- /dev/null +++ b/external_sources/django/django/conf/locale/os/LC_MESSAGES/django.po @@ -0,0 +1,1235 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Soslan Khubulov , 2013 +# Soslan Khubulov , 2013 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-27 22:40+0200\n" +"PO-Revision-Date: 2019-11-05 00:38+0000\n" +"Last-Translator: Ramiro Morales\n" +"Language-Team: Ossetic (http://www.transifex.com/django/django/language/" +"os/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: os\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "Африкаанс" + +msgid "Arabic" +msgstr "Араббаг" + +msgid "Asturian" +msgstr "" + +msgid "Azerbaijani" +msgstr "Тӕтӕйраг" + +msgid "Bulgarian" +msgstr "Болгайраг" + +msgid "Belarusian" +msgstr "Беларусаг" + +msgid "Bengali" +msgstr "Бенгалаг" + +msgid "Breton" +msgstr "Бретойнаг" + +msgid "Bosnian" +msgstr "Босниаг" + +msgid "Catalan" +msgstr "Каталайнаг" + +msgid "Czech" +msgstr "Чехаг" + +msgid "Welsh" +msgstr "Уельсаг" + +msgid "Danish" +msgstr "Даниаг" + +msgid "German" +msgstr "Немыцаг" + +msgid "Lower Sorbian" +msgstr "" + +msgid "Greek" +msgstr "Грекъаг" + +msgid "English" +msgstr "Англисаг" + +msgid "Australian English" +msgstr "" + +msgid "British English" +msgstr "Бритайнаг англисаг" + +msgid "Esperanto" +msgstr "Есперанто" + +msgid "Spanish" +msgstr "Испайнаг" + +msgid "Argentinian Spanish" +msgstr "Аргентинаг испайнаг" + +msgid "Colombian Spanish" +msgstr "" + +msgid "Mexican Spanish" +msgstr "Мексикайнаг Испайнаг" + +msgid "Nicaraguan Spanish" +msgstr "Никарагуайаг испайнаг" + +msgid "Venezuelan Spanish" +msgstr "Венесуелаг испайнаг" + +msgid "Estonian" +msgstr "Эстойнаг" + +msgid "Basque" +msgstr "Баскаг" + +msgid "Persian" +msgstr "Персайнаг" + +msgid "Finnish" +msgstr "Финнаг" + +msgid "French" +msgstr "Францаг" + +msgid "Frisian" +msgstr "Фризаг" + +msgid "Irish" +msgstr "Ирландиаг" + +msgid "Scottish Gaelic" +msgstr "" + +msgid "Galician" +msgstr "Галициаг" + +msgid "Hebrew" +msgstr "Иврит" + +msgid "Hindi" +msgstr "Хинди" + +msgid "Croatian" +msgstr "Хорватаг" + +msgid "Upper Sorbian" +msgstr "" + +msgid "Hungarian" +msgstr "Венгриаг" + +msgid "Armenian" +msgstr "" + +msgid "Interlingua" +msgstr "Интерлингва" + +msgid "Indonesian" +msgstr "Индонезиаг" + +msgid "Ido" +msgstr "" + +msgid "Icelandic" +msgstr "Исландаг" + +msgid "Italian" +msgstr "Италиаг" + +msgid "Japanese" +msgstr "Япойнаг" + +msgid "Georgian" +msgstr "Гуырдзиаг" + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "Казахаг" + +msgid "Khmer" +msgstr "Хмераг" + +msgid "Kannada" +msgstr "Каннадаг" + +msgid "Korean" +msgstr "Корейаг" + +msgid "Luxembourgish" +msgstr "Люксембургаг" + +msgid "Lithuanian" +msgstr "Литвайаг" + +msgid "Latvian" +msgstr "Латвийаг" + +msgid "Macedonian" +msgstr "Мӕчъидон" + +msgid "Malayalam" +msgstr "Малайаг" + +msgid "Mongolian" +msgstr "Монголиаг" + +msgid "Marathi" +msgstr "" + +msgid "Burmese" +msgstr "Бурмизаг" + +msgid "Norwegian Bokmål" +msgstr "" + +msgid "Nepali" +msgstr "Непалаг" + +msgid "Dutch" +msgstr "Нидерландаг" + +msgid "Norwegian Nynorsk" +msgstr "Норвегийаг Нинорск" + +msgid "Ossetic" +msgstr "Ирон" + +msgid "Punjabi" +msgstr "Пенджабаг" + +msgid "Polish" +msgstr "Полаг" + +msgid "Portuguese" +msgstr "Португалаг" + +msgid "Brazilian Portuguese" +msgstr "Бразилаг португалаг" + +msgid "Romanian" +msgstr "Румынаг" + +msgid "Russian" +msgstr "Уырыссаг" + +msgid "Slovak" +msgstr "Словакиаг" + +msgid "Slovenian" +msgstr "Словенаг" + +msgid "Albanian" +msgstr "Албайнаг" + +msgid "Serbian" +msgstr "Сербаг" + +msgid "Serbian Latin" +msgstr "Латинаг Сербаг" + +msgid "Swedish" +msgstr "Шведаг" + +msgid "Swahili" +msgstr "Суахили" + +msgid "Tamil" +msgstr "Тамилаг" + +msgid "Telugu" +msgstr "Телугу" + +msgid "Thai" +msgstr "Тайаг" + +msgid "Turkish" +msgstr "Туркаг" + +msgid "Tatar" +msgstr "Тӕтӕйраг" + +msgid "Udmurt" +msgstr "Удмуртаг" + +msgid "Ukrainian" +msgstr "Украинаг" + +msgid "Urdu" +msgstr "Урду" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "Вьетнамаг" + +msgid "Simplified Chinese" +msgstr "Ӕнцонгонд Китайаг" + +msgid "Traditional Chinese" +msgstr "Традицион Китайаг" + +msgid "Messages" +msgstr "" + +msgid "Site Maps" +msgstr "" + +msgid "Static Files" +msgstr "" + +msgid "Syndication" +msgstr "" + +msgid "That page number is not an integer" +msgstr "" + +msgid "That page number is less than 1" +msgstr "" + +msgid "That page contains no results" +msgstr "" + +msgid "Enter a valid value." +msgstr "Раст бӕрц бафысс." + +msgid "Enter a valid URL." +msgstr "Раст URL бафысс." + +msgid "Enter a valid integer." +msgstr "" + +msgid "Enter a valid email address." +msgstr "Раст email адрис бафысс." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "Раст IPv4 адрис бафысс." + +msgid "Enter a valid IPv6 address." +msgstr "Раст IPv6 адрис бафысс." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Раст IPv4 кӕнӕ IPv6 адрис бафысс." + +msgid "Enter only digits separated by commas." +msgstr "Бафысс ӕрмӕст нымӕцтӕ, къӕдзгуытӕй дихгонд." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Ацы бӕрц хъуамӕ уа %(limit_value)s (у %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Ацы бӕрц хъуамӕ уа %(limit_value)s, кӕнӕ цъусдӕр." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Ацы бӕрц хъуамӕ уа %(limit_value)s, кӕнӕ цъусдӕр." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Дӕ хъус бадар цӕмӕй ам %(limit_value)d дамгъӕ уӕддӕр уа (ис дзы " +"%(show_value)d)." +msgstr[1] "" +"Дӕ хъус бадар цӕмӕй ам %(limit_value)d дамгъӕйы уӕддӕр уа (ис дзы " +"%(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Дӕ хъус бадар цӕмӕй ам %(limit_value)d дамгъӕйӕ фылдӕр ма уа (ис дзы " +"%(show_value)d)." +msgstr[1] "" +"Дӕ хъус бадар цӕмӕй ам %(limit_value)d дамгъӕйӕ фылдӕр ма уа (ис дзы " +"%(show_value)d)." + +msgid "Enter a number." +msgstr "Бафысс нымӕц." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Дӕ хъус бадар цӕмӕй иууыл иумӕ %(max)s цифрӕйӕ фылдӕр уой." +msgstr[1] "Дӕ хъус бадар цӕмӕй иууыл иумӕ %(max)s цифрӕйӕ фылдӕр уой." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Дӕ хъус бадар цӕмӕй дӕсон бынӕттӕ %(max)s-ӕй фылдӕр ма уой." +msgstr[1] "Дӕ хъус бадар цӕмӕй дӕсон бынӕттӕ %(max)s-ӕй фылдӕр ма уой." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Дӕ хъус бадар цӕмӕй дӕсон стъӕлфы размӕ %(max)s цифрӕйӕ фылдӕр ма уа." +msgstr[1] "" +"Дӕ хъус бадар цӕмӕй дӕсон стъӕлфы размӕ %(max)s цифрӕйӕ фылдӕр ма уа." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "" + +msgid "and" +msgstr "ӕмӕ" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "" + +msgid "This field cannot be null." +msgstr "Ацы быдыр нул ма хъуамӕ уа." + +msgid "This field cannot be blank." +msgstr "Ацы быдыр афтид ма хъуамӕ уа." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s ацы %(field_label)s-имӕ нырид ис." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Быдыры хуыз: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "Булон (Бӕлвырд кӕнӕ Мӕнг)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Рӕнхъ (%(max_length)s-ы йонг)" + +msgid "Comma-separated integers" +msgstr "Къӕдзыгӕй хицӕнгонд ӕгас нымӕцтӕ" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "Бон (ӕнӕ рӕстӕг)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "Бон (ӕд рӕстӕг)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "Дӕсон нымӕц" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "" + +msgid "Email address" +msgstr "Электрон посты адрис" + +msgid "File path" +msgstr "Файлы фӕт" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "Уӕгъд стъӕлфимӕ нымӕц" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "Ӕгас нымӕц" + +msgid "Big (8 byte) integer" +msgstr "Стыр (8 байты) ӕгас нымӕц" + +msgid "IPv4 address" +msgstr "IPv4 адрис" + +msgid "IP address" +msgstr "IP адрис" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "Булон (Бӕлвырд, Мӕнг кӕнӕ Ницы)" + +msgid "Positive integer" +msgstr "Позитивон ӕгас нымӕц" + +msgid "Positive small integer" +msgstr "Позитивон гыццыл ӕгас нымӕц" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Слаг (ӕппӕты фылдӕр %(max_length)s)" + +msgid "Small integer" +msgstr "Гыццыл ӕгас нымӕц" + +msgid "Text" +msgstr "Текст" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "Рӕстӕг" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Хом бинарон рардтӕ" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "Файл" + +msgid "Image" +msgstr "Ныв" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" + +msgid "Foreign Key (type determined by related field)" +msgstr "Ӕттагон Амонӕн (хӕстӕг быдырӕй бӕрӕггонд хуыз)" + +msgid "One-to-one relationship" +msgstr "Иуӕн-иу бастдзинад" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "" + +msgid "Many-to-many relationship" +msgstr "Бирӕйӕн-бирӕ бастдзинад" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr "" + +msgid "This field is required." +msgstr "Ацы быдыр ӕнӕмӕнг у." + +msgid "Enter a whole number." +msgstr "Бафысс ӕнӕхъӕн нымӕц." + +msgid "Enter a valid date." +msgstr "Раст бон бафысс." + +msgid "Enter a valid time." +msgstr "Раст рӕстӕг бафысс." + +msgid "Enter a valid date/time." +msgstr "Раст бон/рӕстӕг бафысс." + +msgid "Enter a valid duration." +msgstr "" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Ницы файл уыд лӕвӕрд. Абӕрӕг кӕн формӕйы кодкӕнынады хуыз." + +msgid "No file was submitted." +msgstr "Ницы файл уыд лӕвӕрд." + +msgid "The submitted file is empty." +msgstr "Лӕвӕрд файл афтид у." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Дӕ хъус бадар цӕмӕй ацы файлы номы %(max)d дамгъӕйӕ фылдӕр ма уа(ис дзы " +"%(length)d)." +msgstr[1] "" +"Дӕ хъус бадар цӕмӕй ацы файлы номы %(max)d дамгъӕйӕ фылдӕр ма уа(ис дзы " +"%(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Дӕ хорзӕхӕй, кӕнӕ бадӕтт файл, кӕнӕ банысан кӕн сыгъдӕг чекбокс. Дыууӕ иумӕ " +"нӕ." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Раст ныв бавгӕн. Ды цы файл бавгӕдтай, уый кӕнӕ ныв нӕ уыд, кӕнӕ хӕлд ныв " +"уыд." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Раст фадат равзар. %(value)s фадӕтты ӕхсӕн нӕй." + +msgid "Enter a list of values." +msgstr "Бафысс мидисты номхыгъд." + +msgid "Enter a complete value." +msgstr "" + +msgid "Enter a valid UUID." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr "" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Ӕмбӕхст быдыр %(name)s) %(error)s" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "" +msgstr[1] "" + +msgid "Order" +msgstr "Рад" + +msgid "Delete" +msgstr "Схафын" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Дӕ хорзӕхӕй, %(field)s-ы дывӕр рардтӕ сраст кӕн." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "Дӕ хорзӕхӕй, %(field)s-ы дывӕр рардтӕ сраст кӕн. Хъуамӕ уникалон уа." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Дӕ хорзӕхӕй, %(field_name)s-ы дывӕр рардтӕ сраст кӕн. Хъуамӕ %(date_field)s-" +"ы %(lookup)s-ӕн уникалон уа. " + +msgid "Please correct the duplicate values below." +msgstr "Дӕ хорзӕхӕй, бындӕр цы дывӕр рардтӕ ис, уыдон сраст кӕн." + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Раст фадат равзар. УКыцы фадат фадӕтты ӕхсӕн нӕй." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "Сыгъдӕг" + +msgid "Currently" +msgstr "Ныр" + +msgid "Change" +msgstr "Фӕивын" + +msgid "Unknown" +msgstr "Ӕнӕбӕрӕг" + +msgid "Yes" +msgstr "О" + +msgid "No" +msgstr "Нӕ" + +msgid "Year" +msgstr "" + +msgid "Month" +msgstr "" + +msgid "Day" +msgstr "" + +msgid "yes,no,maybe" +msgstr "о,нӕ,гӕнӕн ис" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d байт" +msgstr[1] "%(size)d байты" + +#, python-format +msgid "%s KB" +msgstr "%s КБ" + +#, python-format +msgid "%s MB" +msgstr "%s МБ" + +#, python-format +msgid "%s GB" +msgstr "%s ГБ" + +#, python-format +msgid "%s TB" +msgstr "%s ТБ" + +#, python-format +msgid "%s PB" +msgstr "%s ПБ" + +msgid "p.m." +msgstr "ӕ.ф." + +msgid "a.m." +msgstr "ӕ.р." + +msgid "PM" +msgstr "ӔФ" + +msgid "AM" +msgstr "ӔР" + +msgid "midnight" +msgstr "ӕмбисӕхсӕв" + +msgid "noon" +msgstr "ӕмбисбон" + +msgid "Monday" +msgstr "Къуырисӕр" + +msgid "Tuesday" +msgstr "Дыццӕг" + +msgid "Wednesday" +msgstr "Ӕртыццӕг" + +msgid "Thursday" +msgstr "Цыппӕрӕм" + +msgid "Friday" +msgstr "Майрӕмбон" + +msgid "Saturday" +msgstr "Сабат" + +msgid "Sunday" +msgstr "Хуыцаубон" + +msgid "Mon" +msgstr "Крс" + +msgid "Tue" +msgstr "Дцг" + +msgid "Wed" +msgstr "Ӕрт" + +msgid "Thu" +msgstr "Цпр" + +msgid "Fri" +msgstr "Мрб" + +msgid "Sat" +msgstr "Сбт" + +msgid "Sun" +msgstr "Хцб" + +msgid "January" +msgstr "Январь" + +msgid "February" +msgstr "Февраль" + +msgid "March" +msgstr "Мартъи" + +msgid "April" +msgstr "Апрель" + +msgid "May" +msgstr "Май" + +msgid "June" +msgstr "Июнь" + +msgid "July" +msgstr "Июль" + +msgid "August" +msgstr "Август" + +msgid "September" +msgstr "Сентябрь" + +msgid "October" +msgstr "Октябрь" + +msgid "November" +msgstr "Ноябрь" + +msgid "December" +msgstr "Декабрь" + +msgid "jan" +msgstr "янв" + +msgid "feb" +msgstr "фев" + +msgid "mar" +msgstr "мар" + +msgid "apr" +msgstr "апр" + +msgid "may" +msgstr "май" + +msgid "jun" +msgstr "июн" + +msgid "jul" +msgstr "июл" + +msgid "aug" +msgstr "авг" + +msgid "sep" +msgstr "сен" + +msgid "oct" +msgstr "окт" + +msgid "nov" +msgstr "ноя" + +msgid "dec" +msgstr "дек" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Янв." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Фев." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Мартъи" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Апрель" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Май" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Июнь" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Июль" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Авг." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Сен." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Окт." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Ноя." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Дек." + +msgctxt "alt. month" +msgid "January" +msgstr "Январь" + +msgctxt "alt. month" +msgid "February" +msgstr "Февраль" + +msgctxt "alt. month" +msgid "March" +msgstr "Мартъи" + +msgctxt "alt. month" +msgid "April" +msgstr "Апрель" + +msgctxt "alt. month" +msgid "May" +msgstr "Май" + +msgctxt "alt. month" +msgid "June" +msgstr "Июнь" + +msgctxt "alt. month" +msgid "July" +msgstr "Июль" + +msgctxt "alt. month" +msgid "August" +msgstr "Август" + +msgctxt "alt. month" +msgid "September" +msgstr "Сентябрь" + +msgctxt "alt. month" +msgid "October" +msgstr "Октябрь" + +msgctxt "alt. month" +msgid "November" +msgstr "Ноябрь" + +msgctxt "alt. month" +msgid "December" +msgstr "Декабрь" + +msgid "This is not a valid IPv6 address." +msgstr "" + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "кӕнӕ" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "%d аз" +msgstr[1] "%d азы" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "%d мӕй" +msgstr[1] "%d мӕйы" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "%d къуыри" +msgstr[1] "%d къуырийы" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "%d бон" +msgstr[1] "%d боны" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "%d сахат" +msgstr[1] "%d сахаты" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "%d минут" +msgstr[1] "%d минуты" + +msgid "0 minutes" +msgstr "0 минуты" + +msgid "Forbidden" +msgstr "" + +msgid "CSRF verification failed. Request aborted." +msgstr "" + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "" + +msgid "No year specified" +msgstr "Аз амынд нӕ уыд" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "Мӕй амынд нӕ уыд" + +msgid "No day specified" +msgstr "Бон амынд нӕ уыд" + +msgid "No week specified" +msgstr "Къуыри амынд нӕ уыд" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Ницы %(verbose_name_plural)s ис" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Фидӕн %(verbose_name_plural)s-мӕ бавналӕн нӕй, уымӕн ӕмӕ %(class_name)s." +"allow_future Мӕнг у." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Домӕнӕн ницы %(verbose_name)s ӕмбӕлы" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Мӕнг фарс (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "Ам директориты индекстӕ нӕй гӕнӕн." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "%(directory)s-ы индекс" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/pa/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/pa/LC_MESSAGES/django.po new file mode 100644 index 0000000..d71b5f7 --- /dev/null +++ b/external_sources/django/django/conf/locale/pa/LC_MESSAGES/django.po @@ -0,0 +1,1213 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# A S Alam , 2011,2013,2015 +# Jannis Leidel , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-27 22:40+0200\n" +"PO-Revision-Date: 2019-11-05 00:38+0000\n" +"Last-Translator: Ramiro Morales\n" +"Language-Team: Panjabi (Punjabi) (http://www.transifex.com/django/django/" +"language/pa/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pa\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "ਅਫਰੀਕੀ" + +msgid "Arabic" +msgstr "ਅਰਬੀ" + +msgid "Asturian" +msgstr "" + +msgid "Azerbaijani" +msgstr "ਅਜ਼ਰਬਾਈਜਾਨੀ" + +msgid "Bulgarian" +msgstr "ਬੁਲਗਾਰੀਆਈ" + +msgid "Belarusian" +msgstr "ਬੇਲਾਰੂਸੀ" + +msgid "Bengali" +msgstr "ਬੰਗਾਲੀ" + +msgid "Breton" +msgstr "ਬਰੇਟੋਨ" + +msgid "Bosnian" +msgstr "ਬੋਸਨੀਆਈ" + +msgid "Catalan" +msgstr "ਕਾਟਾਲਾਨ" + +msgid "Czech" +msgstr "ਚੈੱਕ" + +msgid "Welsh" +msgstr "ਵੈਲਸ਼" + +msgid "Danish" +msgstr "ਡੈਨਿਸ਼" + +msgid "German" +msgstr "ਜਰਮਨ" + +msgid "Lower Sorbian" +msgstr "" + +msgid "Greek" +msgstr "ਗਰੀਕ" + +msgid "English" +msgstr "ਅੰਗਰੇਜ਼ੀ" + +msgid "Australian English" +msgstr "" + +msgid "British English" +msgstr "ਬਰਤਾਨੀਵੀਂ ਅੰਗਰੇਜ਼ੀ" + +msgid "Esperanto" +msgstr "" + +msgid "Spanish" +msgstr "ਸਪੇਨੀ" + +msgid "Argentinian Spanish" +msgstr "ਅਰਜਨਟੀਨੀ ਸਪੇਨੀ" + +msgid "Colombian Spanish" +msgstr "" + +msgid "Mexican Spanish" +msgstr "ਮੈਕਸੀਕਨ ਸਪੇਨੀ" + +msgid "Nicaraguan Spanish" +msgstr "" + +msgid "Venezuelan Spanish" +msgstr "" + +msgid "Estonian" +msgstr "ਈਸਟੋਨੀਆਈ" + +msgid "Basque" +msgstr "ਬਸਕਿਊ" + +msgid "Persian" +msgstr "ਪਰਸ਼ੀਆਈ" + +msgid "Finnish" +msgstr "ਫੈਨਿਸ਼" + +msgid "French" +msgstr "ਫਰੈਂਚ" + +msgid "Frisian" +msgstr "ਫ਼ਾਰਸੀ" + +msgid "Irish" +msgstr "ਆਈਰਸ਼" + +msgid "Scottish Gaelic" +msgstr "" + +msgid "Galician" +msgstr "ਗਲੀਸੀਆਈ" + +msgid "Hebrew" +msgstr "ਹੈਬਰਿਊ" + +msgid "Hindi" +msgstr "ਹਿੰਦੀ" + +msgid "Croatian" +msgstr "ਕਰੋਆਟੀਆਈ" + +msgid "Upper Sorbian" +msgstr "" + +msgid "Hungarian" +msgstr "ਹੰਗਰੀਆਈ" + +msgid "Armenian" +msgstr "" + +msgid "Interlingua" +msgstr "" + +msgid "Indonesian" +msgstr "ਇੰਡੋਨੇਸ਼ੀਆਈ" + +msgid "Ido" +msgstr "" + +msgid "Icelandic" +msgstr "ਆਈਸਲੈਂਡਿਕ" + +msgid "Italian" +msgstr "ਇਤਾਲਵੀ" + +msgid "Japanese" +msgstr "ਜਾਪਾਨੀ" + +msgid "Georgian" +msgstr "ਜਾਰਜੀਆਈ" + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "ਕਜ਼ਾਖ" + +msgid "Khmer" +msgstr "ਖਮੀਰ" + +msgid "Kannada" +msgstr "ਕੰਨੜ" + +msgid "Korean" +msgstr "ਕੋਰੀਆਈ" + +msgid "Luxembourgish" +msgstr "" + +msgid "Lithuanian" +msgstr "ਲੀਥੁਨੀਆਈ" + +msgid "Latvian" +msgstr "ਲਾਟਵੀਅਨ" + +msgid "Macedonian" +msgstr "ਮੈਕਡੋਨੀਆਈ" + +msgid "Malayalam" +msgstr "ਮਲਿਆਲਮ" + +msgid "Mongolian" +msgstr "ਮੰਗੋਲੀਆਈ" + +msgid "Marathi" +msgstr "ਮਰਾਠੀ" + +msgid "Burmese" +msgstr "" + +msgid "Norwegian Bokmål" +msgstr "" + +msgid "Nepali" +msgstr "ਨੇਪਾਲੀ" + +msgid "Dutch" +msgstr "ਡੱਚ" + +msgid "Norwegian Nynorsk" +msgstr "ਨਾਰਵੇਗੀਅਨ ਨਯਨੋਰਸਕ" + +msgid "Ossetic" +msgstr "" + +msgid "Punjabi" +msgstr "ਪੰਜਾਬੀ" + +msgid "Polish" +msgstr "ਪੋਲੈਂਡੀ" + +msgid "Portuguese" +msgstr "ਪੁਰਤਗਾਲੀ" + +msgid "Brazilian Portuguese" +msgstr "ਬਰਾਜ਼ੀਲੀ ਪੁਰਤਗਾਲੀ" + +msgid "Romanian" +msgstr "ਰੋਮਾਨੀਆਈ" + +msgid "Russian" +msgstr "ਰੂਸੀ" + +msgid "Slovak" +msgstr "ਸਲੋਵਾਕ" + +msgid "Slovenian" +msgstr "ਸਲੋਵੀਨੀਆਈ" + +msgid "Albanian" +msgstr "ਅਲਬੀਨੀਆਈ" + +msgid "Serbian" +msgstr "ਸਰਬੀਆਈ" + +msgid "Serbian Latin" +msgstr "ਸਰਬੀਆਈ ਲੈਟਿਨ" + +msgid "Swedish" +msgstr "ਸਵੀਡਨੀ" + +msgid "Swahili" +msgstr "" + +msgid "Tamil" +msgstr "ਤਾਮਿਲ" + +msgid "Telugu" +msgstr "ਤੇਲਗੂ" + +msgid "Thai" +msgstr "ਥਾਈ" + +msgid "Turkish" +msgstr "ਤੁਰਕ" + +msgid "Tatar" +msgstr "ਤਤਾਰ" + +msgid "Udmurt" +msgstr "" + +msgid "Ukrainian" +msgstr "ਯੂਕਰੇਨੀ" + +msgid "Urdu" +msgstr "ਉਰਦੂ" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "ਵੀਅਤਨਾਮੀ" + +msgid "Simplified Chinese" +msgstr "ਸਧਾਰਨ ਚੀਨੀ" + +msgid "Traditional Chinese" +msgstr "ਮੂਲ ਚੀਨੀ" + +msgid "Messages" +msgstr "ਸੁਨੇਹੇ" + +msgid "Site Maps" +msgstr "ਸਾਈਟ ਖਾਕੇ" + +msgid "Static Files" +msgstr "ਸਥਿਰ ਫਾਈਲਾਂ" + +msgid "Syndication" +msgstr "" + +msgid "That page number is not an integer" +msgstr "" + +msgid "That page number is less than 1" +msgstr "" + +msgid "That page contains no results" +msgstr "" + +msgid "Enter a valid value." +msgstr "ਠੀਕ ਮੁੱਲ ਦਿਓ" + +msgid "Enter a valid URL." +msgstr "ਠੀਕ URL ਦਿਉ।" + +msgid "Enter a valid integer." +msgstr "" + +msgid "Enter a valid email address." +msgstr "ਢੁੱਕਵਾਂ ਈਮੇਲ ਸਿਰਨਾਵਾਂ ਦਿਉ ਜੀ।" + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "" + +msgid "Enter a valid IPv6 address." +msgstr "" + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "" + +msgid "Enter only digits separated by commas." +msgstr "" + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Enter a number." +msgstr "ਨੰਬਰ ਦਿਓ।" + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "" + +msgid "and" +msgstr "ਅਤੇ" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "" + +msgid "This field cannot be null." +msgstr "" + +msgid "This field cannot be blank." +msgstr "ਇਹ ਖੇਤਰ ਖਾਲੀ ਨਹੀਂ ਹੋ ਸਕਦਾ ਹੈ।" + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "" + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "ਖੇਤਰ ਦੀ ਕਿਸਮ: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "" + +msgid "Comma-separated integers" +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "ਮਿਤੀ (ਬਿਨਾਂ ਸਮਾਂ)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "ਮਿਤੀ (ਸਮੇਂ ਨਾਲ)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "ਦਸ਼ਮਲਵ ਅੰਕ" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "ਅੰਤਰਾਲ" + +msgid "Email address" +msgstr "ਈਮੇਲ ਐਡਰੈੱਸ" + +msgid "File path" +msgstr "ਫਾਇਲ ਪਾਥ" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "ਅੰਕ" + +msgid "Big (8 byte) integer" +msgstr "" + +msgid "IPv4 address" +msgstr "IPv4 ਸਿਰਨਾਵਾਂ" + +msgid "IP address" +msgstr "IP ਐਡਰੈੱਸ" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "" + +msgid "Positive integer" +msgstr "" + +msgid "Positive small integer" +msgstr "" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "" + +msgid "Small integer" +msgstr "" + +msgid "Text" +msgstr "ਟੈਕਸਟ" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "ਸਮਾਂ" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "ਫਾਇਲ" + +msgid "Image" +msgstr "ਚਿੱਤਰ" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" + +msgid "Foreign Key (type determined by related field)" +msgstr "" + +msgid "One-to-one relationship" +msgstr "ਇੱਕ-ਤੋਂ-ਇੱਕ ਸਬੰਧ" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "" + +msgid "Many-to-many relationship" +msgstr "ਕਈ-ਤੋਂ-ਕਈ ਸਬੰਧ" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr "" + +msgid "This field is required." +msgstr "ਇਹ ਖੇਤਰ ਲਾਜ਼ਮੀ ਹੈ।" + +msgid "Enter a whole number." +msgstr "ਪੂਰਨ ਨੰਬਰ ਦਿਉ।" + +msgid "Enter a valid date." +msgstr "ਠੀਕ ਮਿਤੀ ਦਿਓ।" + +msgid "Enter a valid time." +msgstr "ਠੀਕ ਸਮਾਂ ਦਿਓ।" + +msgid "Enter a valid date/time." +msgstr "ਠੀਕ ਮਿਤੀ/ਸਮਾਂ ਦਿਓ।" + +msgid "Enter a valid duration." +msgstr "" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" + +msgid "No file was submitted." +msgstr "ਕੋਈ ਫਾਇਲ ਨਹੀਂ ਭੇਜੀ।" + +msgid "The submitted file is empty." +msgstr "ਦਿੱਤੀ ਫਾਇਲ ਖਾਲੀ ਹੈ।" + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" + +msgid "Enter a list of values." +msgstr "ਮੁੱਲ ਦੀ ਲਿਸਟ ਦਿਓ।" + +msgid "Enter a complete value." +msgstr "" + +msgid "Enter a valid UUID." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "" +msgstr[1] "" + +msgid "Order" +msgstr "ਲੜੀ" + +msgid "Delete" +msgstr "ਹਟਾਓ" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "" + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" + +msgid "Please correct the duplicate values below." +msgstr "" + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "ਸਾਫ਼ ਕਰੋ" + +msgid "Currently" +msgstr "ਮੌਜੂਦਾ" + +msgid "Change" +msgstr "ਬਦਲੋ" + +msgid "Unknown" +msgstr "ਅਣਜਾਣ" + +msgid "Yes" +msgstr "ਹਾਂ" + +msgid "No" +msgstr "ਨਹੀਂ" + +msgid "Year" +msgstr "" + +msgid "Month" +msgstr "" + +msgid "Day" +msgstr "" + +msgid "yes,no,maybe" +msgstr "ਹਾਂ,ਨਹੀਂ,ਸ਼ਾਇਦ" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d ਬਾਈਟ" +msgstr[1] "%(size)d ਬਾਈਟ" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "ਸ਼ਾਮ" + +msgid "AM" +msgstr "ਸਵੇਰ" + +msgid "midnight" +msgstr "ਅੱਧੀ-ਰਾਤ" + +msgid "noon" +msgstr "ਨੂਨ" + +msgid "Monday" +msgstr "ਸੋਮਵਾਰ" + +msgid "Tuesday" +msgstr "ਮੰਗਲਵਾਰ" + +msgid "Wednesday" +msgstr "ਬੁੱਧਵਾਰ" + +msgid "Thursday" +msgstr "ਵੀਰਵਾਰ" + +msgid "Friday" +msgstr "ਸ਼ੁੱਕਰਵਾਰ" + +msgid "Saturday" +msgstr "ਸ਼ਨਿੱਚਰਵਾਰ" + +msgid "Sunday" +msgstr "ਐਤਵਾਰ" + +msgid "Mon" +msgstr "ਸੋਮ" + +msgid "Tue" +msgstr "ਮੰਗ" + +msgid "Wed" +msgstr "ਬੁੱਧ" + +msgid "Thu" +msgstr "ਵੀਰ" + +msgid "Fri" +msgstr "ਸ਼ੁੱਕ" + +msgid "Sat" +msgstr "ਸ਼ਨਿੱ" + +msgid "Sun" +msgstr "ਐਤ" + +msgid "January" +msgstr "ਜਨਵਰੀ" + +msgid "February" +msgstr "ਫਰਵਰੀ" + +msgid "March" +msgstr "ਮਾਰਚ" + +msgid "April" +msgstr "ਅਪਰੈਲ" + +msgid "May" +msgstr "ਮਈ" + +msgid "June" +msgstr "ਜੂਨ" + +msgid "July" +msgstr "ਜੁਲਾਈ" + +msgid "August" +msgstr "ਅਗਸਤ" + +msgid "September" +msgstr "ਸਤੰਬਰ" + +msgid "October" +msgstr "ਅਕਤੂਬਰ" + +msgid "November" +msgstr "ਨਵੰਬਰ" + +msgid "December" +msgstr "ਦਸੰਬਰ" + +msgid "jan" +msgstr "ਜਨ" + +msgid "feb" +msgstr "ਫਰ" + +msgid "mar" +msgstr "ਮਾਰ" + +msgid "apr" +msgstr "ਅਪ" + +msgid "may" +msgstr "ਮਈ" + +msgid "jun" +msgstr "ਜੂਨ" + +msgid "jul" +msgstr "ਜੁਲ" + +msgid "aug" +msgstr "ਅਗ" + +msgid "sep" +msgstr "ਸਤੰ" + +msgid "oct" +msgstr "ਅਕ" + +msgid "nov" +msgstr "ਨਵੰ" + +msgid "dec" +msgstr "ਦਸੰ" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "ਜਨ" + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "ਫਰ" + +msgctxt "abbrev. month" +msgid "March" +msgstr "ਮਾਰ" + +msgctxt "abbrev. month" +msgid "April" +msgstr "ਅਪ" + +msgctxt "abbrev. month" +msgid "May" +msgstr "ਮਈ" + +msgctxt "abbrev. month" +msgid "June" +msgstr "ਜੂਨ" + +msgctxt "abbrev. month" +msgid "July" +msgstr "ਜੁਲ" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "ਅਗ" + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "ਸਤੰ" + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "ਅਕਤੂ" + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "ਨਵੰ" + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "ਦਸੰ" + +msgctxt "alt. month" +msgid "January" +msgstr "ਜਨਵਰੀ" + +msgctxt "alt. month" +msgid "February" +msgstr "ਫਰਵਰੀ" + +msgctxt "alt. month" +msgid "March" +msgstr "ਮਾਰਚ" + +msgctxt "alt. month" +msgid "April" +msgstr "ਅਪਰੈਲ" + +msgctxt "alt. month" +msgid "May" +msgstr "ਮਈ" + +msgctxt "alt. month" +msgid "June" +msgstr "ਜੂਨ" + +msgctxt "alt. month" +msgid "July" +msgstr "ਜੁਲਾਈ" + +msgctxt "alt. month" +msgid "August" +msgstr "ਅਗਸਤ" + +msgctxt "alt. month" +msgid "September" +msgstr "ਸਤੰਬਰ" + +msgctxt "alt. month" +msgid "October" +msgstr "ਅਕਤੂਬਰ" + +msgctxt "alt. month" +msgid "November" +msgstr "ਨਵੰਬਰ" + +msgctxt "alt. month" +msgid "December" +msgstr "ਦਸੰਬਰ" + +msgid "This is not a valid IPv6 address." +msgstr "" + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "ਜਾਂ" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr "," + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "%d ਸਾਲ" +msgstr[1] "%d ਸਾਲ" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "%d ਮਹੀਨਾ" +msgstr[1] "%d ਮਹੀਨੇ" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "%d ਹਫ਼ਤਾ" +msgstr[1] "%d ਹਫ਼ਤੇ" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "%d ਦਿਨ" +msgstr[1] "%d ਦਿਨ" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "%d ਘੰਟਾ" +msgstr[1] "%d ਘੰਟੇ" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "%d ਮਿੰਟ" +msgstr[1] "%d ਮਿੰਟ" + +msgid "0 minutes" +msgstr "0 ਮਿੰਟ" + +msgid "Forbidden" +msgstr "" + +msgid "CSRF verification failed. Request aborted." +msgstr "" + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "" + +msgid "No year specified" +msgstr "ਕੋਈ ਸਾਲ ਨਹੀਂ ਦਿੱਤਾ" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "ਕੋਈ ਮਹੀਨਾ ਨਹੀਂ ਦਿੱਤਾ" + +msgid "No day specified" +msgstr "ਕੋਈ ਦਿਨ ਨਹੀਂ ਦਿੱਤਾ" + +msgid "No week specified" +msgstr "ਕੋਈ ਹਫ਼ਤਾ ਨਹੀਂ ਦਿੱਤਾ" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "" + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "%(directory)s ਦਾ ਇੰਡੈਕਸ" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/pl/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/pl/LC_MESSAGES/django.po new file mode 100644 index 0000000..7dc17ae --- /dev/null +++ b/external_sources/django/django/conf/locale/pl/LC_MESSAGES/django.po @@ -0,0 +1,1422 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# 8ffa075ab2f53c280beb2c066769d1ac_169beb5 <462ee687bbf3107fab5af73e8cc690d0_217822>, 2014 +# Adam Stachowicz , 2015 +# angularcircle, 2011,2013 +# angularcircle, 2011,2013 +# angularcircle, 2014 +# Dariusz Paluch , 2015 +# Darek, 2022 +# Jannis Leidel , 2011 +# Janusz Harkot , 2014-2015 +# Kacper Krupa , 2013 +# Karol , 2012 +# 0d5641585fd67fbdb97037c19ab83e4c_18c98b0 , 2011 +# 0d5641585fd67fbdb97037c19ab83e4c_18c98b0 , 2011 +# Łukasz Rekucki (lqc) , 2011 +# Maciej Olko , 2016-2021 +# Maciej Olko , 2023 +# Maciej Olko , 2015 +# Mariusz Felisiak , 2020-2021,2023-2024 +# Michał Pasternak , 2013 +# c10516f0462e552b4c3672569f0745a7_cc5cca2 <841826256cd8f47d0e443806a8e56601_19204>, 2012 +# Piotr Meuś , 2014 +# c10516f0462e552b4c3672569f0745a7_cc5cca2 <841826256cd8f47d0e443806a8e56601_19204>, 2012 +# Quadric , 2014 +# Radek Czajka , 2013 +# Radek Czajka , 2013 +# Roman Barczyński, 2012 +# 8ffa075ab2f53c280beb2c066769d1ac_169beb5 <462ee687bbf3107fab5af73e8cc690d0_217822>, 2014 +# Tomasz Kajtoch , 2016-2017 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 06:49+0000\n" +"Last-Translator: Mariusz Felisiak , " +"2020-2021,2023-2024\n" +"Language-Team: Polish (http://app.transifex.com/django/django/language/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=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" + +msgid "Afrikaans" +msgstr "afrykanerski" + +msgid "Arabic" +msgstr "arabski" + +msgid "Algerian Arabic" +msgstr "algierski arabski" + +msgid "Asturian" +msgstr "asturyjski" + +msgid "Azerbaijani" +msgstr "azerski" + +msgid "Bulgarian" +msgstr "bułgarski" + +msgid "Belarusian" +msgstr "białoruski" + +msgid "Bengali" +msgstr "bengalski" + +msgid "Breton" +msgstr "bretoński" + +msgid "Bosnian" +msgstr "bośniacki" + +msgid "Catalan" +msgstr "kataloński" + +msgid "Central Kurdish (Sorani)" +msgstr "sorani" + +msgid "Czech" +msgstr "czeski" + +msgid "Welsh" +msgstr "walijski" + +msgid "Danish" +msgstr "duński" + +msgid "German" +msgstr "niemiecki" + +msgid "Lower Sorbian" +msgstr "dolnołużycki" + +msgid "Greek" +msgstr "grecki" + +msgid "English" +msgstr "angielski" + +msgid "Australian English" +msgstr "australijski angielski" + +msgid "British English" +msgstr "brytyjski angielski" + +msgid "Esperanto" +msgstr "esperanto" + +msgid "Spanish" +msgstr "hiszpański" + +msgid "Argentinian Spanish" +msgstr "hiszpański argentyński" + +msgid "Colombian Spanish" +msgstr "hiszpański kolumbijski" + +msgid "Mexican Spanish" +msgstr "hiszpański meksykański" + +msgid "Nicaraguan Spanish" +msgstr "hiszpański nikaraguański" + +msgid "Venezuelan Spanish" +msgstr "hiszpański wenezuelski" + +msgid "Estonian" +msgstr "estoński" + +msgid "Basque" +msgstr "baskijski" + +msgid "Persian" +msgstr "perski" + +msgid "Finnish" +msgstr "fiński" + +msgid "French" +msgstr "francuski" + +msgid "Frisian" +msgstr "fryzyjski" + +msgid "Irish" +msgstr "irlandzki" + +msgid "Scottish Gaelic" +msgstr "Szkocki gaelicki" + +msgid "Galician" +msgstr "galicyjski" + +msgid "Hebrew" +msgstr "hebrajski" + +msgid "Hindi" +msgstr "hindi" + +msgid "Croatian" +msgstr "chorwacki" + +msgid "Upper Sorbian" +msgstr "górnołużycki" + +msgid "Hungarian" +msgstr "węgierski" + +msgid "Armenian" +msgstr "ormiański" + +msgid "Interlingua" +msgstr "interlingua" + +msgid "Indonesian" +msgstr "indonezyjski" + +msgid "Igbo" +msgstr "igbo" + +msgid "Ido" +msgstr "ido" + +msgid "Icelandic" +msgstr "islandzki" + +msgid "Italian" +msgstr "włoski" + +msgid "Japanese" +msgstr "japoński" + +msgid "Georgian" +msgstr "gruziński" + +msgid "Kabyle" +msgstr "kabylski" + +msgid "Kazakh" +msgstr "kazachski" + +msgid "Khmer" +msgstr "khmerski" + +msgid "Kannada" +msgstr "kannada" + +msgid "Korean" +msgstr "koreański" + +msgid "Kyrgyz" +msgstr "kirgiski" + +msgid "Luxembourgish" +msgstr "luksemburski" + +msgid "Lithuanian" +msgstr "litewski" + +msgid "Latvian" +msgstr "łotewski" + +msgid "Macedonian" +msgstr "macedoński" + +msgid "Malayalam" +msgstr "malajski" + +msgid "Mongolian" +msgstr "mongolski" + +msgid "Marathi" +msgstr "marathi" + +msgid "Malay" +msgstr "malajski" + +msgid "Burmese" +msgstr "birmański" + +msgid "Norwegian Bokmål" +msgstr "norweski (bokmål)" + +msgid "Nepali" +msgstr "nepalski" + +msgid "Dutch" +msgstr "holenderski" + +msgid "Norwegian Nynorsk" +msgstr "norweski (nynorsk)" + +msgid "Ossetic" +msgstr "osetyjski" + +msgid "Punjabi" +msgstr "pendżabski" + +msgid "Polish" +msgstr "polski" + +msgid "Portuguese" +msgstr "portugalski" + +msgid "Brazilian Portuguese" +msgstr "portugalski brazylijski" + +msgid "Romanian" +msgstr "rumuński" + +msgid "Russian" +msgstr "rosyjski" + +msgid "Slovak" +msgstr "słowacki" + +msgid "Slovenian" +msgstr "słoweński" + +msgid "Albanian" +msgstr "albański" + +msgid "Serbian" +msgstr "serbski" + +msgid "Serbian Latin" +msgstr "serbski (łaciński)" + +msgid "Swedish" +msgstr "szwedzki" + +msgid "Swahili" +msgstr "suahili" + +msgid "Tamil" +msgstr "tamilski" + +msgid "Telugu" +msgstr "telugu" + +msgid "Tajik" +msgstr "tadżycki" + +msgid "Thai" +msgstr "tajski" + +msgid "Turkmen" +msgstr "turkmeński" + +msgid "Turkish" +msgstr "turecki" + +msgid "Tatar" +msgstr "tatarski" + +msgid "Udmurt" +msgstr "udmurcki" + +msgid "Uyghur" +msgstr "ujgurski" + +msgid "Ukrainian" +msgstr "ukraiński" + +msgid "Urdu" +msgstr "urdu" + +msgid "Uzbek" +msgstr "uzbecki" + +msgid "Vietnamese" +msgstr "wietnamski" + +msgid "Simplified Chinese" +msgstr "chiński uproszczony" + +msgid "Traditional Chinese" +msgstr "chiński tradycyjny" + +msgid "Messages" +msgstr "Wiadomości" + +msgid "Site Maps" +msgstr "Mapy stron" + +msgid "Static Files" +msgstr "Pliki statyczne" + +msgid "Syndication" +msgstr "Syndykacja treści" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "Ten numer strony nie jest liczbą całkowitą" + +msgid "That page number is less than 1" +msgstr "Ten numer strony jest mniejszy niż 1" + +msgid "That page contains no results" +msgstr "Ta strona nie zawiera wyników" + +msgid "Enter a valid value." +msgstr "Wpisz poprawną wartość." + +msgid "Enter a valid domain name." +msgstr "Wpisz poprawną nazwę domeny." + +msgid "Enter a valid URL." +msgstr "Wpisz poprawny URL." + +msgid "Enter a valid integer." +msgstr "Wprowadź poprawną liczbę całkowitą." + +msgid "Enter a valid email address." +msgstr "Wprowadź poprawny adres email." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Wpisz poprawny „slug” zawierający litery, cyfry, podkreślenia i myślniki." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Wpisz poprawny „slug” zawierający litery Unicode, cyfry, podkreślenia i " +"myślniki." + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "Wpisz poprawny adres %(protocol)s. " + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "IPv4 or IPv6" +msgstr "IPv4 lub IPv6" + +msgid "Enter only digits separated by commas." +msgstr "Wpisz tylko cyfry oddzielone przecinkami." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Upewnij się, że ta wartość jest %(limit_value)s (jest %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Upewnij się, że ta wartość jest mniejsza lub równa %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Upewnij się, że ta wartość jest większa lub równa %(limit_value)s." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "" +"Upewnij się, że ta wartość jest wielokrotnością wielkości " +"kroku%(limit_value)s." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"Upewnij się, że ta wartość jest wielokrotnością %(limit_value)s, zaczynają " +"od %(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s i tak " +"dalej." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Upewnij się, że ta wartość ma przynajmniej %(limit_value)d znak (obecnie ma " +"%(show_value)d)." +msgstr[1] "" +"Upewnij się, że ta wartość ma przynajmniej %(limit_value)d znaki (obecnie ma " +"%(show_value)d)." +msgstr[2] "" +"Upewnij się, że ta wartość ma przynajmniej %(limit_value)d znaków (obecnie " +"ma %(show_value)d)." +msgstr[3] "" +"Upewnij się, że ta wartość ma przynajmniej %(limit_value)d znaków (obecnie " +"ma %(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Upewnij się, że ta wartość ma co najwyżej %(limit_value)d znak (obecnie ma " +"%(show_value)d)." +msgstr[1] "" +"Upewnij się, że ta wartość ma co najwyżej %(limit_value)d znaki (obecnie ma " +"%(show_value)d)." +msgstr[2] "" +"Upewnij się, że ta wartość ma co najwyżej %(limit_value)d znaków (obecnie ma " +"%(show_value)d)." +msgstr[3] "" +"Upewnij się, że ta wartość ma co najwyżej %(limit_value)d znaków (obecnie ma " +"%(show_value)d)." + +msgid "Enter a number." +msgstr "Wpisz liczbę." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Upewnij się, że łącznie nie ma więcej niż %(max)s cyfry." +msgstr[1] "Upewnij się, że łącznie nie ma więcej niż %(max)s cyfry." +msgstr[2] "Upewnij się, że łącznie nie ma więcej niż %(max)s cyfr." +msgstr[3] "Upewnij się, że łącznie nie ma więcej niż %(max)s cyfr." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" +"Upewnij się, że liczba ma nie więcej niż %(max)s cyfrę po przecinku." +msgstr[1] "" +"Upewnij się, że liczba ma nie więcej niż %(max)s cyfry po przecinku." +msgstr[2] "Upewnij się, że liczba ma nie więcej niż %(max)s cyfr po przecinku." +msgstr[3] "Upewnij się, że liczba ma nie więcej niż %(max)s cyfr po przecinku." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Upewnij się, że liczba ma nie więcej niż %(max)s cyfrę przed przecinkiem." +msgstr[1] "" +"Upewnij się, że liczba ma nie więcej niż %(max)s cyfry przed przecinkiem." +msgstr[2] "" +"Upewnij się, że liczba ma nie więcej niż %(max)s cyfr przed przecinkiem." +msgstr[3] "" +"Upewnij się, że liczba ma nie więcej niż %(max)s cyfr przed przecinkiem." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Rozszerzenie pliku „%(extension)s” jest niedozwolone. Dozwolone rozszerzenia " +"to: %(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Znaki null są niedozwolone." + +msgid "and" +msgstr "i" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s z tymi %(field_labels)s już istnieje." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "Ograniczenie \"%(name)s\" zostało naruszone." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Wartość %(value)r nie jest poprawnym wyborem." + +msgid "This field cannot be null." +msgstr "To pole nie może być puste." + +msgid "This field cannot be blank." +msgstr "To pole nie może być puste." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "Istnieje już %(model_name)s z tą wartością pola %(field_label)s." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"Wartość pola %(field_label)s musi być unikatowa dla %(date_field_label)s " +"%(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Pole typu: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "Wartością „%(value)s” musi być True albo False." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "Wartością „%(value)s” musi być True, False lub None." + +msgid "Boolean (Either True or False)" +msgstr "Wartość logiczna (True lub False – prawda lub fałsz)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Ciąg znaków (do %(max_length)s znaków)" + +msgid "String (unlimited)" +msgstr "Ciąg znaków (bez limitu)" + +msgid "Comma-separated integers" +msgstr "Liczby całkowite rozdzielone przecinkami" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"Wartość „%(value)s” ma nieprawidłowy format daty. Musi być ona w formacie " +"YYYY-MM-DD." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"Wartość „%(value)s” ma prawidłowy format (YYYY-MM-DD), ale jest " +"nieprawidłową datą." + +msgid "Date (without time)" +msgstr "Data (bez godziny)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"Wartość „%(value)s” ma nieprawidłowy format. Musi być ona w formacie YYYY-MM-" +"DD HH:MM[:ss[.uuuuuu]][TZ]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"Wartość „%(value)s” ma prawidłowy format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]), ale jest nieprawidłową datą/godziną." + +msgid "Date (with time)" +msgstr "Data (z godziną)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "Wartością „%(value)s” musi być liczba dziesiętna." + +msgid "Decimal number" +msgstr "Liczba dziesiętna" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"Wartość „%(value)s” ma błędny format. Poprawny format to [DD] [HH:[MM:]]ss[." +"uuuuuu]." + +msgid "Duration" +msgstr "Czas trwania" + +msgid "Email address" +msgstr "Adres e-mail" + +msgid "File path" +msgstr "Ścieżka do pliku" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "Wartością „%(value)s” musi być liczba zmiennoprzecinkowa." + +msgid "Floating point number" +msgstr "Liczba zmiennoprzecinkowa" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "Wartością „%(value)s” musi być liczba całkowita." + +msgid "Integer" +msgstr "Liczba całkowita" + +msgid "Big (8 byte) integer" +msgstr "Duża liczba całkowita (8 bajtów)" + +msgid "Small integer" +msgstr "Mała liczba całkowita" + +msgid "IPv4 address" +msgstr "adres IPv4" + +msgid "IP address" +msgstr "Adres IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "Wartością „%(value)s” musi być None, True lub False." + +msgid "Boolean (Either True, False or None)" +msgstr "Wartość logiczna (True, False, None – prawda, fałsz lub nic)" + +msgid "Positive big integer" +msgstr "Dodatnia duża liczba całkowita" + +msgid "Positive integer" +msgstr "Dodatnia liczba całkowita" + +msgid "Positive small integer" +msgstr "Dodatnia mała liczba całkowita" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (do %(max_length)s znaków)" + +msgid "Text" +msgstr "Tekst" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"Wartość „%(value)s” ma nieprawidłowy format. Musi być ona w formacie HH:MM[:" +"ss[.uuuuuu]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"Wartość „%(value)s” ma prawidłowy format (HH:MM[:ss[.uuuuuu]]), ale jest " +"nieprawidłową wartością czasu." + +msgid "Time" +msgstr "Czas" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Dane w postaci binarnej" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "Wartość „%(value)s” nie jest poprawnym UUID-em." + +msgid "Universally unique identifier" +msgstr "Uniwersalnie unikalny identyfikator" + +msgid "File" +msgstr "Plik" + +msgid "Image" +msgstr "Plik graficzny" + +msgid "A JSON object" +msgstr "Obiekt JSON" + +msgid "Value must be valid JSON." +msgstr "Wartość musi być poprawnym JSON-em." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "%(model)s z polem %(field)s o wartości %(value)r nie istnieje." + +msgid "Foreign Key (type determined by related field)" +msgstr "Klucz obcy (typ określony przez pole powiązane)" + +msgid "One-to-one relationship" +msgstr "Powiązanie jeden do jednego" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "powiązanie %(from)s do %(to)s" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "powiązania %(from)s do %(to)s" + +msgid "Many-to-many relationship" +msgstr "Powiązanie wiele-do-wielu" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "To pole jest wymagane." + +msgid "Enter a whole number." +msgstr "Wpisz liczbę całkowitą." + +msgid "Enter a valid date." +msgstr "Wpisz poprawną datę." + +msgid "Enter a valid time." +msgstr "Wpisz poprawną godzinę." + +msgid "Enter a valid date/time." +msgstr "Wpisz poprawną datę/godzinę." + +msgid "Enter a valid duration." +msgstr "Wpisz poprawny czas trwania." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Liczba dni musi wynosić między {min_days} a {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Nie wysłano żadnego pliku. Sprawdź typ kodowania formularza." + +msgid "No file was submitted." +msgstr "Żaden plik nie został przesłany." + +msgid "The submitted file is empty." +msgstr "Wysłany plik jest pusty." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Upewnij się, że nazwa pliku ma co najwyżej %(max)d znak (obecnie ma " +"%(length)d)." +msgstr[1] "" +"Upewnij się, że nazwa pliku ma co najwyżej %(max)d znaki (obecnie ma " +"%(length)d)." +msgstr[2] "" +"Upewnij się, że nazwa pliku ma co najwyżej %(max)d znaków (obecnie ma " +"%(length)d)." +msgstr[3] "" +"Upewnij się, że nazwa pliku ma co najwyżej %(max)d znaków (obecnie ma " +"%(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Prześlij plik lub zaznacz by usunąć, ale nie oba na raz." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Prześlij poprawny plik graficzny. Aktualnie przesłany plik nie jest " +"grafiką lub jest uszkodzony." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Wybierz poprawną wartość. %(value)s nie jest żadną z dostępnych opcji." + +msgid "Enter a list of values." +msgstr "Podaj listę wartości." + +msgid "Enter a complete value." +msgstr "Wprowadź kompletną wartość." + +msgid "Enter a valid UUID." +msgstr "Wpisz poprawny UUID." + +msgid "Enter a valid JSON." +msgstr "Wpisz poprawny JSON." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Ukryte pole %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"Brakuje danych ManagementForm lub zostały one naruszone. Brakujące pola: " +"%(field_names)s. Złóż zgłoszenie błędu, jeśli problem się powtarza." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Proszę wysłać co najwyżej %(num)dformularz." +msgstr[1] "Proszę wysłać co najwyżej %(num)d formularze." +msgstr[2] "Proszę wysłać co najwyżej %(num)dformularzy." +msgstr[3] "Proszę wysłać co najwyżej %(num)dformularzy." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Proszę wysłać co najmniej %(num)d formularz." +msgstr[1] "Proszę wysłać co najmniej %(num)dformularze." +msgstr[2] "Proszę wysłać co najmniej %(num)d formularzy." +msgstr[3] "Proszę wysłać co najmniej %(num)d formularzy." + +msgid "Order" +msgstr "Kolejność" + +msgid "Delete" +msgstr "Usuń" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Popraw zduplikowane dane w %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "Popraw zduplikowane dane w %(field)s, które muszą być unikalne." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Popraw zduplikowane dane w %(field_name)s, które wymaga unikalności dla " +"%(lookup)s w polu %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Popraw poniższe zduplikowane wartości." + +msgid "The inline value did not match the parent instance." +msgstr "Wartość inline nie pasuje do obiektu rodzica." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Wybierz poprawną wartość. Podana nie jest jednym z dostępnych wyborów." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "„%(pk)s” nie jest poprawną wartością." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s nie mógł zostać zinterpretowany w strefie czasowej " +"%(current_timezone)s; może być niejednoznaczny lub może nie istnieć." + +msgid "Clear" +msgstr "Wyczyść" + +msgid "Currently" +msgstr "Teraz" + +msgid "Change" +msgstr "Zmień" + +msgid "Unknown" +msgstr "Nieznany" + +msgid "Yes" +msgstr "Tak" + +msgid "No" +msgstr "Nie" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "tak,nie,może" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d bajt" +msgstr[1] "%(size)d bajty" +msgstr[2] "%(size)d bajtów" +msgstr[3] "%(size)d bajtów" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "po południu" + +msgid "a.m." +msgstr "rano" + +msgid "PM" +msgstr "po południu" + +msgid "AM" +msgstr "rano" + +msgid "midnight" +msgstr "północ" + +msgid "noon" +msgstr "południe" + +msgid "Monday" +msgstr "Poniedziałek" + +msgid "Tuesday" +msgstr "Wtorek" + +msgid "Wednesday" +msgstr "Środa" + +msgid "Thursday" +msgstr "Czwartek" + +msgid "Friday" +msgstr "Piątek" + +msgid "Saturday" +msgstr "Sobota" + +msgid "Sunday" +msgstr "Niedziela" + +msgid "Mon" +msgstr "Pon" + +msgid "Tue" +msgstr "Wt" + +msgid "Wed" +msgstr "Śr" + +msgid "Thu" +msgstr "Czw" + +msgid "Fri" +msgstr "Pt" + +msgid "Sat" +msgstr "So" + +msgid "Sun" +msgstr "Nd" + +msgid "January" +msgstr "Styczeń" + +msgid "February" +msgstr "Luty" + +msgid "March" +msgstr "Marzec" + +msgid "April" +msgstr "Kwiecień" + +msgid "May" +msgstr "Maj" + +msgid "June" +msgstr "Czerwiec" + +msgid "July" +msgstr "Lipiec" + +msgid "August" +msgstr "Sierpień" + +msgid "September" +msgstr "Wrzesień" + +msgid "October" +msgstr "Październik" + +msgid "November" +msgstr "Listopad" + +msgid "December" +msgstr "Grudzień" + +msgid "jan" +msgstr "sty" + +msgid "feb" +msgstr "lut" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "kwi" + +msgid "may" +msgstr "maj" + +msgid "jun" +msgstr "cze" + +msgid "jul" +msgstr "lip" + +msgid "aug" +msgstr "sie" + +msgid "sep" +msgstr "wrz" + +msgid "oct" +msgstr "paź" + +msgid "nov" +msgstr "lis" + +msgid "dec" +msgstr "gru" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Sty." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Lut." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Mar." + +msgctxt "abbrev. month" +msgid "April" +msgstr "Kwi." + +msgctxt "abbrev. month" +msgid "May" +msgstr "Maj" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Cze." + +msgctxt "abbrev. month" +msgid "July" +msgstr "Lip." + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Sie." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Wrz." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Paź." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Lis." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Gru" + +msgctxt "alt. month" +msgid "January" +msgstr "stycznia" + +msgctxt "alt. month" +msgid "February" +msgstr "lutego" + +msgctxt "alt. month" +msgid "March" +msgstr "marca" + +msgctxt "alt. month" +msgid "April" +msgstr "kwietnia" + +msgctxt "alt. month" +msgid "May" +msgstr "maja" + +msgctxt "alt. month" +msgid "June" +msgstr "czerwca" + +msgctxt "alt. month" +msgid "July" +msgstr "lipca" + +msgctxt "alt. month" +msgid "August" +msgstr "sierpnia" + +msgctxt "alt. month" +msgid "September" +msgstr "września" + +msgctxt "alt. month" +msgid "October" +msgstr "października" + +msgctxt "alt. month" +msgid "November" +msgstr "listopada" + +msgctxt "alt. month" +msgid "December" +msgstr "grudnia" + +msgid "This is not a valid IPv6 address." +msgstr "To nie jest poprawny adres IPv6." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "lub" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d rok" +msgstr[1] "%(num)d lata" +msgstr[2] "%(num)d lat" +msgstr[3] "%(num)d roku" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d miesiąc" +msgstr[1] "%(num)d miesiące" +msgstr[2] "%(num)d miesięcy" +msgstr[3] "%(num)d miesiąca" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d tydzień" +msgstr[1] "%(num)d tygodnie" +msgstr[2] "%(num)d tygodni" +msgstr[3] "%(num)d tygodnia" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d dzień" +msgstr[1] "%(num)d dni" +msgstr[2] "%(num)d dni" +msgstr[3] "%(num)d dnia" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d godzina" +msgstr[1] "%(num)d godziny" +msgstr[2] "%(num)d godzin" +msgstr[3] "%(num)d godziny" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d minuta" +msgstr[1] "%(num)d minuty" +msgstr[2] "%(num)d minut" +msgstr[3] "%(num)d minut" + +msgid "Forbidden" +msgstr "Dostęp zabroniony" + +msgid "CSRF verification failed. Request aborted." +msgstr "Weryfikacja CSRF nie powiodła się. Żądanie zostało przerwane." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Widzisz tę wiadomość, ponieważ ta witryna HTTPS wymaga, aby przeglądarka " +"wysłała „nagłówek Referer”, a żaden nie został wysłany. Nagłówek ten jest " +"wymagany ze względów bezpieczeństwa, aby upewnić się, że twoja przeglądarka " +"nie została przechwycona przez osoby trzecie." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Jeżeli nagłówki „Referer” w Twojej przeglądarce są wyłączone, to proszę " +"włącz je ponownie. Przynajmniej dla tej strony, połączeń HTTPS lub zapytań " +"typu „same-origin”." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Jeśli używasz taga lub " +"umieszczasz nagłówek „Referrer-Policy: no-referrer”, prosimy je usunąć. " +"Ochrona przed atakami CSRF wymaga nagłówka „Referer”, aby wykonać ścisłe " +"sprawdzenie referera HTTP. Jeśli zależy ci na prywatności, użyj alternatyw " +"takich jak dla linków do stron osób trzecich." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Widzisz tą wiadomość, ponieważ ta witryna wymaga ciasteczka CSRF do " +"przesyłania formularza. Ciasteczko to jest wymagane ze względów " +"bezpieczeństwa, aby upewnić się, że Twoja przeglądarka nie została " +"przechwycona przez osoby trzecie." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Jeżeli ciasteczka w Twojej przeglądarce są wyłączone, to proszę włącz je " +"ponownie. Przynajmniej dla tej strony lub żądań typu „same-origin”." + +msgid "More information is available with DEBUG=True." +msgstr "Więcej informacji jest dostępnych po ustawieniu DEBUG=True." + +msgid "No year specified" +msgstr "Nie określono roku" + +msgid "Date out of range" +msgstr "Data poza zakresem" + +msgid "No month specified" +msgstr "Nie określono miesiąca" + +msgid "No day specified" +msgstr "Nie określono dnia" + +msgid "No week specified" +msgstr "Nie określono tygodnia" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "%(verbose_name_plural)s nie są dostępne" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Wyświetlanie %(verbose_name_plural)s z datą przyszłą jest niedostępne, gdyż " +"atrybut '%(class_name)s.allow_future' ma wartość 'False'." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" +"Ciąg znaków „%(datestr)s” jest niezgodny z podanym formatem daty „%(format)s”" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Nie znaleziono %(verbose_name)s spełniających wybrane kryteria" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" +"Podanego numeru strony nie można przekształcić na liczbę całkowitą, nie " +"przyjął on również wartości „last” oznaczającej ostatnią stronę z dostępnego " +"zakresu." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Nieprawidłowy numer strony (%(page_number)s): %(message)s " + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" +"Lista nie zawiera żadnych elementów, a atrybut „%(class_name)s.allow_empty” " +"ma wartość False." + +msgid "Directory indexes are not allowed here." +msgstr "Wyświetlanie zawartości katalogu jest tu niedozwolone." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "„%(path)s” nie istnieje" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Zawartość %(directory)s " + +msgid "The install worked successfully! Congratulations!" +msgstr "Instalacja przebiegła pomyślnie! Gratulacje!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Zobacz informacje o wydaniu dla Django " +"%(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Widzisz tę stronę, ponieważ w swoim pliku ustawień masz DEBUG=True i nie skonfigurowałeś " +"żadnych URL-i." + +msgid "Django Documentation" +msgstr "Dokumentacja Django" + +msgid "Topics, references, & how-to’s" +msgstr "Przewodniki tematyczne, podręczniki i przewodniki „jak to zrobić”" + +msgid "Tutorial: A Polling App" +msgstr "Samouczek: Aplikacja ankietowa" + +msgid "Get started with Django" +msgstr "Pierwsze kroki z Django" + +msgid "Django Community" +msgstr "Społeczność Django" + +msgid "Connect, get help, or contribute" +msgstr "Nawiąż kontakt, uzyskaj pomoc lub wnieś swój wkład" diff --git a/external_sources/django/django/conf/locale/pl/__init__.py b/external_sources/django/django/conf/locale/pl/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/pl/formats.py b/external_sources/django/django/conf/locale/pl/formats.py new file mode 100644 index 0000000..2ad1bfe --- /dev/null +++ b/external_sources/django/django/conf/locale/pl/formats.py @@ -0,0 +1,30 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j E Y" +TIME_FORMAT = "H:i" +DATETIME_FORMAT = "j E Y H:i" +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j E" +SHORT_DATE_FORMAT = "d-m-Y" +SHORT_DATETIME_FORMAT = "d-m-Y H:i" +FIRST_DAY_OF_WEEK = 1 # Monday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d.%m.%Y", # '25.10.2006' + "%d.%m.%y", # '25.10.06' + "%y-%m-%d", # '06-10-25' + # "%d. %B %Y", # '25. października 2006' + # "%d. %b. %Y", # '25. paź. 2006' +] +DATETIME_INPUT_FORMATS = [ + "%d.%m.%Y %H:%M:%S", # '25.10.2006 14:30:59' + "%d.%m.%Y %H:%M:%S.%f", # '25.10.2006 14:30:59.000200' + "%d.%m.%Y %H:%M", # '25.10.2006 14:30' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = " " +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/pt/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/pt/LC_MESSAGES/django.po new file mode 100644 index 0000000..311c21c --- /dev/null +++ b/external_sources/django/django/conf/locale/pt/LC_MESSAGES/django.po @@ -0,0 +1,1254 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Raúl Pedro Fernandes Santos, 2014 +# Bruno Miguel Custódio , 2012 +# Claudio Fernandes , 2015 +# Jannis Leidel , 2011 +# José Durães , 2014 +# jorgecarleitao , 2014-2015 +# Nuno Mariz , 2011-2013,2015-2018 +# Paulo Köch , 2011 +# Raúl Pedro Fernandes Santos, 2014 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-27 22:40+0200\n" +"PO-Revision-Date: 2019-11-05 00:38+0000\n" +"Last-Translator: Ramiro Morales\n" +"Language-Team: Portuguese (http://www.transifex.com/django/django/language/" +"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" + +msgid "Afrikaans" +msgstr "Africâner" + +msgid "Arabic" +msgstr "Árabe" + +msgid "Asturian" +msgstr "Asturiano" + +msgid "Azerbaijani" +msgstr "Azerbaijano" + +msgid "Bulgarian" +msgstr "Búlgaro" + +msgid "Belarusian" +msgstr "Bielorusso" + +msgid "Bengali" +msgstr "Bengalês" + +msgid "Breton" +msgstr "Bretão" + +msgid "Bosnian" +msgstr "Bósnio" + +msgid "Catalan" +msgstr "Catalão" + +msgid "Czech" +msgstr "Checo" + +msgid "Welsh" +msgstr "Galês" + +msgid "Danish" +msgstr "Dinamarquês" + +msgid "German" +msgstr "Alemão" + +msgid "Lower Sorbian" +msgstr "Sorbedo inferior" + +msgid "Greek" +msgstr "Grego" + +msgid "English" +msgstr "Inglês" + +msgid "Australian English" +msgstr "Inglês da Austrália" + +msgid "British English" +msgstr "Inglês Britânico" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Espanhol" + +msgid "Argentinian Spanish" +msgstr "Espanhol Argentino" + +msgid "Colombian Spanish" +msgstr "Espanhol Colombiano" + +msgid "Mexican Spanish" +msgstr "Espanhol mexicano" + +msgid "Nicaraguan Spanish" +msgstr "Nicarágua Espanhol" + +msgid "Venezuelan Spanish" +msgstr "Espanhol Venezuelano" + +msgid "Estonian" +msgstr "Estónio" + +msgid "Basque" +msgstr "Basco" + +msgid "Persian" +msgstr "Persa" + +msgid "Finnish" +msgstr "Filandês" + +msgid "French" +msgstr "Francês" + +msgid "Frisian" +msgstr "Frisão" + +msgid "Irish" +msgstr "Irlandês" + +msgid "Scottish Gaelic" +msgstr "Escocês Gaélico" + +msgid "Galician" +msgstr "Galaciano" + +msgid "Hebrew" +msgstr "Hebraico" + +msgid "Hindi" +msgstr "Hindi" + +msgid "Croatian" +msgstr "Croata" + +msgid "Upper Sorbian" +msgstr "Sorbedo superior" + +msgid "Hungarian" +msgstr "Húngaro" + +msgid "Armenian" +msgstr "" + +msgid "Interlingua" +msgstr "Interlíngua" + +msgid "Indonesian" +msgstr "Indonésio" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Islandês" + +msgid "Italian" +msgstr "Italiano" + +msgid "Japanese" +msgstr "Japonês" + +msgid "Georgian" +msgstr "Georgiano" + +msgid "Kabyle" +msgstr "Kabyle" + +msgid "Kazakh" +msgstr "Cazaque" + +msgid "Khmer" +msgstr "Khmer" + +msgid "Kannada" +msgstr "Canarês" + +msgid "Korean" +msgstr "Coreano" + +msgid "Luxembourgish" +msgstr "Luxemburguês" + +msgid "Lithuanian" +msgstr "Lituano" + +msgid "Latvian" +msgstr "Letão" + +msgid "Macedonian" +msgstr "Macedónio" + +msgid "Malayalam" +msgstr "Malaiala" + +msgid "Mongolian" +msgstr "Mongol" + +msgid "Marathi" +msgstr "Marathi" + +msgid "Burmese" +msgstr "Birmanês" + +msgid "Norwegian Bokmål" +msgstr "Norueguês Bokmål" + +msgid "Nepali" +msgstr "Nepali" + +msgid "Dutch" +msgstr "Holandês" + +msgid "Norwegian Nynorsk" +msgstr "Norueguês (Nynors)" + +msgid "Ossetic" +msgstr "Ossetic" + +msgid "Punjabi" +msgstr "Panjabi" + +msgid "Polish" +msgstr "Polaco" + +msgid "Portuguese" +msgstr "Português" + +msgid "Brazilian Portuguese" +msgstr "Português Brasileiro" + +msgid "Romanian" +msgstr "Romeno" + +msgid "Russian" +msgstr "Russo" + +msgid "Slovak" +msgstr "Eslovaco" + +msgid "Slovenian" +msgstr "Esloveno" + +msgid "Albanian" +msgstr "Albanês" + +msgid "Serbian" +msgstr "Sérvio" + +msgid "Serbian Latin" +msgstr "Sérvio Latim" + +msgid "Swedish" +msgstr "Sueco" + +msgid "Swahili" +msgstr "Suaíli" + +msgid "Tamil" +msgstr "Tamil" + +msgid "Telugu" +msgstr "Telugu" + +msgid "Thai" +msgstr "Thai" + +msgid "Turkish" +msgstr "Turco" + +msgid "Tatar" +msgstr "Tatar" + +msgid "Udmurt" +msgstr "Udmurte" + +msgid "Ukrainian" +msgstr "Ucraniano" + +msgid "Urdu" +msgstr "Urdu" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "Vietnamita" + +msgid "Simplified Chinese" +msgstr "Chinês Simplificado" + +msgid "Traditional Chinese" +msgstr "Chinês Tradicional" + +msgid "Messages" +msgstr "Mensagens" + +msgid "Site Maps" +msgstr "Mapas do Site" + +msgid "Static Files" +msgstr "Ficheiros Estáticos" + +msgid "Syndication" +msgstr "Syndication" + +msgid "That page number is not an integer" +msgstr "Esse número de página não é um número inteiro" + +msgid "That page number is less than 1" +msgstr "Esse número de página é inferior a 1" + +msgid "That page contains no results" +msgstr "Essa página não contém resultados" + +msgid "Enter a valid value." +msgstr "Introduza um valor válido." + +msgid "Enter a valid URL." +msgstr "Introduza um URL válido." + +msgid "Enter a valid integer." +msgstr "Introduza um número inteiro válido." + +msgid "Enter a valid email address." +msgstr "Introduza um endereço de e-mail válido." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "Introduza um endereço IPv4 válido." + +msgid "Enter a valid IPv6 address." +msgstr "Insira um endereço IPv6 válido." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Digite um endereço válido IPv4 ou IPv6." + +msgid "Enter only digits separated by commas." +msgstr "Introduza apenas números separados por vírgulas." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Garanta que este valor seja %(limit_value)s (tem %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Garanta que este valor seja menor ou igual a %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Garanta que este valor seja maior ou igual a %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Garanta que este valor tenha pelo menos %(limit_value)d caractere (tem " +"%(show_value)d)." +msgstr[1] "" +"Garanta que este valor tenha pelo menos %(limit_value)d caracteres (tem " +"%(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Garanta que este valor tenha no máximo %(limit_value)d caractere (tem " +"%(show_value)d)." +msgstr[1] "" +"Garanta que este valor tenha no máximo %(limit_value)d caracteres (tem " +"%(show_value)d)." + +msgid "Enter a number." +msgstr "Introduza um número." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Garanta que não tem mais de %(max)s dígito no total." +msgstr[1] "Garanta que não tem mais de %(max)s dígitos no total." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Garanta que não tem mais %(max)s casa decimal." +msgstr[1] "Garanta que não tem mais %(max)s casas decimais." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "Garanta que não tem mais de %(max)s dígito antes do ponto decimal." +msgstr[1] "Garanta que não tem mais de %(max)s dígitos antes do ponto decimal." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "Não são permitidos caracteres nulos." + +msgid "and" +msgstr "e" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s com este %(field_labels)s já existe." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "O valor %(value)r não é uma escolha válida." + +msgid "This field cannot be null." +msgstr "Este campo não pode ser nulo." + +msgid "This field cannot be blank." +msgstr "Este campo não pode ser vazio." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s com este %(field_label)s já existe." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s tem de ser único para %(date_field_label)s %(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Campo do tipo: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "Boolean (Pode ser True ou False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "String (até %(max_length)s)" + +msgid "Comma-separated integers" +msgstr "Inteiros separados por virgula" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "Data (sem hora)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "Data (com hora)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "Número décimal" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "Duração" + +msgid "Email address" +msgstr "Endereço de e-mail" + +msgid "File path" +msgstr "Caminho do ficheiro" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "Número em vírgula flutuante" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "Inteiro" + +msgid "Big (8 byte) integer" +msgstr "Inteiro grande (8 byte)" + +msgid "IPv4 address" +msgstr "Endereço IPv4" + +msgid "IP address" +msgstr "Endereço IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "Boolean (Pode ser True, False ou None)" + +msgid "Positive integer" +msgstr "Inteiro positivo" + +msgid "Positive small integer" +msgstr "Pequeno número inteiro positivo" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (até %(max_length)s)" + +msgid "Small integer" +msgstr "Inteiro pequeno" + +msgid "Text" +msgstr "Texto" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "Hora" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Dados binários simples" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "Ficheiro" + +msgid "Image" +msgstr "Imagem" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "A instância de %(model)s com %(field)s %(value)r não existe." + +msgid "Foreign Key (type determined by related field)" +msgstr "Chave Estrangeira (tipo determinado pelo campo relacionado)" + +msgid "One-to-one relationship" +msgstr "Relação de um-para-um" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "Relação de %(from)s-%(to)s" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "Relações de %(from)s-%(to)s" + +msgid "Many-to-many relationship" +msgstr "Relação de muitos-para-muitos" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Este campo é obrigatório." + +msgid "Enter a whole number." +msgstr "Introduza um número inteiro." + +msgid "Enter a valid date." +msgstr "Introduza uma data válida." + +msgid "Enter a valid time." +msgstr "Introduza uma hora válida." + +msgid "Enter a valid date/time." +msgstr "Introduza uma data/hora válida." + +msgid "Enter a valid duration." +msgstr "Introduza uma duração válida." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "O número de dias deve ser entre {min_days} e {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"Nenhum ficheiro foi submetido. Verifique o tipo de codificação do formulário." + +msgid "No file was submitted." +msgstr "Nenhum ficheiro submetido." + +msgid "The submitted file is empty." +msgstr "O ficheiro submetido encontra-se vazio." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Garanta que o nome deste ficheiro tenha no máximo %(max)d caractere (tem " +"%(length)d)." +msgstr[1] "" +"Garanta que o nome deste ficheiro tenha no máximo %(max)d caracteres (tem " +"%(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Por favor, submeta um ficheiro ou remova a seleção da caixa, não ambos." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Introduza uma imagem válida. O ficheiro que introduziu ou não é uma imagem " +"ou está corrompido." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Selecione uma opção válida. %(value)s não se encontra nas opções disponíveis." + +msgid "Enter a list of values." +msgstr "Introduza uma lista de valores." + +msgid "Enter a complete value." +msgstr "Introduza um valor completo." + +msgid "Enter a valid UUID." +msgstr "Introduza um UUID válido." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Campo oculto %(name)s) %(error)s" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "Os dados do ManagementForm estão em falta ou foram adulterados" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "Por favor submeta %d ou menos formulários." +msgstr[1] "Por favor submeta %d ou menos formulários." + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "Por favor submeta %d ou mais formulários." +msgstr[1] "Por favor submeta %d ou mais formulários." + +msgid "Order" +msgstr "Ordem" + +msgid "Delete" +msgstr "Remover" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Por favor corrija os dados duplicados em %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Por favor corrija os dados duplicados em %(field)s, que deverá ser único." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Por favor corrija os dados duplicados em %(field_name)s que deverá ser único " +"para o %(lookup)s em %(date_field)s.\"" + +msgid "Please correct the duplicate values below." +msgstr "Por favor corrija os valores duplicados abaixo." + +msgid "The inline value did not match the parent instance." +msgstr "O valor em linha não corresponde à instância pai." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Selecione uma opção válida. Esse valor não se encontra opções disponíveis." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "Limpar" + +msgid "Currently" +msgstr "Atualmente" + +msgid "Change" +msgstr "Modificar" + +msgid "Unknown" +msgstr "Desconhecido" + +msgid "Yes" +msgstr "Sim" + +msgid "No" +msgstr "Não" + +msgid "Year" +msgstr "" + +msgid "Month" +msgstr "" + +msgid "Day" +msgstr "" + +msgid "yes,no,maybe" +msgstr "sim,não,talvez" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d byte" +msgstr[1] "%(size)d bytes" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "meia-noite" + +msgid "noon" +msgstr "meio-dia" + +msgid "Monday" +msgstr "Segunda-feira" + +msgid "Tuesday" +msgstr "Terça-feira" + +msgid "Wednesday" +msgstr "Quarta-feira" + +msgid "Thursday" +msgstr "Quinta-feira" + +msgid "Friday" +msgstr "Sexta-feira" + +msgid "Saturday" +msgstr "Sábado" + +msgid "Sunday" +msgstr "Domingo" + +msgid "Mon" +msgstr "Seg" + +msgid "Tue" +msgstr "Ter" + +msgid "Wed" +msgstr "Qua" + +msgid "Thu" +msgstr "Qui" + +msgid "Fri" +msgstr "Sex" + +msgid "Sat" +msgstr "Sáb" + +msgid "Sun" +msgstr "Dom" + +msgid "January" +msgstr "Janeiro" + +msgid "February" +msgstr "Fevereiro" + +msgid "March" +msgstr "Março" + +msgid "April" +msgstr "Abril" + +msgid "May" +msgstr "Maio" + +msgid "June" +msgstr "Junho" + +msgid "July" +msgstr "Julho" + +msgid "August" +msgstr "Agosto" + +msgid "September" +msgstr "Setembro" + +msgid "October" +msgstr "Outubro" + +msgid "November" +msgstr "Novembro" + +msgid "December" +msgstr "Dezembro" + +msgid "jan" +msgstr "jan" + +msgid "feb" +msgstr "fev" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "abr" + +msgid "may" +msgstr "mai" + +msgid "jun" +msgstr "jun" + +msgid "jul" +msgstr "jul" + +msgid "aug" +msgstr "ago" + +msgid "sep" +msgstr "set" + +msgid "oct" +msgstr "out" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "dez" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Jan." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Fev." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Março" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Abril" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Maio" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Jun." + +msgctxt "abbrev. month" +msgid "July" +msgstr "Jul." + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Ago." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Set." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Out." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Dez." + +msgctxt "alt. month" +msgid "January" +msgstr "Janeiro" + +msgctxt "alt. month" +msgid "February" +msgstr "Fevereiro" + +msgctxt "alt. month" +msgid "March" +msgstr "Março" + +msgctxt "alt. month" +msgid "April" +msgstr "Abril" + +msgctxt "alt. month" +msgid "May" +msgstr "Maio" + +msgctxt "alt. month" +msgid "June" +msgstr "Junho" + +msgctxt "alt. month" +msgid "July" +msgstr "Julho" + +msgctxt "alt. month" +msgid "August" +msgstr "Agosto" + +msgctxt "alt. month" +msgid "September" +msgstr "Setembro" + +msgctxt "alt. month" +msgid "October" +msgstr "Outubro" + +msgctxt "alt. month" +msgid "November" +msgstr "Novembro" + +msgctxt "alt. month" +msgid "December" +msgstr "Dezembro" + +msgid "This is not a valid IPv6 address." +msgstr "Este não é um endereço IPv6 válido." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "ou" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "%d ano" +msgstr[1] "%d anos" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "%d mês" +msgstr[1] "%d meses" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "%d semana" +msgstr[1] "%d semanas" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "%d dia" +msgstr[1] "%d dias" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "%d hora" +msgstr[1] "%d horas" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "%d minuto" +msgstr[1] "%d minutos" + +msgid "0 minutes" +msgstr "0 minutos" + +msgid "Forbidden" +msgstr "Proibido" + +msgid "CSRF verification failed. Request aborted." +msgstr "A verificação de CSRF falhou. Pedido abortado." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Está a ver esta mensagem porque este site requer um cookie CSRF quando " +"submete formulários. Este cookie é requirido por razões de segurança, para " +"garantir que o seu browser não está a ser \"raptado\" por terceiros." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "Está disponível mais informação com DEBUG=True." + +msgid "No year specified" +msgstr "Nenhum ano especificado" + +msgid "Date out of range" +msgstr "Data fora do alcance" + +msgid "No month specified" +msgstr "Nenhum mês especificado" + +msgid "No day specified" +msgstr "Nenhum dia especificado" + +msgid "No week specified" +msgstr "Nenhuma semana especificado" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Nenhum %(verbose_name_plural)s disponível" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"%(verbose_name_plural)s futuros indisponíveis porque %(class_name)s." +"allow_future é False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Nenhum %(verbose_name)s de acordo com a procura." + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Página inválida (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "Índices de diretório não são permitidas aqui." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Índice de %(directory)s" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "Django: the Web framework for perfectionists with deadlines." + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Visualizar notas de lançamento do Django " +"%(version)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "A instalação funcionou com sucesso! Parabéns!" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" +"Está a visualizar esta página porque tem DEBUG=True no seu ficheiro settings do Django e não " +"configurou nenhum URLs." + +msgid "Django Documentation" +msgstr "Documentação do Django" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "Tutorial: A Polling App" + +msgid "Get started with Django" +msgstr "Comece com o Django" + +msgid "Django Community" +msgstr "Comunidade Django" + +msgid "Connect, get help, or contribute" +msgstr "Conecte-se, obtenha ajuda ou contribua" diff --git a/external_sources/django/django/conf/locale/pt/__init__.py b/external_sources/django/django/conf/locale/pt/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/pt/formats.py b/external_sources/django/django/conf/locale/pt/formats.py new file mode 100644 index 0000000..bb4b3f5 --- /dev/null +++ b/external_sources/django/django/conf/locale/pt/formats.py @@ -0,0 +1,39 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = r"j \d\e F \d\e Y" +TIME_FORMAT = "H:i" +DATETIME_FORMAT = r"j \d\e F \d\e Y à\s H:i" +YEAR_MONTH_FORMAT = r"F \d\e Y" +MONTH_DAY_FORMAT = r"j \d\e F" +SHORT_DATE_FORMAT = "d/m/Y" +SHORT_DATETIME_FORMAT = "d/m/Y H:i" +FIRST_DAY_OF_WEEK = 0 # Sunday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# Kept ISO formats as they are in first position +DATE_INPUT_FORMATS = [ + "%Y-%m-%d", # '2006-10-25' + "%d/%m/%Y", # '25/10/2006' + "%d/%m/%y", # '25/10/06' + # "%d de %b de %Y", # '25 de Out de 2006' + # "%d de %b, %Y", # '25 Out, 2006' + # "%d de %B de %Y", # '25 de Outubro de 2006' + # "%d de %B, %Y", # '25 de Outubro, 2006' +] +DATETIME_INPUT_FORMATS = [ + "%Y-%m-%d %H:%M:%S", # '2006-10-25 14:30:59' + "%Y-%m-%d %H:%M:%S.%f", # '2006-10-25 14:30:59.000200' + "%Y-%m-%d %H:%M", # '2006-10-25 14:30' + "%d/%m/%Y %H:%M:%S", # '25/10/2006 14:30:59' + "%d/%m/%Y %H:%M:%S.%f", # '25/10/2006 14:30:59.000200' + "%d/%m/%Y %H:%M", # '25/10/2006 14:30' + "%d/%m/%y %H:%M:%S", # '25/10/06 14:30:59' + "%d/%m/%y %H:%M:%S.%f", # '25/10/06 14:30:59.000200' + "%d/%m/%y %H:%M", # '25/10/06 14:30' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "." +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/pt_BR/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/pt_BR/LC_MESSAGES/django.po new file mode 100644 index 0000000..11ee807 --- /dev/null +++ b/external_sources/django/django/conf/locale/pt_BR/LC_MESSAGES/django.po @@ -0,0 +1,1403 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Allisson Azevedo , 2014 +# Amanda Savluchinske , 2019 +# amcorreia , 2018 +# andrewsmedina , 2014-2015 +# Arthur Silva , 2017 +# bruno.devpod , 2014 +# Camilo B. Moreira , 2017 +# Carlos Cadu “Cadu” Leite , 2020 +# Carlos Cadu “Cadu” Leite , 2016,2019 +# Filipe Cifali , 2016 +# Claudio Rogerio Carvalho Filho , 2020 +# dudanogueira , 2012 +# dudanogueira , 2019 +# Eduardo Felipe Castegnaro , 2024 +# Elyézer Rezende , 2013 +# Fábio C. Barrionuevo da Luz , 2014-2015 +# Felipe Rodrigues , 2016 +# Filipe Cifali , 2019 +# Gladson , 2013 +# fa9e10542e458baef0599ae856e43651_13d2225, 2011-2014 +# Guilherme , 2022 +# Heron Fonsaca, 2022 +# Hugo Tácito , 2024 +# Igor Cavalcante , 2017 +# Jannis Leidel , 2011 +# Jonas Rodrigues, 2023 +# Leonardo Gregianin, 2023 +# Lucas Infante , 2015 +# Luiz Boaretto , 2017 +# Marssal Jr. , 2022 +# Marcelo Moro Brondani , 2018 +# Mariusz Felisiak , 2021 +# Rafael Fontenelle , 2021-2022 +# Samuel Nogueira Bacelar , 2020 +# Sandro , 2011 +# Sergio Garcia , 2015 +# Tânia Andrea , 2017 +# Wiliam Souza , 2015 +# Francisco Petry Rauber , 2018 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 06:49+0000\n" +"Last-Translator: Eduardo Felipe Castegnaro , 2024\n" +"Language-Team: Portuguese (Brazil) (http://app.transifex.com/django/django/" +"language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgid "Afrikaans" +msgstr "Africânder" + +msgid "Arabic" +msgstr "Árabe" + +msgid "Algerian Arabic" +msgstr "Árabe Argelino" + +msgid "Asturian" +msgstr "Asturiano" + +msgid "Azerbaijani" +msgstr "Azerbaijão" + +msgid "Bulgarian" +msgstr "Búlgaro" + +msgid "Belarusian" +msgstr "Bielorrussa" + +msgid "Bengali" +msgstr "Bengali" + +msgid "Breton" +msgstr "Bretão" + +msgid "Bosnian" +msgstr "Bósnio" + +msgid "Catalan" +msgstr "Catalão" + +msgid "Central Kurdish (Sorani)" +msgstr "Curdo Central (Sorâni)" + +msgid "Czech" +msgstr "Tcheco" + +msgid "Welsh" +msgstr "Galês" + +msgid "Danish" +msgstr "Dinamarquês" + +msgid "German" +msgstr "Alemão" + +msgid "Lower Sorbian" +msgstr "Sorábio Baixo" + +msgid "Greek" +msgstr "Grego" + +msgid "English" +msgstr "Inglês" + +msgid "Australian English" +msgstr "Inglês Australiano" + +msgid "British English" +msgstr "Inglês Britânico" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Espanhol" + +msgid "Argentinian Spanish" +msgstr "Espanhol Argentino" + +msgid "Colombian Spanish" +msgstr "Espanhol Colombiano" + +msgid "Mexican Spanish" +msgstr "Espanhol Mexicano" + +msgid "Nicaraguan Spanish" +msgstr "Espanhol Nicaraguense" + +msgid "Venezuelan Spanish" +msgstr "Espanhol Venuzuelano" + +msgid "Estonian" +msgstr "Estoniano" + +msgid "Basque" +msgstr "Basco" + +msgid "Persian" +msgstr "Persa" + +msgid "Finnish" +msgstr "Finlandês" + +msgid "French" +msgstr "Francês" + +msgid "Frisian" +msgstr "Frísia" + +msgid "Irish" +msgstr "Irlandês" + +msgid "Scottish Gaelic" +msgstr "Gaélico Escocês" + +msgid "Galician" +msgstr "Galiciano" + +msgid "Hebrew" +msgstr "Hebraico" + +msgid "Hindi" +msgstr "Hindi" + +msgid "Croatian" +msgstr "Croata" + +msgid "Upper Sorbian" +msgstr "Sorábio Alto" + +msgid "Hungarian" +msgstr "Húngaro" + +msgid "Armenian" +msgstr "Armênio" + +msgid "Interlingua" +msgstr "Interlíngua" + +msgid "Indonesian" +msgstr "Indonésio" + +msgid "Igbo" +msgstr "Igbo" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Islandês" + +msgid "Italian" +msgstr "Italiano" + +msgid "Japanese" +msgstr "Japonês" + +msgid "Georgian" +msgstr "Georgiano" + +msgid "Kabyle" +msgstr "Cabila" + +msgid "Kazakh" +msgstr "Cazaque" + +msgid "Khmer" +msgstr "Khmer" + +msgid "Kannada" +msgstr "Canarês" + +msgid "Korean" +msgstr "Coreano" + +msgid "Kyrgyz" +msgstr "Quirguiz" + +msgid "Luxembourgish" +msgstr "Luxemburguês" + +msgid "Lithuanian" +msgstr "Lituano" + +msgid "Latvian" +msgstr "Letão" + +msgid "Macedonian" +msgstr "Macedônio" + +msgid "Malayalam" +msgstr "Malaiala" + +msgid "Mongolian" +msgstr "Mongol" + +msgid "Marathi" +msgstr "Marathi" + +msgid "Malay" +msgstr "Malaia" + +msgid "Burmese" +msgstr "Birmanês" + +msgid "Norwegian Bokmål" +msgstr "Dano-norueguês" + +msgid "Nepali" +msgstr "Nepalês" + +msgid "Dutch" +msgstr "Neerlandês" + +msgid "Norwegian Nynorsk" +msgstr "Novo Norueguês" + +msgid "Ossetic" +msgstr "Osseto" + +msgid "Punjabi" +msgstr "Punjabi" + +msgid "Polish" +msgstr "Polonês" + +msgid "Portuguese" +msgstr "Português" + +msgid "Brazilian Portuguese" +msgstr "Português Brasileiro" + +msgid "Romanian" +msgstr "Romeno" + +msgid "Russian" +msgstr "Russo" + +msgid "Slovak" +msgstr "Eslovaco" + +msgid "Slovenian" +msgstr "Esloveno" + +msgid "Albanian" +msgstr "Albanesa" + +msgid "Serbian" +msgstr "Sérvio" + +msgid "Serbian Latin" +msgstr "Sérvio Latino" + +msgid "Swedish" +msgstr "Sueco" + +msgid "Swahili" +msgstr "Suaíli" + +msgid "Tamil" +msgstr "Tâmil" + +msgid "Telugu" +msgstr "Telugu" + +msgid "Tajik" +msgstr "Tadjique" + +msgid "Thai" +msgstr "Tailandês" + +msgid "Turkmen" +msgstr "Turcomano" + +msgid "Turkish" +msgstr "Turco" + +msgid "Tatar" +msgstr "Tatar" + +msgid "Udmurt" +msgstr "Udmurt" + +msgid "Uyghur" +msgstr "Uigur" + +msgid "Ukrainian" +msgstr "Ucraniano" + +msgid "Urdu" +msgstr "Urdu" + +msgid "Uzbek" +msgstr "Uzbeque" + +msgid "Vietnamese" +msgstr "Vietnamita" + +msgid "Simplified Chinese" +msgstr "Chinês Simplificado" + +msgid "Traditional Chinese" +msgstr "Chinês Tradicional" + +msgid "Messages" +msgstr "Mensagens" + +msgid "Site Maps" +msgstr "Site Maps" + +msgid "Static Files" +msgstr "Arquivos Estáticos" + +msgid "Syndication" +msgstr "Syndication" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "Esse número de página não é um número inteiro" + +msgid "That page number is less than 1" +msgstr "Esse número de página é menor que 1" + +msgid "That page contains no results" +msgstr "Essa página não contém resultados" + +msgid "Enter a valid value." +msgstr "Informe um valor válido." + +msgid "Enter a valid domain name." +msgstr "Informe um domínio válido." + +msgid "Enter a valid URL." +msgstr "Informe uma URL válida." + +msgid "Enter a valid integer." +msgstr "Insira um número inteiro válido." + +msgid "Enter a valid email address." +msgstr "Informe um endereço de email válido." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Informe um “slug” válido tendo letras, números, \"underscores\" e hífens." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Informe um “slug” válido tendo letras em Unicode, números, \"underscores\" e " +"hífens." + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "Insira um endereço %(protocol)s válido." + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "IPv4 or IPv6" +msgstr "IPv4 ou IPv6" + +msgid "Enter only digits separated by commas." +msgstr "Insira apenas dígitos separados por vírgulas." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Certifique-se de que o valor é %(limit_value)s (ele é %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Certifique-se que este valor seja menor ou igual a %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Certifique-se que este valor seja maior ou igual a %(limit_value)s." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "" +"Certifique-se que este valor seja múltiplo do tamanho do passo " +"%(limit_value)s." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"Certifique-se que este valor seja múltiplo do tamanho do passo " +"%(limit_value)s, começando por %(offset)s, por exemplo %(offset)s, " +"%(valid_value1)s, %(valid_value2)s, e assim por diante." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Certifique-se de que o valor tenha no mínimo %(limit_value)d caractere (ele " +"possui %(show_value)d)." +msgstr[1] "" +"Certifique-se de que o valor tenha no mínimo %(limit_value)d caracteres (ele " +"possui %(show_value)d)." +msgstr[2] "" +"Certifique-se de que o valor tenha no mínimo %(limit_value)d caracteres (ele " +"possui %(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Certifique-se de que o valor tenha no máximo %(limit_value)d caractere (ele " +"possui %(show_value)d)." +msgstr[1] "" +"Certifique-se de que o valor tenha no máximo %(limit_value)d caracteres (ele " +"possui %(show_value)d)." +msgstr[2] "" +"Certifique-se de que o valor tenha no máximo %(limit_value)d caracteres (ele " +"possui %(show_value)d)." + +msgid "Enter a number." +msgstr "Informe um número." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Certifique-se de que não tenha mais de %(max)s dígito no total." +msgstr[1] "Certifique-se de que não tenha mais de %(max)s dígitos no total." +msgstr[2] "Certifique-se de que não tenha mais de %(max)s dígitos no total." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Certifique-se de que não tenha mais de %(max)s casa decimal." +msgstr[1] "Certifique-se de que não tenha mais de %(max)s casas decimais." +msgstr[2] "Certifique-se de que não tenha mais de %(max)s casas decimais." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Certifique-se de que não tenha mais de %(max)s dígito antes do ponto decimal." +msgstr[1] "" +"Certifique-se de que não tenha mais de %(max)s dígitos antes do ponto " +"decimal." +msgstr[2] "" +"Certifique-se de que não tenha mais de %(max)s dígitos antes do ponto " +"decimal." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"A extensão de arquivo “%(extension)s” não é permitida. As extensões válidas " +"são: %(allowed_extensions)s ." + +msgid "Null characters are not allowed." +msgstr "Caracteres nulos não são permitidos." + +msgid "and" +msgstr "e" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s com este %(field_labels)s já existe." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "Restrição \"%(name)s\" foi violada." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Valor %(value)r não é uma opção válida." + +msgid "This field cannot be null." +msgstr "Este campo não pode ser nulo." + +msgid "This field cannot be blank." +msgstr "Este campo não pode estar vazio." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s com este %(field_label)s já existe." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s deve ser único para %(date_field_label)s %(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Campo do tipo: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "o valor “%(value)s” deve ser True ou False." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "o valor “%(value)s” deve ser True, False ou None." + +msgid "Boolean (Either True or False)" +msgstr "Booleano (Verdadeiro ou Falso)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "String (até %(max_length)s)" + +msgid "String (unlimited)" +msgstr "String (ilimitado)" + +msgid "Comma-separated integers" +msgstr "Inteiros separados por vírgula" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"O valor \"%(value)s\" tem um formato de data inválido. Deve ser no formato " +"YYYY-MM-DD." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"O valor “%(value)s” tem o formato correto (YYYY-MM-DD) mas uma data inválida." + +msgid "Date (without time)" +msgstr "Data (sem hora)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"O valor “%(value)s” tem um formato inválido. Deve estar no formato YYYY-MM-" +"DD HH:MM[:ss[.uuuuuu]][TZ]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"O valor “%(value)s” está no formato correto. (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) mas é uma data/hora inválida" + +msgid "Date (with time)" +msgstr "Data (com hora)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "O valor “%(value)s” deve ser um número decimal." + +msgid "Decimal number" +msgstr "Número decimal" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"O valor “%(value)s” está em um formato inválido. Deve ser no formato [DD] " +"[[HH:]MM:]ss[.uuuuuu]." + +msgid "Duration" +msgstr "Duração" + +msgid "Email address" +msgstr "Endereço de e-mail" + +msgid "File path" +msgstr "Caminho do arquivo" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "O valor “%(value)s” deve ser um float." + +msgid "Floating point number" +msgstr "Número de ponto flutuante" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "O valor “%(value)s” deve ser inteiro." + +msgid "Integer" +msgstr "Inteiro" + +msgid "Big (8 byte) integer" +msgstr "Inteiro grande (8 byte)" + +msgid "Small integer" +msgstr "Inteiro curto" + +msgid "IPv4 address" +msgstr "Endereço IPv4" + +msgid "IP address" +msgstr "Endereço IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "O valor “%(value)s” deve ser None, True ou False." + +msgid "Boolean (Either True, False or None)" +msgstr "Booleano (Verdadeiro, Falso ou Nada)" + +msgid "Positive big integer" +msgstr "Inteiro grande positivo" + +msgid "Positive integer" +msgstr "Inteiro positivo" + +msgid "Positive small integer" +msgstr "Inteiro curto positivo" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (até %(max_length)s)" + +msgid "Text" +msgstr "Texto" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"O valor “%(value)s” tem um formato inválido. Deve estar no formato HH:MM[:" +"ss[.uuuuuu]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"O valor “%(value)s” está no formato correto (HH:MM[:ss[.uuuuuu]]) mas é uma " +"hora inválida." + +msgid "Time" +msgstr "Hora" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Dados binários bruto" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "O valor “%(value)s” não é um UUID válido" + +msgid "Universally unique identifier" +msgstr "Identificador único universal" + +msgid "File" +msgstr "Arquivo" + +msgid "Image" +msgstr "Imagem" + +msgid "A JSON object" +msgstr "Um objeto JSON" + +msgid "Value must be valid JSON." +msgstr "O valor deve ser um JSON válido." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "A instância de %(model)s com %(field)s %(value)r não existe." + +msgid "Foreign Key (type determined by related field)" +msgstr "Chave Estrangeira (tipo determinado pelo campo relacionado)" + +msgid "One-to-one relationship" +msgstr "Relacionamento um-para-um" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "Relacionamento %(from)s-%(to)s" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "Relacionamentos %(from)s-%(to)s" + +msgid "Many-to-many relationship" +msgstr "Relacionamento muitos-para-muitos" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Este campo é obrigatório." + +msgid "Enter a whole number." +msgstr "Informe um número inteiro." + +msgid "Enter a valid date." +msgstr "Informe uma data válida." + +msgid "Enter a valid time." +msgstr "Informe uma hora válida." + +msgid "Enter a valid date/time." +msgstr "Informe uma data/hora válida." + +msgid "Enter a valid duration." +msgstr "Insira uma duração válida." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "O número de dias deve ser entre {min_days} e {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Nenhum arquivo enviado. Verifique o tipo de codificação do formulário." + +msgid "No file was submitted." +msgstr "Nenhum arquivo foi enviado." + +msgid "The submitted file is empty." +msgstr "O arquivo enviado está vazio." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Certifique-se de que o arquivo tenha no máximo %(max)d caractere (ele possui " +"%(length)d)." +msgstr[1] "" +"Certifique-se de que o arquivo tenha no máximo %(max)d caracteres (ele " +"possui %(length)d)." +msgstr[2] "" +"Certifique-se de que o arquivo tenha no máximo %(max)d caracteres (ele " +"possui %(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Por favor, envie um arquivo ou marque o checkbox, mas não ambos." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Envie uma imagem válida. O arquivo enviado não é uma imagem ou está " +"corrompido." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Faça uma escolha válida. %(value)s não é uma das escolhas disponíveis." + +msgid "Enter a list of values." +msgstr "Informe uma lista de valores." + +msgid "Enter a complete value." +msgstr "Insira um valor completo." + +msgid "Enter a valid UUID." +msgstr "Insira um UUID válido." + +msgid "Enter a valid JSON." +msgstr "Insira um JSON válido" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Campo oculto %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"Dados de ManagementForm estão faltando ou foram adulterados. Campos " +"ausentes: %(field_names)s. Você pode precisar enviar um relatório de bug se " +"o problema persistir." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Por favor, envie no máximo %(num)d formulário." +msgstr[1] "Por favor, envie no máximo %(num)d formulários." +msgstr[2] "Por favor, envie no máximo %(num)d formulários." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Por favor, envie ao menos %(num)d formulário." +msgstr[1] "Por favor, envie ao menos %(num)d formulários." +msgstr[2] "Por favor, envie ao menos %(num)d formulários." + +msgid "Order" +msgstr "Ordem" + +msgid "Delete" +msgstr "Remover" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Por favor, corrija o valor duplicado para %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Por favor, corrija o valor duplicado para %(field)s, o qual deve ser único." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Por favor, corrija o dado duplicado para %(field_name)s, o qual deve ser " +"único para %(lookup)s em %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Por favor, corrija os valores duplicados abaixo." + +msgid "The inline value did not match the parent instance." +msgstr "O valor na linha não correspondeu com a instância pai." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Faça uma escolha válida. Sua escolha não é uma das disponíveis." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "“%(pk)s” não é um valor válido." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s não pode ser interpretada dentro da fuso horário " +"%(current_timezone)s; está ambíguo ou não existe." + +msgid "Clear" +msgstr "Limpar" + +msgid "Currently" +msgstr "Atualmente" + +msgid "Change" +msgstr "Modificar" + +msgid "Unknown" +msgstr "Desconhecido" + +msgid "Yes" +msgstr "Sim" + +msgid "No" +msgstr "Não" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "sim,não,talvez" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d byte" +msgstr[1] "%(size)d bytes" +msgstr[2] "%(size)d bytes" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "meia-noite" + +msgid "noon" +msgstr "meio-dia" + +msgid "Monday" +msgstr "Segunda-feira" + +msgid "Tuesday" +msgstr "Terça-feira" + +msgid "Wednesday" +msgstr "Quarta-feira" + +msgid "Thursday" +msgstr "Quinta-feira" + +msgid "Friday" +msgstr "Sexta-feira" + +msgid "Saturday" +msgstr "Sábado" + +msgid "Sunday" +msgstr "Domingo" + +msgid "Mon" +msgstr "Seg" + +msgid "Tue" +msgstr "Ter" + +msgid "Wed" +msgstr "Qua" + +msgid "Thu" +msgstr "Qui" + +msgid "Fri" +msgstr "Sex" + +msgid "Sat" +msgstr "Sab" + +msgid "Sun" +msgstr "Dom" + +msgid "January" +msgstr "Janeiro" + +msgid "February" +msgstr "Fevereiro" + +msgid "March" +msgstr "Março" + +msgid "April" +msgstr "Abril" + +msgid "May" +msgstr "Maio" + +msgid "June" +msgstr "Junho" + +msgid "July" +msgstr "Julho" + +msgid "August" +msgstr "Agosto" + +msgid "September" +msgstr "Setembro" + +msgid "October" +msgstr "Outubro" + +msgid "November" +msgstr "Novembro" + +msgid "December" +msgstr "Dezembro" + +msgid "jan" +msgstr "jan" + +msgid "feb" +msgstr "fev" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "abr" + +msgid "may" +msgstr "mai" + +msgid "jun" +msgstr "jun" + +msgid "jul" +msgstr "jul" + +msgid "aug" +msgstr "ago" + +msgid "sep" +msgstr "set" + +msgid "oct" +msgstr "out" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "dez" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Jan." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Fev." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Março" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Abril" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Maio" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Junho" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Julho" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Ago." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Set." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Out." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Dez." + +msgctxt "alt. month" +msgid "January" +msgstr "Janeiro" + +msgctxt "alt. month" +msgid "February" +msgstr "Fevereiro" + +msgctxt "alt. month" +msgid "March" +msgstr "Março" + +msgctxt "alt. month" +msgid "April" +msgstr "Abril" + +msgctxt "alt. month" +msgid "May" +msgstr "Maio" + +msgctxt "alt. month" +msgid "June" +msgstr "Junho" + +msgctxt "alt. month" +msgid "July" +msgstr "Julho" + +msgctxt "alt. month" +msgid "August" +msgstr "Agosto" + +msgctxt "alt. month" +msgid "September" +msgstr "Setembro" + +msgctxt "alt. month" +msgid "October" +msgstr "Outubro" + +msgctxt "alt. month" +msgid "November" +msgstr "Novembro" + +msgctxt "alt. month" +msgid "December" +msgstr "Dezembro" + +msgid "This is not a valid IPv6 address." +msgstr "Este não é um endereço IPv6 válido." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr " %(truncated_text)s…" + +msgid "or" +msgstr "ou" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d ano" +msgstr[1] "%(num)d anos" +msgstr[2] "%(num)d anos" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d mês" +msgstr[1] "%(num)d meses" +msgstr[2] "%(num)d meses" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d semana" +msgstr[1] "%(num)d semanas" +msgstr[2] "%(num)d semanas" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d dia" +msgstr[1] "%(num)d dias" +msgstr[2] "%(num)d dias" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d hora" +msgstr[1] "%(num)d horas" +msgstr[2] "%(num)d horas" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d minuto" +msgstr[1] "%(num)d minutos" +msgstr[2] "%(num)d minutos" + +msgid "Forbidden" +msgstr "Proibido" + +msgid "CSRF verification failed. Request aborted." +msgstr "Verificação CSRF falhou. Pedido cancelado." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Você está vendo esta mensagem porque este site HTTPS requer que um " +"“cabeçalho Refer” seja enviado pelo seu navegador da web, mas nenhum foi " +"enviado. Este cabeçalho é necessário por motivos de segurança, para garantir " +"que seu navegador não seja invadido por terceiros." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Se você configurou seu browser para desabilitar os cabeçalhos “Referer”, por " +"favor reabilite-os, ao menos para este site, ou para conexões HTTPS, ou para " +"requisições “same-origin”." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Se estiver usando a tag ou " +"incluindo o cabeçalho “Referrer-Policy: no-referrer”, por favor remova-os. A " +"proteção CSRF requer o cabeçalho “Referer” para fazer a checagem de " +"referência. Se estiver preocupado com privacidade, use alternativas como para links de sites de terceiros." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Você está vendo esta mensagem, porque este site requer um cookie CSRF no " +"envio de formulários. Este cookie é necessário por razões de segurança, para " +"garantir que o seu browser não está sendo sequestrado por terceiros." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Se você configurou seu browser para desabilitar cookies, por favor reabilite-" +"os, ao menos para este site ou para requisições do tipo \"same-origin\"." + +msgid "More information is available with DEBUG=True." +msgstr "Mais informações estão disponíveis com DEBUG=True." + +msgid "No year specified" +msgstr "Ano não especificado" + +msgid "Date out of range" +msgstr "Data fora de alcance" + +msgid "No month specified" +msgstr "Mês não especificado" + +msgid "No day specified" +msgstr "Dia não especificado" + +msgid "No week specified" +msgstr "Semana não especificada" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Nenhum(a) %(verbose_name_plural)s disponível" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"%(verbose_name_plural)s futuros não disponíveis pois %(class_name)s." +"allow_future é False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" +"String de data com formato inválido “%(datestr)s” dado o formato “%(format)s”" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "%(verbose_name)s não encontrado de acordo com a consulta" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "Página não é “last”, e também não pode ser convertida para um int." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Página inválida (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Lista vazia e o \"%(class_name)s.allow_empty\" está como False." + +msgid "Directory indexes are not allowed here." +msgstr "Índices de diretório não são permitidos aqui." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "\"%(path)s\" não existe" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Índice de %(directory)s " + +msgid "The install worked successfully! Congratulations!" +msgstr "A instalação foi com sucesso! Parabéns!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Ver as notas de lançamento do Django " +"%(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Você está vendo esta página pois possui DEBUG=True no seu arquivo de configurações e não " +"configurou nenhuma URL." + +msgid "Django Documentation" +msgstr "Documentação do Django" + +msgid "Topics, references, & how-to’s" +msgstr "Tópicos, referências, & how-to’s" + +msgid "Tutorial: A Polling App" +msgstr "Tutorial: Um aplicativo de votação" + +msgid "Get started with Django" +msgstr "Comece a usar Django" + +msgid "Django Community" +msgstr "Comunidade Django" + +msgid "Connect, get help, or contribute" +msgstr "Conecte-se, obtenha ajuda ou contribua" diff --git a/external_sources/django/django/conf/locale/pt_BR/__init__.py b/external_sources/django/django/conf/locale/pt_BR/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/pt_BR/formats.py b/external_sources/django/django/conf/locale/pt_BR/formats.py new file mode 100644 index 0000000..96a49b4 --- /dev/null +++ b/external_sources/django/django/conf/locale/pt_BR/formats.py @@ -0,0 +1,34 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = r"j \d\e F \d\e Y" +TIME_FORMAT = "H:i" +DATETIME_FORMAT = r"j \d\e F \d\e Y à\s H:i" +YEAR_MONTH_FORMAT = r"F \d\e Y" +MONTH_DAY_FORMAT = r"j \d\e F" +SHORT_DATE_FORMAT = "d/m/Y" +SHORT_DATETIME_FORMAT = "d/m/Y H:i" +FIRST_DAY_OF_WEEK = 0 # Sunday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d/%m/%Y", # '25/10/2006' + "%d/%m/%y", # '25/10/06' + # "%d de %b de %Y", # '24 de Out de 2006' + # "%d de %b, %Y", # '25 Out, 2006' + # "%d de %B de %Y", # '25 de Outubro de 2006' + # "%d de %B, %Y", # '25 de Outubro, 2006' +] +DATETIME_INPUT_FORMATS = [ + "%d/%m/%Y %H:%M:%S", # '25/10/2006 14:30:59' + "%d/%m/%Y %H:%M:%S.%f", # '25/10/2006 14:30:59.000200' + "%d/%m/%Y %H:%M", # '25/10/2006 14:30' + "%d/%m/%y %H:%M:%S", # '25/10/06 14:30:59' + "%d/%m/%y %H:%M:%S.%f", # '25/10/06 14:30:59.000200' + "%d/%m/%y %H:%M", # '25/10/06 14:30' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "." +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/ro/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/ro/LC_MESSAGES/django.po new file mode 100644 index 0000000..3b83307 --- /dev/null +++ b/external_sources/django/django/conf/locale/ro/LC_MESSAGES/django.po @@ -0,0 +1,1323 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Abel Radac , 2017 +# Bogdan Mateescu, 2018-2019,2021 +# mihneasim , 2011 +# Daniel Ursache-Dogariu, 2011 +# Denis Darii , 2011,2014 +# Ionel Cristian Mărieș , 2012 +# Jannis Leidel , 2011 +# razvan ionescu , 2015 +# Razvan Stefanescu , 2016-2017 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-01-17 02:13-0600\n" +"PO-Revision-Date: 2023-04-25 06:49+0000\n" +"Last-Translator: Bogdan Mateescu, 2018-2019,2021\n" +"Language-Team: Romanian (http://www.transifex.com/django/django/language/" +"ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" + +msgid "Afrikaans" +msgstr "Afrikaans" + +msgid "Arabic" +msgstr "Arabă" + +msgid "Algerian Arabic" +msgstr "" + +msgid "Asturian" +msgstr "Asturiană" + +msgid "Azerbaijani" +msgstr "Azeră" + +msgid "Bulgarian" +msgstr "Bulgară" + +msgid "Belarusian" +msgstr "Bielorusă" + +msgid "Bengali" +msgstr "Bengaleză" + +msgid "Breton" +msgstr "Bretonă" + +msgid "Bosnian" +msgstr "Bosniacă" + +msgid "Catalan" +msgstr "Catalană" + +msgid "Central Kurdish (Sorani)" +msgstr "" + +msgid "Czech" +msgstr "Cehă" + +msgid "Welsh" +msgstr "Galeză" + +msgid "Danish" +msgstr "Daneză" + +msgid "German" +msgstr "Germană" + +msgid "Lower Sorbian" +msgstr "Soraba Inferioară" + +msgid "Greek" +msgstr "Greacă" + +msgid "English" +msgstr "Engleză" + +msgid "Australian English" +msgstr "Engleză australiană" + +msgid "British English" +msgstr "Engleză britanică" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Spaniolă" + +msgid "Argentinian Spanish" +msgstr "Spaniolă Argentiniană" + +msgid "Colombian Spanish" +msgstr "Spaniolă Columbiană" + +msgid "Mexican Spanish" +msgstr "Spaniolă Mexicană" + +msgid "Nicaraguan Spanish" +msgstr "Spaniolă Nicaragua" + +msgid "Venezuelan Spanish" +msgstr "Spaniolă venezueleană" + +msgid "Estonian" +msgstr "Estonă" + +msgid "Basque" +msgstr "Bască" + +msgid "Persian" +msgstr "Persană" + +msgid "Finnish" +msgstr "Finlandeză" + +msgid "French" +msgstr "Franceză" + +msgid "Frisian" +msgstr "Frizian" + +msgid "Irish" +msgstr "Irlandeză" + +msgid "Scottish Gaelic" +msgstr "Galeză Scoțiană" + +msgid "Galician" +msgstr "Galiciană" + +msgid "Hebrew" +msgstr "Ebraică" + +msgid "Hindi" +msgstr "Hindi" + +msgid "Croatian" +msgstr "Croată" + +msgid "Upper Sorbian" +msgstr "Soraba Superioară" + +msgid "Hungarian" +msgstr "Ungară" + +msgid "Armenian" +msgstr "Armeană" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indoneză" + +msgid "Igbo" +msgstr "" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Islandeză" + +msgid "Italian" +msgstr "Italiană" + +msgid "Japanese" +msgstr "Japoneză" + +msgid "Georgian" +msgstr "Georgiană" + +msgid "Kabyle" +msgstr "Kabyle" + +msgid "Kazakh" +msgstr "Kazahă" + +msgid "Khmer" +msgstr "Khmeră" + +msgid "Kannada" +msgstr "Limba kannada" + +msgid "Korean" +msgstr "Koreană" + +msgid "Kyrgyz" +msgstr "" + +msgid "Luxembourgish" +msgstr "Luxemburgheză" + +msgid "Lithuanian" +msgstr "Lituaniană" + +msgid "Latvian" +msgstr "Letonă" + +msgid "Macedonian" +msgstr "Macedoneană" + +msgid "Malayalam" +msgstr "Malayalam" + +msgid "Mongolian" +msgstr "Mongolă" + +msgid "Marathi" +msgstr "Marathi" + +msgid "Malay" +msgstr "" + +msgid "Burmese" +msgstr "Burmeză" + +msgid "Norwegian Bokmål" +msgstr "Norvegiana modernă" + +msgid "Nepali" +msgstr "Nepaleză" + +msgid "Dutch" +msgstr "Olandeză" + +msgid "Norwegian Nynorsk" +msgstr "Norvegiană Nynorsk" + +msgid "Ossetic" +msgstr "Osețiană" + +msgid "Punjabi" +msgstr "Punjabi" + +msgid "Polish" +msgstr "Poloneză" + +msgid "Portuguese" +msgstr "Portugheză" + +msgid "Brazilian Portuguese" +msgstr "Portugheză braziliană" + +msgid "Romanian" +msgstr "Română" + +msgid "Russian" +msgstr "Rusă" + +msgid "Slovak" +msgstr "Slovacă" + +msgid "Slovenian" +msgstr "Slovenă" + +msgid "Albanian" +msgstr "Albaneză" + +msgid "Serbian" +msgstr "Sârbă" + +msgid "Serbian Latin" +msgstr "Sârbă latină" + +msgid "Swedish" +msgstr "Suedeză" + +msgid "Swahili" +msgstr "Swahili" + +msgid "Tamil" +msgstr "Limba tamila" + +msgid "Telugu" +msgstr "Limba telugu" + +msgid "Tajik" +msgstr "" + +msgid "Thai" +msgstr "Tailandeză" + +msgid "Turkmen" +msgstr "" + +msgid "Turkish" +msgstr "Turcă" + +msgid "Tatar" +msgstr "Tătară" + +msgid "Udmurt" +msgstr "Udmurtă" + +msgid "Ukrainian" +msgstr "Ucraineană" + +msgid "Urdu" +msgstr "Urdu" + +msgid "Uzbek" +msgstr "Uzbecă" + +msgid "Vietnamese" +msgstr "Vietnameză" + +msgid "Simplified Chinese" +msgstr "Chineză simplificată" + +msgid "Traditional Chinese" +msgstr "Chineză tradițională" + +msgid "Messages" +msgstr "Mesaje" + +msgid "Site Maps" +msgstr "Harta sit-ului" + +msgid "Static Files" +msgstr "Fișiere statice" + +msgid "Syndication" +msgstr "Sindicalizare" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "" + +msgid "That page number is not an integer" +msgstr "Numărul de pagină nu este întreg" + +msgid "That page number is less than 1" +msgstr "Numărul de pagină este mai mic decât 1" + +msgid "That page contains no results" +msgstr "Această pagină nu conține nici un rezultat" + +msgid "Enter a valid value." +msgstr "Introduceți o valoare validă." + +msgid "Enter a valid URL." +msgstr "Introduceți un URL valid." + +msgid "Enter a valid integer." +msgstr "Introduceți un întreg valid." + +msgid "Enter a valid email address." +msgstr "Introduceți o adresă de email validă." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Introduceți un “slug” valid care constă în litere, numere, underscore sau " +"cratime." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "Introduceţi o adresă IPv4 validă." + +msgid "Enter a valid IPv6 address." +msgstr "Intoduceți o adresă IPv6 validă." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Introduceți o adresă IPv4 sau IPv6 validă." + +msgid "Enter only digits separated by commas." +msgstr "Introduceţi numai numere separate de virgule." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Asiguraţi-vă că această valoare este %(limit_value)s (este %(show_value)s )." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" +"Asiguraţi-vă că această valoare este mai mică sau egală cu %(limit_value)s ." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" +"Asiguraţi-vă că această valoare este mai mare sau egală cu %(limit_value)s ." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Asigurați-vă că această valoare are cel puțin %(limit_value)d caracter (are " +"%(show_value)d)." +msgstr[1] "" +"Asigurați-vă că această valoare are cel puțin %(limit_value)d caractere (are " +"%(show_value)d)." +msgstr[2] "" +"Asigurați-vă că această valoare are cel puțin %(limit_value)d de caractere " +"(are %(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Asigurați-vă că această valoare are cel mult %(limit_value)d caracter (are " +"%(show_value)d)." +msgstr[1] "" +"Asigurați-vă că această valoare are cel mult %(limit_value)d caractere (are " +"%(show_value)d)." +msgstr[2] "" +"Asigurați-vă că această valoare are cel mult %(limit_value)d de caractere " +"(are %(show_value)d)." + +msgid "Enter a number." +msgstr "Introduceţi un număr." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Asigurați-vă că nu este mai mult de %(max)s cifră în total." +msgstr[1] "Asigurați-vă că nu sunt mai mult de %(max)s cifre în total." +msgstr[2] "Asigurați-vă că nu sunt mai mult de %(max)s de cifre în total." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Asigurați-vă că nu este mai mult de %(max)s zecimală în total." +msgstr[1] "Asigurați-vă că nu sunt mai mult de %(max)s zecimale în total." +msgstr[2] "Asigurați-vă că nu sunt mai mult de %(max)s de zecimale în total." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Asigurați-vă că nu este mai mult de %(max)s cifră înainte de punctul zecimal." +msgstr[1] "" +"Asigurați-vă că nu sunt mai mult de %(max)s cifre înainte de punctul zecimal." +msgstr[2] "" +"Asigurați-vă că nu sunt mai mult de %(max)s de cifre înainte de punctul " +"zecimal." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "Caracterele Null nu sunt permise." + +msgid "and" +msgstr "și" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s cu acest %(field_labels)s există deja." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Valoarea %(value)r nu este o opțiune validă." + +msgid "This field cannot be null." +msgstr "Acest câmp nu poate fi nul." + +msgid "This field cannot be blank." +msgstr "Acest câmp nu poate fi gol." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s cu %(field_label)s deja există." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s trebuie să fie unic(e) pentru %(date_field_label)s " +"%(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Câmp de tip: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "Boolean (adevărat sau fals)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Şir de caractere (cel mult %(max_length)s caractere)" + +msgid "String (unlimited)" +msgstr "" + +msgid "Comma-separated integers" +msgstr "Numere întregi separate de virgule" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "Dată (fară oră)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "Dată (cu oră)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "Număr zecimal" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "Durată" + +msgid "Email address" +msgstr "Adresă e-mail" + +msgid "File path" +msgstr "Calea fisierului" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "Număr cu virgulă" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "Întreg" + +msgid "Big (8 byte) integer" +msgstr "Întreg mare (8 octeți)" + +msgid "Small integer" +msgstr "Întreg mic" + +msgid "IPv4 address" +msgstr "Adresă IPv4" + +msgid "IP address" +msgstr "Adresă IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "Boolean (adevărat, fals sau niciuna)" + +msgid "Positive big integer" +msgstr "" + +msgid "Positive integer" +msgstr "Întreg pozitiv" + +msgid "Positive small integer" +msgstr "Întreg pozitiv mic" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (până la %(max_length)s)" + +msgid "Text" +msgstr "Text" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "Timp" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Date binare brute" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "Identificator unic universal" + +msgid "File" +msgstr "Fișier" + +msgid "Image" +msgstr "Imagine" + +msgid "A JSON object" +msgstr "" + +msgid "Value must be valid JSON." +msgstr "" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "Instanța %(model)s cu %(field)s %(value)r inexistentă." + +msgid "Foreign Key (type determined by related field)" +msgstr "Foreign Key (tip determinat de câmpul aferent)" + +msgid "One-to-one relationship" +msgstr "Relaţie unul-la-unul" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "Relație %(from)s-%(to)s" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "Relații %(from)s-%(to)s" + +msgid "Many-to-many relationship" +msgstr "Relație multe-la-multe" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Acest câmp este obligatoriu." + +msgid "Enter a whole number." +msgstr "Introduceţi un număr întreg." + +msgid "Enter a valid date." +msgstr "Introduceți o dată validă." + +msgid "Enter a valid time." +msgstr "Introduceți o oră validă." + +msgid "Enter a valid date/time." +msgstr "Introduceți o dată/oră validă." + +msgid "Enter a valid duration." +msgstr "Introduceți o durată validă." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Numărul de zile trebuie să fie cuprins între {min_days} și {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Nici un fișier nu a fost trimis. Verificați tipul fișierului." + +msgid "No file was submitted." +msgstr "Nici un fișier nu a fost trimis." + +msgid "The submitted file is empty." +msgstr "Fișierul încărcat este gol." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Asigurați-vă că numele fișierului are cel mult %(max)d caracter (are " +"%(length)d)." +msgstr[1] "" +"Asigurați-vă că numele fișierului are cel mult %(max)d caractere (are " +"%(length)d)." +msgstr[2] "" +"Asigurați-vă că numele fișierului are cel mult %(max)d de caractere (are " +"%(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Fie indicați un fişier, fie bifaţi caseta de selectare, nu ambele." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Încărcaţi o imagine validă. Fişierul încărcat nu era o imagine sau era o " +"imagine coruptă." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Selectați o opțiune validă. %(value)s nu face parte din opțiunile " +"disponibile." + +msgid "Enter a list of values." +msgstr "Introduceți o listă de valori." + +msgid "Enter a complete value." +msgstr "Introduceți o valoare completă." + +msgid "Enter a valid UUID." +msgstr "Introduceți un UUID valid." + +msgid "Enter a valid JSON." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Câmp ascuns %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +msgid "Order" +msgstr "Ordine" + +msgid "Delete" +msgstr "Șterge" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Corectaţi datele duplicate pentru %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "Corectaţi datele duplicate pentru %(field)s , ce trebuie să fie unic." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Corectaţi datele duplicate pentru %(field_name)s , care trebuie să fie unice " +"pentru %(lookup)s în %(date_field)s ." + +msgid "Please correct the duplicate values below." +msgstr "Corectaţi valorile duplicate de mai jos." + +msgid "The inline value did not match the parent instance." +msgstr "Valoarea în linie nu s-a potrivit cu instanța părinte." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Selectați o opțiune validă. Această opțiune nu face parte din opțiunile " +"disponibile." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "Șterge" + +msgid "Currently" +msgstr "În prezent" + +msgid "Change" +msgstr "Schimbă" + +msgid "Unknown" +msgstr "Necunoscut" + +msgid "Yes" +msgstr "Da" + +msgid "No" +msgstr "Nu" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "da,nu,poate" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d octet" +msgstr[1] "%(size)d octeţi" +msgstr[2] "%(size)d de octeţi" + +#, python-format +msgid "%s KB" +msgstr "%s KO" + +#, python-format +msgid "%s MB" +msgstr "%s MO" + +#, python-format +msgid "%s GB" +msgstr "%s GO" + +#, python-format +msgid "%s TB" +msgstr "%s TO" + +#, python-format +msgid "%s PB" +msgstr "%s PO" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "miezul nopții" + +msgid "noon" +msgstr "amiază" + +msgid "Monday" +msgstr "Luni" + +msgid "Tuesday" +msgstr "Marți" + +msgid "Wednesday" +msgstr "Miercuri" + +msgid "Thursday" +msgstr "Joi" + +msgid "Friday" +msgstr "Vineri" + +msgid "Saturday" +msgstr "Sâmbătă" + +msgid "Sunday" +msgstr "Duminică" + +msgid "Mon" +msgstr "Lun" + +msgid "Tue" +msgstr "Mar" + +msgid "Wed" +msgstr "Mie" + +msgid "Thu" +msgstr "Joi" + +msgid "Fri" +msgstr "Vin" + +msgid "Sat" +msgstr "Sâm" + +msgid "Sun" +msgstr "Dum" + +msgid "January" +msgstr "Ianuarie" + +msgid "February" +msgstr "Februarie" + +msgid "March" +msgstr "Martie" + +msgid "April" +msgstr "Aprilie" + +msgid "May" +msgstr "Mai" + +msgid "June" +msgstr "Iunie" + +msgid "July" +msgstr "Iulie" + +msgid "August" +msgstr "August" + +msgid "September" +msgstr "Septembrie" + +msgid "October" +msgstr "Octombrie" + +msgid "November" +msgstr "Noiembrie" + +msgid "December" +msgstr "Decembrie" + +msgid "jan" +msgstr "ian" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "apr" + +msgid "may" +msgstr "mai" + +msgid "jun" +msgstr "iun" + +msgid "jul" +msgstr "iul" + +msgid "aug" +msgstr "aug" + +msgid "sep" +msgstr "sep" + +msgid "oct" +msgstr "oct" + +msgid "nov" +msgstr "noi" + +msgid "dec" +msgstr "dec" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Ian." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Martie" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Aprilie" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Mai" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Iunie" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Iulie" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Aug." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Sept." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Oct." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Noie." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Dec." + +msgctxt "alt. month" +msgid "January" +msgstr "Ianuarie" + +msgctxt "alt. month" +msgid "February" +msgstr "Februarie" + +msgctxt "alt. month" +msgid "March" +msgstr "Martie" + +msgctxt "alt. month" +msgid "April" +msgstr "Aprilie" + +msgctxt "alt. month" +msgid "May" +msgstr "Mai" + +msgctxt "alt. month" +msgid "June" +msgstr "Iunie" + +msgctxt "alt. month" +msgid "July" +msgstr "Iulie" + +msgctxt "alt. month" +msgid "August" +msgstr "August" + +msgctxt "alt. month" +msgid "September" +msgstr "Septembrie" + +msgctxt "alt. month" +msgid "October" +msgstr "Octombrie" + +msgctxt "alt. month" +msgid "November" +msgstr "Noiembrie" + +msgctxt "alt. month" +msgid "December" +msgstr "Decembrie" + +msgid "This is not a valid IPv6 address." +msgstr "Aceasta nu este o adresă IPv6 validă." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "sau" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d an" +msgstr[1] "%(num)d ani" +msgstr[2] "%(num)d de ani" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d lună" +msgstr[1] "%(num)d luni" +msgstr[2] "%(num)d de luni" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d săptămână" +msgstr[1] "%(num)d săptămâni" +msgstr[2] "%(num)d de săptămâni" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d zi" +msgstr[1] "%(num)d zile" +msgstr[2] "%(num)d de zile" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d oră" +msgstr[1] "%(num)d ore" +msgstr[2] "%(num)d de ore" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d minut" +msgstr[1] "%(num)d minute" +msgstr[2] "%(num)d de minute" + +msgid "Forbidden" +msgstr "Interzis" + +msgid "CSRF verification failed. Request aborted." +msgstr "Verificarea CSRF nereușită. Cerere eșuată." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Vedeți acest mesaj deoarece această pagină web necesită un cookie CSRF la " +"trimiterea formularelor. Acest cookie este necesar din motive de securitate, " +"pentru a se asigura că browserul nu este deturnat de terți." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "Mai multe informații sunt disponibile pentru DEBUG=True." + +msgid "No year specified" +msgstr "Niciun an specificat" + +msgid "Date out of range" +msgstr "Dată în afara intervalului" + +msgid "No month specified" +msgstr "Nicio lună specificată" + +msgid "No day specified" +msgstr "Nicio zi specificată" + +msgid "No week specified" +msgstr "Nicio săptămîna specificată" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "%(verbose_name_plural)s nu e disponibil" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Viitorul %(verbose_name_plural)s nu e disponibil deoarece %(class_name)s ." +"allow_future este Fals." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Niciun rezultat pentru %(verbose_name)s care se potrivesc interogării" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Pagină invalidă (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "Aici nu sunt permise indexuri la directoare" + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Index pentru %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "Instalarea a funcționat cu succes! Felicitări!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Vezi notele de lansare pentru Django " +"%(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Vedeți această pagină deoarece DEBUG=True este în fișierul de setări și nu ați " +"configurat niciun URL." + +msgid "Django Documentation" +msgstr "Documentația Django" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "Tutorial: O aplicație de votare" + +msgid "Get started with Django" +msgstr "Începeți cu Django" + +msgid "Django Community" +msgstr "Comunitatea Django" + +msgid "Connect, get help, or contribute" +msgstr "Conectați-vă, obțineți ajutor sau contribuiți" diff --git a/external_sources/django/django/conf/locale/ro/__init__.py b/external_sources/django/django/conf/locale/ro/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/ro/formats.py b/external_sources/django/django/conf/locale/ro/formats.py new file mode 100644 index 0000000..5a0c173 --- /dev/null +++ b/external_sources/django/django/conf/locale/ro/formats.py @@ -0,0 +1,35 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j F Y" +TIME_FORMAT = "H:i" +DATETIME_FORMAT = "j F Y, H:i" +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "d.m.Y" +SHORT_DATETIME_FORMAT = "d.m.Y, H:i" +FIRST_DAY_OF_WEEK = 1 + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d.%m.%Y", + "%d.%b.%Y", + "%d %B %Y", + "%A, %d %B %Y", +] +TIME_INPUT_FORMATS = [ + "%H:%M", + "%H:%M:%S", + "%H:%M:%S.%f", +] +DATETIME_INPUT_FORMATS = [ + "%d.%m.%Y, %H:%M", + "%d.%m.%Y, %H:%M:%S", + "%d.%B.%Y, %H:%M", + "%d.%B.%Y, %H:%M:%S", +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "." +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/ru/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/ru/LC_MESSAGES/django.po new file mode 100644 index 0000000..1766d19 --- /dev/null +++ b/external_sources/django/django/conf/locale/ru/LC_MESSAGES/django.po @@ -0,0 +1,1424 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Mingun , 2014 +# Anton Bazhanov , 2017 +# Denis Darii , 2011 +# Dimmus , 2011 +# eigrad , 2012 +# Eugene , 2013 +# Eugene Morozov , 2021 +# eXtractor , 2015 +# crazyzubr , 2020 +# Igor Melnyk, 2014 +# Ivan Khomutov , 2017 +# Jannis Leidel , 2011 +# lilo.panic, 2016 +# Mikhail Zholobov , 2013 +# Nikolay Korotkiy , 2018 +# Panasoft, 2021 +# Вася Аникин , 2017 +# SeryiMysh , 2020 +# Алексей Борискин , 2013-2017,2019-2020,2022-2024 +# Bobsans , 2016,2018 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 06:49+0000\n" +"Last-Translator: Алексей Борискин , " +"2013-2017,2019-2020,2022-2024\n" +"Language-Team: Russian (http://app.transifex.com/django/django/language/" +"ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " +"(n%100>=11 && n%100<=14)? 2 : 3);\n" + +msgid "Afrikaans" +msgstr "Бурский" + +msgid "Arabic" +msgstr "Арабский" + +msgid "Algerian Arabic" +msgstr "Алжирский арабский" + +msgid "Asturian" +msgstr "Астурийский" + +msgid "Azerbaijani" +msgstr "Азербайджанский" + +msgid "Bulgarian" +msgstr "Болгарский" + +msgid "Belarusian" +msgstr "Белоруский" + +msgid "Bengali" +msgstr "Бенгальский" + +msgid "Breton" +msgstr "Бретонский" + +msgid "Bosnian" +msgstr "Боснийский" + +msgid "Catalan" +msgstr "Каталанский" + +msgid "Central Kurdish (Sorani)" +msgstr "Центральнокурдский (Сорани)" + +msgid "Czech" +msgstr "Чешский" + +msgid "Welsh" +msgstr "Уэльский" + +msgid "Danish" +msgstr "Датский" + +msgid "German" +msgstr "Немецкий" + +msgid "Lower Sorbian" +msgstr "Нижнелужицкий" + +msgid "Greek" +msgstr "Греческий" + +msgid "English" +msgstr "Английский" + +msgid "Australian English" +msgstr "Австралийский английский" + +msgid "British English" +msgstr "Британский английский" + +msgid "Esperanto" +msgstr "Эсперанто" + +msgid "Spanish" +msgstr "Испанский" + +msgid "Argentinian Spanish" +msgstr "Аргентинский испанский" + +msgid "Colombian Spanish" +msgstr "Колумбийский испанский" + +msgid "Mexican Spanish" +msgstr "Мексиканский испанский" + +msgid "Nicaraguan Spanish" +msgstr "Никарагуанский испанский" + +msgid "Venezuelan Spanish" +msgstr "Венесуэльский Испанский" + +msgid "Estonian" +msgstr "Эстонский" + +msgid "Basque" +msgstr "Баскский" + +msgid "Persian" +msgstr "Персидский" + +msgid "Finnish" +msgstr "Финский" + +msgid "French" +msgstr "Французский" + +msgid "Frisian" +msgstr "Фризский" + +msgid "Irish" +msgstr "Ирландский" + +msgid "Scottish Gaelic" +msgstr "Шотландский гэльский" + +msgid "Galician" +msgstr "Галисийский" + +msgid "Hebrew" +msgstr "Иврит" + +msgid "Hindi" +msgstr "Хинди" + +msgid "Croatian" +msgstr "Хорватский" + +msgid "Upper Sorbian" +msgstr "Верхнелужицкий" + +msgid "Hungarian" +msgstr "Венгерский" + +msgid "Armenian" +msgstr "Армянский" + +msgid "Interlingua" +msgstr "Интерлингва" + +msgid "Indonesian" +msgstr "Индонезийский" + +msgid "Igbo" +msgstr "Игбо" + +msgid "Ido" +msgstr "Идо" + +msgid "Icelandic" +msgstr "Исландский" + +msgid "Italian" +msgstr "Итальянский" + +msgid "Japanese" +msgstr "Японский" + +msgid "Georgian" +msgstr "Грузинский" + +msgid "Kabyle" +msgstr "Кабильский" + +msgid "Kazakh" +msgstr "Казахский" + +msgid "Khmer" +msgstr "Кхмерский" + +msgid "Kannada" +msgstr "Каннада" + +msgid "Korean" +msgstr "Корейский" + +msgid "Kyrgyz" +msgstr "Киргизский" + +msgid "Luxembourgish" +msgstr "Люксембургский" + +msgid "Lithuanian" +msgstr "Литовский" + +msgid "Latvian" +msgstr "Латвийский" + +msgid "Macedonian" +msgstr "Македонский" + +msgid "Malayalam" +msgstr "Малаялам" + +msgid "Mongolian" +msgstr "Монгольский" + +msgid "Marathi" +msgstr "Маратхи" + +msgid "Malay" +msgstr "Малайский" + +msgid "Burmese" +msgstr "Бирманский" + +msgid "Norwegian Bokmål" +msgstr "Норвежский (Букмол)" + +msgid "Nepali" +msgstr "Непальский" + +msgid "Dutch" +msgstr "Голландский" + +msgid "Norwegian Nynorsk" +msgstr "Норвежский (Нюнорск)" + +msgid "Ossetic" +msgstr "Осетинский" + +msgid "Punjabi" +msgstr "Панджаби" + +msgid "Polish" +msgstr "Польский" + +msgid "Portuguese" +msgstr "Португальский" + +msgid "Brazilian Portuguese" +msgstr "Бразильский португальский" + +msgid "Romanian" +msgstr "Румынский" + +msgid "Russian" +msgstr "Русский" + +msgid "Slovak" +msgstr "Словацкий" + +msgid "Slovenian" +msgstr "Словенский" + +msgid "Albanian" +msgstr "Албанский" + +msgid "Serbian" +msgstr "Сербский" + +msgid "Serbian Latin" +msgstr "Сербский (латиница)" + +msgid "Swedish" +msgstr "Шведский" + +msgid "Swahili" +msgstr "Суахили" + +msgid "Tamil" +msgstr "Тамильский" + +msgid "Telugu" +msgstr "Телугу" + +msgid "Tajik" +msgstr "Таджикский" + +msgid "Thai" +msgstr "Тайский" + +msgid "Turkmen" +msgstr "Туркменский" + +msgid "Turkish" +msgstr "Турецкий" + +msgid "Tatar" +msgstr "Татарский" + +msgid "Udmurt" +msgstr "Удмуртский" + +msgid "Uyghur" +msgstr "Уйгурский" + +msgid "Ukrainian" +msgstr "Украинский" + +msgid "Urdu" +msgstr "Урду" + +msgid "Uzbek" +msgstr "Узбекский" + +msgid "Vietnamese" +msgstr "Вьетнамский" + +msgid "Simplified Chinese" +msgstr "Упрощенный китайский" + +msgid "Traditional Chinese" +msgstr "Традиционный китайский" + +msgid "Messages" +msgstr "Сообщения" + +msgid "Site Maps" +msgstr "Карта сайта" + +msgid "Static Files" +msgstr "Статические файлы" + +msgid "Syndication" +msgstr "Ленты новостей" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "Номер страницы не является натуральным числом" + +msgid "That page number is less than 1" +msgstr "Номер страницы меньше 1" + +msgid "That page contains no results" +msgstr "Страница не содержит результатов" + +msgid "Enter a valid value." +msgstr "Введите правильное значение." + +msgid "Enter a valid domain name." +msgstr "Введите правильное имя домена." + +msgid "Enter a valid URL." +msgstr "Введите правильный URL." + +msgid "Enter a valid integer." +msgstr "Введите правильное число." + +msgid "Enter a valid email address." +msgstr "Введите правильный адрес электронной почты." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Значение должно состоять только из латинских букв, цифр, знаков " +"подчеркивания или дефиса." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Значение должно состоять только из символов входящих в стандарт Юникод, " +"цифр, символов подчёркивания или дефисов." + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "Введите правильный адрес %(protocol)s." + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "IPv4 or IPv6" +msgstr "IPv4 или IPv6" + +msgid "Enter only digits separated by commas." +msgstr "Введите цифры, разделенные запятыми." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Убедитесь, что это значение — %(limit_value)s (сейчас оно — %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Убедитесь, что это значение меньше либо равно %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Убедитесь, что это значение больше либо равно %(limit_value)s." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "Убедитесь, что это значение кратно числу %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"Убедитесь, что данное значение отстоит от %(offset)s на число, кратное шагу " +"%(limit_value)s, например: %(offset)s, %(valid_value1)s, %(valid_value2)s и " +"так далее." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Убедитесь, что это значение содержит не менее %(limit_value)d символ (сейчас " +"%(show_value)d)." +msgstr[1] "" +"Убедитесь, что это значение содержит не менее %(limit_value)d символов " +"(сейчас %(show_value)d)." +msgstr[2] "" +"Убедитесь, что это значение содержит не менее %(limit_value)d символов " +"(сейчас %(show_value)d)." +msgstr[3] "" +"Убедитесь, что это значение содержит не менее %(limit_value)d символов " +"(сейчас %(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Убедитесь, что это значение содержит не более %(limit_value)d символ (сейчас " +"%(show_value)d)." +msgstr[1] "" +"Убедитесь, что это значение содержит не более %(limit_value)d символов " +"(сейчас %(show_value)d)." +msgstr[2] "" +"Убедитесь, что это значение содержит не более %(limit_value)d символов " +"(сейчас %(show_value)d)." +msgstr[3] "" +"Убедитесь, что это значение содержит не более %(limit_value)d символов " +"(сейчас %(show_value)d)." + +msgid "Enter a number." +msgstr "Введите число." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Убедитесь, что вы ввели не более %(max)s цифры." +msgstr[1] "Убедитесь, что вы ввели не более %(max)s цифр." +msgstr[2] "Убедитесь, что вы ввели не более %(max)s цифр." +msgstr[3] "Убедитесь, что вы ввели не более %(max)s цифр." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Убедитесь, что вы ввели не более %(max)s цифры после запятой." +msgstr[1] "Убедитесь, что вы ввели не более %(max)s цифр после запятой." +msgstr[2] "Убедитесь, что вы ввели не более %(max)s цифр после запятой." +msgstr[3] "Убедитесь, что вы ввели не более %(max)s цифр после запятой." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "Убедитесь, что вы ввели не более %(max)s цифры перед запятой." +msgstr[1] "Убедитесь, что вы ввели не более %(max)s цифр перед запятой." +msgstr[2] "Убедитесь, что вы ввели не более %(max)s цифр перед запятой." +msgstr[3] "Убедитесь, что вы ввели не более %(max)s цифр перед запятой." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Расширение файлов “%(extension)s” не поддерживается. Разрешенные расширения: " +"%(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Данные содержат запрещённый символ: ноль-байт" + +msgid "and" +msgstr "и" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" +"%(model_name)s с такими значениями полей %(field_labels)s уже существует." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "Нарушено ограничение \"%(name)s\"." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Значения %(value)r нет среди допустимых вариантов." + +msgid "This field cannot be null." +msgstr "Это поле не может иметь значение NULL." + +msgid "This field cannot be blank." +msgstr "Это поле не может быть пустым." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s с таким %(field_label)s уже существует." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"Значение в поле «%(field_label)s» должно быть уникальным для фрагмента " +"«%(lookup_type)s» даты в поле %(date_field_label)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Поле типа %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "Значение “%(value)s” должно быть True или False." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "Значение “%(value)s” должно быть True, False или None." + +msgid "Boolean (Either True or False)" +msgstr "Логическое (True или False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Строка (до %(max_length)s)" + +msgid "String (unlimited)" +msgstr "Строка (неограниченной длины)" + +msgid "Comma-separated integers" +msgstr "Целые, разделенные запятыми" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"Значение “%(value)s” имеет неверный формат даты. Оно должно быть в формате " +"YYYY-MM-DD." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"Значение “%(value)s” имеет корректный формат (YYYY-MM-DD), но это " +"недействительная дата." + +msgid "Date (without time)" +msgstr "Дата (без указания времени)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"Значение “%(value)s” имеет неверный формат. Оно должно быть в формате YYYY-" +"MM-DD HH:MM[:ss[.uuuuuu]][TZ]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"Значение “%(value)s” имеет корректный формат (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]), но это недействительные дата/время." + +msgid "Date (with time)" +msgstr "Дата (с указанием времени)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "Значение “%(value)s” должно быть десятичным числом." + +msgid "Decimal number" +msgstr "Число с фиксированной запятой" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"Значение “%(value)s” имеет неверный формат. Оно должно быть в формате [DD] " +"[HH:[MM:]]ss[.uuuuuu]." + +msgid "Duration" +msgstr "Продолжительность" + +msgid "Email address" +msgstr "Адрес электронной почты" + +msgid "File path" +msgstr "Путь к файлу" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "Значение “%(value)s” должно быть числом с плавающей точкой." + +msgid "Floating point number" +msgstr "Число с плавающей запятой" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "Значение “%(value)s” должно быть целым числом." + +msgid "Integer" +msgstr "Целое" + +msgid "Big (8 byte) integer" +msgstr "Длинное целое (8 байт)" + +msgid "Small integer" +msgstr "Малое целое число" + +msgid "IPv4 address" +msgstr "IPv4 адрес" + +msgid "IP address" +msgstr "IP-адрес" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "Значение “%(value)s” должно быть None, True или False." + +msgid "Boolean (Either True, False or None)" +msgstr "Логическое (True, False или None)" + +msgid "Positive big integer" +msgstr "Положительное большое целое число" + +msgid "Positive integer" +msgstr "Положительное целое число" + +msgid "Positive small integer" +msgstr "Положительное малое целое число" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Слаг (до %(max_length)s)" + +msgid "Text" +msgstr "Текст" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"Значение “%(value)s” имеет неверный формат. Оно должно быть в формате HH:MM[:" +"ss[.uuuuuu]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"Значение “%(value)s” имеет корректный формат (HH:MM[:ss[.uuuuuu]]), но это " +"недействительное время." + +msgid "Time" +msgstr "Время" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Необработанные двоичные данные" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "Значение “%(value)s” не является верным UUID-ом." + +msgid "Universally unique identifier" +msgstr "Поле для UUID, универсального уникального идентификатора" + +msgid "File" +msgstr "Файл" + +msgid "Image" +msgstr "Изображение" + +msgid "A JSON object" +msgstr "JSON-объект" + +msgid "Value must be valid JSON." +msgstr "Значение должно быть корректным JSON-ом." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" +"Объект модели %(model)s со значением поля %(field)s, равным %(value)r, не " +"существует." + +msgid "Foreign Key (type determined by related field)" +msgstr "Внешний Ключ (тип определен по связанному полю)" + +msgid "One-to-one relationship" +msgstr "Связь \"один к одному\"" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "Связь %(from)s-%(to)s" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "Связи %(from)s-%(to)s" + +msgid "Many-to-many relationship" +msgstr "Связь \"многие ко многим\"" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Обязательное поле." + +msgid "Enter a whole number." +msgstr "Введите целое число." + +msgid "Enter a valid date." +msgstr "Введите правильную дату." + +msgid "Enter a valid time." +msgstr "Введите правильное время." + +msgid "Enter a valid date/time." +msgstr "Введите правильную дату и время." + +msgid "Enter a valid duration." +msgstr "Введите правильную продолжительность." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Количество дней должно быть в диапазоне от {min_days} до {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Ни одного файла не было отправлено. Проверьте тип кодировки формы." + +msgid "No file was submitted." +msgstr "Ни одного файла не было отправлено." + +msgid "The submitted file is empty." +msgstr "Отправленный файл пуст." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Убедитесь, что это имя файла содержит не более %(max)d символ (сейчас " +"%(length)d)." +msgstr[1] "" +"Убедитесь, что это имя файла содержит не более %(max)d символов (сейчас " +"%(length)d)." +msgstr[2] "" +"Убедитесь, что это имя файла содержит не более %(max)d символов (сейчас " +"%(length)d)." +msgstr[3] "" +"Убедитесь, что это имя файла содержит не более %(max)d символов (сейчас " +"%(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Пожалуйста, загрузите файл или поставьте флажок \"Очистить\", но не " +"совершайте оба действия одновременно." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Загрузите правильное изображение. Файл, который вы загрузили, поврежден или " +"не является изображением." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Выберите корректный вариант. %(value)s нет среди допустимых значений." + +msgid "Enter a list of values." +msgstr "Введите список значений." + +msgid "Enter a complete value." +msgstr "Введите весь список значений." + +msgid "Enter a valid UUID." +msgstr "Введите правильный UUID." + +msgid "Enter a valid JSON." +msgstr "Введите корректный JSON." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Скрытое поле %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"Данные ManagementForm отсутствуют или были подделаны. Отсутствующие поля: " +"%(field_names)s. Если проблема не исчезнет, вам может потребоваться " +"отправить отчет об ошибке." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Пожалуйста, отправьте не больше %(num)d формы." +msgstr[1] "Пожалуйста, отправьте не больше %(num)d форм." +msgstr[2] "Пожалуйста, отправьте не больше %(num)d форм." +msgstr[3] "Пожалуйста, отправьте не больше %(num)d форм." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Пожалуйста, отправьте %(num)d форму." +msgstr[1] "Пожалуйста, отправьте %(num)d формы." +msgstr[2] "Пожалуйста, отправьте %(num)d форм." +msgstr[3] "Пожалуйста, отправьте %(num)d форм." + +msgid "Order" +msgstr "Порядок" + +msgid "Delete" +msgstr "Удалить" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Пожалуйста, измените повторяющееся значение в поле \"%(field)s\"." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Пожалуйста, измените значение в поле %(field)s, оно должно быть уникальным." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Пожалуйста, измените значение в поле %(field_name)s, оно должно быть " +"уникальным для %(lookup)s в поле %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Пожалуйста, измените повторяющиеся значения ниже." + +msgid "The inline value did not match the parent instance." +msgstr "Значение во вложенной форме не совпадает со значением в базовой форме." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Выберите корректный вариант. Вашего варианта нет среди допустимых значений." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "“%(pk)s” является неверным значением." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s не может быть интерпретирована в часовом поясе " +"%(current_timezone)s; дата может быть неоднозначной или оказаться " +"несуществующей." + +msgid "Clear" +msgstr "Очистить" + +msgid "Currently" +msgstr "На данный момент" + +msgid "Change" +msgstr "Изменить" + +msgid "Unknown" +msgstr "Неизвестно" + +msgid "Yes" +msgstr "Да" + +msgid "No" +msgstr "Нет" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "да,нет,может быть" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d байт" +msgstr[1] "%(size)d байта" +msgstr[2] "%(size)d байт" +msgstr[3] "%(size)d байт" + +#, python-format +msgid "%s KB" +msgstr "%s КБ" + +#, python-format +msgid "%s MB" +msgstr "%s МБ" + +#, python-format +msgid "%s GB" +msgstr "%s ГБ" + +#, python-format +msgid "%s TB" +msgstr "%s ТБ" + +#, python-format +msgid "%s PB" +msgstr "%s ПБ" + +msgid "p.m." +msgstr "п.п." + +msgid "a.m." +msgstr "д.п." + +msgid "PM" +msgstr "ПП" + +msgid "AM" +msgstr "ДП" + +msgid "midnight" +msgstr "полночь" + +msgid "noon" +msgstr "полдень" + +msgid "Monday" +msgstr "Понедельник" + +msgid "Tuesday" +msgstr "Вторник" + +msgid "Wednesday" +msgstr "Среда" + +msgid "Thursday" +msgstr "Четверг" + +msgid "Friday" +msgstr "Пятница" + +msgid "Saturday" +msgstr "Суббота" + +msgid "Sunday" +msgstr "Воскресенье" + +msgid "Mon" +msgstr "Пн" + +msgid "Tue" +msgstr "Вт" + +msgid "Wed" +msgstr "Ср" + +msgid "Thu" +msgstr "Чт" + +msgid "Fri" +msgstr "Пт" + +msgid "Sat" +msgstr "Сб" + +msgid "Sun" +msgstr "Вс" + +msgid "January" +msgstr "Январь" + +msgid "February" +msgstr "Февраль" + +msgid "March" +msgstr "Март" + +msgid "April" +msgstr "Апрель" + +msgid "May" +msgstr "Май" + +msgid "June" +msgstr "Июнь" + +msgid "July" +msgstr "Июль" + +msgid "August" +msgstr "Август" + +msgid "September" +msgstr "Сентябрь" + +msgid "October" +msgstr "Октябрь" + +msgid "November" +msgstr "Ноябрь" + +msgid "December" +msgstr "Декабрь" + +msgid "jan" +msgstr "янв" + +msgid "feb" +msgstr "фев" + +msgid "mar" +msgstr "мар" + +msgid "apr" +msgstr "апр" + +msgid "may" +msgstr "май" + +msgid "jun" +msgstr "июн" + +msgid "jul" +msgstr "июл" + +msgid "aug" +msgstr "авг" + +msgid "sep" +msgstr "сен" + +msgid "oct" +msgstr "окт" + +msgid "nov" +msgstr "ноя" + +msgid "dec" +msgstr "дек" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Янв." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Фев." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Март" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Апрель" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Май" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Июнь" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Июль" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Авг." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Сен." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Окт." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Ноя." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Дек." + +msgctxt "alt. month" +msgid "January" +msgstr "января" + +msgctxt "alt. month" +msgid "February" +msgstr "февраля" + +msgctxt "alt. month" +msgid "March" +msgstr "марта" + +msgctxt "alt. month" +msgid "April" +msgstr "апреля" + +msgctxt "alt. month" +msgid "May" +msgstr "мая" + +msgctxt "alt. month" +msgid "June" +msgstr "июня" + +msgctxt "alt. month" +msgid "July" +msgstr "июля" + +msgctxt "alt. month" +msgid "August" +msgstr "августа" + +msgctxt "alt. month" +msgid "September" +msgstr "сентября" + +msgctxt "alt. month" +msgid "October" +msgstr "октября" + +msgctxt "alt. month" +msgid "November" +msgstr "ноября" + +msgctxt "alt. month" +msgid "December" +msgstr "декабря" + +msgid "This is not a valid IPv6 address." +msgstr "Значение не является корректным адресом IPv6." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "или" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d год" +msgstr[1] "%(num)d года" +msgstr[2] "%(num)d лет" +msgstr[3] "%(num)d лет" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d месяц" +msgstr[1] "%(num)d месяца" +msgstr[2] "%(num)d месяцев" +msgstr[3] "%(num)d месяцев" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d неделя" +msgstr[1] "%(num)d недели" +msgstr[2] "%(num)d недель" +msgstr[3] "%(num)d недель" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d день" +msgstr[1] "%(num)d дня" +msgstr[2] "%(num)d дней" +msgstr[3] "%(num)d дней" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d час" +msgstr[1] "%(num)d часа" +msgstr[2] "%(num)d часов" +msgstr[3] "%(num)d часов" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d минута" +msgstr[1] "%(num)d минуты" +msgstr[2] "%(num)d минут" +msgstr[3] "%(num)d минут" + +msgid "Forbidden" +msgstr "Ошибка доступа" + +msgid "CSRF verification failed. Request aborted." +msgstr "Ошибка проверки CSRF. Запрос отклонён." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Вы видите это сообщение потому что этот сайт работает по защищённому " +"протоколу HTTPS и требует, чтобы при запросе вашим браузером был передан " +"заголовок \"Referer\", но он не был передан. Этот заголовок необходим из " +"соображений безопасности: мы должны убедиться что запрос оправляете именно " +"вы." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Если вы настроили свой браузер таким образом, чтобы запретить ему передавать " +"заголовок “Referer”, пожалуйста, разрешите ему отсылать данный заголовок по " +"крайней мере для данного сайта, или для всех HTTPS-соединений, или для " +"запросов, домен и порт назначения совпадают с доменом и портом текущей " +"страницы." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Если Вы используете HTML-тэг или добавили HTTP-заголовок “Referrer-Policy: no-referrer”, " +"пожалуйста удалите их. CSRF защите необходим заголовок “Referer” для строгой " +"проверки адреса ссылающейся страницы. Если Вы беспокоитесь о приватности, " +"используйте альтернативы, например , для ссылок на " +"сайты третьих лиц." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Вы видите это сообщение, потому что данный сайт требует, чтобы при отправке " +"форм была отправлена и CSRF-cookie. Данный тип cookie необходим по " +"соображениям безопасности, чтобы убедиться, что ваш браузер не был взломан и " +"не выполняет от вашего лица действий, запрограммированных третьими лицами." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Если в вашем браузере отключены cookie, пожалуйста, включите эту функцию " +"вновь, по крайней мере для этого сайта, или для \"same-orign\" запросов." + +msgid "More information is available with DEBUG=True." +msgstr "" +"В отладочном режиме доступно больше информации. Включить отладочный режим " +"можно, установив значение переменной DEBUG=True." + +msgid "No year specified" +msgstr "Не указан год" + +msgid "Date out of range" +msgstr "Дата выходит за пределы диапазона" + +msgid "No month specified" +msgstr "Не указан месяц" + +msgid "No day specified" +msgstr "Не указан день" + +msgid "No week specified" +msgstr "Не указана неделя" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "%(verbose_name_plural)s не доступен" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Будущие %(verbose_name_plural)s недоступны, потому что %(class_name)s." +"allow_future выставлен в значение \"Ложь\"." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" +"Не удалось распознать строку с датой “%(datestr)s”, в заданном формате " +"“%(format)s”" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Не найден ни один %(verbose_name)s, соответствующий запросу" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" +"Номер страницы не содержит особое значение “last” и его не удалось " +"преобразовать к целому числу." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Неправильная страница (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" +"Список пуст, но “%(class_name)s.allow_empty” выставлено в значение \"Ложь\", " +"что запрещает показывать пустые списки." + +msgid "Directory indexes are not allowed here." +msgstr "Просмотр списка файлов директории здесь не разрешен." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "“%(path)s” не существует" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Список файлов директории %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "Установка прошла успешно! Поздравляем!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Посмотреть примечания к выпуску для Django " +"%(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Вы видите данную страницу, потому что указали DEBUG=True в файле настроек и не настроили ни одного " +"обработчика URL-адресов." + +msgid "Django Documentation" +msgstr "Документация Django" + +msgid "Topics, references, & how-to’s" +msgstr "Разделы, справочник, & примеры" + +msgid "Tutorial: A Polling App" +msgstr "Руководство: Приложение для голосования" + +msgid "Get started with Django" +msgstr "Начало работы с Django" + +msgid "Django Community" +msgstr "Сообщество Django" + +msgid "Connect, get help, or contribute" +msgstr "Присоединяйтесь, получайте помощь или помогайте в разработке" diff --git a/external_sources/django/django/conf/locale/ru/__init__.py b/external_sources/django/django/conf/locale/ru/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/ru/formats.py b/external_sources/django/django/conf/locale/ru/formats.py new file mode 100644 index 0000000..212e526 --- /dev/null +++ b/external_sources/django/django/conf/locale/ru/formats.py @@ -0,0 +1,30 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j E Y г." +TIME_FORMAT = "G:i" +DATETIME_FORMAT = "j E Y г. G:i" +YEAR_MONTH_FORMAT = "F Y г." +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "d.m.Y" +SHORT_DATETIME_FORMAT = "d.m.Y H:i" +FIRST_DAY_OF_WEEK = 1 # Monday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d.%m.%Y", # '25.10.2006' + "%d.%m.%y", # '25.10.06' +] +DATETIME_INPUT_FORMATS = [ + "%d.%m.%Y %H:%M:%S", # '25.10.2006 14:30:59' + "%d.%m.%Y %H:%M:%S.%f", # '25.10.2006 14:30:59.000200' + "%d.%m.%Y %H:%M", # '25.10.2006 14:30' + "%d.%m.%y %H:%M:%S", # '25.10.06 14:30:59' + "%d.%m.%y %H:%M:%S.%f", # '25.10.06 14:30:59.000200' + "%d.%m.%y %H:%M", # '25.10.06 14:30' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "\xa0" # non-breaking space +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/sk/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/sk/LC_MESSAGES/django.po new file mode 100644 index 0000000..e245cb1 --- /dev/null +++ b/external_sources/django/django/conf/locale/sk/LC_MESSAGES/django.po @@ -0,0 +1,1394 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Adam Zahradník, 2023-2024 +# Jannis Leidel , 2011 +# 18f25ad6fa9930fc67cb11aca9d16a27, 2012-2013 +# Marian Andre , 2013,2015,2017-2018 +# 29cf7e517570e1bc05a1509565db92ae_2a01508, 2011 +# Martin Tóth , 2017,2023 +# Miroslav Bendik , 2023 +# Peter Kuma, 2021 +# Peter Stríž , 2020 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-10-07 06:49+0000\n" +"Last-Translator: Adam Zahradník, 2023-2024\n" +"Language-Team: Slovak (http://app.transifex.com/django/django/language/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" + +msgid "Afrikaans" +msgstr "afrikánsky" + +msgid "Arabic" +msgstr "arabský" + +msgid "Algerian Arabic" +msgstr "alžírsky arabsky" + +msgid "Asturian" +msgstr "astúrsky" + +msgid "Azerbaijani" +msgstr "azerbajdžansky" + +msgid "Bulgarian" +msgstr "bulharsky" + +msgid "Belarusian" +msgstr "bielorusky" + +msgid "Bengali" +msgstr "bengálsky" + +msgid "Breton" +msgstr "bretónsky" + +msgid "Bosnian" +msgstr "bosniansky" + +msgid "Catalan" +msgstr "katalánsky" + +msgid "Central Kurdish (Sorani)" +msgstr "stredná kurdčina (Sorani)" + +msgid "Czech" +msgstr "česky" + +msgid "Welsh" +msgstr "walesky" + +msgid "Danish" +msgstr "dánsky" + +msgid "German" +msgstr "nemecky" + +msgid "Lower Sorbian" +msgstr "dolnolužická srbčina" + +msgid "Greek" +msgstr "grécky" + +msgid "English" +msgstr "anglicky" + +msgid "Australian English" +msgstr "austrálskou angličtinou" + +msgid "British English" +msgstr "britskou angličtinou" + +msgid "Esperanto" +msgstr "esperantsky" + +msgid "Spanish" +msgstr "španielsky" + +msgid "Argentinian Spanish" +msgstr "argentínska španielčina" + +msgid "Colombian Spanish" +msgstr "kolumbijská španielčina" + +msgid "Mexican Spanish" +msgstr "mexická španielčina" + +msgid "Nicaraguan Spanish" +msgstr "nikaragujská španielčina" + +msgid "Venezuelan Spanish" +msgstr "venezuelská španielčina" + +msgid "Estonian" +msgstr "estónsky" + +msgid "Basque" +msgstr "baskicky" + +msgid "Persian" +msgstr "perzsky" + +msgid "Finnish" +msgstr "fínsky" + +msgid "French" +msgstr "francúzsky" + +msgid "Frisian" +msgstr "frízsky" + +msgid "Irish" +msgstr "írsky" + +msgid "Scottish Gaelic" +msgstr "škótska gaelčina" + +msgid "Galician" +msgstr "galícijsky" + +msgid "Hebrew" +msgstr "hebrejsky" + +msgid "Hindi" +msgstr "hindsky" + +msgid "Croatian" +msgstr "chorvátsky" + +msgid "Upper Sorbian" +msgstr "hornolužická srbčina" + +msgid "Hungarian" +msgstr "maďarsky" + +msgid "Armenian" +msgstr "arménsky" + +msgid "Interlingua" +msgstr "interlinguánsky" + +msgid "Indonesian" +msgstr "indonézsky" + +msgid "Igbo" +msgstr "igbožsky" + +msgid "Ido" +msgstr "ido" + +msgid "Icelandic" +msgstr "islandsky" + +msgid "Italian" +msgstr "taliansky" + +msgid "Japanese" +msgstr "japonsky" + +msgid "Georgian" +msgstr "gruzínsky" + +msgid "Kabyle" +msgstr "kabylsky" + +msgid "Kazakh" +msgstr "kazašsky" + +msgid "Khmer" +msgstr "kmérsky" + +msgid "Kannada" +msgstr "kannadsky" + +msgid "Korean" +msgstr "kórejsky" + +msgid "Kyrgyz" +msgstr "kirgizsky" + +msgid "Luxembourgish" +msgstr "luxembursky" + +msgid "Lithuanian" +msgstr "litovsky" + +msgid "Latvian" +msgstr "lotyšsky" + +msgid "Macedonian" +msgstr "macedónsky" + +msgid "Malayalam" +msgstr "malajalámsky" + +msgid "Mongolian" +msgstr "mongolsky" + +msgid "Marathi" +msgstr "maráthsky" + +msgid "Malay" +msgstr "malajčina" + +msgid "Burmese" +msgstr "barmsky" + +msgid "Norwegian Bokmål" +msgstr "nórsky (Bokmål)" + +msgid "Nepali" +msgstr "nepálsky" + +msgid "Dutch" +msgstr "holandsky" + +msgid "Norwegian Nynorsk" +msgstr "nórsky (Nynorsk)" + +msgid "Ossetic" +msgstr "osetsky" + +msgid "Punjabi" +msgstr "pandžábsky" + +msgid "Polish" +msgstr "poľsky" + +msgid "Portuguese" +msgstr "portugalsky" + +msgid "Brazilian Portuguese" +msgstr "portugalsky (Brazília)" + +msgid "Romanian" +msgstr "rumunsky" + +msgid "Russian" +msgstr "rusky" + +msgid "Slovak" +msgstr "slovensky" + +msgid "Slovenian" +msgstr "slovinsky" + +msgid "Albanian" +msgstr "albánsky" + +msgid "Serbian" +msgstr "srbsky" + +msgid "Serbian Latin" +msgstr "srbsky (Latin)" + +msgid "Swedish" +msgstr "švédsky" + +msgid "Swahili" +msgstr "svahilsky" + +msgid "Tamil" +msgstr "tamilsky" + +msgid "Telugu" +msgstr "telugsky" + +msgid "Tajik" +msgstr "tadžiksky" + +msgid "Thai" +msgstr "thajsky" + +msgid "Turkmen" +msgstr "turkménsky" + +msgid "Turkish" +msgstr "turecky" + +msgid "Tatar" +msgstr "tatársky" + +msgid "Udmurt" +msgstr "udmurtsky" + +msgid "Uyghur" +msgstr "ujgursky" + +msgid "Ukrainian" +msgstr "ukrajinsky" + +msgid "Urdu" +msgstr "urdsky" + +msgid "Uzbek" +msgstr "uzbecky" + +msgid "Vietnamese" +msgstr "vietnamsky" + +msgid "Simplified Chinese" +msgstr "čínsky (zjednodušene)" + +msgid "Traditional Chinese" +msgstr "čínsky (tradične)" + +msgid "Messages" +msgstr "Správy" + +msgid "Site Maps" +msgstr "Mapy Sídla" + +msgid "Static Files" +msgstr "Statické Súbory" + +msgid "Syndication" +msgstr "Syndikácia" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "Číslo stránky nie je celé číslo" + +msgid "That page number is less than 1" +msgstr "Číslo stránky je menšie ako 1" + +msgid "That page contains no results" +msgstr "Stránka neobsahuje žiadne výsledky" + +msgid "Enter a valid value." +msgstr "Zadajte platnú hodnotu." + +msgid "Enter a valid domain name." +msgstr "Zadajte platný názov domény." + +msgid "Enter a valid URL." +msgstr "Zadajte platnú URL adresu." + +msgid "Enter a valid integer." +msgstr "Zadajte platné celé číslo." + +msgid "Enter a valid email address." +msgstr "Zadajte platnú e-mailovú adresu." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Zadajte platnú skratku pozostávajúcu z písmen, čísel, podčiarkovníkov alebo " +"pomlčiek." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Zadajte platnú skratku pozostávajúcu z písmen Unicode, čísel, " +"podčiarkovníkov alebo pomlčiek." + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "Zadajte platnú %(protocol)s adresu." + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "IPv4 or IPv6" +msgstr "IPv4 alebo IPv6" + +msgid "Enter only digits separated by commas." +msgstr "Zadajte len číslice oddelené čiarkami." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Uistite sa, že táto hodnota je %(limit_value)s (je to %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Uistite sa, že táto hodnota je menšia alebo rovná %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Uistite sa, že hodnota je väčšia alebo rovná %(limit_value)s." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "Uistite sa, že táto hodnota je násobkom %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"Uistite sa, že táto hodnota je násobkom %(limit_value)s, začínajúc od " +"%(offset)s, t.j. %(offset)s, %(valid_value1)s, %(valid_value2)s, atď." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Uistite sa, že zadaná hodnota má najmenej %(limit_value)d znak (má " +"%(show_value)d)." +msgstr[1] "" +"Uistite sa, že zadaná hodnota má najmenej %(limit_value)d znaky (má " +"%(show_value)d)." +msgstr[2] "" +"Uistite sa, že zadaná hodnota má najmenej %(limit_value)d znakov (má " +"%(show_value)d)." +msgstr[3] "" +"Uistite sa, že zadaná hodnota má najmenej %(limit_value)d znakov (má " +"%(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Uistite sa, že táto hodnota má najviac %(limit_value)d znak (má " +"%(show_value)d)." +msgstr[1] "" +"Uistite sa, že táto hodnota má najviac %(limit_value)d znaky (má " +"%(show_value)d)." +msgstr[2] "" +"Uistite sa, že táto hodnota má najviac %(limit_value)d znakov (má " +"%(show_value)d)." +msgstr[3] "" +"Uistite sa, že táto hodnota má najviac %(limit_value)d znakov (má " +"%(show_value)d)." + +msgid "Enter a number." +msgstr "Zadajte číslo." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Uistite sa, že nie je zadaných celkovo viac ako %(max)s číslica." +msgstr[1] "Uistite sa, že nie je zadaných celkovo viac ako %(max)s číslice." +msgstr[2] "Uistite sa, že nie je zadaných celkovo viac ako %(max)s číslic." +msgstr[3] "Uistite sa, že nie je zadaných celkovo viac ako %(max)s číslic." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Uistite sa, že nie je zadané viac ako %(max)s desatinné miesto." +msgstr[1] "Uistite sa, že nie sú zadané viac ako %(max)s desatinné miesta." +msgstr[2] "Uistite sa, že nie je zadaných viac ako %(max)s desatinných miest." +msgstr[3] "Uistite sa, že nie je zadaných viac ako %(max)s desatinných miest." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Uistite sa, že nie je zadaných viac ako %(max)s číslica pred desatinnou " +"čiarkou." +msgstr[1] "" +"Uistite sa, že nie sú zadané viac ako %(max)s číslice pred desatinnou " +"čiarkou." +msgstr[2] "" +"Uistite sa, že nie je zadaných viac ako %(max)s číslic pred desatinnou " +"čiarkou." +msgstr[3] "" +"Uistite sa, že nie je zadaných viac ako %(max)s číslic pred desatinnou " +"čiarkou." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Prípona súboru „%(extension)s“ nie je povolená. Povolené prípony sú: " +"%(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Znaky NULL nie sú povolené." + +msgid "and" +msgstr "a" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s s týmto %(field_labels)s už existuje." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "Obmedzenie „%(name)s“ je porušené." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Hodnota %(value)r nie je platná možnosť." + +msgid "This field cannot be null." +msgstr "Toto pole nemôže byť prázdne." + +msgid "This field cannot be blank." +msgstr "Toto pole nemôže byť prázdne." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s s týmto %(field_label)s už existuje." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s musí byť jedinečné pre %(date_field_label)s %(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Pole typu: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "Hodnota „%(value)s“ musí byť True alebo False." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "Hodnota „%(value)s“ musí byť True, False alebo None." + +msgid "Boolean (Either True or False)" +msgstr "Logická hodnota (buď True alebo False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Reťazec (až do %(max_length)s)" + +msgid "String (unlimited)" +msgstr "Reťazec (neobmedzený)" + +msgid "Comma-separated integers" +msgstr "Celé čísla oddelené čiarkou" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"Hodnota „%(value)s“ má neplatný tvar dátumu. Musí byť v tvare YYYY-MM-DD." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"Hodnota „%(value)s“ je v správnom tvare (YYYY-MM-DD), ale je to neplatný " +"dátum." + +msgid "Date (without time)" +msgstr "Dátum (bez času)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"Hodnota „%(value)s“ má neplatný tvar. Musí byť v tvare YYYY-MM-DD HH:MM[:" +"ss[.uuuuuu]][TZ]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"Hodnota „%(value)s“ je v správnom tvare (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]), ale je to neplatný dátum/čas." + +msgid "Date (with time)" +msgstr "Dátum (a čas)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "Hodnota „%(value)s“ musí byť desatinné číslo." + +msgid "Decimal number" +msgstr "Desatinné číslo" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"Hodnota „%(value)s“ má neplatný tvar. Musí byť v tvare [DD] [[HH:]MM:]ss[." +"uuuuuu]." + +msgid "Duration" +msgstr "Doba trvania" + +msgid "Email address" +msgstr "E-mailová adresa" + +msgid "File path" +msgstr "Cesta k súboru" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "Hodnota „%(value)s“ musí byť desatinné číslo." + +msgid "Floating point number" +msgstr "Číslo s plávajúcou desatinnou čiarkou" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "Hodnota „%(value)s“ musí byť celé číslo." + +msgid "Integer" +msgstr "Celé číslo" + +msgid "Big (8 byte) integer" +msgstr "Veľké celé číslo (8 bajtov)" + +msgid "Small integer" +msgstr "Malé celé číslo" + +msgid "IPv4 address" +msgstr "IPv4 adresa" + +msgid "IP address" +msgstr "IP adresa" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "Hodnota „%(value)s“ musí byť buď None, True alebo False." + +msgid "Boolean (Either True, False or None)" +msgstr "Logická hodnota (buď True, False alebo None)" + +msgid "Positive big integer" +msgstr "Veľké kladné celé číslo" + +msgid "Positive integer" +msgstr "Kladné celé číslo" + +msgid "Positive small integer" +msgstr "Malé kladné celé číslo" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Identifikátor (najviac %(max_length)s)" + +msgid "Text" +msgstr "Text" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"Hodnota „%(value)s“ má neplatný tvar. Musí byť v tvare HH:MM[:ss[.uuuuuu]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"Hodnota „%(value)s“ je v správnom tvare (HH:MM[:ss[.uuuuuu]]), ale je to " +"neplatný čas." + +msgid "Time" +msgstr "Čas" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Binárne údaje" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "„%(value)s“ nie je platné UUID." + +msgid "Universally unique identifier" +msgstr "Všeobecne jedinečný identifikátor" + +msgid "File" +msgstr "Súbor" + +msgid "Image" +msgstr "Obrázok" + +msgid "A JSON object" +msgstr "Objekt typu JSON" + +msgid "Value must be valid JSON." +msgstr "Hodnota musí byť v platnom formáte JSON." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "Inštancia modelu %(model)s s %(field)s %(value)r neexistuje." + +msgid "Foreign Key (type determined by related field)" +msgstr "Cudzí kľúč (typ určuje pole v relácii)" + +msgid "One-to-one relationship" +msgstr "Typ relácie: jedna k jednej" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "vzťah: %(from)s-%(to)s" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "vzťahy: %(from)s-%(to)s" + +msgid "Many-to-many relationship" +msgstr "Typ relácie: M ku N" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Toto pole je povinné." + +msgid "Enter a whole number." +msgstr "Zadajte celé číslo." + +msgid "Enter a valid date." +msgstr "Zadajte platný dátum." + +msgid "Enter a valid time." +msgstr "Zadajte platný čas." + +msgid "Enter a valid date/time." +msgstr "Zadajte platný dátum/čas." + +msgid "Enter a valid duration." +msgstr "Zadajte platnú dobu trvania." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Počet dní musí byť medzi {min_days} a {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Súbor nebol odoslaný. Skontrolujte typ kódovania vo formulári." + +msgid "No file was submitted." +msgstr "Žiaden súbor nebol odoslaný." + +msgid "The submitted file is empty." +msgstr "Odoslaný súbor je prázdny." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Uistite sa, že názov súboru má najviac %(max)d znak (má %(length)d)." +msgstr[1] "" +"Uistite sa, že názov súboru má najviac %(max)d znaky (má %(length)d)." +msgstr[2] "" +"Uistite sa, že názov súboru má najviac %(max)d znakov (má %(length)d)." +msgstr[3] "" +"Uistite sa, že názov súboru má najviac %(max)d znakov (má %(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Odošlite prosím súbor alebo zaškrtnite políčko pre vymazanie vstupného poľa, " +"nie oboje." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Nahrajte platný obrázok. Súbor, ktorý ste odoslali nebol obrázok alebo bol " +"poškodený." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Vyberte platnú voľbu. %(value)s nepatrí medzi dostupné možnosti." + +msgid "Enter a list of values." +msgstr "Zadajte zoznam hodnôt." + +msgid "Enter a complete value." +msgstr "Zadajte úplnú hodnotu." + +msgid "Enter a valid UUID." +msgstr "Zadajte platné UUID." + +msgid "Enter a valid JSON." +msgstr "Zadajte platný JSON." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Skryté pole %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"Dáta ManagementForm chýbajú alebo boli zmanipulované. Chýbajúce polia: " +"%(field_names)s. Možno budete musieť túto chybu nahlásiť, ak sa bude naďalej " +"vyskytovať." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Prosím, odošlite najviac %(num)d formulár." +msgstr[1] "Prosím, odošlite najviac %(num)d formuláre." +msgstr[2] "Prosím, odošlite najviac %(num)d formulárov." +msgstr[3] "Prosím, odošlite najviac %(num)d formulárov." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Prosím, odošlite aspoň %(num)d formulár." +msgstr[1] "Prosím, odošlite aspoň %(num)d formuláre." +msgstr[2] "Prosím, odošlite aspoň %(num)d formulárov." +msgstr[3] "Prosím, odošlite aspoň %(num)d formulárov." + +msgid "Order" +msgstr "Poradie" + +msgid "Delete" +msgstr "Odstrániť" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Prosím, opravte duplicitné údaje pre %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "Údaje pre %(field)s musia byť jedinečné, prosím, opravte duplikáty." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Údaje pre %(field_name)s musia byť jedinečné pre %(lookup)s v " +"%(date_field)s, prosím, opravte duplikáty." + +msgid "Please correct the duplicate values below." +msgstr "Prosím, opravte nižšie uvedené duplicitné hodnoty. " + +msgid "The inline value did not match the parent instance." +msgstr "Vnorená hodnota sa nezhoduje s nadradenou inštanciou." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Vyberte platnú možnosť. Vybraná položka nepatrí medzi dostupné možnosti." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "„%(pk)s“ nie je platná hodnota." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"Hodnota %(datetime)s v časovej zóne %(current_timezone)s sa nedá " +"interpretovať; môže byť nejednoznačná alebo nemusí existovať." + +msgid "Clear" +msgstr "Vymazať" + +msgid "Currently" +msgstr "Súčasne" + +msgid "Change" +msgstr "Zmeniť" + +msgid "Unknown" +msgstr "Neznámy" + +msgid "Yes" +msgstr "Áno" + +msgid "No" +msgstr "Nie" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "áno,nie,možno" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d bajt" +msgstr[1] "%(size)d bajty" +msgstr[2] "%(size)d bajtov" +msgstr[3] "%(size)d bajtov" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "popoludní" + +msgid "a.m." +msgstr "predpoludním" + +msgid "PM" +msgstr "popoludní" + +msgid "AM" +msgstr "predpoludním" + +msgid "midnight" +msgstr "polnoc" + +msgid "noon" +msgstr "poludnie" + +msgid "Monday" +msgstr "pondelok" + +msgid "Tuesday" +msgstr "utorok" + +msgid "Wednesday" +msgstr "streda" + +msgid "Thursday" +msgstr "štvrtok" + +msgid "Friday" +msgstr "piatok" + +msgid "Saturday" +msgstr "sobota" + +msgid "Sunday" +msgstr "nedeľa" + +msgid "Mon" +msgstr "po" + +msgid "Tue" +msgstr "ut" + +msgid "Wed" +msgstr "st" + +msgid "Thu" +msgstr "št" + +msgid "Fri" +msgstr "pi" + +msgid "Sat" +msgstr "so" + +msgid "Sun" +msgstr "ne" + +msgid "January" +msgstr "január" + +msgid "February" +msgstr "február" + +msgid "March" +msgstr "marec" + +msgid "April" +msgstr "apríl" + +msgid "May" +msgstr "máj" + +msgid "June" +msgstr "jún" + +msgid "July" +msgstr "júl" + +msgid "August" +msgstr "august" + +msgid "September" +msgstr "september" + +msgid "October" +msgstr "október" + +msgid "November" +msgstr "november" + +msgid "December" +msgstr "december" + +msgid "jan" +msgstr "jan" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "apr" + +msgid "may" +msgstr "máj" + +msgid "jun" +msgstr "jún" + +msgid "jul" +msgstr "júl" + +msgid "aug" +msgstr "aug" + +msgid "sep" +msgstr "sep" + +msgid "oct" +msgstr "okt" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "dec" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "jan." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "mar." + +msgctxt "abbrev. month" +msgid "April" +msgstr "apr." + +msgctxt "abbrev. month" +msgid "May" +msgstr "máj" + +msgctxt "abbrev. month" +msgid "June" +msgstr "jún" + +msgctxt "abbrev. month" +msgid "July" +msgstr "júl" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "aug." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "sep." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "okt." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "dec." + +msgctxt "alt. month" +msgid "January" +msgstr "január" + +msgctxt "alt. month" +msgid "February" +msgstr "február" + +msgctxt "alt. month" +msgid "March" +msgstr "marec" + +msgctxt "alt. month" +msgid "April" +msgstr "apríl" + +msgctxt "alt. month" +msgid "May" +msgstr "máj" + +msgctxt "alt. month" +msgid "June" +msgstr "jún" + +msgctxt "alt. month" +msgid "July" +msgstr "júl" + +msgctxt "alt. month" +msgid "August" +msgstr "august" + +msgctxt "alt. month" +msgid "September" +msgstr "september" + +msgctxt "alt. month" +msgid "October" +msgstr "október" + +msgctxt "alt. month" +msgid "November" +msgstr "november" + +msgctxt "alt. month" +msgid "December" +msgstr "december" + +msgid "This is not a valid IPv6 address." +msgstr "Toto nieje platná IPv6 adresa." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "alebo" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d rok" +msgstr[1] "%(num)d roky" +msgstr[2] "%(num)d rokov" +msgstr[3] "%(num)d rokov" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d mesiac" +msgstr[1] "%(num)d mesiace" +msgstr[2] "%(num)d mesiacov" +msgstr[3] "%(num)d mesiacov" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d týždeň" +msgstr[1] "%(num)d týždne" +msgstr[2] "%(num)d týždňov" +msgstr[3] "%(num)d týždňov" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d deň" +msgstr[1] "%(num)d dni" +msgstr[2] "%(num)d dní" +msgstr[3] "%(num)d dní" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d hodina" +msgstr[1] "%(num)d hodiny" +msgstr[2] "%(num)d hodín" +msgstr[3] "%(num)d hodiny" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d minúta" +msgstr[1] "%(num)d minúty" +msgstr[2] "%(num)d minút" +msgstr[3] "%(num)d minúty" + +msgid "Forbidden" +msgstr "Zakázané (Forbidden)" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF verifikázia zlyhala. Požiadavka bola prerušená." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Túto správu vidíte, pretože táto stránka na protokole HTTPS vyžaduje, aby " +"váš prehliadač zaslal hlavičku „Referer„, k čomu nedošlo. Táto hlavička je " +"vyžadovaná z bezpečnostných dôvodov pre kontrolu toho, že sa prehliadača " +"nezmocnila tretia strana." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Ak ste vo vašom prehliadači vypli hlavičky „Referer“, tak ich prosím " +"zapnite, alebo aspoň pre túto stránku, alebo pre HTTPS pripojenia, alebo pre " +"požiadavky „same-origin“." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Ak používate tag , alebo " +"vkladáte hlavičku „Referrer-Policy: no-referrer“, prosím odstránte ich. " +"Ochrana CSRF vyžaduje hlavičku „Referer“ na striktnú kontrolu. Ak máte obavy " +"o súkromie, použite alternatívy ako pre linky na " +"iné stránky." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Túto správu vidíte, pretože táto lokalita vyžaduje CSRF cookie pri " +"odosielaní formulárov. Toto cookie je potrebné na zabezpečenie toho, že váš " +"prehliadač nie je zneužitý - „hijack“." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Ak ste vypli cookies vo vašom prehliadači, tak ich prosím zapnite, aspoň pre " +"túto stránku, alebo pre požiadavky „same-origin“." + +msgid "More information is available with DEBUG=True." +msgstr "Viac informácií bude dostupných s DEBUG=True." + +msgid "No year specified" +msgstr "Nešpecifikovaný rok" + +msgid "Date out of range" +msgstr "Dátum je mimo rozsahu" + +msgid "No month specified" +msgstr "Nešpecifikovaný mesiac" + +msgid "No day specified" +msgstr "Nešpecifikovaný deň" + +msgid "No week specified" +msgstr "Nešpecifikovaný týždeň" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "%(verbose_name_plural)s nie sú dostupné" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Budúce %(verbose_name_plural)s nie sú dostupné pretože %(class_name)s." +"allow_future má hodnotu False. " + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "Neplatný dátumový reťazec „%(datestr)s“ pre formát „%(format)s“" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "" +"Nebol nájdený žiadny %(verbose_name)s zodpovedajúci databázovému dopytu" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" +"Stránka nemá hodnotu „last“ a taktiež nie je možné prekonvertovať hodnotu na " +"celé číslo." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Nesprávna stránka (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Zoznam je prázdny a hodnota „%(class_name)s.allow_empty“ je False." + +msgid "Directory indexes are not allowed here." +msgstr "Výpis adresárov tu nieje povolený." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "„%(path)s“ neexistuje" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Výpis %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "Inštalácia prebehla úspešne! Gratulujeme!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Zobraziť poznámky k vydaniu pre Django " +"%(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Táto stránka sa zobrazuje pretože máte DEBUG=True v súbore s nastaveniami a nie sú " +"nakonfigurované žiadne URL." + +msgid "Django Documentation" +msgstr "Dokumentácia Django" + +msgid "Topics, references, & how-to’s" +msgstr "Témy, referencie a návody" + +msgid "Tutorial: A Polling App" +msgstr "Tutoriál: Aplikácia „Hlasovania“" + +msgid "Get started with Django" +msgstr "Začíname s Django" + +msgid "Django Community" +msgstr "Komunita Django" + +msgid "Connect, get help, or contribute" +msgstr "Spojte sa, získajte pomoc, alebo prispejte" diff --git a/external_sources/django/django/conf/locale/sk/__init__.py b/external_sources/django/django/conf/locale/sk/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/sk/formats.py b/external_sources/django/django/conf/locale/sk/formats.py new file mode 100644 index 0000000..31d4912 --- /dev/null +++ b/external_sources/django/django/conf/locale/sk/formats.py @@ -0,0 +1,30 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j. F Y" +TIME_FORMAT = "G:i" +DATETIME_FORMAT = "j. F Y G:i" +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j. F" +SHORT_DATE_FORMAT = "d.m.Y" +SHORT_DATETIME_FORMAT = "d.m.Y G:i" +FIRST_DAY_OF_WEEK = 1 # Monday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d.%m.%Y", # '25.10.2006' + "%d.%m.%y", # '25.10.06' + "%y-%m-%d", # '06-10-25' + # "%d. %B %Y", # '25. October 2006' + # "%d. %b. %Y", # '25. Oct. 2006' +] +DATETIME_INPUT_FORMATS = [ + "%d.%m.%Y %H:%M:%S", # '25.10.2006 14:30:59' + "%d.%m.%Y %H:%M:%S.%f", # '25.10.2006 14:30:59.000200' + "%d.%m.%Y %H:%M", # '25.10.2006 14:30' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "\xa0" # non-breaking space +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/sl/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/sl/LC_MESSAGES/django.po new file mode 100644 index 0000000..4b5f932 --- /dev/null +++ b/external_sources/django/django/conf/locale/sl/LC_MESSAGES/django.po @@ -0,0 +1,1351 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Andrej Marsetič, 2022-2023 +# iElectric , 2011-2012 +# Jannis Leidel , 2011 +# Jure Cuhalev , 2012-2013 +# Marko Zabreznik , 2016 +# Primoz Verdnik , 2017 +# zejn , 2013,2016-2017 +# zejn , 2011-2013 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 11:41-0300\n" +"PO-Revision-Date: 2023-12-04 06:49+0000\n" +"Last-Translator: Andrej Marsetič, 2022-2023\n" +"Language-Team: Slovenian (http://app.transifex.com/django/django/language/" +"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" + +msgid "Afrikaans" +msgstr "Afrikanščina" + +msgid "Arabic" +msgstr "Arabščina" + +msgid "Algerian Arabic" +msgstr "alžirska arabščina" + +msgid "Asturian" +msgstr "Asturijski jezik" + +msgid "Azerbaijani" +msgstr "Azerbajdžanščina" + +msgid "Bulgarian" +msgstr "Bolgarščina" + +msgid "Belarusian" +msgstr "Belorusko" + +msgid "Bengali" +msgstr "Bengalščina" + +msgid "Breton" +msgstr "Bretonščina" + +msgid "Bosnian" +msgstr "Bosanščina" + +msgid "Catalan" +msgstr "Katalonščina" + +msgid "Central Kurdish (Sorani)" +msgstr "" + +msgid "Czech" +msgstr "Češčina" + +msgid "Welsh" +msgstr "Valežanski jezik" + +msgid "Danish" +msgstr "Danščina" + +msgid "German" +msgstr "Nemščina" + +msgid "Lower Sorbian" +msgstr "Dolnjelužiška srbščina" + +msgid "Greek" +msgstr "Grščina" + +msgid "English" +msgstr "Angleščina" + +msgid "Australian English" +msgstr "Avstralska angleščina" + +msgid "British English" +msgstr "Britanska Angleščina" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Španščina" + +msgid "Argentinian Spanish" +msgstr "Argentinska španščina" + +msgid "Colombian Spanish" +msgstr "Kolumbijska španščina" + +msgid "Mexican Spanish" +msgstr "Mehiška španščina" + +msgid "Nicaraguan Spanish" +msgstr "Nikaragvijska španščina" + +msgid "Venezuelan Spanish" +msgstr "Španščina (Venezuela)" + +msgid "Estonian" +msgstr "Estonščina" + +msgid "Basque" +msgstr "Baskovščina" + +msgid "Persian" +msgstr "Perzijščina" + +msgid "Finnish" +msgstr "Finščina" + +msgid "French" +msgstr "Francoščina" + +msgid "Frisian" +msgstr "Frizijščina" + +msgid "Irish" +msgstr "Irščina" + +msgid "Scottish Gaelic" +msgstr "Škotska gelščina" + +msgid "Galician" +msgstr "Galičanski jezik" + +msgid "Hebrew" +msgstr "Hebrejski jezik" + +msgid "Hindi" +msgstr "Hindujščina" + +msgid "Croatian" +msgstr "Hrvaščina" + +msgid "Upper Sorbian" +msgstr "Gornjelužiška srbščina" + +msgid "Hungarian" +msgstr "Madžarščina" + +msgid "Armenian" +msgstr "armenščina" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indonezijski" + +msgid "Igbo" +msgstr "" + +msgid "Ido" +msgstr "Jezik Ido" + +msgid "Icelandic" +msgstr "Islandski jezik" + +msgid "Italian" +msgstr "Italijanščina" + +msgid "Japanese" +msgstr "Japonščina" + +msgid "Georgian" +msgstr "Gruzijščina" + +msgid "Kabyle" +msgstr "Kabilski jezik" + +msgid "Kazakh" +msgstr "Kazaščina" + +msgid "Khmer" +msgstr "Kmerščina" + +msgid "Kannada" +msgstr "Kanareščina" + +msgid "Korean" +msgstr "Korejščina" + +msgid "Kyrgyz" +msgstr "" + +msgid "Luxembourgish" +msgstr "Luksemburščina" + +msgid "Lithuanian" +msgstr "Litvanščina" + +msgid "Latvian" +msgstr "Latvijščina" + +msgid "Macedonian" +msgstr "Makedonščina" + +msgid "Malayalam" +msgstr "Malajalščina" + +msgid "Mongolian" +msgstr "Mongolščina" + +msgid "Marathi" +msgstr "Jezik Marathi" + +msgid "Malay" +msgstr "" + +msgid "Burmese" +msgstr "Burmanski jezik" + +msgid "Norwegian Bokmål" +msgstr "Norveški jezik" + +msgid "Nepali" +msgstr "Nepalščina" + +msgid "Dutch" +msgstr "Nizozemščina" + +msgid "Norwegian Nynorsk" +msgstr "Norveščina Nynorsk" + +msgid "Ossetic" +msgstr "Osetski jezik" + +msgid "Punjabi" +msgstr "Pandžabščina" + +msgid "Polish" +msgstr "Poljščina" + +msgid "Portuguese" +msgstr "Portugalščina" + +msgid "Brazilian Portuguese" +msgstr "Brazilska portugalščina" + +msgid "Romanian" +msgstr "Romunščina" + +msgid "Russian" +msgstr "Ruščina" + +msgid "Slovak" +msgstr "Slovaščina" + +msgid "Slovenian" +msgstr "Slovenščina" + +msgid "Albanian" +msgstr "Albanščina" + +msgid "Serbian" +msgstr "Srbščina" + +msgid "Serbian Latin" +msgstr "Srbščina v latinici" + +msgid "Swedish" +msgstr "Švedščina" + +msgid "Swahili" +msgstr "Svahili" + +msgid "Tamil" +msgstr "Tamilščina" + +msgid "Telugu" +msgstr "Teluščina" + +msgid "Tajik" +msgstr "" + +msgid "Thai" +msgstr "Tajski jezik" + +msgid "Turkmen" +msgstr "" + +msgid "Turkish" +msgstr "Turščina" + +msgid "Tatar" +msgstr "Tatarščina" + +msgid "Udmurt" +msgstr "Udmurski jezik" + +msgid "Uyghur" +msgstr "" + +msgid "Ukrainian" +msgstr "Ukrajinščina" + +msgid "Urdu" +msgstr "Jezik Urdu" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "Vietnamščina" + +msgid "Simplified Chinese" +msgstr "Poenostavljena kitajščina" + +msgid "Traditional Chinese" +msgstr "Tradicionalna kitajščina" + +msgid "Messages" +msgstr "Sporočila" + +msgid "Site Maps" +msgstr "Zemljevid spletnega mesta" + +msgid "Static Files" +msgstr "Statične datoteke" + +msgid "Syndication" +msgstr "Sindiciranje" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "Število te strani ni naravno število" + +msgid "That page number is less than 1" +msgstr "Število te strani je manj kot 1" + +msgid "That page contains no results" +msgstr "Ta stran nima zadetkov" + +msgid "Enter a valid value." +msgstr "Vnesite veljavno vrednost." + +msgid "Enter a valid URL." +msgstr "Vnesite veljaven URL naslov." + +msgid "Enter a valid integer." +msgstr "Vnesite veljavno celo število." + +msgid "Enter a valid email address." +msgstr "Vnesite veljaven e-poštni naslov." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "Vnesite veljaven IPv4 naslov." + +msgid "Enter a valid IPv6 address." +msgstr "Vnesite veljaven IPv6 naslov." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Vnesite veljaven IPv4 ali IPv6 naslov." + +msgid "Enter only digits separated by commas." +msgstr "Vnesite samo števila, ločena z vejicami." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Poskrbite, da bo ta vrednost %(limit_value)s. Trenutno je %(show_value)s." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Poskrbite, da bo ta vrednost manj kot ali natanko %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Poskrbite, da bo ta vrednost večja ali enaka %(limit_value)s." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "" + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Preverite, da ima ta vrednost vsaj %(limit_value)d znak (trenutno ima " +"%(show_value)d)." +msgstr[1] "" +"Preverite, da ima ta vrednost vsaj %(limit_value)d znaka (trenutno ima " +"%(show_value)d)." +msgstr[2] "" +"Preverite, da ima ta vrednost vsaj %(limit_value)d znake (trenutno ima " +"%(show_value)d)." +msgstr[3] "" +"Preverite, da ima ta vrednost vsaj %(limit_value)d znakov (trenutno ima " +"%(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Preverite, da ima ta vrednost največ %(limit_value)d znak (trenutno ima " +"%(show_value)d)." +msgstr[1] "" +"Preverite, da ima ta vrednost največ %(limit_value)d znaka (trenutno ima " +"%(show_value)d)." +msgstr[2] "" +"Preverite, da ima ta vrednost največ %(limit_value)d znake (trenutno ima " +"%(show_value)d)." +msgstr[3] "" +"Preverite, da ima ta vrednost največ %(limit_value)d znakov (trenutno ima " +"%(show_value)d)." + +msgid "Enter a number." +msgstr "Vnesite število." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Poskrbite, da skupno ne bo več kot %(max)s števka." +msgstr[1] "Poskrbite, da skupno ne bosta več kot %(max)s števki." +msgstr[2] "Poskrbite, da skupno ne bojo več kot %(max)s števke." +msgstr[3] "Poskrbite, da skupno ne bo več kot %(max)s števk." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Poskrbite, da skupno ne bo več kot %(max)s decimalnih mesto." +msgstr[1] "Poskrbite, da skupno ne bosta več kot %(max)s decimalnih mesti." +msgstr[2] "Poskrbite, da skupno ne bo več kot %(max)s decimalnih mest." +msgstr[3] "Poskrbite, da skupno ne bo več kot %(max)s decimalnih mest." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Poskrbite, da skupno ne bo več kot %(max)s števka pred decimalno vejico." +msgstr[1] "" +"Poskrbite, da skupno ne bosta več kot %(max)s števki pred decimalno vejico." +msgstr[2] "" +"Poskrbite, da skupno ne bo več kot %(max)s števk pred decimalno vejico." +msgstr[3] "" +"Poskrbite, da skupno ne bo več kot %(max)s števk pred decimalno vejico." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "Znak null ni dovoljen." + +msgid "and" +msgstr "in" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s s tem %(field_labels)s že obstaja." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Vrednost %(value)r ni veljavna izbira." + +msgid "This field cannot be null." +msgstr "To polje ne more biti prazno." + +msgid "This field cannot be blank." +msgstr "To polje ne more biti prazno." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s s tem %(field_label)s že obstaja." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s mora biti enolična za %(date_field_label)s %(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Polje tipa: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "“%(value)s” vrednost mora biti Da ali Ne." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "Boolova vrednost (True ali False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Niz znakov (vse do %(max_length)s)" + +msgid "String (unlimited)" +msgstr "" + +msgid "Comma-separated integers" +msgstr "Z vejico ločena cela števila (integer)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"“%(value)s” vrednost ima neveljavno obliko datuma. Biti mora v obliki LLLL-" +"MM-DD." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"“%(value)s” vrednost ima pravilno obliko (LLLL-MM-DD), vendar je neveljaven " +"datum." + +msgid "Date (without time)" +msgstr "Datum (brez ure)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "Datum (z uro)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "Decimalno število" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "Trajanje" + +msgid "Email address" +msgstr "E-poštni naslov" + +msgid "File path" +msgstr "Pot do datoteke" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "“%(value)s” vrednost mora biti decimalno število." + +msgid "Floating point number" +msgstr "Število s plavajočo vejico" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "“%(value)s” vrednost mora biti celo število." + +msgid "Integer" +msgstr "Celo število (integer)" + +msgid "Big (8 byte) integer" +msgstr "Velika (8 bajtna) cela števila " + +msgid "Small integer" +msgstr "Celo število" + +msgid "IPv4 address" +msgstr "IPv4 naslov" + +msgid "IP address" +msgstr "IP naslov" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "“%(value)s” vrednost mora biti Nič, Da ali Ne." + +msgid "Boolean (Either True, False or None)" +msgstr "Boolova vrednost (True, False ali None)" + +msgid "Positive big integer" +msgstr "Pozitivno veliko celo število" + +msgid "Positive integer" +msgstr "Pozitivno celo število" + +msgid "Positive small integer" +msgstr "Pozitivno celo število (do 64 tisoč)" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Okrajšava naslova (do največ %(max_length)s znakov)" + +msgid "Text" +msgstr "Besedilo" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "Čas" + +msgid "URL" +msgstr "URL (spletni naslov)" + +msgid "Raw binary data" +msgstr "Surovi binarni podatki" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "Datoteka" + +msgid "Image" +msgstr "Slika" + +msgid "A JSON object" +msgstr "JSON objekt" + +msgid "Value must be valid JSON." +msgstr "Vrednost mora biti veljaven JSON." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" +"Instanca %(model)s s poljem %(field)s, ki ustreza %(value)r, ne obstaja." + +msgid "Foreign Key (type determined by related field)" +msgstr "Tuji ključ (tip odvisen od povezanega polja)" + +msgid "One-to-one relationship" +msgstr "Relacija ena-na-ena" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "Relacija %(from)s-%(to)s" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "Relacija %(from)s-%(to)s" + +msgid "Many-to-many relationship" +msgstr "Relacija več-na-več" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "To polje je obvezno." + +msgid "Enter a whole number." +msgstr "Vnesite celo število." + +msgid "Enter a valid date." +msgstr "Vnesite veljaven datum." + +msgid "Enter a valid time." +msgstr "Vnesite veljaven čas." + +msgid "Enter a valid date/time." +msgstr "Vnesite veljaven datum/čas." + +msgid "Enter a valid duration." +msgstr "Vnesite veljavno obdobje trajanja." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Datoteka ni bila poslana. Preverite nabor znakov v formi." + +msgid "No file was submitted." +msgstr "Poslali niste nobene datoteke." + +msgid "The submitted file is empty." +msgstr "Poslana datoteka je prazna." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Poskrbite, da bo imelo to ime datoteke največ %(max)d znak (trenutno ima " +"%(length)d)." +msgstr[1] "" +"Poskrbite, da bo imelo to ime datoteke največ %(max)d znaka (trenutno ima " +"%(length)d)." +msgstr[2] "" +"Poskrbite, da bo imelo to ime datoteke največ %(max)d znake (trenutno ima " +"%(length)d)." +msgstr[3] "" +"Poskrbite, da bo imelo to ime datoteke največ %(max)d znakov (trenutno ima " +"%(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Prosim oddaj datoteko ali izberi počisti okvir, ampak ne oboje hkrati." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Naložite veljavno sliko. Naložena datoteka ni bila slika ali pa je bila le-" +"ta okvarjena." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Izberite veljavno možnost. %(value)s ni med ponujenimi izbirami." + +msgid "Enter a list of values." +msgstr "Vnesite seznam vrednosti." + +msgid "Enter a complete value." +msgstr "Vnesite popolno vrednost." + +msgid "Enter a valid UUID." +msgstr "Vnesite veljaven UUID." + +msgid "Enter a valid JSON." +msgstr "Vnesite veljaven JSON." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Skrito polje %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +msgid "Order" +msgstr "Razvrsti" + +msgid "Delete" +msgstr "Izbriši" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Prosimo, odpravite podvojene vrednosti za %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Prosimo popravite podvojene vrednosti za %(field)s, ki morajo biti unikatne." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Prosimo popravite podvojene vrednosti za polje %(field_name)s, ki mora biti " +"edinstveno za %(lookup)s po %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Prosimo odpravite podvojene vrednosti spodaj." + +msgid "The inline value did not match the parent instance." +msgstr "Vrednost se ne ujema s povezanim vnosom." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Izberite veljavno možnost. Te možnosti ni med ponujenimi izbirami." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "Počisti" + +msgid "Currently" +msgstr "Trenutno" + +msgid "Change" +msgstr "Spremeni" + +msgid "Unknown" +msgstr "Neznano" + +msgid "Yes" +msgstr "Da" + +msgid "No" +msgstr "Ne" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "da,ne,morda" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d bajt" +msgstr[1] "%(size)d bajta" +msgstr[2] "%(size)d bajti" +msgstr[3] "%(size)d bajtov" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "polnoč" + +msgid "noon" +msgstr "poldne" + +msgid "Monday" +msgstr "ponedeljek" + +msgid "Tuesday" +msgstr "torek" + +msgid "Wednesday" +msgstr "sreda" + +msgid "Thursday" +msgstr "četrtek" + +msgid "Friday" +msgstr "petek" + +msgid "Saturday" +msgstr "sobota" + +msgid "Sunday" +msgstr "nedelja" + +msgid "Mon" +msgstr "pon" + +msgid "Tue" +msgstr "tor" + +msgid "Wed" +msgstr "sre" + +msgid "Thu" +msgstr "čet" + +msgid "Fri" +msgstr "pet" + +msgid "Sat" +msgstr "sob" + +msgid "Sun" +msgstr "ned" + +msgid "January" +msgstr "januar" + +msgid "February" +msgstr "februar" + +msgid "March" +msgstr "marec" + +msgid "April" +msgstr "april" + +msgid "May" +msgstr "maj" + +msgid "June" +msgstr "junij" + +msgid "July" +msgstr "julij" + +msgid "August" +msgstr "avgust" + +msgid "September" +msgstr "september" + +msgid "October" +msgstr "oktober" + +msgid "November" +msgstr "november" + +msgid "December" +msgstr "december" + +msgid "jan" +msgstr "jan" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "apr" + +msgid "may" +msgstr "maj" + +msgid "jun" +msgstr "jun" + +msgid "jul" +msgstr "jul" + +msgid "aug" +msgstr "avg" + +msgid "sep" +msgstr "sep" + +msgid "oct" +msgstr "okt" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "dec" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Jan" + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Marec" + +msgctxt "abbrev. month" +msgid "April" +msgstr "April" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Maj" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Junij" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Julij" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Avg." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Sept." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Okt." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Dec." + +msgctxt "alt. month" +msgid "January" +msgstr "Januar" + +msgctxt "alt. month" +msgid "February" +msgstr "Februar" + +msgctxt "alt. month" +msgid "March" +msgstr "Marec" + +msgctxt "alt. month" +msgid "April" +msgstr "April" + +msgctxt "alt. month" +msgid "May" +msgstr "Maj" + +msgctxt "alt. month" +msgid "June" +msgstr "Junij" + +msgctxt "alt. month" +msgid "July" +msgstr "Julij" + +msgctxt "alt. month" +msgid "August" +msgstr "Avgust" + +msgctxt "alt. month" +msgid "September" +msgstr "September" + +msgctxt "alt. month" +msgid "October" +msgstr "Oktober" + +msgctxt "alt. month" +msgid "November" +msgstr "November" + +msgctxt "alt. month" +msgid "December" +msgstr "December" + +msgid "This is not a valid IPv6 address." +msgstr "To ni veljaven IPv6 naslov." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "ali" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d leto" +msgstr[1] "%(num)d leti" +msgstr[2] "%(num)d let" +msgstr[3] "%(num)d let" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d mesec" +msgstr[1] "%(num)d meseca " +msgstr[2] "%(num)d mesecev" +msgstr[3] "%(num)d mesecev" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d teden" +msgstr[1] "%(num)d tedna" +msgstr[2] "%(num)d tednov" +msgstr[3] "%(num)d tednov" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d dan" +msgstr[1] "%(num)d dneva" +msgstr[2] "%(num)d dni" +msgstr[3] "%(num)d dni" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d uro" +msgstr[1] "%(num)d uri" +msgstr[2] "%(num)d ure" +msgstr[3] "%(num)d ur" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d minuto" +msgstr[1] "%(num)d minuti" +msgstr[2] "%(num)d minute" +msgstr[3] "%(num)d minut" + +msgid "Forbidden" +msgstr "Prepovedano" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF preverjanje ni uspelo. Zahtevek preklican." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"To obvestilo vidite, ker ta spletna stran zahteva CSRF piškotek, ko " +"pošiljate obrazce. Piškotek je potreben zaradi varnosti, da se zagotovi, da " +"ste zahtevek res naredili vi." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Če ste brskalnik konfigurirali tako, da onemogoča piškotke, jih znova " +"omogočite za to spletno mesto ali za zahteve »istega izvora«." + +msgid "More information is available with DEBUG=True." +msgstr "Več informacij je na voljo, če nastavite DEBUG=True." + +msgid "No year specified" +msgstr "Leto ni vnešeno" + +msgid "Date out of range" +msgstr "Datum ni znotraj veljavnega obsega." + +msgid "No month specified" +msgstr "Mesec ni vnešen" + +msgid "No day specified" +msgstr "Dan ni vnešen" + +msgid "No week specified" +msgstr "Teden ni vnešen" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Na voljo ni noben %(verbose_name_plural)s" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Prihodnje %(verbose_name_plural)s niso na voljo, ker je vrednost " +"%(class_name)s.allow_future False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Noben %(verbose_name)s ne ustreza poizvedbi" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "Stran ni »zadnja«, niti je ni mogoče pretvoriti v število." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Neveljavna stran (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "Prikaz vsebine mape ni dovoljen." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "“%(path)s” ne obstaja" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Vsebina mape %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "Namestitev se je uspešno izvedla! Čestitke!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Oglejte si obvestila ob izdaji za Django " +"%(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"To stran vidite, ker imate nastavljeno DEBUG=True v vaši settings.py datoteki in ker nimate " +"nastavljenih URL-jev." + +msgid "Django Documentation" +msgstr "Django Dokumentacija" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "Vodič: aplikacija anketa" + +msgid "Get started with Django" +msgstr "Začnite z Djangom" + +msgid "Django Community" +msgstr "Django Skupnost" + +msgid "Connect, get help, or contribute" +msgstr "Spoznajte nove ljudi, poiščite pomoč in prispevajte " diff --git a/external_sources/django/django/conf/locale/sl/__init__.py b/external_sources/django/django/conf/locale/sl/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/sl/formats.py b/external_sources/django/django/conf/locale/sl/formats.py new file mode 100644 index 0000000..c3e96bb --- /dev/null +++ b/external_sources/django/django/conf/locale/sl/formats.py @@ -0,0 +1,44 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "d. F Y" +TIME_FORMAT = "H:i" +DATETIME_FORMAT = "j. F Y. H:i" +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j. F" +SHORT_DATE_FORMAT = "j. M. Y" +SHORT_DATETIME_FORMAT = "j.n.Y. H:i" +FIRST_DAY_OF_WEEK = 0 + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d.%m.%Y", # '25.10.2006' + "%d.%m.%y", # '25.10.06' + "%d-%m-%Y", # '25-10-2006' + "%d. %m. %Y", # '25. 10. 2006' + "%d. %m. %y", # '25. 10. 06' +] + +DATETIME_INPUT_FORMATS = [ + "%d.%m.%Y %H:%M:%S", # '25.10.2006 14:30:59' + "%d.%m.%Y %H:%M:%S.%f", # '25.10.2006 14:30:59.000200' + "%d.%m.%Y %H:%M", # '25.10.2006 14:30' + "%d.%m.%y %H:%M:%S", # '25.10.06 14:30:59' + "%d.%m.%y %H:%M:%S.%f", # '25.10.06 14:30:59.000200' + "%d.%m.%y %H:%M", # '25.10.06 14:30' + "%d-%m-%Y %H:%M:%S", # '25-10-2006 14:30:59' + "%d-%m-%Y %H:%M:%S.%f", # '25-10-2006 14:30:59.000200' + "%d-%m-%Y %H:%M", # '25-10-2006 14:30' + "%d. %m. %Y %H:%M:%S", # '25. 10. 2006 14:30:59' + "%d. %m. %Y %H:%M:%S.%f", # '25. 10. 2006 14:30:59.000200' + "%d. %m. %Y %H:%M", # '25. 10. 2006 14:30' + "%d. %m. %y %H:%M:%S", # '25. 10. 06 14:30:59' + "%d. %m. %y %H:%M:%S.%f", # '25. 10. 06 14:30:59.000200' + "%d. %m. %y %H:%M", # '25. 10. 06 14:30' +] + +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "." +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/sq/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/sq/LC_MESSAGES/django.po new file mode 100644 index 0000000..37142f5 --- /dev/null +++ b/external_sources/django/django/conf/locale/sq/LC_MESSAGES/django.po @@ -0,0 +1,1353 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Besnik Bleta , 2011-2014 +# Besnik Bleta , 2020-2024 +# Besnik Bleta , 2015-2019 +# Jannis Leidel , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 06:49+0000\n" +"Last-Translator: Besnik Bleta , 2020-2024\n" +"Language-Team: Albanian (http://app.transifex.com/django/django/language/" +"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" + +msgid "Afrikaans" +msgstr "Afrikaans" + +msgid "Arabic" +msgstr "Arabe" + +msgid "Algerian Arabic" +msgstr "Arabishte Algjeriane" + +msgid "Asturian" +msgstr "Asturiase" + +msgid "Azerbaijani" +msgstr "Azerbaixhanase" + +msgid "Bulgarian" +msgstr "Bulgare" + +msgid "Belarusian" +msgstr "Bjelloruse" + +msgid "Bengali" +msgstr "Bengaleze" + +msgid "Breton" +msgstr "Bretone" + +msgid "Bosnian" +msgstr "Boshnjake" + +msgid "Catalan" +msgstr "Katalane" + +msgid "Central Kurdish (Sorani)" +msgstr "Kurdishte e Qendrës (Sorani)" + +msgid "Czech" +msgstr "Çeke" + +msgid "Welsh" +msgstr "Uellsiane" + +msgid "Danish" +msgstr "Daneze" + +msgid "German" +msgstr "Gjermane" + +msgid "Lower Sorbian" +msgstr "Sorbiane e Poshtme" + +msgid "Greek" +msgstr "Greke" + +msgid "English" +msgstr "Angleze" + +msgid "Australian English" +msgstr "Angleze Australiane" + +msgid "British English" +msgstr "Angleze Britanike" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Spanjolle" + +msgid "Argentinian Spanish" +msgstr "Spanjolle Argjentinase" + +msgid "Colombian Spanish" +msgstr "Spanjolle Kolumbiane" + +msgid "Mexican Spanish" +msgstr "Spanjolle Meksikane" + +msgid "Nicaraguan Spanish" +msgstr "Spanjolle Nikaraguane" + +msgid "Venezuelan Spanish" +msgstr "Spanjolle Venezuelane" + +msgid "Estonian" +msgstr "Estoneze" + +msgid "Basque" +msgstr "Baske" + +msgid "Persian" +msgstr "Persiane" + +msgid "Finnish" +msgstr "Finlandeze" + +msgid "French" +msgstr "Frënge" + +msgid "Frisian" +msgstr "Frisiane" + +msgid "Irish" +msgstr "Irlandeze" + +msgid "Scottish Gaelic" +msgstr "Skoceze Gaelike" + +msgid "Galician" +msgstr "Galike" + +msgid "Hebrew" +msgstr "Hebraishte" + +msgid "Hindi" +msgstr "Indiane" + +msgid "Croatian" +msgstr "Kroate" + +msgid "Upper Sorbian" +msgstr "Sorbiane e Sipërme" + +msgid "Hungarian" +msgstr "Hungareze" + +msgid "Armenian" +msgstr "Armenisht" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indoneziane" + +msgid "Igbo" +msgstr "Igbo" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Islandeze" + +msgid "Italian" +msgstr "Italiane" + +msgid "Japanese" +msgstr "Japoneze" + +msgid "Georgian" +msgstr "Gjeorgjiane" + +msgid "Kabyle" +msgstr "Kabilase" + +msgid "Kazakh" +msgstr "Kazake" + +msgid "Khmer" +msgstr "Khmere" + +msgid "Kannada" +msgstr "Kannada" + +msgid "Korean" +msgstr "Koreane" + +msgid "Kyrgyz" +msgstr "Kirgize" + +msgid "Luxembourgish" +msgstr "Luksemburgase" + +msgid "Lithuanian" +msgstr "Lituaneze" + +msgid "Latvian" +msgstr "Letoneze" + +msgid "Macedonian" +msgstr "Maqedone" + +msgid "Malayalam" +msgstr "Malajalame" + +msgid "Mongolian" +msgstr "Mongoliane" + +msgid "Marathi" +msgstr "Marati" + +msgid "Malay" +msgstr "" + +msgid "Burmese" +msgstr "Burmeze" + +msgid "Norwegian Bokmål" +msgstr "Norvegjeze Bokmal" + +msgid "Nepali" +msgstr "Nepaleze" + +msgid "Dutch" +msgstr "Holandeze" + +msgid "Norwegian Nynorsk" +msgstr "Norvegjeze Nynorsk" + +msgid "Ossetic" +msgstr "Osetishte" + +msgid "Punjabi" +msgstr "Panxhabe" + +msgid "Polish" +msgstr "Polake" + +msgid "Portuguese" +msgstr "Portugeze" + +msgid "Brazilian Portuguese" +msgstr "Portugeze Braziliane" + +msgid "Romanian" +msgstr "Rumune" + +msgid "Russian" +msgstr "Ruse" + +msgid "Slovak" +msgstr "Sllovake " + +msgid "Slovenian" +msgstr "Slovene" + +msgid "Albanian" +msgstr "Shqipe" + +msgid "Serbian" +msgstr "Serbe" + +msgid "Serbian Latin" +msgstr "Serbe Latine" + +msgid "Swedish" +msgstr "Suedeze" + +msgid "Swahili" +msgstr "Swahili" + +msgid "Tamil" +msgstr "Tamileze" + +msgid "Telugu" +msgstr "Telugu" + +msgid "Tajik" +msgstr "Taxhike" + +msgid "Thai" +msgstr "Tajlandeze" + +msgid "Turkmen" +msgstr "Turkmene" + +msgid "Turkish" +msgstr "Turke" + +msgid "Tatar" +msgstr "Tatare" + +msgid "Udmurt" +msgstr "Udmurt" + +msgid "Uyghur" +msgstr "Ujgure" + +msgid "Ukrainian" +msgstr "Ukrainase" + +msgid "Urdu" +msgstr "Urdu" + +msgid "Uzbek" +msgstr "Uzbeke" + +msgid "Vietnamese" +msgstr "Vietnameze" + +msgid "Simplified Chinese" +msgstr "Kineze e Thjeshtuar" + +msgid "Traditional Chinese" +msgstr "Kineze Tradicionale" + +msgid "Messages" +msgstr "Mesazhe" + +msgid "Site Maps" +msgstr "Harta Sajti" + +msgid "Static Files" +msgstr "Kartela Statike" + +msgid "Syndication" +msgstr "" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "Ai numër faqeje s’është numër i plotë" + +msgid "That page number is less than 1" +msgstr "Ai numër faqeje është më i vogël se 1" + +msgid "That page contains no results" +msgstr "Ajo faqe s’përmban përfundime" + +msgid "Enter a valid value." +msgstr "Jepni një vlerë të vlefshme." + +msgid "Enter a valid domain name." +msgstr "Jepni një emër të vlefshëm përkatësie." + +msgid "Enter a valid URL." +msgstr "Jepni një URL të vlefshme." + +msgid "Enter a valid integer." +msgstr "Jepni një numër të plotë të vlefshëm." + +msgid "Enter a valid email address." +msgstr "Jepni një adresë email të vlefshme." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Jepni një “slug” të vlefshëm, të përbërë nga shkronja, numra, nëvija ose " +"vija në mes." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Jepni një “slug” të vlefshëm, të përbërë nga shkronja, numra, nënvija ose " +"vija ndarëse Unikod." + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "Jepni një adresë %(protocol)s të vlefshme." + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "IPv4 or IPv6" +msgstr "IPv4, ose IPv6" + +msgid "Enter only digits separated by commas." +msgstr "Jepni vetëm shifra të ndara nga presje." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Siguroni që kjo vlerë të jetë %(limit_value)s (është %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Siguroni që kjo vlerë të jetë më e vogël ose baras me %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Siguroni që kjo vlerë është më e madhe ose baras me %(limit_value)s." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "" +"Garantoni që vlera të jetë një shumëfish i madhësisë së hapit " +"%(limit_value)s." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"Garantoni që kjo vlerë të jetë një shumëfish i madhësisë %(limit_value)s, " +"duke filluar nga %(offset)s, p.sh., %(offset)s, %(valid_value1)s, " +"%(valid_value2)s, e me radhë." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Sigurohuni që kjo vlerë ka të paktën %(limit_value)d shenjë (ka " +"%(show_value)d)." +msgstr[1] "" +"Sigurohuni që kjo vlerë ka të paktën %(limit_value)d shenja (ka " +"%(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Sigurohuni që kjo vlerë ka të shumtën %(limit_value)d shenjë (ka " +"%(show_value)d)." +msgstr[1] "" +"Sigurohuni që kjo vlerë ka të shumtën %(limit_value)d shenja (ka " +"%(show_value)d)." + +msgid "Enter a number." +msgstr "Jepni një numër." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Sigurohuni që s’ka më tepër se %(max)s shifër gjithsej." +msgstr[1] "Sigurohuni që s’ka më tepër se %(max)s shifra gjithsej." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Sigurohuni që s’ka më shumë se %(max)s vend dhjetor." +msgstr[1] "Sigurohuni që s’ka më shumë se %(max)s vende dhjetore." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Sigurohuni që s’ka më tepër se %(max)s shifër para presjes dhjetore." +msgstr[1] "" +"Sigurohuni që s’ka më tepër se %(max)s shifra para presjes dhjetore." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Zgjatimi “%(extension)s” për kartela nuk lejohet. Zgjatime të lejuara janë: " +"%(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Nuk lejohen shenja null." + +msgid "and" +msgstr "dhe " + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "Ka tashmë %(model_name)s me këtë %(field_labels)s." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "Është cenuar kufizimi “%(name)s”." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Vlera %(value)r s’është zgjedhje e vlefshme." + +msgid "This field cannot be null." +msgstr "Kjo fushë s’mund të përmbajë shenja null." + +msgid "This field cannot be blank." +msgstr "Kjo fushë s’mund të jetë e paplotësuar." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "Ka tashmë një %(model_name)s me këtë %(field_label)s." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s duhet të jetë unike për %(date_field_label)s %(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Fushë e llojit: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "Vlera “%(value)s” duhet të jetë ose True, ose False." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "Vlera për “%(value)s” duhet të jetë ose True, ose False, ose None." + +msgid "Boolean (Either True or False)" +msgstr "Buleane (Ose True, ose False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Varg (deri në %(max_length)s)" + +msgid "String (unlimited)" +msgstr "Varg (i pakufizuar)" + +msgid "Comma-separated integers" +msgstr "Numra të plotë të ndarë me presje" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"Vlera “%(value)s” ka një format të pavlefshëm datash. Duhet të jetë në " +"formatin YYYY-MM-DD." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"Vlera “%(value)s” ka formatin e saktë (YYYY-MM-DD), por është datë e " +"pavlefshme." + +msgid "Date (without time)" +msgstr "Datë (pa kohë)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"Vlera “'%(value)s” ka një format të pavlefshëm. Duhet të jetë në formatin " +"YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"Vlera “%(value)s” ka format të saktë (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]), " +"por është datë/kohë e pavlefshme." + +msgid "Date (with time)" +msgstr "Datë (me kohë)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "Vlera “%(value)s” duhet të jetë një numër dhjetor." + +msgid "Decimal number" +msgstr "Numër dhjetor" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"Vlera “%(value)s” ka format të pavlefshëm. Duhet të jetë në formatin [DD] " +"[HH:[MM:]]ss[.uuuuuu]." + +msgid "Duration" +msgstr "Kohëzgjatje" + +msgid "Email address" +msgstr "Adresë email" + +msgid "File path" +msgstr "Shteg kartele" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "Vlera “%(value)s” duhet të jetë numër i plotë." + +msgid "Integer" +msgstr "Numër i plotë" + +msgid "Big (8 byte) integer" +msgstr "Numër i plotë i madh (8 bajte)" + +msgid "Small integer" +msgstr "Numër i plotë i vogël" + +msgid "IPv4 address" +msgstr "Adresë IPv4" + +msgid "IP address" +msgstr "Adresë IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "Vlera “%(value)s” duhet të jetë ose None, ose True, ose False." + +msgid "Boolean (Either True, False or None)" +msgstr "Buleane (Ose True, ose False, ose None)" + +msgid "Positive big integer" +msgstr "Numër i plotë pozitiv i madh" + +msgid "Positive integer" +msgstr "Numër i plotë pozitiv" + +msgid "Positive small integer" +msgstr "Numër i plotë pozitiv i vogël" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Identifikues (deri në %(max_length)s)" + +msgid "Text" +msgstr "Tekst" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"Vlera “%(value)s” ka format të pavlefshëm. Duhet të jetë në formatin HH:MM[:" +"ss[.uuuuuu]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"Vlera “%(value)s” ka formatin e saktë (HH:MM[:ss[.uuuuuu]]) por është kohë e " +"pavlefshme." + +msgid "Time" +msgstr "Kohë" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Të dhëna dyore të papërpunuara" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "“%(value)s” s’është UUID i vlefshëm." + +msgid "Universally unique identifier" +msgstr "Identifikues universalisht unik" + +msgid "File" +msgstr "Kartelë" + +msgid "Image" +msgstr "Figurë" + +msgid "A JSON object" +msgstr "Objekt JSON" + +msgid "Value must be valid JSON." +msgstr "Vlera duhet të jetë JSON i vlefshëm." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "Instanca %(model)s me %(field)s %(value)r s’ekziston." + +msgid "Foreign Key (type determined by related field)" +msgstr "Kyç i Jashtëm (lloj i përcaktuar nga fusha përkatëse)" + +msgid "One-to-one relationship" +msgstr "Marrëdhënie një-për-një" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "Marrëdhënie %(from)s-%(to)s" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "Marrëdhënie %(from)s-%(to)s" + +msgid "Many-to-many relationship" +msgstr "Marrëdhënie shumë-për-shumë" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Kjo fushë është e domosdoshme." + +msgid "Enter a whole number." +msgstr "Jepni një numër të tërë." + +msgid "Enter a valid date." +msgstr "Jepni një datë të vlefshme." + +msgid "Enter a valid time." +msgstr "Jepni një kohë të vlefshme." + +msgid "Enter a valid date/time." +msgstr "Jepni një datë/kohë të vlefshme." + +msgid "Enter a valid duration." +msgstr "Jepni një kohëzgjatje të vlefshme." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Numri i ditëve duhet të jetë mes {min_days} dhe {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"S’u parashtrua ndonjë kartelë. Kontrolloni llojin e kodimit te formulari." + +msgid "No file was submitted." +msgstr "S’u parashtrua kartelë." + +msgid "The submitted file is empty." +msgstr "Kartela e parashtruar është e zbrazët." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Sigurohuni që ky emër kartele ka të shumtën %(max)d shenjë (it has " +"%(length)d)." +msgstr[1] "" +"Sigurohuni që ky emër kartele ka të shumtën %(max)d shenja (it has " +"%(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Ju lutemi, ose parashtroni një kartelë, ose i vini shenjë kutizës për " +"spastrim, jo që të dyja." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Ngarkoni një figurë të vlefshme. Kartela që ngarkuat ose nuk qe figurë, ose " +"qe figurë e dëmtuar." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Përzgjidhni një zgjedhje të vlefshme. %(value)s s’është një nga zgjedhjet e " +"mundshme." + +msgid "Enter a list of values." +msgstr "Jepni një listë vlerash." + +msgid "Enter a complete value." +msgstr "Jepni një vlerë të plotë." + +msgid "Enter a valid UUID." +msgstr "Jepni një UUID të vlefshëm." + +msgid "Enter a valid JSON." +msgstr "Jepni një JSON të vlefshëm." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Fushë e fshehur %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"Mungojnë të dhëna ManagementForm, ose në to janë futur hundët. Fusha që " +"mungojnë: %(field_names)s. Nëse problemi vazhdon, mund të duhet të " +"parashtroni një raport të mete." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Ju lutemi, parashtroni e shumta %(num)d formular." +msgstr[1] "Ju lutemi, parashtroni e shumta %(num)d formularë." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Ju lutemi, parashtroni të paktën %(num)d formular." +msgstr[1] "Ju lutemi, parashtroni të paktën %(num)d formularë." + +msgid "Order" +msgstr "Renditi" + +msgid "Delete" +msgstr "Fshije" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Ju lutemi, ndreqni të dhënat e përsëdytura për %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Ju lutemi, ndreqni të dhënat e përsëdytura për %(field)s, të cilat duhet të " +"jenë unike." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Ju lutemi, ndreqni të dhënat e përsëdytura për %(field_name)s të cilat duhet " +"të jenë unike për %(lookup)s te %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Ju lutemi, ndreqni më poshtë vlerat e përsëdytura." + +msgid "The inline value did not match the parent instance." +msgstr "Vlera e brendshme s’u përputh me instancën prind." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Përzgjidhni një zgjedhje të vlefshme. Ajo zgjedhje nuk është një nga " +"zgjedhjet e mundshme." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "“%(pk)s” s’është vlerë e vlefshme." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s s’u interpretua dot brenda zonës kohore %(current_timezone)s; " +"mund të jetë e dykuptimtë, ose mund të mos ekzistojë." + +msgid "Clear" +msgstr "Spastroje" + +msgid "Currently" +msgstr "Tani" + +msgid "Change" +msgstr "Ndryshoje" + +msgid "Unknown" +msgstr "E panjohur" + +msgid "Yes" +msgstr "Po" + +msgid "No" +msgstr "Jo" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "po,jo,ndoshta" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d bajt" +msgstr[1] "%(size)d bajte" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "mesnatë" + +msgid "noon" +msgstr "mesditë" + +msgid "Monday" +msgstr "E hënë" + +msgid "Tuesday" +msgstr "E martë" + +msgid "Wednesday" +msgstr "E mërkurë" + +msgid "Thursday" +msgstr "E enjte" + +msgid "Friday" +msgstr "E premte" + +msgid "Saturday" +msgstr "E shtunë" + +msgid "Sunday" +msgstr "E dielë" + +msgid "Mon" +msgstr "Hën" + +msgid "Tue" +msgstr "Mar" + +msgid "Wed" +msgstr "Mër" + +msgid "Thu" +msgstr "Enj" + +msgid "Fri" +msgstr "Pre" + +msgid "Sat" +msgstr "Sht" + +msgid "Sun" +msgstr "Die" + +msgid "January" +msgstr "Janar" + +msgid "February" +msgstr "Shkurt" + +msgid "March" +msgstr "Mars" + +msgid "April" +msgstr "Prill" + +msgid "May" +msgstr "Maj" + +msgid "June" +msgstr "Qershor" + +msgid "July" +msgstr "Korrik" + +msgid "August" +msgstr "Gusht" + +msgid "September" +msgstr "Shtator" + +msgid "October" +msgstr "Tetor" + +msgid "November" +msgstr "Nëntor" + +msgid "December" +msgstr "Dhjetor" + +msgid "jan" +msgstr "jan" + +msgid "feb" +msgstr "shk" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "pri" + +msgid "may" +msgstr "maj" + +msgid "jun" +msgstr "qer" + +msgid "jul" +msgstr "kor" + +msgid "aug" +msgstr "gus" + +msgid "sep" +msgstr "sht" + +msgid "oct" +msgstr "tet" + +msgid "nov" +msgstr "nën" + +msgid "dec" +msgstr "dhj" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Jan." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Shk." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Mars" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Prill" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Maj" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Qershor" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Korrik" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Gus." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Shta." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Tet." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Nën." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Dhj." + +msgctxt "alt. month" +msgid "January" +msgstr "Janar" + +msgctxt "alt. month" +msgid "February" +msgstr "Shkurt" + +msgctxt "alt. month" +msgid "March" +msgstr "Mars" + +msgctxt "alt. month" +msgid "April" +msgstr "Prill" + +msgctxt "alt. month" +msgid "May" +msgstr "Maj" + +msgctxt "alt. month" +msgid "June" +msgstr "Qershor" + +msgctxt "alt. month" +msgid "July" +msgstr "Korrik" + +msgctxt "alt. month" +msgid "August" +msgstr "Gusht" + +msgctxt "alt. month" +msgid "September" +msgstr "Shtator" + +msgctxt "alt. month" +msgid "October" +msgstr "Tetor" + +msgctxt "alt. month" +msgid "November" +msgstr "Nëntor" + +msgctxt "alt. month" +msgid "December" +msgstr "Dhjetor" + +msgid "This is not a valid IPv6 address." +msgstr "Kjo s’është adresë IPv6 e vlefshme." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "ose" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d vit" +msgstr[1] "%(num)d vjet" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d muaj" +msgstr[1] "%(num)d muaj" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d javë" +msgstr[1] "%(num)d javë" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d ditë" +msgstr[1] "%(num)d ditë" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d orë" +msgstr[1] "%(num)d orë" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d minutë" +msgstr[1] "%(num)d minuta" + +msgid "Forbidden" +msgstr "E ndaluar" + +msgid "CSRF verification failed. Request aborted." +msgstr "Verifikimi CSRF dështoi. Kërkesa u ndërpre." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Këtë mesazh po e shihni ngaqë ky sajt HTTPS e ka të domosdoshme dërgimin e " +"“Referer header” te shfletuesi juaj, por s’u dërgua ndonjë i tillë. Kjo krye " +"është e domosdoshme për arsye sigurie, për të bërë të mundur që shfletuesi " +"juaj të mos komprometohet nga palë të treta." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Nëse e keni formësuar shfletuesin tuaj të çaktivizojë kryet “Referer”, ju " +"lutemi, riaktivizojini, ose për lidhje HTTPS, ose për kërkesa “same-origin”." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Nëse përdorni etiketën " +"etiketën ose përfshini kryet “Referrer-Policy: no-referrer”, ju lutemi, " +"hiqini. Mbrojtja CSRF lyp që kryet “Referer” të kryejnë kontroll strikt " +"referuesi. Nëse shqetësoheni për privatësinë, për lidhje te sajte palësh të " +"treta përdorni alternativa si ." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Këtë mesazh po e shihni ngaqë ky sajt lyp një cookie CSRF, kur parashtrohen " +"formularë. Kjo cookie është e domosdoshme për arsye sigurie, për të bërë të " +"mundur që shfletuesi juaj të mos komprometohet nga palë të treta." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Nëse e keni formësuar shfletuesin tuaj të çaktivizojë cookie-t, ju lutemi, " +"riaktivizojini, të paktën për këtë sajt, ose për kërkesa “same-origin”." + +msgid "More information is available with DEBUG=True." +msgstr "Më tepër të dhëna mund të gjeni me DEBUG=True." + +msgid "No year specified" +msgstr "Nuk është caktuar vit" + +msgid "Date out of range" +msgstr "Datë jashtë intervali" + +msgid "No month specified" +msgstr "Nuk është caktuar muaj" + +msgid "No day specified" +msgstr "Nuk është caktuar ditë" + +msgid "No week specified" +msgstr "Nuk është caktuar javë" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Nuk ka %(verbose_name_plural)s të përcaktuar" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"%(verbose_name_plural)s i ardhshëm jo i passhëm, ngaqë %(class_name)s." +"allow_future është False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" +"U dha varg i pavlefshëm date “%(datestr)s” formati i dhënë “%(format)s”" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "S’u gjetën %(verbose_name)s me përputhje" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "Faqja nuk është “last”, as mund të shndërrohet në një int." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Faqe e pavlefshme (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Listë e zbrazët dhe “%(class_name)s.allow_empty” është False." + +msgid "Directory indexes are not allowed here." +msgstr "Këtu s’lejohen tregues drejtorish." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "“%(path)s” s’ekziston" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Tregues i %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "Instalimi funksionoi me sukses! Përgëzime!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Shihni shënimet për hedhjen në qarkullim të " +"Django %(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Po e shihni këtë faqe ngaqë te kartela juaj e rregullimeve gjendet DEBUG=True dhe s’keni formësuar " +"ndonjë URL." + +msgid "Django Documentation" +msgstr "Dokumentim i Django-s" + +msgid "Topics, references, & how-to’s" +msgstr "Tema, referenca, & how-to" + +msgid "Tutorial: A Polling App" +msgstr "Përkujdesore: Një Aplikacion Për Sondazhe" + +msgid "Get started with Django" +msgstr "Si t’ia filloni me Django-n" + +msgid "Django Community" +msgstr "Bashkësia Django" + +msgid "Connect, get help, or contribute" +msgstr "Lidhuni, merrni ndihmë, ose jepni ndihmesë" diff --git a/external_sources/django/django/conf/locale/sq/__init__.py b/external_sources/django/django/conf/locale/sq/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/sq/formats.py b/external_sources/django/django/conf/locale/sq/formats.py new file mode 100644 index 0000000..c7ed92e --- /dev/null +++ b/external_sources/django/django/conf/locale/sq/formats.py @@ -0,0 +1,21 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "d F Y" +TIME_FORMAT = "g.i.A" +# DATETIME_FORMAT = +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "Y-m-d" +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "." +# NUMBER_GROUPING = diff --git a/external_sources/django/django/conf/locale/sr/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/sr/LC_MESSAGES/django.po new file mode 100644 index 0000000..aee578a --- /dev/null +++ b/external_sources/django/django/conf/locale/sr/LC_MESSAGES/django.po @@ -0,0 +1,1364 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Branko Kokanovic , 2018-2019 +# Igor Jerosimić, 2019-2021,2023-2024 +# Jannis Leidel , 2011 +# Janos Guljas , 2011-2012 +# Mariusz Felisiak , 2021 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 06:49+0000\n" +"Last-Translator: Igor Jerosimić, 2019-2021,2023-2024\n" +"Language-Team: Serbian (http://app.transifex.com/django/django/language/" +"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" + +msgid "Afrikaans" +msgstr "африкански" + +msgid "Arabic" +msgstr "арапски" + +msgid "Algerian Arabic" +msgstr "Алжирски арапски" + +msgid "Asturian" +msgstr "астуријски" + +msgid "Azerbaijani" +msgstr "азербејџански" + +msgid "Bulgarian" +msgstr "бугарски" + +msgid "Belarusian" +msgstr "белоруски" + +msgid "Bengali" +msgstr "бенгалски" + +msgid "Breton" +msgstr "бретонски" + +msgid "Bosnian" +msgstr "босански" + +msgid "Catalan" +msgstr "каталонски" + +msgid "Central Kurdish (Sorani)" +msgstr "централнокурдски (сорани)" + +msgid "Czech" +msgstr "чешки" + +msgid "Welsh" +msgstr "велшки" + +msgid "Danish" +msgstr "дански" + +msgid "German" +msgstr "немачки" + +msgid "Lower Sorbian" +msgstr "доњолужичкосрпски" + +msgid "Greek" +msgstr "грчки" + +msgid "English" +msgstr "енглески" + +msgid "Australian English" +msgstr "аустралијски енглески" + +msgid "British English" +msgstr "британски енглески" + +msgid "Esperanto" +msgstr "есперанто" + +msgid "Spanish" +msgstr "шпански" + +msgid "Argentinian Spanish" +msgstr "аргентински шпански" + +msgid "Colombian Spanish" +msgstr "колумбијски шпански" + +msgid "Mexican Spanish" +msgstr "мексички шпански" + +msgid "Nicaraguan Spanish" +msgstr "никарагвански шпански" + +msgid "Venezuelan Spanish" +msgstr "венецуелански шпански" + +msgid "Estonian" +msgstr "естонски" + +msgid "Basque" +msgstr "баскијски" + +msgid "Persian" +msgstr "персијски" + +msgid "Finnish" +msgstr "фински" + +msgid "French" +msgstr "француски" + +msgid "Frisian" +msgstr "фризијски" + +msgid "Irish" +msgstr "ирски" + +msgid "Scottish Gaelic" +msgstr "шкотски гелски" + +msgid "Galician" +msgstr "галицијски" + +msgid "Hebrew" +msgstr "хебрејски" + +msgid "Hindi" +msgstr "хинду" + +msgid "Croatian" +msgstr "хрватски" + +msgid "Upper Sorbian" +msgstr "горњолужичкосрпски" + +msgid "Hungarian" +msgstr "мађарски" + +msgid "Armenian" +msgstr "јерменски" + +msgid "Interlingua" +msgstr "интерлингва" + +msgid "Indonesian" +msgstr "индонежански" + +msgid "Igbo" +msgstr "Игбо" + +msgid "Ido" +msgstr "идо" + +msgid "Icelandic" +msgstr "исландски" + +msgid "Italian" +msgstr "италијански" + +msgid "Japanese" +msgstr "јапански" + +msgid "Georgian" +msgstr "грузијски" + +msgid "Kabyle" +msgstr "кабилски" + +msgid "Kazakh" +msgstr "казашки" + +msgid "Khmer" +msgstr "кмерски" + +msgid "Kannada" +msgstr "канада" + +msgid "Korean" +msgstr "корејски" + +msgid "Kyrgyz" +msgstr "Киргиски" + +msgid "Luxembourgish" +msgstr "луксембуршки" + +msgid "Lithuanian" +msgstr "литвански" + +msgid "Latvian" +msgstr "латвијски" + +msgid "Macedonian" +msgstr "македонски" + +msgid "Malayalam" +msgstr "малајаламски" + +msgid "Mongolian" +msgstr "монголски" + +msgid "Marathi" +msgstr "маратхи" + +msgid "Malay" +msgstr "малајски" + +msgid "Burmese" +msgstr "бурмански" + +msgid "Norwegian Bokmål" +msgstr "норвешки књижевни" + +msgid "Nepali" +msgstr "непалски" + +msgid "Dutch" +msgstr "холандски" + +msgid "Norwegian Nynorsk" +msgstr "норвешки нови" + +msgid "Ossetic" +msgstr "осетински" + +msgid "Punjabi" +msgstr "панџаби" + +msgid "Polish" +msgstr "пољски" + +msgid "Portuguese" +msgstr "португалски" + +msgid "Brazilian Portuguese" +msgstr "бразилски португалски" + +msgid "Romanian" +msgstr "румунски" + +msgid "Russian" +msgstr "руски" + +msgid "Slovak" +msgstr "словачки" + +msgid "Slovenian" +msgstr "словеначки" + +msgid "Albanian" +msgstr "албански" + +msgid "Serbian" +msgstr "српски" + +msgid "Serbian Latin" +msgstr "српски (латиница)" + +msgid "Swedish" +msgstr "шведски" + +msgid "Swahili" +msgstr "свахили" + +msgid "Tamil" +msgstr "тамилски" + +msgid "Telugu" +msgstr "телугу" + +msgid "Tajik" +msgstr "Таџики" + +msgid "Thai" +msgstr "тајландски" + +msgid "Turkmen" +msgstr "Туркменски" + +msgid "Turkish" +msgstr "турски" + +msgid "Tatar" +msgstr "татарски" + +msgid "Udmurt" +msgstr "удмуртски" + +msgid "Uyghur" +msgstr "Ујгури" + +msgid "Ukrainian" +msgstr "украјински" + +msgid "Urdu" +msgstr "урду" + +msgid "Uzbek" +msgstr "Узбекистански" + +msgid "Vietnamese" +msgstr "вијетнамски" + +msgid "Simplified Chinese" +msgstr "поједностављени кинески" + +msgid "Traditional Chinese" +msgstr "традиционални кинески" + +msgid "Messages" +msgstr "Poruke" + +msgid "Site Maps" +msgstr "Мапе сајта" + +msgid "Static Files" +msgstr "Статички фајлови" + +msgid "Syndication" +msgstr "Удруживање садржаја" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "Задати број стране није цео број" + +msgid "That page number is less than 1" +msgstr "Задати број стране је мањи од 1" + +msgid "That page contains no results" +msgstr "Тражена страна не садржи резултате" + +msgid "Enter a valid value." +msgstr "Унесите исправну вредност." + +msgid "Enter a valid domain name." +msgstr "Унесите исправно име домена." + +msgid "Enter a valid URL." +msgstr "Унесите исправан URL." + +msgid "Enter a valid integer." +msgstr "Унесите исправан цео број." + +msgid "Enter a valid email address." +msgstr "Унесите исправну и-мејл адресу." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Унесите исрпаван „слаг“, који се састоји од слова, бројки, доњих црта или " +"циртица." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Унесите исправан \"слаг\", који се састоји од Уникод слова, бројки, доњих " +"црта или цртица." + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "Унесите исправну адресу %(protocol)s." + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "IPv4 or IPv6" +msgstr "IPv4 или IPv6" + +msgid "Enter only digits separated by commas." +msgstr "Унесите само цифре раздвојене запетама." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Ово поље мора да буде %(limit_value)s (тренутно има %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Ова вредност мора да буде мања од %(limit_value)s. или тачно толико." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Ова вредност мора бити већа од %(limit_value)s или тачно толико." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "Ова вредност мора да умножак величине корака %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"Уверите се да је ова вредност вишекратник величине корака %(limit_value)s, " +"почевши од %(offset)s, нпр. %(offset)s, %(valid_value1)s, %(valid_value2)s, " +"и тако даље." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Ово поље мора да има најмање %(limit_value)d карактер (тренутно има " +"%(show_value)d)." +msgstr[1] "" +"Ово поље мора да има најмање %(limit_value)d карактера (тренутно има " +"%(show_value)d)." +msgstr[2] "" +"Ово поље мора да има најмање %(limit_value)d карактера (тренутно има " +"%(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Ово поље не сме да има више од %(limit_value)d карактера (тренутно има " +"%(show_value)d)." +msgstr[1] "" +"Ово поље не сме да има више од %(limit_value)d карактера (тренутно има " +"%(show_value)d)." +msgstr[2] "" +"Ово поље не сме да има више од %(limit_value)d карактера (тренутно има " +"%(show_value)d)." + +msgid "Enter a number." +msgstr "Унесите број." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Укупно не може бити више од %(max)s цифре." +msgstr[1] "Укупно не може бити више од %(max)s цифре." +msgstr[2] "Укупно не може бити више од %(max)s цифара." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Не може бити више од %(max)s децимале." +msgstr[1] "Не може бити више од %(max)s децимале." +msgstr[2] "Не може бити више од %(max)s децимала." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "Не може бити више од %(max)s цифре пре децималног зареза." +msgstr[1] "Не може бити више од %(max)s цифре пре децималног зареза." +msgstr[2] "Не може бити више од %(max)s цифара пре децималног зареза." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Екстензија датотеке \"%(extension)s\" није дозвољена. Дозвољене су следеће " +"екстензије: %(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "'Null' карактери нису дозвољени." + +msgid "and" +msgstr "и" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s са пољем %(field_labels)s већ постоји." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "Ограничење „%(name)s“ је прекршено." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Вредност %(value)r није валидна." + +msgid "This field cannot be null." +msgstr "Ово поље не може бити 'null'." + +msgid "This field cannot be blank." +msgstr "Ово поље не може да остане празно." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s са пољем %(field_label)s већ постоји." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s мора бити јединствен(a) за %(date_field_label)s " +"%(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Поље типа: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "Вредност \"%(value)s\" мора бити True или False." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "\"%(value)s\" вредност мора бити True, False или None." + +msgid "Boolean (Either True or False)" +msgstr "Булова вредност (True или False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Стринг са макс. дужином %(max_length)s" + +msgid "String (unlimited)" +msgstr "Стринг (неограниченo)" + +msgid "Comma-separated integers" +msgstr "Цели бројеви раздвојени запетама" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"Вредност \"%(value)s\" нема исправан формат датума. Мора бити у формату ГГГГ-" +"ММ-ДД." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"Вредност \"%(value)s\" има исправан формат (ГГГГ-ММ-ДД) али то није исправан " +"датум." + +msgid "Date (without time)" +msgstr "Датум (без времена)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"Вредност \"%(value)s\" нема исправан формат. Мора бити у формату ГГГГ-ММ-ДД " +"ЧЧ:ММ[:сс[.uuuuuu]][TZ] ." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"Вредност \"%(value)s\" има исправан формат (ГГГГ-ММ-ДД ЧЧ:ММ[:сс[.uuuuuu]]" +"[TZ]) али то није исправан датум/време." + +msgid "Date (with time)" +msgstr "Датум (са временом)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "Вредност \"%(value)s\" мора бити децимални број." + +msgid "Decimal number" +msgstr "Децимални број" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"Вредност \"%(value)s\" нема исправан формат. Мора бити у формату [ДД] [ЧЧ:" +"[ММ:]]сс[.uuuuuu]." + +msgid "Duration" +msgstr "Временски интервал" + +msgid "Email address" +msgstr "Имејл адреса" + +msgid "File path" +msgstr "Путања фајла" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "Вредност \"%(value)s\" мора бити број са покретним зарезом." + +msgid "Floating point number" +msgstr "Број са покретним зарезом" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "Вредност \"%(value)s\" мора бити цео број." + +msgid "Integer" +msgstr "Цео број" + +msgid "Big (8 byte) integer" +msgstr "Велики (8 бајтова) цео број" + +msgid "Small integer" +msgstr "Мали цео број" + +msgid "IPv4 address" +msgstr "IPv4 адреса" + +msgid "IP address" +msgstr "IP адреса" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "Вредност \"%(value)s\" мора бити None, True или False." + +msgid "Boolean (Either True, False or None)" +msgstr "Булова вредност (True, False или None)" + +msgid "Positive big integer" +msgstr "Велик позитиван цео број" + +msgid "Positive integer" +msgstr "Позитиван цео број" + +msgid "Positive small integer" +msgstr "Позитиван мали цео број" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Слаг са макс. дужином %(max_length)s" + +msgid "Text" +msgstr "Текст" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"Вредност \"%(value)s\" нема исправан формат. Мора бити у формату ЧЧ:ММ[:сс[." +"uuuuuu]] ." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"Вредност \"%(value)s\" има исправан формат (ЧЧ:ММ[:сс[.uuuuuu]]) али то није " +"исправно време." + +msgid "Time" +msgstr "Време" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Сирови бинарни подаци" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "\"%(value)s\" није исправан UUID." + +msgid "Universally unique identifier" +msgstr "Универзално јединствени идентификатор" + +msgid "File" +msgstr "Фајл" + +msgid "Image" +msgstr "Слика" + +msgid "A JSON object" +msgstr "JSON објекат" + +msgid "Value must be valid JSON." +msgstr "Вредност мора бити исправан JSON." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "%(model)s инстанца са вредношћу %(value)r у пољу %(field)s не постоји." + +msgid "Foreign Key (type determined by related field)" +msgstr "Спољни кључ (тип је одређен асоцираном колоном)" + +msgid "One-to-one relationship" +msgstr "Релација један на један" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "Релација %(from)s-%(to)s" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "Релације %(from)s-%(to)s" + +msgid "Many-to-many relationship" +msgstr "Релација више на више" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Ово поље се мора попунити." + +msgid "Enter a whole number." +msgstr "Унесите цео број." + +msgid "Enter a valid date." +msgstr "Унесите исправан датум." + +msgid "Enter a valid time." +msgstr "Унесите исправно време" + +msgid "Enter a valid date/time." +msgstr "Унесите исправан датум/време." + +msgid "Enter a valid duration." +msgstr "Унесите исправан временски интервал." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Број дана мора бити између {min_days} и {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Фајл није пребачен. Проверите тип енкодирања на форми." + +msgid "No file was submitted." +msgstr "Фајл није пребачен." + +msgid "The submitted file is empty." +msgstr "Пребачени фајл је празан." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Име фајла не може имати више од %(max)d карактера (тренутно има %(length)d)." +msgstr[1] "" +"Име фајла не може имати више од %(max)d карактера (тренутно има %(length)d)." +msgstr[2] "" +"Име фајла не може имати више од %(max)d карактера (тренутно има %(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Може се само послати фајл или избрисати, не оба." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Пребаците исправан фајл. Фајл који је пребачен или није слика, или је " +"оштећен." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"%(value)s није међу понуђеним вредностима. Одаберите једну од понуђених." + +msgid "Enter a list of values." +msgstr "Унесите листу вредности." + +msgid "Enter a complete value." +msgstr "Унесите комплетну вредност." + +msgid "Enter a valid UUID." +msgstr "Унесите исправан UUID." + +msgid "Enter a valid JSON." +msgstr "Унесите исправан JSON." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Скривено поље %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"Подаци од ManagementForm недостају или су покварени. Поља која недостају: " +"%(field_names)s. Можда ће бити потребно да пријавите грешку ако се проблем " +"настави." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Молим проследите највише %(num)d форму." +msgstr[1] "Молим проследите највише %(num)d форме." +msgstr[2] "Молим проследите највише %(num)d форми." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Молим проследите најмање %(num)d форму." +msgstr[1] "Молим проследите најмање %(num)d форме." +msgstr[2] "Молим проследите најмање %(num)d форми." + +msgid "Order" +msgstr "Редослед" + +msgid "Delete" +msgstr "Обриши" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Исправите вредност за поље %(field)s - оно мора бити јединствено." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Исправите вредности за поља %(field)s - њихова комбинација мора бити " +"јединствена." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Иправите вредност за поље %(field_name)s, оно мора бити јединствено за " +"%(lookup)s у %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Исправите дуплиране вредности доле." + +msgid "The inline value did not match the parent instance." +msgstr "Директно унета вредност не одговара инстанци родитеља." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Одабрана вредност није међу понуђенима. Одаберите једну од понуђених." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "\"%(pk)s\" није исправна вредност." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"Време %(datetime)s се не може протумачити у временској зони " +"%(current_timezone)s; можда је двосмислено или не постоји." + +msgid "Clear" +msgstr "Очисти" + +msgid "Currently" +msgstr "Тренутно" + +msgid "Change" +msgstr "Измени" + +msgid "Unknown" +msgstr "Непознато" + +msgid "Yes" +msgstr "Да" + +msgid "No" +msgstr "Не" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "да,не,можда" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d бајт" +msgstr[1] "%(size)d бајта" +msgstr[2] "%(size)d бајтова" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "по п." + +msgid "a.m." +msgstr "пре п." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "поноћ" + +msgid "noon" +msgstr "подне" + +msgid "Monday" +msgstr "понедељак" + +msgid "Tuesday" +msgstr "уторак" + +msgid "Wednesday" +msgstr "среда" + +msgid "Thursday" +msgstr "четвртак" + +msgid "Friday" +msgstr "петак" + +msgid "Saturday" +msgstr "субота" + +msgid "Sunday" +msgstr "недеља" + +msgid "Mon" +msgstr "пон." + +msgid "Tue" +msgstr "уто." + +msgid "Wed" +msgstr "сре." + +msgid "Thu" +msgstr "чет." + +msgid "Fri" +msgstr "пет." + +msgid "Sat" +msgstr "суб." + +msgid "Sun" +msgstr "нед." + +msgid "January" +msgstr "јануар" + +msgid "February" +msgstr "фебруар" + +msgid "March" +msgstr "март" + +msgid "April" +msgstr "април" + +msgid "May" +msgstr "мај" + +msgid "June" +msgstr "јун" + +msgid "July" +msgstr "јул" + +msgid "August" +msgstr "август" + +msgid "September" +msgstr "септембар" + +msgid "October" +msgstr "октобар" + +msgid "November" +msgstr "новембар" + +msgid "December" +msgstr "децембар" + +msgid "jan" +msgstr "јан." + +msgid "feb" +msgstr "феб." + +msgid "mar" +msgstr "мар." + +msgid "apr" +msgstr "апр." + +msgid "may" +msgstr "мај." + +msgid "jun" +msgstr "јун." + +msgid "jul" +msgstr "јул." + +msgid "aug" +msgstr "ауг." + +msgid "sep" +msgstr "сеп." + +msgid "oct" +msgstr "окт." + +msgid "nov" +msgstr "нов." + +msgid "dec" +msgstr "дец." + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Јан." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Феб." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Март" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Април" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Мај" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Јун" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Јул" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Авг." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Септ." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Окт." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Нов." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Дец." + +msgctxt "alt. month" +msgid "January" +msgstr "Јануар" + +msgctxt "alt. month" +msgid "February" +msgstr "Фебруар" + +msgctxt "alt. month" +msgid "March" +msgstr "Март" + +msgctxt "alt. month" +msgid "April" +msgstr "Април" + +msgctxt "alt. month" +msgid "May" +msgstr "Мај" + +msgctxt "alt. month" +msgid "June" +msgstr "Јун" + +msgctxt "alt. month" +msgid "July" +msgstr "Јул" + +msgctxt "alt. month" +msgid "August" +msgstr "Август" + +msgctxt "alt. month" +msgid "September" +msgstr "Септембар" + +msgctxt "alt. month" +msgid "October" +msgstr "Октобар" + +msgctxt "alt. month" +msgid "November" +msgstr "Новембар" + +msgctxt "alt. month" +msgid "December" +msgstr "Децембар" + +msgid "This is not a valid IPv6 address." +msgstr "Ово није валидна IPv6 адреса." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "или" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d година" +msgstr[1] "%(num)d године" +msgstr[2] "%(num)d година" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d месец" +msgstr[1] "%(num)d месеца" +msgstr[2] "%(num)d месеци" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d недеља" +msgstr[1] "%(num)d недеље" +msgstr[2] "%(num)d недеља" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d дан" +msgstr[1] "%(num)d дана" +msgstr[2] "%(num)d дана" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d сат" +msgstr[1] "%(num)d сата" +msgstr[2] "%(num)d сати" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d минут" +msgstr[1] "%(num)d минута" +msgstr[2] "%(num)d минута" + +msgid "Forbidden" +msgstr "Забрањено" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF верификација није прошла. Захтев одбијен." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Ова порука је приказана јер овај HTTPS сајт захтева да \"Referer header\" " +"буде послат од стране вашег интернет прегледача, што тренутно није случај. " +"Поменуто заглавље је потребно из безбедоносних разлога, да би се осигурало " +"да ваш прегледач није под контролом трећих лица." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Ако сте подесили интернет прегледач да не шаље \"Referer\" заглавља, поново " +"их укључите, барем за овај сајт, или за HTTPS конекције, или за \"same-" +"origin\" захтеве." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Ако користите таг или " +"\"Referrer-Policy: no-referrer\" заглавље, молимо да их уклоните. CSRF " +"заштита захтева \"Referer\" заглавље да би се обавила стриктна \"referrer\" " +"провера. Уколико вас брине приватност, користите алтернативе као за линкове ка другим сајтовима." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Ова порука је приказана јер овај сајт захтева CSRF куки када се прослеђују " +"подаци из форми. Овај куки је потребан из сигурносних разлога, да би се " +"осигурало да ваш претраживач није под контролом трећих лица." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Ако је ваш интернет прегедач подешен да онемогући колачиће, молимо да их " +"укључите, барем за овај сајт, или за \"same-origin\" захтеве." + +msgid "More information is available with DEBUG=True." +msgstr "Више информација је доступно са DEBUG=True." + +msgid "No year specified" +msgstr "Година није назначена" + +msgid "Date out of range" +msgstr "Датум ван опсега" + +msgid "No month specified" +msgstr "Месец није назначен" + +msgid "No day specified" +msgstr "Дан није назначен" + +msgid "No week specified" +msgstr "Недеља није назначена" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Недоступни објекти %(verbose_name_plural)s" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Опција „future“ није доступна за „%(verbose_name_plural)s“ јер " +"%(class_name)s.allow_future има вредност False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "Неисправан датум „%(datestr)s“ за формат „%(format)s“" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Ниједан објекат класе %(verbose_name)s није нађен датим упитом." + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "Страница није последња, нити може бити конвертована у тип \"int\"." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Неисправна страна (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Празна листа и „%(class_name)s.allow_empty“ има вредност False." + +msgid "Directory indexes are not allowed here." +msgstr "Индекси директоријума нису дозвољени овде." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "„%(path)s“ не постоји" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Индекс директоријума %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "Инсталација је прошла успешно. Честитке!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Погледајте напомене уз издање за Ђанго " +"%(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Ова страна је приказана јер је DEBUG=True у вашим подешавањима и нисте конфигурисали " +"ниједан URL." + +msgid "Django Documentation" +msgstr "Ђанго документација" + +msgid "Topics, references, & how-to’s" +msgstr "Теме, референце, & како-да" + +msgid "Tutorial: A Polling App" +msgstr "Упутство: апликација за гласање" + +msgid "Get started with Django" +msgstr "Почните са Ђангом" + +msgid "Django Community" +msgstr "Ђанго заједница" + +msgid "Connect, get help, or contribute" +msgstr "Повежите се, потражите помоћ или дајте допринос" diff --git a/external_sources/django/django/conf/locale/sr/__init__.py b/external_sources/django/django/conf/locale/sr/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/sr/formats.py b/external_sources/django/django/conf/locale/sr/formats.py new file mode 100644 index 0000000..423f86d --- /dev/null +++ b/external_sources/django/django/conf/locale/sr/formats.py @@ -0,0 +1,44 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j. F Y." +TIME_FORMAT = "H:i" +DATETIME_FORMAT = "j. F Y. H:i" +YEAR_MONTH_FORMAT = "F Y." +MONTH_DAY_FORMAT = "j. F" +SHORT_DATE_FORMAT = "j.m.Y." +SHORT_DATETIME_FORMAT = "j.m.Y. H:i" +FIRST_DAY_OF_WEEK = 1 + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d.%m.%Y.", # '25.10.2006.' + "%d.%m.%y.", # '25.10.06.' + "%d. %m. %Y.", # '25. 10. 2006.' + "%d. %m. %y.", # '25. 10. 06.' + # "%d. %b %y.", # '25. Oct 06.' + # "%d. %B %y.", # '25. October 06.' + # "%d. %b '%y.", # '25. Oct '06.' + # "%d. %B '%y.", # '25. October '06.' + # "%d. %b %Y.", # '25. Oct 2006.' + # "%d. %B %Y.", # '25. October 2006.' +] +DATETIME_INPUT_FORMATS = [ + "%d.%m.%Y. %H:%M:%S", # '25.10.2006. 14:30:59' + "%d.%m.%Y. %H:%M:%S.%f", # '25.10.2006. 14:30:59.000200' + "%d.%m.%Y. %H:%M", # '25.10.2006. 14:30' + "%d.%m.%y. %H:%M:%S", # '25.10.06. 14:30:59' + "%d.%m.%y. %H:%M:%S.%f", # '25.10.06. 14:30:59.000200' + "%d.%m.%y. %H:%M", # '25.10.06. 14:30' + "%d. %m. %Y. %H:%M:%S", # '25. 10. 2006. 14:30:59' + "%d. %m. %Y. %H:%M:%S.%f", # '25. 10. 2006. 14:30:59.000200' + "%d. %m. %Y. %H:%M", # '25. 10. 2006. 14:30' + "%d. %m. %y. %H:%M:%S", # '25. 10. 06. 14:30:59' + "%d. %m. %y. %H:%M:%S.%f", # '25. 10. 06. 14:30:59.000200' + "%d. %m. %y. %H:%M", # '25. 10. 06. 14:30' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "." +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/sr_Latn/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/sr_Latn/LC_MESSAGES/django.po new file mode 100644 index 0000000..5f5bc77 --- /dev/null +++ b/external_sources/django/django/conf/locale/sr_Latn/LC_MESSAGES/django.po @@ -0,0 +1,1638 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Aleksa Cukovic` , 2020 +# Danijela Popović, 2022 +# Igor Jerosimić, 2019-2021,2023-2024 +# Jannis Leidel , 2011 +# Janos Guljas , 2011-2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 06:49+0000\n" +"Last-Translator: Igor Jerosimić, 2019-2021,2023-2024\n" +"Language-Team: Serbian (Latin) (http://app.transifex.com/django/django/language/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" + +#: conf/global_settings.py:52 +msgid "Afrikaans" +msgstr "afrikanski" + +#: conf/global_settings.py:53 +msgid "Arabic" +msgstr "arapski" + +#: conf/global_settings.py:54 +msgid "Algerian Arabic" +msgstr "Alžirski arapski" + +#: conf/global_settings.py:55 +msgid "Asturian" +msgstr "asturijski" + +#: conf/global_settings.py:56 +msgid "Azerbaijani" +msgstr "azerbejdžanski" + +#: conf/global_settings.py:57 +msgid "Bulgarian" +msgstr "bugarski" + +#: conf/global_settings.py:58 +msgid "Belarusian" +msgstr "beloruski" + +#: conf/global_settings.py:59 +msgid "Bengali" +msgstr "bengalski" + +#: conf/global_settings.py:60 +msgid "Breton" +msgstr "bretonski" + +#: conf/global_settings.py:61 +msgid "Bosnian" +msgstr "bosanski" + +#: conf/global_settings.py:62 +msgid "Catalan" +msgstr "katalonski" + +#: conf/global_settings.py:63 +msgid "Central Kurdish (Sorani)" +msgstr "centralnokurdski (sorani)" + +#: conf/global_settings.py:64 +msgid "Czech" +msgstr "češki" + +#: conf/global_settings.py:65 +msgid "Welsh" +msgstr "velški" + +#: conf/global_settings.py:66 +msgid "Danish" +msgstr "danski" + +#: conf/global_settings.py:67 +msgid "German" +msgstr "nemački" + +#: conf/global_settings.py:68 +msgid "Lower Sorbian" +msgstr "donjolužičkosrpski" + +#: conf/global_settings.py:69 +msgid "Greek" +msgstr "grčki" + +#: conf/global_settings.py:70 +msgid "English" +msgstr "engleski" + +#: conf/global_settings.py:71 +msgid "Australian English" +msgstr "australijski engleski" + +#: conf/global_settings.py:72 +msgid "British English" +msgstr "britanski engleski" + +#: conf/global_settings.py:73 +msgid "Esperanto" +msgstr "esperanto" + +#: conf/global_settings.py:74 +msgid "Spanish" +msgstr "španski" + +#: conf/global_settings.py:75 +msgid "Argentinian Spanish" +msgstr "argentinski španski" + +#: conf/global_settings.py:76 +msgid "Colombian Spanish" +msgstr "kolumbijski španski" + +#: conf/global_settings.py:77 +msgid "Mexican Spanish" +msgstr "meksički španski" + +#: conf/global_settings.py:78 +msgid "Nicaraguan Spanish" +msgstr "nikaragvanski španski" + +#: conf/global_settings.py:79 +msgid "Venezuelan Spanish" +msgstr "venecuelanski španski" + +#: conf/global_settings.py:80 +msgid "Estonian" +msgstr "estonski" + +#: conf/global_settings.py:81 +msgid "Basque" +msgstr "baskijski" + +#: conf/global_settings.py:82 +msgid "Persian" +msgstr "persijski" + +#: conf/global_settings.py:83 +msgid "Finnish" +msgstr "finski" + +#: conf/global_settings.py:84 +msgid "French" +msgstr "francuski" + +#: conf/global_settings.py:85 +msgid "Frisian" +msgstr "frizijski" + +#: conf/global_settings.py:86 +msgid "Irish" +msgstr "irski" + +#: conf/global_settings.py:87 +msgid "Scottish Gaelic" +msgstr "škotski galski" + +#: conf/global_settings.py:88 +msgid "Galician" +msgstr "galski" + +#: conf/global_settings.py:89 +msgid "Hebrew" +msgstr "hebrejski" + +#: conf/global_settings.py:90 +msgid "Hindi" +msgstr "hindu" + +#: conf/global_settings.py:91 +msgid "Croatian" +msgstr "hrvatski" + +#: conf/global_settings.py:92 +msgid "Upper Sorbian" +msgstr "gornjolužičkosrpski" + +#: conf/global_settings.py:93 +msgid "Hungarian" +msgstr "mađarski" + +#: conf/global_settings.py:94 +msgid "Armenian" +msgstr "jermenski" + +#: conf/global_settings.py:95 +msgid "Interlingua" +msgstr "interlingva" + +#: conf/global_settings.py:96 +msgid "Indonesian" +msgstr "indonežanski" + +#: conf/global_settings.py:97 +msgid "Igbo" +msgstr "Igbo" + +#: conf/global_settings.py:98 +msgid "Ido" +msgstr "ido" + +#: conf/global_settings.py:99 +msgid "Icelandic" +msgstr "islandski" + +#: conf/global_settings.py:100 +msgid "Italian" +msgstr "italijanski" + +#: conf/global_settings.py:101 +msgid "Japanese" +msgstr "japanski" + +#: conf/global_settings.py:102 +msgid "Georgian" +msgstr "gruzijski" + +#: conf/global_settings.py:103 +msgid "Kabyle" +msgstr "kabilski" + +#: conf/global_settings.py:104 +msgid "Kazakh" +msgstr "kazaški" + +#: conf/global_settings.py:105 +msgid "Khmer" +msgstr "kambodijski" + +#: conf/global_settings.py:106 +msgid "Kannada" +msgstr "kanada" + +#: conf/global_settings.py:107 +msgid "Korean" +msgstr "korejski" + +#: conf/global_settings.py:108 +msgid "Kyrgyz" +msgstr "Kirgiski" + +#: conf/global_settings.py:109 +msgid "Luxembourgish" +msgstr "luksemburški" + +#: conf/global_settings.py:110 +msgid "Lithuanian" +msgstr "litvanski" + +#: conf/global_settings.py:111 +msgid "Latvian" +msgstr "latvijski" + +#: conf/global_settings.py:112 +msgid "Macedonian" +msgstr "makedonski" + +#: conf/global_settings.py:113 +msgid "Malayalam" +msgstr "malajalamski" + +#: conf/global_settings.py:114 +msgid "Mongolian" +msgstr "mongolski" + +#: conf/global_settings.py:115 +msgid "Marathi" +msgstr "marathi" + +#: conf/global_settings.py:116 +msgid "Malay" +msgstr "malajski" + +#: conf/global_settings.py:117 +msgid "Burmese" +msgstr "burmanski" + +#: conf/global_settings.py:118 +msgid "Norwegian Bokmål" +msgstr "norveški književni" + +#: conf/global_settings.py:119 +msgid "Nepali" +msgstr "nepalski" + +#: conf/global_settings.py:120 +msgid "Dutch" +msgstr "holandski" + +#: conf/global_settings.py:121 +msgid "Norwegian Nynorsk" +msgstr "norveški novi" + +#: conf/global_settings.py:122 +msgid "Ossetic" +msgstr "osetinski" + +#: conf/global_settings.py:123 +msgid "Punjabi" +msgstr "Pandžabi" + +#: conf/global_settings.py:124 +msgid "Polish" +msgstr "poljski" + +#: conf/global_settings.py:125 +msgid "Portuguese" +msgstr "portugalski" + +#: conf/global_settings.py:126 +msgid "Brazilian Portuguese" +msgstr "brazilski portugalski" + +#: conf/global_settings.py:127 +msgid "Romanian" +msgstr "rumunski" + +#: conf/global_settings.py:128 +msgid "Russian" +msgstr "ruski" + +#: conf/global_settings.py:129 +msgid "Slovak" +msgstr "slovački" + +#: conf/global_settings.py:130 +msgid "Slovenian" +msgstr "slovenački" + +#: conf/global_settings.py:131 +msgid "Albanian" +msgstr "albanski" + +#: conf/global_settings.py:132 +msgid "Serbian" +msgstr "srpski" + +#: conf/global_settings.py:133 +msgid "Serbian Latin" +msgstr "srpski (latinica)" + +#: conf/global_settings.py:134 +msgid "Swedish" +msgstr "švedski" + +#: conf/global_settings.py:135 +msgid "Swahili" +msgstr "svahili" + +#: conf/global_settings.py:136 +msgid "Tamil" +msgstr "tamilski" + +#: conf/global_settings.py:137 +msgid "Telugu" +msgstr "telugu" + +#: conf/global_settings.py:138 +msgid "Tajik" +msgstr "Tadžiki" + +#: conf/global_settings.py:139 +msgid "Thai" +msgstr "tajlandski" + +#: conf/global_settings.py:140 +msgid "Turkmen" +msgstr "Turkmenski" + +#: conf/global_settings.py:141 +msgid "Turkish" +msgstr "turski" + +#: conf/global_settings.py:142 +msgid "Tatar" +msgstr "tatarski" + +#: conf/global_settings.py:143 +msgid "Udmurt" +msgstr "udmurtski" + +#: conf/global_settings.py:144 +msgid "Uyghur" +msgstr "Ujgur" + +#: conf/global_settings.py:145 +msgid "Ukrainian" +msgstr "ukrajinski" + +#: conf/global_settings.py:146 +msgid "Urdu" +msgstr "Urdu" + +#: conf/global_settings.py:147 +msgid "Uzbek" +msgstr "Uzbekistanski" + +#: conf/global_settings.py:148 +msgid "Vietnamese" +msgstr "vijetnamski" + +#: conf/global_settings.py:149 +msgid "Simplified Chinese" +msgstr "novokineski" + +#: conf/global_settings.py:150 +msgid "Traditional Chinese" +msgstr "starokineski" + +#: contrib/messages/apps.py:15 +msgid "Messages" +msgstr "Poruke" + +#: contrib/sitemaps/apps.py:8 +msgid "Site Maps" +msgstr "Mape sajta" + +#: contrib/staticfiles/apps.py:9 +msgid "Static Files" +msgstr "Statičke datoteke" + +#: contrib/syndication/apps.py:7 +msgid "Syndication" +msgstr "Udruživanje sadržaja" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +#: core/paginator.py:30 +msgid "…" +msgstr "…" + +#: core/paginator.py:32 +msgid "That page number is not an integer" +msgstr "Zadati broj strane nije ceo broj" + +#: core/paginator.py:33 +msgid "That page number is less than 1" +msgstr "Zadati broj strane je manji od 1" + +#: core/paginator.py:34 +msgid "That page contains no results" +msgstr "Tražena strana ne sadrži rezultate" + +#: core/validators.py:22 +msgid "Enter a valid value." +msgstr "Unesite ispravnu vrednost." + +#: core/validators.py:70 +msgid "Enter a valid domain name." +msgstr "Unesite ispravno ime domena." + +#: core/validators.py:104 forms/fields.py:759 +msgid "Enter a valid URL." +msgstr "Unesite ispravan URL." + +#: core/validators.py:165 +msgid "Enter a valid integer." +msgstr "Unesite ispravan ceo broj." + +#: core/validators.py:176 +msgid "Enter a valid email address." +msgstr "Unesite ispravnu e-mail adresu." + +#. Translators: "letters" means latin letters: a-z and A-Z. +#: core/validators.py:259 +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "Unesite isrpavan „slag“, koji se sastoji od slova, brojki, donjih crta ili cirtica." + +#: core/validators.py:267 +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or" +" hyphens." +msgstr "Unesite ispravan \"slag\", koji se sastoji od Unikod slova, brojki, donjih crta ili crtica." + +#: core/validators.py:327 core/validators.py:336 core/validators.py:350 +#: db/models/fields/__init__.py:2219 +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "Unesite ispravnu adresu %(protocol)s." + +#: core/validators.py:329 +msgid "IPv4" +msgstr "IPv4" + +#: core/validators.py:338 utils/ipv6.py:30 +msgid "IPv6" +msgstr "IPv6" + +#: core/validators.py:352 +msgid "IPv4 or IPv6" +msgstr "IPv4 ili IPv6" + +#: core/validators.py:341 +msgid "Enter only digits separated by commas." +msgstr "Unesite samo brojke razdvojene zapetama." + +#: core/validators.py:347 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Ovo polje mora da bude %(limit_value)s (trenutno ima %(show_value)s)." + +#: core/validators.py:382 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Ova vrednost mora da bude manja od %(limit_value)s. ili tačno toliko." + +#: core/validators.py:391 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Ova vrednost mora biti veća od %(limit_value)s ili tačno toliko." + +#: core/validators.py:400 +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "Ova vrednost mora da umnožak veličine koraka %(limit_value)s." + +#: core/validators.py:407 +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "Uverite se da je ova vrednost višestruka od veličine koraka %(limit_value)s, počevši od %(offset)s, npr. %(offset)s, %(valid_value1)s, %(valid_value2)s, itd." + +#: core/validators.py:439 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "Ovo polje mora da ima najmanje %(limit_value)d karakter (trenutno ima %(show_value)d)." +msgstr[1] "Ovo polje mora da ima najmanje %(limit_value)d karaktera (trenutno ima %(show_value)d)." +msgstr[2] "Ovo polje mora da ima %(limit_value)d najmanje karaktera (trenutno ima %(show_value)d )." + +#: core/validators.py:457 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "Ovo polje ne sme da ima više od %(limit_value)d karaktera (trenutno ima %(show_value)d)." +msgstr[1] "Ovo polje ne sme da ima više od %(limit_value)d karaktera (trenutno ima %(show_value)d)." +msgstr[2] "Ovo polje ne sme da ima više od %(limit_value)d karaktera (trenutno ima %(show_value)d)." + +#: core/validators.py:480 forms/fields.py:354 forms/fields.py:393 +msgid "Enter a number." +msgstr "Unesite broj." + +#: core/validators.py:482 +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Ukupno ne može biti više od %(max)s cifre." +msgstr[1] "Ukupno ne može biti više od %(max)s cifre." +msgstr[2] "Ukupno ne može biti više od %(max)s cifara." + +#: core/validators.py:487 +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Ne može biti više od %(max)s decimale." +msgstr[1] "Ne može biti više od %(max)s decimale." +msgstr[2] "Ne može biti više od %(max)s decimala." + +#: core/validators.py:492 +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "Ne može biti više od %(max)s cifre pre decimalnog zapisa." +msgstr[1] "Ne može biti više od %(max)s cifre pre decimalnog zapisa." +msgstr[2] "Ne može biti više od %(max)s cifara pre decimalnog zapisa." + +#: core/validators.py:563 +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "Ekstenzija datoteke \"%(extension)s\" nije dozvoljena. Dozvoljene su sledeće ekstenzije: %(allowed_extensions)s." + +#: core/validators.py:624 +msgid "Null characters are not allowed." +msgstr "'Null' karakteri nisu dozvoljeni." + +#: db/models/base.py:1465 forms/models.py:902 +msgid "and" +msgstr "i" + +#: db/models/base.py:1467 +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s sa poljem %(field_labels)s već postoji." + +#: db/models/constraints.py:20 +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "Ograničenje „%(name)s“ je prekršeno." + +#: db/models/fields/__init__.py:128 +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Vrednost %(value)r nije validna." + +#: db/models/fields/__init__.py:129 +msgid "This field cannot be null." +msgstr "Ovo polje ne može da ostane prazno." + +#: db/models/fields/__init__.py:130 +msgid "This field cannot be blank." +msgstr "Ovo polje ne može da ostane prazno." + +#: db/models/fields/__init__.py:131 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s sa ovom vrednošću %(field_label)s već postoji." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#: db/models/fields/__init__.py:135 +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "%(field_label)s mora biti jedinstven(a) za %(date_field_label)s %(lookup_type)s." + +#: db/models/fields/__init__.py:174 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Polje tipa: %(field_type)s" + +#: db/models/fields/__init__.py:1157 +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "Vrednost \"%(value)s\" mora biti True ili False." + +#: db/models/fields/__init__.py:1158 +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "\"%(value)s\" vrednost mora biti True, False ili None." + +#: db/models/fields/__init__.py:1160 +msgid "Boolean (Either True or False)" +msgstr "Bulova vrednost (True ili False)" + +#: db/models/fields/__init__.py:1210 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "String (najviše %(max_length)s znakova)" + +#: db/models/fields/__init__.py:1212 +msgid "String (unlimited)" +msgstr "String (neograničeno)" + +#: db/models/fields/__init__.py:1316 +msgid "Comma-separated integers" +msgstr "Celi brojevi razdvojeni zapetama" + +#: db/models/fields/__init__.py:1417 +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "Vrednost \"%(value)s\" nema ispravan format datuma. Mora biti u formatu GGGG-MM-DD." + +#: db/models/fields/__init__.py:1421 db/models/fields/__init__.py:1556 +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "Vrednost “%(value)s” ima odgovarajući format (GGGG-MM-DD), ali nije validan datum." + +#: db/models/fields/__init__.py:1425 +msgid "Date (without time)" +msgstr "Datum (bez vremena)" + +#: db/models/fields/__init__.py:1552 +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD " +"HH:MM[:ss[.uuuuuu]][TZ] format." +msgstr "Vrednost “%(value)s” je u nevažećem formatu. Mora se uneti u formatu YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]." + +#: db/models/fields/__init__.py:1560 +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD " +"HH:MM[:ss[.uuuuuu]][TZ]) but it is an invalid date/time." +msgstr "Vrednost “%(value)s” je u odgovarajućem formatu (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]), ali nije validna vrednost za datum i vreme." + +#: db/models/fields/__init__.py:1565 +msgid "Date (with time)" +msgstr "Datum (sa vremenom)" + +#: db/models/fields/__init__.py:1689 +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "Vrednost “%(value)s” mora biti decimalni broj." + +#: db/models/fields/__init__.py:1691 +msgid "Decimal number" +msgstr "Decimalni broj" + +#: db/models/fields/__init__.py:1852 +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] " +"[[HH:]MM:]ss[.uuuuuu] format." +msgstr "Vrednost “%(value)s” nije u odgovarajućem formatu. Mora biti u formatu [DD] [[HH:]MM:]ss[.uuuuuu]." + +#: db/models/fields/__init__.py:1856 +msgid "Duration" +msgstr "Vremenski interval" + +#: db/models/fields/__init__.py:1908 +msgid "Email address" +msgstr "Imejl adresa" + +#: db/models/fields/__init__.py:1933 +msgid "File path" +msgstr "Putanja fajla" + +#: db/models/fields/__init__.py:2011 +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "Vrednost “%(value)s” value mora biti tipa float." + +#: db/models/fields/__init__.py:2013 +msgid "Floating point number" +msgstr "Broj sa pokrenom zapetom" + +#: db/models/fields/__init__.py:2053 +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "Vrednost “%(value)s” mora biti ceo broj." + +#: db/models/fields/__init__.py:2055 +msgid "Integer" +msgstr "Ceo broj" + +#: db/models/fields/__init__.py:2151 +msgid "Big (8 byte) integer" +msgstr "Veliki ceo broj" + +#: db/models/fields/__init__.py:2168 +msgid "Small integer" +msgstr "Mali ceo broj" + +#: db/models/fields/__init__.py:2176 +msgid "IPv4 address" +msgstr "IPv4 adresa" + +#: db/models/fields/__init__.py:2207 +msgid "IP address" +msgstr "IP adresa" + +#: db/models/fields/__init__.py:2300 db/models/fields/__init__.py:2301 +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "Vrednost “%(value)s” mora biti None, True ili False." + +#: db/models/fields/__init__.py:2303 +msgid "Boolean (Either True, False or None)" +msgstr "Bulova vrednost (True, False ili None)" + +#: db/models/fields/__init__.py:2354 +msgid "Positive big integer" +msgstr "Velik pozitivan celi broj" + +#: db/models/fields/__init__.py:2369 +msgid "Positive integer" +msgstr "Pozitivan ceo broj" + +#: db/models/fields/__init__.py:2384 +msgid "Positive small integer" +msgstr "Pozitivan mali ceo broj" + +#: db/models/fields/__init__.py:2400 +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slag (ne duži od %(max_length)s)" + +#: db/models/fields/__init__.py:2436 +msgid "Text" +msgstr "Tekst" + +#: db/models/fields/__init__.py:2511 +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "Vrednost “%(value)s” nije u odgovarajućem formatu. Mora biti u formatu HH:MM[:ss[.uuuuuu]]." + +#: db/models/fields/__init__.py:2515 +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "Vrednost “%(value)s” je u odgovarajućem formatu (HH:MM[:ss[.uuuuuu]]), ali nije validna vrednost za vreme." + +#: db/models/fields/__init__.py:2519 +msgid "Time" +msgstr "Vreme" + +#: db/models/fields/__init__.py:2627 +msgid "URL" +msgstr "URL" + +#: db/models/fields/__init__.py:2651 +msgid "Raw binary data" +msgstr "Sirovi binarni podaci" + +#: db/models/fields/__init__.py:2716 +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "Vrednost “%(value)s” nije validan UUID (jedinstveni ID)." + +#: db/models/fields/__init__.py:2718 +msgid "Universally unique identifier" +msgstr "Univerzalno jedinstveni identifikator" + +#: db/models/fields/files.py:232 +msgid "File" +msgstr "Fajl" + +#: db/models/fields/files.py:393 +msgid "Image" +msgstr "Slika" + +#: db/models/fields/json.py:26 +msgid "A JSON object" +msgstr "JSON objekat" + +#: db/models/fields/json.py:28 +msgid "Value must be valid JSON." +msgstr "Vrednost mora biti ispravni JSON." + +#: db/models/fields/related.py:939 +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "Instanca modela %(model)s sa vrednošću %(field)s %(value)r ne postoji." + +#: db/models/fields/related.py:941 +msgid "Foreign Key (type determined by related field)" +msgstr "Strani ključ (tip određuje referentno polje)" + +#: db/models/fields/related.py:1235 +msgid "One-to-one relationship" +msgstr "Relacija jedan na jedan" + +#: db/models/fields/related.py:1292 +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "Relacija %(from)s-%(to)s" + +#: db/models/fields/related.py:1294 +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "Relacije %(from)s-%(to)s" + +#: db/models/fields/related.py:1342 +msgid "Many-to-many relationship" +msgstr "Relacija više na više" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +#: forms/boundfield.py:185 +msgid ":?.!" +msgstr ":?.!" + +#: forms/fields.py:94 +msgid "This field is required." +msgstr "Ovo polje se mora popuniti." + +#: forms/fields.py:303 +msgid "Enter a whole number." +msgstr "Unesite ceo broj." + +#: forms/fields.py:474 forms/fields.py:1246 +msgid "Enter a valid date." +msgstr "Unesite ispravan datum." + +#: forms/fields.py:497 forms/fields.py:1247 +msgid "Enter a valid time." +msgstr "Unesite ispravno vreme" + +#: forms/fields.py:524 +msgid "Enter a valid date/time." +msgstr "Unesite ispravan datum/vreme." + +#: forms/fields.py:558 +msgid "Enter a valid duration." +msgstr "Unesite ispravno trajanje." + +#: forms/fields.py:559 +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Broj dana mora biti između {min_days} i {max_days}." + +#: forms/fields.py:628 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Fajl nije prebačen. Proverite tip enkodiranja formulara." + +#: forms/fields.py:629 +msgid "No file was submitted." +msgstr "Fajl nije prebačen." + +#: forms/fields.py:630 +msgid "The submitted file is empty." +msgstr "Prebačen fajl je prazan." + +#: forms/fields.py:632 +#, python-format +msgid "" +"Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "Ime fajla ne može imati više od %(max)d karaktera (trenutno ima %(length)d)." +msgstr[1] "Ime fajla ne može imati više od %(max)d karaktera (trenutno ima %(length)d)." +msgstr[2] "Ime fajla ne može imati više od %(max)d karaktera (trenutno ima %(length)d)." + +#: forms/fields.py:637 +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Može se samo poslati fajl ili izbrisati, ne oba." + +#: forms/fields.py:701 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "Prebacite ispravan fajl. Fajl koji je prebačen ili nije slika, ili je oštećen." + +#: forms/fields.py:868 forms/fields.py:954 forms/models.py:1581 +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "%(value)s nije među ponuđenim vrednostima. Odaberite jednu od ponuđenih." + +#: forms/fields.py:956 forms/fields.py:1075 forms/models.py:1579 +msgid "Enter a list of values." +msgstr "Unesite listu vrednosti." + +#: forms/fields.py:1076 +msgid "Enter a complete value." +msgstr "Unesite kompletnu vrednost." + +#: forms/fields.py:1315 +msgid "Enter a valid UUID." +msgstr "Unesite ispravan UUID." + +#: forms/fields.py:1345 +msgid "Enter a valid JSON." +msgstr "Unesite ispravan JSON." + +#. Translators: This is the default suffix added to form field labels +#: forms/forms.py:94 +msgid ":" +msgstr ":" + +#: forms/forms.py:231 +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Skriveno polje %(name)s) %(error)s" + +#: forms/formsets.py:61 +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "Podaci od ManagementForm nedostaju ili su pokvareni. Polja koja nedostaju: %(field_names)s. Možda će biti potrebno da prijavite grešku ako se problem nastavi." + +#: forms/formsets.py:65 +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Molim prosledite najviše %(num)d formular." +msgstr[1] "Molim prosledite najviše %(num)d formulara." +msgstr[2] "Molim prosledite najviše %(num)d formulara." + +#: forms/formsets.py:70 +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] " Molim prosledite najmanje %(num)d formular." +msgstr[1] " Molim prosledite najmanje %(num)d formulara." +msgstr[2] " Molim prosledite najmanje %(num)d formulara." + +#: forms/formsets.py:484 forms/formsets.py:491 +msgid "Order" +msgstr "Redosled" + +#: forms/formsets.py:499 +msgid "Delete" +msgstr "Obriši" + +#: forms/models.py:895 +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Ispravite dupliran sadržaj za polja: %(field)s." + +#: forms/models.py:900 +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "Ispravite dupliran sadržaj za polja: %(field)s, koji mora da bude jedinstven." + +#: forms/models.py:907 +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "Ispravite dupliran sadržaj za polja: %(field_name)s, koji mora da bude jedinstven za %(lookup)s u %(date_field)s." + +#: forms/models.py:916 +msgid "Please correct the duplicate values below." +msgstr "Ispravite duplirane vrednosti dole." + +#: forms/models.py:1353 +msgid "The inline value did not match the parent instance." +msgstr "Direktno uneta vrednost ne odgovara instanci roditelja." + +#: forms/models.py:1444 +msgid "" +"Select a valid choice. That choice is not one of the available choices." +msgstr "Odabrana vrednost nije među ponuđenima. Odaberite jednu od ponuđenih." + +#: forms/models.py:1583 +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "\"%(pk)s\" nije ispravna vrednost." + +#: forms/utils.py:227 +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "Vreme %(datetime)s se ne može protumačiti u vremenskoj zoni %(current_timezone)s; možda je dvosmisleno ili ne postoji." + +#: forms/widgets.py:457 +msgid "Clear" +msgstr "Očisti" + +#: forms/widgets.py:458 +msgid "Currently" +msgstr "Trenutno" + +#: forms/widgets.py:459 +msgid "Change" +msgstr "Izmeni" + +#: forms/widgets.py:796 +msgid "Unknown" +msgstr "Nepoznato" + +#: forms/widgets.py:797 +msgid "Yes" +msgstr "Da" + +#: forms/widgets.py:798 +msgid "No" +msgstr "Ne" + +#. Translators: Please do not add spaces around commas. +#: template/defaultfilters.py:875 +msgid "yes,no,maybe" +msgstr "da,ne,možda" + +#: template/defaultfilters.py:905 template/defaultfilters.py:922 +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d bajt" +msgstr[1] "%(size)d bajta" +msgstr[2] "%(size)d bajtova" + +#: template/defaultfilters.py:924 +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#: template/defaultfilters.py:926 +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#: template/defaultfilters.py:928 +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#: template/defaultfilters.py:930 +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#: template/defaultfilters.py:932 +#, python-format +msgid "%s PB" +msgstr "%s PB" + +#: utils/dateformat.py:73 +msgid "p.m." +msgstr "po p." + +#: utils/dateformat.py:74 +msgid "a.m." +msgstr "pre p." + +#: utils/dateformat.py:79 +msgid "PM" +msgstr "PM" + +#: utils/dateformat.py:80 +msgid "AM" +msgstr "AM" + +#: utils/dateformat.py:152 +msgid "midnight" +msgstr "ponoć" + +#: utils/dateformat.py:154 +msgid "noon" +msgstr "podne" + +#: utils/dates.py:7 +msgid "Monday" +msgstr "ponedeljak" + +#: utils/dates.py:8 +msgid "Tuesday" +msgstr "utorak" + +#: utils/dates.py:9 +msgid "Wednesday" +msgstr "sreda" + +#: utils/dates.py:10 +msgid "Thursday" +msgstr "četvrtak" + +#: utils/dates.py:11 +msgid "Friday" +msgstr "petak" + +#: utils/dates.py:12 +msgid "Saturday" +msgstr "subota" + +#: utils/dates.py:13 +msgid "Sunday" +msgstr "nedelja" + +#: utils/dates.py:16 +msgid "Mon" +msgstr "pon." + +#: utils/dates.py:17 +msgid "Tue" +msgstr "uto." + +#: utils/dates.py:18 +msgid "Wed" +msgstr "sre." + +#: utils/dates.py:19 +msgid "Thu" +msgstr "čet." + +#: utils/dates.py:20 +msgid "Fri" +msgstr "pet." + +#: utils/dates.py:21 +msgid "Sat" +msgstr "sub." + +#: utils/dates.py:22 +msgid "Sun" +msgstr "ned." + +#: utils/dates.py:25 +msgid "January" +msgstr "januar" + +#: utils/dates.py:26 +msgid "February" +msgstr "februar" + +#: utils/dates.py:27 +msgid "March" +msgstr "mart" + +#: utils/dates.py:28 +msgid "April" +msgstr "april" + +#: utils/dates.py:29 +msgid "May" +msgstr "maj" + +#: utils/dates.py:30 +msgid "June" +msgstr "jun" + +#: utils/dates.py:31 +msgid "July" +msgstr "jul" + +#: utils/dates.py:32 +msgid "August" +msgstr "avgust" + +#: utils/dates.py:33 +msgid "September" +msgstr "septembar" + +#: utils/dates.py:34 +msgid "October" +msgstr "oktobar" + +#: utils/dates.py:35 +msgid "November" +msgstr "novembar" + +#: utils/dates.py:36 +msgid "December" +msgstr "decembar" + +#: utils/dates.py:39 +msgid "jan" +msgstr "jan." + +#: utils/dates.py:40 +msgid "feb" +msgstr "feb." + +#: utils/dates.py:41 +msgid "mar" +msgstr "mar." + +#: utils/dates.py:42 +msgid "apr" +msgstr "apr." + +#: utils/dates.py:43 +msgid "may" +msgstr "maj." + +#: utils/dates.py:44 +msgid "jun" +msgstr "jun." + +#: utils/dates.py:45 +msgid "jul" +msgstr "jul." + +#: utils/dates.py:46 +msgid "aug" +msgstr "aug." + +#: utils/dates.py:47 +msgid "sep" +msgstr "sep." + +#: utils/dates.py:48 +msgid "oct" +msgstr "okt." + +#: utils/dates.py:49 +msgid "nov" +msgstr "nov." + +#: utils/dates.py:50 +msgid "dec" +msgstr "dec." + +#: utils/dates.py:53 +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Jan." + +#: utils/dates.py:54 +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Feb." + +#: utils/dates.py:55 +msgctxt "abbrev. month" +msgid "March" +msgstr "Mart" + +#: utils/dates.py:56 +msgctxt "abbrev. month" +msgid "April" +msgstr "April" + +#: utils/dates.py:57 +msgctxt "abbrev. month" +msgid "May" +msgstr "Maj" + +#: utils/dates.py:58 +msgctxt "abbrev. month" +msgid "June" +msgstr "Jun" + +#: utils/dates.py:59 +msgctxt "abbrev. month" +msgid "July" +msgstr "Jul" + +#: utils/dates.py:60 +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Avg." + +#: utils/dates.py:61 +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Sept." + +#: utils/dates.py:62 +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Okt." + +#: utils/dates.py:63 +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Nov." + +#: utils/dates.py:64 +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Dec." + +#: utils/dates.py:67 +msgctxt "alt. month" +msgid "January" +msgstr "Januar" + +#: utils/dates.py:68 +msgctxt "alt. month" +msgid "February" +msgstr "Februar" + +#: utils/dates.py:69 +msgctxt "alt. month" +msgid "March" +msgstr "Mart" + +#: utils/dates.py:70 +msgctxt "alt. month" +msgid "April" +msgstr "April" + +#: utils/dates.py:71 +msgctxt "alt. month" +msgid "May" +msgstr "Maj" + +#: utils/dates.py:72 +msgctxt "alt. month" +msgid "June" +msgstr "Jun" + +#: utils/dates.py:73 +msgctxt "alt. month" +msgid "July" +msgstr "Jul" + +#: utils/dates.py:74 +msgctxt "alt. month" +msgid "August" +msgstr "Avgust" + +#: utils/dates.py:75 +msgctxt "alt. month" +msgid "September" +msgstr "Septembar" + +#: utils/dates.py:76 +msgctxt "alt. month" +msgid "October" +msgstr "Oktobar" + +#: utils/dates.py:77 +msgctxt "alt. month" +msgid "November" +msgstr "Novembar" + +#: utils/dates.py:78 +msgctxt "alt. month" +msgid "December" +msgstr "Decembar" + +#: utils/ipv6.py:8 +msgid "This is not a valid IPv6 address." +msgstr "Ovo nije ispravna IPv6 adresa." + +#: utils/text.py:70 +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s..." + +#: utils/text.py:255 +msgid "or" +msgstr "ili" + +#. Translators: This string is used as a separator between list elements +#: utils/text.py:274 utils/timesince.py:135 +msgid ", " +msgstr "," + +#: utils/timesince.py:8 +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d godina" +msgstr[1] "%(num)d godine" +msgstr[2] "%(num)d godina" + +#: utils/timesince.py:9 +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d mesec" +msgstr[1] "%(num)d meseca" +msgstr[2] "%(num)d meseci" + +#: utils/timesince.py:10 +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d nedelja" +msgstr[1] "%(num)d nedelje" +msgstr[2] "%(num)d nedelja" + +#: utils/timesince.py:11 +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d dan" +msgstr[1] "%(num)d dana" +msgstr[2] "%(num)d dana" + +#: utils/timesince.py:12 +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d sat" +msgstr[1] "%(num)d sata" +msgstr[2] "%(num)d sati" + +#: utils/timesince.py:13 +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d minut" +msgstr[1] "%(num)d minuta" +msgstr[2] "%(num)d minuta" + +#: views/csrf.py:29 +msgid "Forbidden" +msgstr "Zabranjeno" + +#: views/csrf.py:30 +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF verifikacija nije prošla. Zahtev odbijen." + +#: views/csrf.py:34 +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "Ova poruka je prikazana jer ovaj HTTPS sajt zahteva da \"Referer header\" bude poslat od strane vašeg internet pregledača, što trenutno nije slučaj. Pomenuto zaglavlje je potrebno iz bezbedonosnih razloga, da bi se osiguralo da vaš pregledač nije pod kontrolom trećih lica." + +#: views/csrf.py:40 +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "Ako ste podesili internet pregledač da ne šalje \"Referer\" zaglavlja, ponovo ih uključite, barem za ovaj sajt, ili za HTTPS konekcije, ili za \"same-origin\" zahteve." + +#: views/csrf.py:45 +msgid "" +"If you are using the tag or" +" including the “Referrer-Policy: no-referrer” header, please remove them. " +"The CSRF protection requires the “Referer” header to do strict referer " +"checking. If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "Ako koristite tag ili \"Referrer-Policy: no-referrer\" zaglavlje, molimo da ih uklonite. CSRF zaštita zahteva \"Referer\" zaglavlje da bi se obavila striktna \"referrer\" provera. Ukoliko vas brine privatnost, koristite alternative kao za linkove ka drugim sajtovima." + +#: views/csrf.py:54 +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "Ova poruka je prikazana jer ovaj sajt zahteva CSRF kuki kada se prosleđuju podaci iz formi. Ovaj kuki je potreban iz sigurnosnih razloga, da bi se osiguralo da vaš pretraživač nije pod kontrolom trećih lica." + +#: views/csrf.py:60 +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "Ako je vaš internet pregedač podešen da onemogući kolačiće, molimo da ih uključite, barem za ovaj sajt, ili za \"same-origin\" zahteve." + +#: views/csrf.py:66 +msgid "More information is available with DEBUG=True." +msgstr "Više informacija je dostupno sa DEBUG=True." + +#: views/generic/dates.py:44 +msgid "No year specified" +msgstr "Godina nije naznačena" + +#: views/generic/dates.py:64 views/generic/dates.py:115 +#: views/generic/dates.py:214 +msgid "Date out of range" +msgstr "Datum van opsega" + +#: views/generic/dates.py:94 +msgid "No month specified" +msgstr "Mesec nije naznačen" + +#: views/generic/dates.py:147 +msgid "No day specified" +msgstr "Dan nije naznačen" + +#: views/generic/dates.py:194 +msgid "No week specified" +msgstr "Nedelja nije naznačena" + +#: views/generic/dates.py:349 views/generic/dates.py:380 +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Nedostupni objekti %(verbose_name_plural)s" + +#: views/generic/dates.py:652 +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because " +"%(class_name)s.allow_future is False." +msgstr "Opcija „future“ nije dostupna za „%(verbose_name_plural)s“ jer %(class_name)s.allow_future ima vrednost False." + +#: views/generic/dates.py:692 +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "Neispravan datum \"%(datestr)s\" za format \"%(format)s\"" + +#: views/generic/detail.py:56 +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Nijedan objekat klase %(verbose_name)s nije nađen datim upitom." + +#: views/generic/list.py:70 +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "Stranica nije poslednja, niti može biti konvertovana u tip \"int\"." + +#: views/generic/list.py:77 +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Neispravna strana (%(page_number)s): %(message)s" + +#: views/generic/list.py:169 +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Prazna lista i „%(class_name)s.allow_empty“ ima vrednost False." + +#: views/static.py:48 +msgid "Directory indexes are not allowed here." +msgstr "Indeksi direktorijuma nisu dozvoljeni ovde." + +#: views/static.py:50 +#, python-format +msgid "“%(path)s” does not exist" +msgstr "„%(path)s“ ne postoji" + +#: views/static.py:67 views/templates/directory_index.html:8 +#: views/templates/directory_index.html:11 +#, python-format +msgid "Index of %(directory)s" +msgstr "Indeks direktorijuma %(directory)s" + +#: views/templates/default_urlconf.html:7 +#: views/templates/default_urlconf.html:220 +msgid "The install worked successfully! Congratulations!" +msgstr "Instalacija je prošla uspešno. Čestitke!" + +#: views/templates/default_urlconf.html:206 +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "Pogledajte napomene uz izdanje za Đango %(version)s" + +#: views/templates/default_urlconf.html:221 +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file " +"and you have not configured any URLs." +msgstr "Ova strana je prikazana jer je DEBUG=True u vašim podešavanjima i niste konfigurisali nijedan URL." + +#: views/templates/default_urlconf.html:229 +msgid "Django Documentation" +msgstr "Đango dokumentacija" + +#: views/templates/default_urlconf.html:230 +msgid "Topics, references, & how-to’s" +msgstr "Teme, reference, & kako-da" + +#: views/templates/default_urlconf.html:238 +msgid "Tutorial: A Polling App" +msgstr "Uputstvo: aplikacija za glasanje" + +#: views/templates/default_urlconf.html:239 +msgid "Get started with Django" +msgstr "Počnite sa Đangom" + +#: views/templates/default_urlconf.html:247 +msgid "Django Community" +msgstr "Đango zajednica" + +#: views/templates/default_urlconf.html:248 +msgid "Connect, get help, or contribute" +msgstr "Povežite se, potražite pomoć ili dajte doprinos" diff --git a/external_sources/django/django/conf/locale/sr_Latn/__init__.py b/external_sources/django/django/conf/locale/sr_Latn/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/sr_Latn/formats.py b/external_sources/django/django/conf/locale/sr_Latn/formats.py new file mode 100644 index 0000000..0078895 --- /dev/null +++ b/external_sources/django/django/conf/locale/sr_Latn/formats.py @@ -0,0 +1,44 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j. F Y." +TIME_FORMAT = "H:i" +DATETIME_FORMAT = "j. F Y. H:i" +YEAR_MONTH_FORMAT = "F Y." +MONTH_DAY_FORMAT = "j. F" +SHORT_DATE_FORMAT = "j.m.Y." +SHORT_DATETIME_FORMAT = "j.m.Y. H:i" +FIRST_DAY_OF_WEEK = 1 + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d.%m.%Y.", # '25.10.2006.' + "%d.%m.%y.", # '25.10.06.' + "%d. %m. %Y.", # '25. 10. 2006.' + "%d. %m. %y.", # '25. 10. 06.' + # "%d. %b %y.", # '25. Oct 06.' + # "%d. %B %y.", # '25. October 06.' + # "%d. %b '%y.", # '25. Oct '06.' + # "%d. %B '%y.", #'25. October '06.' + # "%d. %b %Y.", # '25. Oct 2006.' + # "%d. %B %Y.", # '25. October 2006.' +] +DATETIME_INPUT_FORMATS = [ + "%d.%m.%Y. %H:%M:%S", # '25.10.2006. 14:30:59' + "%d.%m.%Y. %H:%M:%S.%f", # '25.10.2006. 14:30:59.000200' + "%d.%m.%Y. %H:%M", # '25.10.2006. 14:30' + "%d.%m.%y. %H:%M:%S", # '25.10.06. 14:30:59' + "%d.%m.%y. %H:%M:%S.%f", # '25.10.06. 14:30:59.000200' + "%d.%m.%y. %H:%M", # '25.10.06. 14:30' + "%d. %m. %Y. %H:%M:%S", # '25. 10. 2006. 14:30:59' + "%d. %m. %Y. %H:%M:%S.%f", # '25. 10. 2006. 14:30:59.000200' + "%d. %m. %Y. %H:%M", # '25. 10. 2006. 14:30' + "%d. %m. %y. %H:%M:%S", # '25. 10. 06. 14:30:59' + "%d. %m. %y. %H:%M:%S.%f", # '25. 10. 06. 14:30:59.000200' + "%d. %m. %y. %H:%M", # '25. 10. 06. 14:30' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "." +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/sv/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/sv/LC_MESSAGES/django.po new file mode 100644 index 0000000..d2f455d --- /dev/null +++ b/external_sources/django/django/conf/locale/sv/LC_MESSAGES/django.po @@ -0,0 +1,1362 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Albin Larsson , 2022 +# Alex Nordlund , 2012 +# Anders Hovmöller , 2023 +# Anders Jonsson , 2022 +# Andreas Pelme , 2014,2021 +# Elias Johnstone , 2022 +# Gustaf Hansen , 2015 +# Jannis Leidel , 2011 +# Jonathan Lindén, 2015 +# Jörgen Olofsson, 2024 +# Ken Lewerentz, 2022 +# Jonathan Lindén, 2014 +# Mattias Hansson , 2016 +# Mattias Benjaminsson , 2011 +# Petter Strandmark , 2019 +# Rasmus Précenth , 2014 +# Samuel Linde , 2011 +# Thomas Lundqvist, 2013,2016 +# Tomas Lööw , 2021 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 06:49+0000\n" +"Last-Translator: Jörgen Olofsson, 2024\n" +"Language-Team: Swedish (http://app.transifex.com/django/django/language/" +"sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "Afrikaans" + +msgid "Arabic" +msgstr "Arabiska" + +msgid "Algerian Arabic" +msgstr "Algerisk arabiska" + +msgid "Asturian" +msgstr "Asturiska" + +msgid "Azerbaijani" +msgstr "Azerbajdzjanska" + +msgid "Bulgarian" +msgstr "Bulgariska" + +msgid "Belarusian" +msgstr "Vitryska" + +msgid "Bengali" +msgstr "Bengaliska" + +msgid "Breton" +msgstr "Bretonska" + +msgid "Bosnian" +msgstr "Bosniska" + +msgid "Catalan" +msgstr "Katalanska" + +msgid "Central Kurdish (Sorani)" +msgstr "Kurdiska (Sorani)" + +msgid "Czech" +msgstr "Tjeckiska" + +msgid "Welsh" +msgstr "Walesiska" + +msgid "Danish" +msgstr "Danska" + +msgid "German" +msgstr "Tyska" + +msgid "Lower Sorbian" +msgstr "Lågsorbiska" + +msgid "Greek" +msgstr "Grekiska" + +msgid "English" +msgstr "Engelska" + +msgid "Australian English" +msgstr "Australisk engelska" + +msgid "British English" +msgstr "Brittisk engelska" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Spanska" + +msgid "Argentinian Spanish" +msgstr "Argentinsk spanska" + +msgid "Colombian Spanish" +msgstr "Colombiansk spanska" + +msgid "Mexican Spanish" +msgstr "Mexikansk spanska" + +msgid "Nicaraguan Spanish" +msgstr "Nicaraguansk spanska" + +msgid "Venezuelan Spanish" +msgstr "Spanska (Venezuela)" + +msgid "Estonian" +msgstr "Estländska" + +msgid "Basque" +msgstr "Baskiska" + +msgid "Persian" +msgstr "Persiska" + +msgid "Finnish" +msgstr "Finska" + +msgid "French" +msgstr "Franska" + +msgid "Frisian" +msgstr "Frisiska" + +msgid "Irish" +msgstr "Irländska" + +msgid "Scottish Gaelic" +msgstr "Skotsk gäliska" + +msgid "Galician" +msgstr "Galisiska" + +msgid "Hebrew" +msgstr "Hebreiska" + +msgid "Hindi" +msgstr "Hindi" + +msgid "Croatian" +msgstr "Kroatiska" + +msgid "Upper Sorbian" +msgstr "Högsorbiska" + +msgid "Hungarian" +msgstr "Ungerska" + +msgid "Armenian" +msgstr "Armeniska" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indonesiska" + +msgid "Igbo" +msgstr "Igbo" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Isländska" + +msgid "Italian" +msgstr "Italienska" + +msgid "Japanese" +msgstr "Japanska" + +msgid "Georgian" +msgstr "Georgiska" + +msgid "Kabyle" +msgstr "Kabyliska" + +msgid "Kazakh" +msgstr "Kazakiska" + +msgid "Khmer" +msgstr "Khmer" + +msgid "Kannada" +msgstr "Kannada" + +msgid "Korean" +msgstr "Koreanska" + +msgid "Kyrgyz" +msgstr "Kirgiziska" + +msgid "Luxembourgish" +msgstr "Luxemburgiska" + +msgid "Lithuanian" +msgstr "Lettiska" + +msgid "Latvian" +msgstr "Lettiska" + +msgid "Macedonian" +msgstr "Makedonska" + +msgid "Malayalam" +msgstr "Malayalam" + +msgid "Mongolian" +msgstr "Mongoliska" + +msgid "Marathi" +msgstr "Marathi" + +msgid "Malay" +msgstr "Malajiska" + +msgid "Burmese" +msgstr "Burmesiska" + +msgid "Norwegian Bokmål" +msgstr "Norskt Bokmål" + +msgid "Nepali" +msgstr "Nepali" + +msgid "Dutch" +msgstr "Holländska" + +msgid "Norwegian Nynorsk" +msgstr "Norska (nynorsk)" + +msgid "Ossetic" +msgstr "Ossetiska" + +msgid "Punjabi" +msgstr "Punjabi" + +msgid "Polish" +msgstr "Polska" + +msgid "Portuguese" +msgstr "Portugisiska" + +msgid "Brazilian Portuguese" +msgstr "Brasiliensk portugisiska" + +msgid "Romanian" +msgstr "Rumänska" + +msgid "Russian" +msgstr "Ryska" + +msgid "Slovak" +msgstr "Slovakiska" + +msgid "Slovenian" +msgstr "Slovenska" + +msgid "Albanian" +msgstr "Albanska" + +msgid "Serbian" +msgstr "Serbiska" + +msgid "Serbian Latin" +msgstr "Serbiska (latin)" + +msgid "Swedish" +msgstr "Svenska" + +msgid "Swahili" +msgstr "Swahili" + +msgid "Tamil" +msgstr "Tamilska" + +msgid "Telugu" +msgstr "Telugu" + +msgid "Tajik" +msgstr "Tadzjikiska" + +msgid "Thai" +msgstr "Thailändska" + +msgid "Turkmen" +msgstr "Turkmeniska" + +msgid "Turkish" +msgstr "Turkiska" + +msgid "Tatar" +msgstr "Tatariska" + +msgid "Udmurt" +msgstr "Udmurtiska" + +msgid "Uyghur" +msgstr "Uiguriska" + +msgid "Ukrainian" +msgstr "Ukrainska" + +msgid "Urdu" +msgstr "Urdu" + +msgid "Uzbek" +msgstr "Uzbekiska" + +msgid "Vietnamese" +msgstr "Vietnamesiska" + +msgid "Simplified Chinese" +msgstr "Förenklad Kinesiska" + +msgid "Traditional Chinese" +msgstr "Traditionell Kinesiska" + +msgid "Messages" +msgstr "Meddelanden" + +msgid "Site Maps" +msgstr "Sidkartor" + +msgid "Static Files" +msgstr "Statiska filer" + +msgid "Syndication" +msgstr "Syndikering" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "..." + +msgid "That page number is not an integer" +msgstr "Sidnumret är inte ett heltal" + +msgid "That page number is less than 1" +msgstr "Sidnumret är mindre än 1" + +msgid "That page contains no results" +msgstr "Sidan innehåller inga resultat" + +msgid "Enter a valid value." +msgstr "Fyll i ett giltigt värde." + +msgid "Enter a valid domain name." +msgstr "Fyll i ett giltigt domännamn." + +msgid "Enter a valid URL." +msgstr "Fyll i en giltig URL." + +msgid "Enter a valid integer." +msgstr "Fyll i ett giltigt heltal." + +msgid "Enter a valid email address." +msgstr "Fyll i en giltig e-postadress." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Fyll i en giltig 'slug', beståendes av bokstäver, siffror, understreck eller " +"bindestreck i Unicode." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Fyll i en giltig 'slug', beståendes av bokstäver, siffror, understreck eller " +"bindestreck i Unicode." + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "Fyll i en giltig %(protocol)s adress." + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "IPv4 or IPv6" +msgstr "IPv4 eller IPv6" + +msgid "Enter only digits separated by commas." +msgstr "Fyll enbart i siffror separerade med kommatecken." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Kontrollera att detta värde är %(limit_value)s (det är %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" +"Kontrollera att detta värde är mindre än eller lika med %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" +"Kontrollera att detta värde är större än eller lika med %(limit_value)s." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "" +"Kontrollera att detta värde är multipel av stegstorlek %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"Kontrollera att detta värde är en multipel med stegstorlek %(limit_value)s, " +"med början från %(offset)s, t ex. %(offset)s, %(valid_value1)s, " +"%(valid_value2)s och så vidare" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Säkerställ att detta värde åtminstone har %(limit_value)d tecken (den har " +"%(show_value)d)." +msgstr[1] "" +"Säkerställ att detta värde åtminstone har %(limit_value)d tecken (den har " +"%(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Säkerställ att detta värde har som mest %(limit_value)d tecken (den har " +"%(show_value)d)." +msgstr[1] "" +"Säkerställ att detta värde har som mest %(limit_value)d tecken (den har " +"%(show_value)d)." + +msgid "Enter a number." +msgstr "Fyll i ett tal." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Säkerställ att det inte är mer än %(max)s siffra totalt." +msgstr[1] "Säkerställ att det inte är mer än %(max)s siffror totalt." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Säkerställ att det inte är mer än %(max)s decimal." +msgstr[1] "Säkerställ att det inte är mer än %(max)s decimaler." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Säkerställ att det inte är mer än %(max)s siffra före decimalavskiljaren." +msgstr[1] "" +"Säkerställ att det inte är mer än %(max)s siffror före decimalavskiljaren." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Filändelsen “%(extension)s” är inte giltig. Giltiga filändelser är: " +"%(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Null-tecken är inte tillåtna." + +msgid "and" +msgstr "och" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s med samma %(field_labels)s finns redan." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "Begränsningen “%(name)s” överträds." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Värdet %(value)r är inget giltigt alternativ." + +msgid "This field cannot be null." +msgstr "Detta fält får inte vara null." + +msgid "This field cannot be blank." +msgstr "Detta fält får inte vara tomt." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s med detta %(field_label)s finns redan." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s måste vara unikt för %(date_field_label)s %(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Fält av typ: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "Värdet \"%(value)s\" måste vara antingen True eller False." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "Värdet ”%(value)s” måste vara antingen True, False eller None." + +msgid "Boolean (Either True or False)" +msgstr "Boolesk (antingen True eller False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Sträng (upp till %(max_length)s)" + +msgid "String (unlimited)" +msgstr "Sträng (obegränsad)" + +msgid "Comma-separated integers" +msgstr "Komma-separerade heltal" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"“%(value)s” har ett ogiltigt datumformat. Det måste vara i formatet YYYY-MM-" +"DD." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"Värdet “%(value)s” har det giltiga formatet (YYYY-MM-DD) men det är ett " +"ogiltigt datum." + +msgid "Date (without time)" +msgstr "Datum (utan tid)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"“%(value)s” har ett ogiltigt format. Det måste vara i formatet YYYY-MM-DD HH:" +"MM[:ss[.uuuuuu]][TZ]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"“%(value)s” har det giltiga formatet (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]) " +"men ett ogiltigt datum/tid." + +msgid "Date (with time)" +msgstr "Datum (med tid)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "Värdet “%(value)s” måste vara ett decimaltal." + +msgid "Decimal number" +msgstr "Decimaltal" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"“%(value)s” har ett ogiltigt format. Det måste vara i formatet [DD] " +"[[HH:]MM:]ss[.uuuuuu]." + +msgid "Duration" +msgstr "Tidsspann" + +msgid "Email address" +msgstr "E-postadress" + +msgid "File path" +msgstr "Sökväg till fil" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "Värdet \"%(value)s\" måste vara ett flyttal." + +msgid "Floating point number" +msgstr "Flyttal" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "Värdet \"%(value)s\" måste vara ett heltal." + +msgid "Integer" +msgstr "Heltal" + +msgid "Big (8 byte) integer" +msgstr "Stort (8 byte) heltal" + +msgid "Small integer" +msgstr "Litet heltal" + +msgid "IPv4 address" +msgstr "IPv4-adress" + +msgid "IP address" +msgstr "IP-adress" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "Värdet ”%(value)s” måste vara antingen None, True eller False." + +msgid "Boolean (Either True, False or None)" +msgstr "Boolesk (antingen True, False eller None)" + +msgid "Positive big integer" +msgstr "Positivt stort heltal" + +msgid "Positive integer" +msgstr "Positivt heltal" + +msgid "Positive small integer" +msgstr "Positivt litet heltal" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (upp till %(max_length)s)" + +msgid "Text" +msgstr "Text" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"“%(value)s” har ett ogiltigt format. Det måste vara i formatet HH:MM[:ss[." +"uuuuuu]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"Värdet “%(value)s” har det giltiga formatet (HH:MM[:ss[.uuuuuu]]) men det är " +"en ogiltig tid." + +msgid "Time" +msgstr "Tid" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Rå binärdata" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "“%(value)s” är inget giltigt UUID." + +msgid "Universally unique identifier" +msgstr "Globalt unik identifierare" + +msgid "File" +msgstr "Fil" + +msgid "Image" +msgstr "Bild" + +msgid "A JSON object" +msgstr "Ett JSON-objekt" + +msgid "Value must be valid JSON." +msgstr "Värdet måste vara giltig JSON." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "Modell %(model)s med %(field)s %(value)r finns inte." + +msgid "Foreign Key (type determined by related field)" +msgstr "Främmande nyckel (typ bestäms av relaterat fält)" + +msgid "One-to-one relationship" +msgstr "Ett-till-ett-samband" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s relation" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s relationer" + +msgid "Many-to-many relationship" +msgstr "Många-till-många-samband" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Detta fält måste fyllas i." + +msgid "Enter a whole number." +msgstr "Fyll i ett heltal." + +msgid "Enter a valid date." +msgstr "Fyll i ett giltigt datum." + +msgid "Enter a valid time." +msgstr "Fyll i en giltig tid." + +msgid "Enter a valid date/time." +msgstr "Fyll i ett giltigt datum/tid." + +msgid "Enter a valid duration." +msgstr "Fyll i ett giltigt tidsspann." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Antalet dagar måste vara mellan {min_days} och {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Ingen fil skickades. Kontrollera kodningstypen i formuläret." + +msgid "No file was submitted." +msgstr "Ingen fil skickades." + +msgid "The submitted file is empty." +msgstr "Den skickade filen är tom." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Säkerställ att filnamnet har som mest %(max)d tecken (den har %(length)d)." +msgstr[1] "" +"Säkerställ att filnamnet har som mest %(max)d tecken (den har %(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Var vänlig antingen skicka en fil eller markera kryssrutan för att rensa, " +"inte både och. " + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Ladda upp en giltig bild. Filen du laddade upp var antingen ingen bild eller " +"en korrupt bild." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Välj ett giltigt alternativ. %(value)s finns inte bland tillgängliga " +"alternativ." + +msgid "Enter a list of values." +msgstr "Fyll i en lista med värden." + +msgid "Enter a complete value." +msgstr "Fyll i ett fullständigt värde." + +msgid "Enter a valid UUID." +msgstr "Fyll i ett giltigt UUID." + +msgid "Enter a valid JSON." +msgstr "Fyll i ett giltigt JSON." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Gömt fält %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"ManagementForm-data saknas eller har manipulerats. Saknade fält: " +"%(field_names)s. Du kan behöva lämna in en felrapport om problemet kvarstår." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Vänligen skicka som mest %(num)d formulär." +msgstr[1] "Vänligen skicka som mest %(num)d formulär." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Vänligen skicka minst %(num)d formulär." +msgstr[1] "Vänligen skicka minst %(num)d formulär." + +msgid "Order" +msgstr "Sortering" + +msgid "Delete" +msgstr "Radera" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Var vänlig korrigera duplikatdata för %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "Var vänlig korrigera duplikatdata för %(field)s, som måste vara unik." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Var vänlig korrigera duplikatdata för %(field_name)s som måste vara unik för " +"%(lookup)s i %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Vänligen korrigera duplikatvärdena nedan." + +msgid "The inline value did not match the parent instance." +msgstr "Värdet för InlineForeignKeyField motsvarade inte dess motpart." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Välj ett giltigt alternativ. Det valet finns inte bland tillgängliga " +"alternativ." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "“%(pk)s” är inte ett giltigt värde." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s kunde inte tolkas i tidszonen %(current_timezone)s; det kan " +"vara en ogiltig eller tvetydigt tidpunkt." + +msgid "Clear" +msgstr "Rensa" + +msgid "Currently" +msgstr "Nuvarande" + +msgid "Change" +msgstr "Ändra" + +msgid "Unknown" +msgstr "Okänt" + +msgid "Yes" +msgstr "Ja" + +msgid "No" +msgstr "Nej" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "ja,nej,kanske" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d byte" +msgstr[1] "%(size)d byte" + +#, python-format +msgid "%s KB" +msgstr "%s kB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "e.m." + +msgid "a.m." +msgstr "f.m." + +msgid "PM" +msgstr "FM" + +msgid "AM" +msgstr "EM" + +msgid "midnight" +msgstr "midnatt" + +msgid "noon" +msgstr "middag" + +msgid "Monday" +msgstr "måndag" + +msgid "Tuesday" +msgstr "tisdag" + +msgid "Wednesday" +msgstr "onsdag" + +msgid "Thursday" +msgstr "torsdag" + +msgid "Friday" +msgstr "fredag" + +msgid "Saturday" +msgstr "lördag" + +msgid "Sunday" +msgstr "söndag" + +msgid "Mon" +msgstr "mån" + +msgid "Tue" +msgstr "tis" + +msgid "Wed" +msgstr "ons" + +msgid "Thu" +msgstr "tors" + +msgid "Fri" +msgstr "fre" + +msgid "Sat" +msgstr "lör" + +msgid "Sun" +msgstr "sön" + +msgid "January" +msgstr "januari" + +msgid "February" +msgstr "februari" + +msgid "March" +msgstr "mars" + +msgid "April" +msgstr "april" + +msgid "May" +msgstr "maj" + +msgid "June" +msgstr "juni" + +msgid "July" +msgstr "juli" + +msgid "August" +msgstr "augusti" + +msgid "September" +msgstr "september" + +msgid "October" +msgstr "oktober" + +msgid "November" +msgstr "november" + +msgid "December" +msgstr "december" + +msgid "jan" +msgstr "jan" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "apr" + +msgid "may" +msgstr "maj" + +msgid "jun" +msgstr "jun" + +msgid "jul" +msgstr "jul" + +msgid "aug" +msgstr "aug" + +msgid "sep" +msgstr "sep" + +msgid "oct" +msgstr "okt" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "dec" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "jan" + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "feb" + +msgctxt "abbrev. month" +msgid "March" +msgstr "mars" + +msgctxt "abbrev. month" +msgid "April" +msgstr "april" + +msgctxt "abbrev. month" +msgid "May" +msgstr "maj" + +msgctxt "abbrev. month" +msgid "June" +msgstr "juni" + +msgctxt "abbrev. month" +msgid "July" +msgstr "juli" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "aug" + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "sep" + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "okt" + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "nov" + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "dec" + +msgctxt "alt. month" +msgid "January" +msgstr "januari" + +msgctxt "alt. month" +msgid "February" +msgstr "februari" + +msgctxt "alt. month" +msgid "March" +msgstr "mars" + +msgctxt "alt. month" +msgid "April" +msgstr "april" + +msgctxt "alt. month" +msgid "May" +msgstr "maj" + +msgctxt "alt. month" +msgid "June" +msgstr "juni" + +msgctxt "alt. month" +msgid "July" +msgstr "juli" + +msgctxt "alt. month" +msgid "August" +msgstr "augusti" + +msgctxt "alt. month" +msgid "September" +msgstr "september" + +msgctxt "alt. month" +msgid "October" +msgstr "oktober" + +msgctxt "alt. month" +msgid "November" +msgstr "november" + +msgctxt "alt. month" +msgid "December" +msgstr "december" + +msgid "This is not a valid IPv6 address." +msgstr "Detta är inte en giltig IPv6 adress." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "eller" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d år" +msgstr[1] "%(num)d år" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d månad" +msgstr[1] "%(num)d månader" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d vecka" +msgstr[1] "%(num)d veckor" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d dag" +msgstr[1] "%(num)d dagar" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d timme" +msgstr[1] "%(num)d timmar" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d minut" +msgstr[1] "%(num)d minuter" + +msgid "Forbidden" +msgstr "Otillåtet" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF-verifikation misslyckades. Förfrågan avbröts." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Du ser detta meddelande eftersom denna HTTPS-sida kräver att en “Referer " +"header” skickas från din webbläsare, men ingen skickades. Denna header krävs " +"av säkerhetsskäl, för att säkerställa att din webbläsare inte kapats." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Om 'Referer' headers är inaktiverade i din webbläsare, vänligen återaktivera " +"dem, åtminstone för denna sida, eller för HTTPS-anslutningar eller för 'same-" +"origin'-förfrågningar." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Om du använder -taggen eller " +"har med ”Referrer-Policy: no-referrer”, ta bort dem. CSRF-skyddet kräver " +"”Referer” för att kunna göra sin strikta kontroll. Om du oroar dig över din " +"integritet, använd alternativ såsom för länkar " +"till tredjepart." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Du ser detta meddelande eftersom denna sida kräver en CSRF-cookie när " +"formulär skickas. Denna cookie krävs av säkerhetsskäl, för att säkerställa " +"att din webbläsare inte kapats." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Om cookies är inaktiverade i din webbläsare, vänligen återaktivera dem, " +"åtminstone för denna sida eller för “same-origin”-förfrågningar." + +msgid "More information is available with DEBUG=True." +msgstr "Mer information är tillgänglig med DEBUG=True." + +msgid "No year specified" +msgstr "Inget år angivet" + +msgid "Date out of range" +msgstr "Datum är utanför intervallet" + +msgid "No month specified" +msgstr "Ingen månad angiven" + +msgid "No day specified" +msgstr "Ingen dag angiven" + +msgid "No week specified" +msgstr "Ingen vecka angiven" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Inga %(verbose_name_plural)s är tillgängliga" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Framtida %(verbose_name_plural)s är inte tillgängliga eftersom " +"%(class_name)s.allow_future är False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "Ogiltig datumsträng “%(datestr)s” med givet format “%(format)s”" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Hittade inga %(verbose_name)s som matchar frågan" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "Sidan är inte 'last', och kan inte heller omvandlas till en int." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Ogiltig sida (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Tom lista och '%(class_name)s.allow_empty' är False." + +msgid "Directory indexes are not allowed here." +msgstr "Kataloglistningar är inte tillåtna här." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "\"%(path)s\" finns inte" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Innehåll i %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "Installationen lyckades! Grattis!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Visa release notes för Django %(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Du ser den här sidan eftersom DEBUG=True i din settings-fil och du har inte " +"konfigurerat några URL:er." + +msgid "Django Documentation" +msgstr "Djangodokumentation" + +msgid "Topics, references, & how-to’s" +msgstr "Ämnen, referenser och how-to’s" + +msgid "Tutorial: A Polling App" +msgstr "Tutorial: En undersöknings-app" + +msgid "Get started with Django" +msgstr "Kom igång med Django" + +msgid "Django Community" +msgstr "Djangos community" + +msgid "Connect, get help, or contribute" +msgstr "Kontakta, begär hjälp eller bidra" diff --git a/external_sources/django/django/conf/locale/sv/__init__.py b/external_sources/django/django/conf/locale/sv/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/sv/formats.py b/external_sources/django/django/conf/locale/sv/formats.py new file mode 100644 index 0000000..29e6317 --- /dev/null +++ b/external_sources/django/django/conf/locale/sv/formats.py @@ -0,0 +1,35 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j F Y" +TIME_FORMAT = "H:i" +DATETIME_FORMAT = "j F Y H:i" +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "Y-m-d" +SHORT_DATETIME_FORMAT = "Y-m-d H:i" +FIRST_DAY_OF_WEEK = 1 + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# Kept ISO formats as they are in first position +DATE_INPUT_FORMATS = [ + "%Y-%m-%d", # '2006-10-25' + "%m/%d/%Y", # '10/25/2006' + "%m/%d/%y", # '10/25/06' +] +DATETIME_INPUT_FORMATS = [ + "%Y-%m-%d %H:%M:%S", # '2006-10-25 14:30:59' + "%Y-%m-%d %H:%M:%S.%f", # '2006-10-25 14:30:59.000200' + "%Y-%m-%d %H:%M", # '2006-10-25 14:30' + "%m/%d/%Y %H:%M:%S", # '10/25/2006 14:30:59' + "%m/%d/%Y %H:%M:%S.%f", # '10/25/2006 14:30:59.000200' + "%m/%d/%Y %H:%M", # '10/25/2006 14:30' + "%m/%d/%y %H:%M:%S", # '10/25/06 14:30:59' + "%m/%d/%y %H:%M:%S.%f", # '10/25/06 14:30:59.000200' + "%m/%d/%y %H:%M", # '10/25/06 14:30' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "\xa0" # non-breaking space +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/sw/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/sw/LC_MESSAGES/django.po new file mode 100644 index 0000000..273893d --- /dev/null +++ b/external_sources/django/django/conf/locale/sw/LC_MESSAGES/django.po @@ -0,0 +1,1221 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Machaku, 2015 +# Machaku, 2014 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-27 22:40+0200\n" +"PO-Revision-Date: 2019-11-05 00:38+0000\n" +"Last-Translator: Ramiro Morales\n" +"Language-Team: Swahili (http://www.transifex.com/django/django/language/" +"sw/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sw\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "Kiafrikaani" + +msgid "Arabic" +msgstr "Kiarabu" + +msgid "Asturian" +msgstr "" + +msgid "Azerbaijani" +msgstr "Kiazerbaijani" + +msgid "Bulgarian" +msgstr "Kibulgaria" + +msgid "Belarusian" +msgstr "Kibelarusi" + +msgid "Bengali" +msgstr "Kibengali" + +msgid "Breton" +msgstr "Kibretoni" + +msgid "Bosnian" +msgstr "Kibosnia" + +msgid "Catalan" +msgstr "Kikatalani" + +msgid "Czech" +msgstr "Kicheki" + +msgid "Welsh" +msgstr "Kiweli" + +msgid "Danish" +msgstr "Kideni" + +msgid "German" +msgstr "Kijerumani" + +msgid "Lower Sorbian" +msgstr "" + +msgid "Greek" +msgstr "Kigiriki" + +msgid "English" +msgstr "Kiingereza" + +msgid "Australian English" +msgstr "Kiingereza cha Kiaustalia" + +msgid "British English" +msgstr "Kiingereza cha Uingereza" + +msgid "Esperanto" +msgstr "Kiesperanto" + +msgid "Spanish" +msgstr "Kihispania" + +msgid "Argentinian Spanish" +msgstr "Kihispania cha Argentina" + +msgid "Colombian Spanish" +msgstr "" + +msgid "Mexican Spanish" +msgstr "Kihispania cha Mexico" + +msgid "Nicaraguan Spanish" +msgstr "Kihispania cha Nikaragua" + +msgid "Venezuelan Spanish" +msgstr "Kihispania cha Kivenezuela" + +msgid "Estonian" +msgstr "Kiestonia" + +msgid "Basque" +msgstr "Kibaskyue" + +msgid "Persian" +msgstr "Kipershia" + +msgid "Finnish" +msgstr "Kifini" + +msgid "French" +msgstr "Kifaransa" + +msgid "Frisian" +msgstr "Kifrisi" + +msgid "Irish" +msgstr "Kiairishi" + +msgid "Scottish Gaelic" +msgstr "" + +msgid "Galician" +msgstr "Kigalatia" + +msgid "Hebrew" +msgstr "Kiyahudi" + +msgid "Hindi" +msgstr "Kihindi" + +msgid "Croatian" +msgstr "Kikroeshia" + +msgid "Upper Sorbian" +msgstr "" + +msgid "Hungarian" +msgstr "Kihangaria" + +msgid "Armenian" +msgstr "" + +msgid "Interlingua" +msgstr "" + +msgid "Indonesian" +msgstr "Kiindonesia" + +msgid "Ido" +msgstr "" + +msgid "Icelandic" +msgstr "Kiaiselandi" + +msgid "Italian" +msgstr "Kiitaliano" + +msgid "Japanese" +msgstr "Kijapani" + +msgid "Georgian" +msgstr "Kijiojia" + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "Kizakhi" + +msgid "Khmer" +msgstr "Kihema" + +msgid "Kannada" +msgstr "Kikanada" + +msgid "Korean" +msgstr "Kikorea" + +msgid "Luxembourgish" +msgstr "" + +msgid "Lithuanian" +msgstr "Kilithuania" + +msgid "Latvian" +msgstr "Kilatvia" + +msgid "Macedonian" +msgstr "Kimacedonia" + +msgid "Malayalam" +msgstr "Kimalayalam" + +msgid "Mongolian" +msgstr "Kimongolia" + +msgid "Marathi" +msgstr "" + +msgid "Burmese" +msgstr "" + +msgid "Norwegian Bokmål" +msgstr "" + +msgid "Nepali" +msgstr "Kinepali" + +msgid "Dutch" +msgstr "Kidachi" + +msgid "Norwegian Nynorsk" +msgstr "Kinynorki cha Kinorwei" + +msgid "Ossetic" +msgstr "" + +msgid "Punjabi" +msgstr "Kipanjabi" + +msgid "Polish" +msgstr "Kipolishi" + +msgid "Portuguese" +msgstr "Kireno" + +msgid "Brazilian Portuguese" +msgstr "Kireno cha Kibrazili" + +msgid "Romanian" +msgstr "Kiromania" + +msgid "Russian" +msgstr "Kirusi" + +msgid "Slovak" +msgstr "Kislovakia" + +msgid "Slovenian" +msgstr "Kislovenia" + +msgid "Albanian" +msgstr "Kialbania" + +msgid "Serbian" +msgstr "Kiserbia" + +msgid "Serbian Latin" +msgstr "Kilatini cha Kiserbia" + +msgid "Swedish" +msgstr "Kiswidi" + +msgid "Swahili" +msgstr "Kiswahili" + +msgid "Tamil" +msgstr "Kitamili" + +msgid "Telugu" +msgstr "kitegulu" + +msgid "Thai" +msgstr "Kithai" + +msgid "Turkish" +msgstr "Kituruki" + +msgid "Tatar" +msgstr "Kitatari" + +msgid "Udmurt" +msgstr "" + +msgid "Ukrainian" +msgstr "Kiukreni" + +msgid "Urdu" +msgstr "Kiurdu" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "Kivietinamu" + +msgid "Simplified Chinese" +msgstr "Kichina Kilichorahisishwa" + +msgid "Traditional Chinese" +msgstr "Kichina Asilia" + +msgid "Messages" +msgstr "" + +msgid "Site Maps" +msgstr "" + +msgid "Static Files" +msgstr "" + +msgid "Syndication" +msgstr "" + +msgid "That page number is not an integer" +msgstr "" + +msgid "That page number is less than 1" +msgstr "" + +msgid "That page contains no results" +msgstr "" + +msgid "Enter a valid value." +msgstr "Ingiza thamani halali" + +msgid "Enter a valid URL." +msgstr "Ingiza URL halali." + +msgid "Enter a valid integer." +msgstr "Ingiza namba halali" + +msgid "Enter a valid email address." +msgstr "Ingiza anuani halali ya barua pepe" + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "Ingiza anuani halali ya IPV4" + +msgid "Enter a valid IPv6 address." +msgstr "Ingiza anuani halali ya IPV6" + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Ingiza anuani halali za IPV4 au IPV6" + +msgid "Enter only digits separated by commas." +msgstr "Ingiza tarakimu zilizotenganishwa kwa koma tu." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Hakikisha thamani hii ni %(limit_value)s (ni %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Hakikisha thamani hii ni ndogo kuliko au sawa na %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Hakikisha thamani hii ni kubwa kuliko au sawa na %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Enter a number." +msgstr "Ingiza namba" + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "" + +msgid "and" +msgstr "na" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "" + +msgid "This field cannot be null." +msgstr "Uga huu hauwezi kuwa hauna kitu." + +msgid "This field cannot be blank." +msgstr "Uga huu hauwezi kuwa mtupu" + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "Tayari kuna %(field_label)s kwa %(model_name)s nyingine." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Uga wa aina %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "Buleani (Aidha Kweli au Si kweli)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Tungo (hadi %(max_length)s)" + +msgid "Comma-separated integers" +msgstr "Inteja zilizotengwa kwa koma" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "Tarehe (bila ya muda)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "Tarehe (pamoja na muda)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "Namba ya desimali" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "" + +msgid "Email address" +msgstr "Anuani ya baruapepe" + +msgid "File path" +msgstr "Njia ya faili" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "Namba ya `floating point`" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "Inteja" + +msgid "Big (8 byte) integer" +msgstr "Inteja kubwa (baiti 8)" + +msgid "IPv4 address" +msgstr "anuani ya IPV4" + +msgid "IP address" +msgstr "anuani ya IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "Buleani (Aidha kweli, Si kweli au Hukuna)" + +msgid "Positive integer" +msgstr "Inteja chanya" + +msgid "Positive small integer" +msgstr "Inteja chanya ndogo" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slagi (hadi %(max_length)s)" + +msgid "Small integer" +msgstr "Inteja ndogo" + +msgid "Text" +msgstr "Maandishi" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "Muda" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "Faili" + +msgid "Image" +msgstr "Picha" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" + +msgid "Foreign Key (type determined by related field)" +msgstr "'Foreign Key' (aina inapatikana kwa uga unaohusiana)" + +msgid "One-to-one relationship" +msgstr "Uhusiano wa moja-kwa-moja" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "" + +msgid "Many-to-many relationship" +msgstr "Uhusiano wa vingi-kwa-vingi" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Sehemu hii inahitajika" + +msgid "Enter a whole number." +msgstr "Ingiza namba kamili" + +msgid "Enter a valid date." +msgstr "Ingiza tarehe halali" + +msgid "Enter a valid time." +msgstr "Ingiza muda halali" + +msgid "Enter a valid date/time." +msgstr "Ingiza tarehe/muda halali" + +msgid "Enter a valid duration." +msgstr "" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Hakuna faili lililokusanywa. Angalia aina ya msimbo kwenye fomu." + +msgid "No file was submitted." +msgstr "Hakuna faili lililokusanywa." + +msgid "The submitted file is empty." +msgstr "Faili lililokusanywa ni tupu." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Tafadhali aidha kusanya faili au tiki kisanduku kilicho wazi, si yote." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Pakia picha halali. Faili ulilopakia lilikua aidha si picha au ni picha " +"iliyopotoshwa." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Chagua chaguo halali. %(value)s si moja kati ya machaguo yaliyopo." + +msgid "Enter a list of values." +msgstr "Ingiza orodha ya thamani" + +msgid "Enter a complete value." +msgstr "" + +msgid "Enter a valid UUID." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "" +msgstr[1] "" + +msgid "Order" +msgstr "Panga" + +msgid "Delete" +msgstr "Futa" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Tafadhali rekebisha data zilizojirudia kwa %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Tafadhali rekebisha data zilizojirudia kwa %(field)s, zinazotakiwa kuwa za " +"kipekee." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Tafadhali sahihisha data zilizojirudia kwa %(field_name)s ,uga huu ni lazima " +"kuwa wa pekee kwa %(lookup)s katika %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Tafadhali sahihisha thamani zilizojirudia hapo chini." + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Chagua chaguo halali. Chaguo hilo si moja kati ya chaguzi halali" + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "Safisha" + +msgid "Currently" +msgstr "Kwa sasa" + +msgid "Change" +msgstr "Badili" + +msgid "Unknown" +msgstr "Haijulikani" + +msgid "Yes" +msgstr "Ndiyo" + +msgid "No" +msgstr "Hapana" + +msgid "Year" +msgstr "" + +msgid "Month" +msgstr "" + +msgid "Day" +msgstr "" + +msgid "yes,no,maybe" +msgstr "ndiyo,hapana,labda" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "baiti %(size)d" +msgstr[1] "baiti %(size)d" + +#, python-format +msgid "%s KB" +msgstr "KB %s" + +#, python-format +msgid "%s MB" +msgstr "MB %s" + +#, python-format +msgid "%s GB" +msgstr "GB %s" + +#, python-format +msgid "%s TB" +msgstr "TB %s" + +#, python-format +msgid "%s PB" +msgstr "PB %s" + +msgid "p.m." +msgstr "p.m" + +msgid "a.m." +msgstr "a.m" + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "usiku wa manane" + +msgid "noon" +msgstr "mchana" + +msgid "Monday" +msgstr "Jumatatu" + +msgid "Tuesday" +msgstr "Jumanne" + +msgid "Wednesday" +msgstr "Jumatano" + +msgid "Thursday" +msgstr "Alhamisi" + +msgid "Friday" +msgstr "Ijumaa" + +msgid "Saturday" +msgstr "Jumamosi" + +msgid "Sunday" +msgstr "Jumapili" + +msgid "Mon" +msgstr "Jtatu" + +msgid "Tue" +msgstr "Jnne" + +msgid "Wed" +msgstr "jtano" + +msgid "Thu" +msgstr "Alh" + +msgid "Fri" +msgstr "Ijmaa" + +msgid "Sat" +msgstr "Jmosi" + +msgid "Sun" +msgstr "Jpili" + +msgid "January" +msgstr "Januari" + +msgid "February" +msgstr "Februari" + +msgid "March" +msgstr "Machi" + +msgid "April" +msgstr "Aprili" + +msgid "May" +msgstr "Mei" + +msgid "June" +msgstr "Juni" + +msgid "July" +msgstr "Julai" + +msgid "August" +msgstr "Agosti" + +msgid "September" +msgstr "Septemba" + +msgid "October" +msgstr "Oktoba" + +msgid "November" +msgstr "Novemba" + +msgid "December" +msgstr "Disemba" + +msgid "jan" +msgstr "jan" + +msgid "feb" +msgstr "feb" + +msgid "mar" +msgstr "machi" + +msgid "apr" +msgstr "apr" + +msgid "may" +msgstr "mei" + +msgid "jun" +msgstr "Juni" + +msgid "jul" +msgstr "jul" + +msgid "aug" +msgstr "ago" + +msgid "sep" +msgstr "sep" + +msgid "oct" +msgstr "okt" + +msgid "nov" +msgstr "nov" + +msgid "dec" +msgstr "dis" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Jan." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Feb." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Machi" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Aprili" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Mei" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Juni" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Julai" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Ago." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Sep." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Okt." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Nov." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Dis." + +msgctxt "alt. month" +msgid "January" +msgstr "Januari" + +msgctxt "alt. month" +msgid "February" +msgstr "Februari" + +msgctxt "alt. month" +msgid "March" +msgstr "Machi" + +msgctxt "alt. month" +msgid "April" +msgstr "Aprili" + +msgctxt "alt. month" +msgid "May" +msgstr "Mei" + +msgctxt "alt. month" +msgid "June" +msgstr "Juni" + +msgctxt "alt. month" +msgid "July" +msgstr "Julai" + +msgctxt "alt. month" +msgid "August" +msgstr "Agosti" + +msgctxt "alt. month" +msgid "September" +msgstr "Septemba" + +msgctxt "alt. month" +msgid "October" +msgstr "Oktoba" + +msgctxt "alt. month" +msgid "November" +msgstr "Novemba" + +msgctxt "alt. month" +msgid "December" +msgstr "Disemba" + +msgid "This is not a valid IPv6 address." +msgstr "" + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "au" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "mwaka %d" +msgstr[1] "miaka %d" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "mwezi %d" +msgstr[1] "miezi %d" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "wiki %d" +msgstr[1] "wiki %d" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "siku %d" +msgstr[1] "siku %d" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "saa %d" +msgstr[1] "saa %d" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "dakika %d" +msgstr[1] "dakika %d" + +msgid "0 minutes" +msgstr "dakika 0" + +msgid "Forbidden" +msgstr "Marufuku" + +msgid "CSRF verification failed. Request aborted." +msgstr "" + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "Maelezo zaidi yanapatikana ikiwa DEBUG=True" + +msgid "No year specified" +msgstr "Hakuna mwaka maalum uliotajwa" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "Hakuna mwezi maalum uliotajwa" + +msgid "No day specified" +msgstr "Hakuna siku maalum iliyitajwa" + +msgid "No week specified" +msgstr "Hakuna wiki maalum iliyotajwa" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Hakujapatikana %(verbose_name_plural)s" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"%(verbose_name_plural)s kutoka wakati ujao haiwezekani kwani `" +"%(class_name)s.allow_future` ni `False`." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "hakuna %(verbose_name)s kulingana na ulizo" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Ukurasa batili (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "Sahirisi za saraka haziruhusiwi hapa." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Sahirisi ya %(directory)s" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/ta/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/ta/LC_MESSAGES/django.po new file mode 100644 index 0000000..ad7bf71 --- /dev/null +++ b/external_sources/django/django/conf/locale/ta/LC_MESSAGES/django.po @@ -0,0 +1,1230 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Claude Paroz , 2020 +# Jannis Leidel , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-05-19 20:23+0200\n" +"PO-Revision-Date: 2020-07-14 21:42+0000\n" +"Last-Translator: Transifex Bot <>\n" +"Language-Team: Tamil (http://www.transifex.com/django/django/language/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" + +msgid "Afrikaans" +msgstr "" + +msgid "Arabic" +msgstr "அரபிக்" + +msgid "Algerian Arabic" +msgstr "" + +msgid "Asturian" +msgstr "" + +msgid "Azerbaijani" +msgstr "" + +msgid "Bulgarian" +msgstr "" + +msgid "Belarusian" +msgstr "" + +msgid "Bengali" +msgstr "பெங்காலி" + +msgid "Breton" +msgstr "" + +msgid "Bosnian" +msgstr "" + +msgid "Catalan" +msgstr "" + +msgid "Czech" +msgstr "செக்" + +msgid "Welsh" +msgstr "வெல்ஸ்" + +msgid "Danish" +msgstr "டேனிஷ்" + +msgid "German" +msgstr "ஜெர்மன்" + +msgid "Lower Sorbian" +msgstr "" + +msgid "Greek" +msgstr "கிரேக்கம்" + +msgid "English" +msgstr "ஆங்கிலம்" + +msgid "Australian English" +msgstr "" + +msgid "British English" +msgstr "" + +msgid "Esperanto" +msgstr "" + +msgid "Spanish" +msgstr "ஸ்பானிஷ்" + +msgid "Argentinian Spanish" +msgstr "" + +msgid "Colombian Spanish" +msgstr "" + +msgid "Mexican Spanish" +msgstr "" + +msgid "Nicaraguan Spanish" +msgstr "" + +msgid "Venezuelan Spanish" +msgstr "" + +msgid "Estonian" +msgstr "" + +msgid "Basque" +msgstr "" + +msgid "Persian" +msgstr "" + +msgid "Finnish" +msgstr "பீனீஷ்" + +msgid "French" +msgstr "ப்ரென்சு" + +msgid "Frisian" +msgstr "" + +msgid "Irish" +msgstr "" + +msgid "Scottish Gaelic" +msgstr "" + +msgid "Galician" +msgstr "கலீஷீயன்" + +msgid "Hebrew" +msgstr "ஹீப்ரு" + +msgid "Hindi" +msgstr "" + +msgid "Croatian" +msgstr "" + +msgid "Upper Sorbian" +msgstr "" + +msgid "Hungarian" +msgstr "ஹங்கேரியன்" + +msgid "Armenian" +msgstr "" + +msgid "Interlingua" +msgstr "" + +msgid "Indonesian" +msgstr "" + +msgid "Igbo" +msgstr "" + +msgid "Ido" +msgstr "" + +msgid "Icelandic" +msgstr "ஐஸ்லான்டிக்" + +msgid "Italian" +msgstr "இத்தாலியன்" + +msgid "Japanese" +msgstr "ஜப்பானிய" + +msgid "Georgian" +msgstr "" + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "" + +msgid "Khmer" +msgstr "" + +msgid "Kannada" +msgstr "" + +msgid "Korean" +msgstr "" + +msgid "Kyrgyz" +msgstr "" + +msgid "Luxembourgish" +msgstr "" + +msgid "Lithuanian" +msgstr "" + +msgid "Latvian" +msgstr "" + +msgid "Macedonian" +msgstr "" + +msgid "Malayalam" +msgstr "" + +msgid "Mongolian" +msgstr "" + +msgid "Marathi" +msgstr "" + +msgid "Burmese" +msgstr "" + +msgid "Norwegian Bokmål" +msgstr "" + +msgid "Nepali" +msgstr "" + +msgid "Dutch" +msgstr "டச்சு" + +msgid "Norwegian Nynorsk" +msgstr "" + +msgid "Ossetic" +msgstr "" + +msgid "Punjabi" +msgstr "" + +msgid "Polish" +msgstr "" + +msgid "Portuguese" +msgstr "" + +msgid "Brazilian Portuguese" +msgstr "" + +msgid "Romanian" +msgstr "ரோமானியன்" + +msgid "Russian" +msgstr "ரஷ்யன்" + +msgid "Slovak" +msgstr "சுலோவாக்" + +msgid "Slovenian" +msgstr "ஸ்லோவேனியன்" + +msgid "Albanian" +msgstr "" + +msgid "Serbian" +msgstr "செர்பியன்" + +msgid "Serbian Latin" +msgstr "" + +msgid "Swedish" +msgstr "சுவிடிஷ்" + +msgid "Swahili" +msgstr "" + +msgid "Tamil" +msgstr "தமிழ்" + +msgid "Telugu" +msgstr "" + +msgid "Tajik" +msgstr "" + +msgid "Thai" +msgstr "" + +msgid "Turkmen" +msgstr "" + +msgid "Turkish" +msgstr "துருக்கிஷ்" + +msgid "Tatar" +msgstr "" + +msgid "Udmurt" +msgstr "" + +msgid "Ukrainian" +msgstr "உக்ரேனியன்" + +msgid "Urdu" +msgstr "" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "" + +msgid "Simplified Chinese" +msgstr "எளிய சீன மொழி" + +msgid "Traditional Chinese" +msgstr "மரபு சீன மொழி" + +msgid "Messages" +msgstr "" + +msgid "Site Maps" +msgstr "" + +msgid "Static Files" +msgstr "" + +msgid "Syndication" +msgstr "" + +msgid "That page number is not an integer" +msgstr "" + +msgid "That page number is less than 1" +msgstr "" + +msgid "That page contains no results" +msgstr "" + +msgid "Enter a valid value." +msgstr "" + +msgid "Enter a valid URL." +msgstr "" + +msgid "Enter a valid integer." +msgstr "" + +msgid "Enter a valid email address." +msgstr "" + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "" + +msgid "Enter a valid IPv6 address." +msgstr "" + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "" + +msgid "Enter only digits separated by commas." +msgstr "இங்கு எண்களை மட்டுமே எழுதவும் காமவாள் தனிமைபடுத்தவும் " + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Enter a number." +msgstr "" + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "" + +msgid "and" +msgstr "மற்றும்" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "" + +msgid "This field cannot be null." +msgstr "இந்த புலம் காலியாக இருக்கக் கூடாது" + +msgid "This field cannot be blank." +msgstr "" + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "" + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "பூலியன் (சரி அல்லது தவறு)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "" + +msgid "Comma-separated integers" +msgstr "கமாவாள் பிரிக்கப்பட்ட முழு எண்" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "தேதி (நேரமில்லாமல்)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "தேதி (நேரமுடன்)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "தசம எண்கள்" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "" + +msgid "Email address" +msgstr "" + +msgid "File path" +msgstr "கோப்புப் பாதை" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "முழு எண்" + +msgid "Big (8 byte) integer" +msgstr "" + +msgid "IPv4 address" +msgstr "" + +msgid "IP address" +msgstr "IP விலாசம்" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "இலக்கு முறை (சரி, தவறு அல்லது ஒன்றும் இல்லை)" + +msgid "Positive big integer" +msgstr "" + +msgid "Positive integer" +msgstr "" + +msgid "Positive small integer" +msgstr "" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "" + +msgid "Small integer" +msgstr "" + +msgid "Text" +msgstr "உரை" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "நேரம்" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "" + +msgid "Image" +msgstr "" + +msgid "A JSON object" +msgstr "" + +msgid "Value must be valid JSON." +msgstr "" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" + +msgid "Foreign Key (type determined by related field)" +msgstr "" + +msgid "One-to-one relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "" + +msgid "Many-to-many relationship" +msgstr "" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr "" + +msgid "This field is required." +msgstr "இந்த புலத்தில் மதிப்பு தேவை" + +msgid "Enter a whole number." +msgstr "முழு எண் மட்டுமே எழுதவும்" + +msgid "Enter a valid date." +msgstr "" + +msgid "Enter a valid time." +msgstr "" + +msgid "Enter a valid date/time." +msgstr "" + +msgid "Enter a valid duration." +msgstr "" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "அந்த பக்கத்தின் encoding வகையைப் பரிசோதிக்க.கோப்பு சமர்பிக்கப் பட்டவில்லை " + +msgid "No file was submitted." +msgstr "" + +msgid "The submitted file is empty." +msgstr "சமர்பிக்கப் பட்ட கோப்புக் காலியாக உள்ளது" + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"முறையான படம் மட்டுமே பதிவேற்றம் செய்யவும். நீங்கள் பதிவேற்றம் செய்த கோப்பு படம் அள்ளாத " +"அல்லது கெட்டுப்போன கோப்பாகும்" + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" + +msgid "Enter a list of values." +msgstr "" + +msgid "Enter a complete value." +msgstr "" + +msgid "Enter a valid UUID." +msgstr "" + +msgid "Enter a valid JSON." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr "" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "" +msgstr[1] "" + +msgid "Order" +msgstr "" + +msgid "Delete" +msgstr "நீக்குக" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "" + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" + +msgid "Please correct the duplicate values below." +msgstr "" + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "" + +msgid "Currently" +msgstr "" + +msgid "Change" +msgstr "மாற்றுக" + +msgid "Unknown" +msgstr "தெரியாத" + +msgid "Yes" +msgstr "ஆம்" + +msgid "No" +msgstr "இல்லை" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "ஆம்,இல்லை,இருக்கலாம்" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%s KB" +msgstr "" + +#, python-format +msgid "%s MB" +msgstr "" + +#, python-format +msgid "%s GB" +msgstr "" + +#, python-format +msgid "%s TB" +msgstr "" + +#, python-format +msgid "%s PB" +msgstr "" + +msgid "p.m." +msgstr "" + +msgid "a.m." +msgstr "" + +msgid "PM" +msgstr "" + +msgid "AM" +msgstr "" + +msgid "midnight" +msgstr "" + +msgid "noon" +msgstr "" + +msgid "Monday" +msgstr "திங்கள்" + +msgid "Tuesday" +msgstr "செவ்வாய்" + +msgid "Wednesday" +msgstr "புதன்" + +msgid "Thursday" +msgstr "வியாழன்" + +msgid "Friday" +msgstr "வெள்ளி" + +msgid "Saturday" +msgstr "சனி" + +msgid "Sunday" +msgstr "ஞாயிறு" + +msgid "Mon" +msgstr "" + +msgid "Tue" +msgstr "" + +msgid "Wed" +msgstr "" + +msgid "Thu" +msgstr "" + +msgid "Fri" +msgstr "" + +msgid "Sat" +msgstr "" + +msgid "Sun" +msgstr "" + +msgid "January" +msgstr "ஜனவரி" + +msgid "February" +msgstr "பிப்ரவரி" + +msgid "March" +msgstr "மார்ச்" + +msgid "April" +msgstr "ஏப்ரல்" + +msgid "May" +msgstr "மே" + +msgid "June" +msgstr "ஜூன்" + +msgid "July" +msgstr "ஜூலை" + +msgid "August" +msgstr "ஆகஸ்டு" + +msgid "September" +msgstr "செப்டம்பர்" + +msgid "October" +msgstr "அக்டோபர்" + +msgid "November" +msgstr "நவம்பர்" + +msgid "December" +msgstr "டிசம்பர்" + +msgid "jan" +msgstr "ஜன" + +msgid "feb" +msgstr "பிப்" + +msgid "mar" +msgstr "மார்" + +msgid "apr" +msgstr "ஏப்" + +msgid "may" +msgstr "மே" + +msgid "jun" +msgstr "ஜூன்" + +msgid "jul" +msgstr "ஜூலை" + +msgid "aug" +msgstr "ஆக" + +msgid "sep" +msgstr "செப்" + +msgid "oct" +msgstr "அக்" + +msgid "nov" +msgstr "நவ" + +msgid "dec" +msgstr "டிச" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "" + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "" + +msgctxt "abbrev. month" +msgid "March" +msgstr "மார்ச்" + +msgctxt "abbrev. month" +msgid "April" +msgstr "ஏப்ரல்" + +msgctxt "abbrev. month" +msgid "May" +msgstr "மே" + +msgctxt "abbrev. month" +msgid "June" +msgstr "ஜூன்" + +msgctxt "abbrev. month" +msgid "July" +msgstr "ஜூலை" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "" + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "" + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "" + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "" + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "" + +msgctxt "alt. month" +msgid "January" +msgstr "ஜனவரி" + +msgctxt "alt. month" +msgid "February" +msgstr "பிப்ரவரி" + +msgctxt "alt. month" +msgid "March" +msgstr "மார்ச்" + +msgctxt "alt. month" +msgid "April" +msgstr "ஏப்ரல்" + +msgctxt "alt. month" +msgid "May" +msgstr "மே" + +msgctxt "alt. month" +msgid "June" +msgstr "ஜூன்" + +msgctxt "alt. month" +msgid "July" +msgstr "ஜூலை" + +msgctxt "alt. month" +msgid "August" +msgstr "ஆகஸ்டு" + +msgctxt "alt. month" +msgid "September" +msgstr "செப்டம்பர்" + +msgctxt "alt. month" +msgid "October" +msgstr "அக்டோபர்" + +msgctxt "alt. month" +msgid "November" +msgstr "நவம்பர்" + +msgctxt "alt. month" +msgid "December" +msgstr "டிசம்பர்" + +msgid "This is not a valid IPv6 address." +msgstr "" + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr "" + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "" +msgstr[1] "" + +msgid "Forbidden" +msgstr "" + +msgid "CSRF verification failed. Request aborted." +msgstr "" + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "" + +msgid "No year specified" +msgstr "" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "" + +msgid "No day specified" +msgstr "" + +msgid "No week specified" +msgstr "" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "" + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/ta/__init__.py b/external_sources/django/django/conf/locale/ta/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/ta/formats.py b/external_sources/django/django/conf/locale/ta/formats.py new file mode 100644 index 0000000..d023608 --- /dev/null +++ b/external_sources/django/django/conf/locale/ta/formats.py @@ -0,0 +1,21 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j F, Y" +TIME_FORMAT = "g:i A" +# DATETIME_FORMAT = +# YEAR_MONTH_FORMAT = +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "j M, Y" +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +# DECIMAL_SEPARATOR = +# THOUSAND_SEPARATOR = +# NUMBER_GROUPING = diff --git a/external_sources/django/django/conf/locale/te/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/te/LC_MESSAGES/django.po new file mode 100644 index 0000000..168ffa4 --- /dev/null +++ b/external_sources/django/django/conf/locale/te/LC_MESSAGES/django.po @@ -0,0 +1,1233 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# bhaskar teja yerneni , 2011 +# Claude Paroz , 2020 +# Jannis Leidel , 2011 +# ప్రవీణ్ ఇళ్ళ , 2013 +# వీవెన్ , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-05-19 20:23+0200\n" +"PO-Revision-Date: 2020-07-14 21:42+0000\n" +"Last-Translator: Transifex Bot <>\n" +"Language-Team: Telugu (http://www.transifex.com/django/django/language/te/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: te\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "ఆఫ్రికాన్స్" + +msgid "Arabic" +msgstr "ఆరబిక్" + +msgid "Algerian Arabic" +msgstr "" + +msgid "Asturian" +msgstr "" + +msgid "Azerbaijani" +msgstr "అజేర్బైజని " + +msgid "Bulgarian" +msgstr "బల్గేరియన్" + +msgid "Belarusian" +msgstr "బెలారషియన్" + +msgid "Bengali" +msgstr "బెంగాలీ" + +msgid "Breton" +msgstr "బ్రిటన్" + +msgid "Bosnian" +msgstr "బోస్నియన్" + +msgid "Catalan" +msgstr "కాటలాన్" + +msgid "Czech" +msgstr "ఛెక్" + +msgid "Welsh" +msgstr "వెల్ష్" + +msgid "Danish" +msgstr "డానిష్" + +msgid "German" +msgstr "జెర్మన్" + +msgid "Lower Sorbian" +msgstr "" + +msgid "Greek" +msgstr "గ్రీక్" + +msgid "English" +msgstr "ఆంగ్లం" + +msgid "Australian English" +msgstr "" + +msgid "British English" +msgstr "బ్రిటీష్ ఆంగ్లం" + +msgid "Esperanto" +msgstr "ఎస్పరాంటో" + +msgid "Spanish" +msgstr "స్పానిష్" + +msgid "Argentinian Spanish" +msgstr "అర్జెంటీనా స్పానిష్" + +msgid "Colombian Spanish" +msgstr "" + +msgid "Mexican Spanish" +msgstr "మెక్షికన్ స్పానిష్ " + +msgid "Nicaraguan Spanish" +msgstr "" + +msgid "Venezuelan Spanish" +msgstr "వెనుజులా స్పానిష్" + +msgid "Estonian" +msgstr "ఎస్టొనియన్" + +msgid "Basque" +msgstr "బాస్క్" + +msgid "Persian" +msgstr "పారసీ" + +msgid "Finnish" +msgstr "ఫీన్నిష్" + +msgid "French" +msgstr "ఫ్రెంచ్" + +msgid "Frisian" +msgstr "ఫ్రిసియన్" + +msgid "Irish" +msgstr "ఐరిష్" + +msgid "Scottish Gaelic" +msgstr "" + +msgid "Galician" +msgstr "గలిసియన్" + +msgid "Hebrew" +msgstr "హీబ్రూ" + +msgid "Hindi" +msgstr "హిందీ" + +msgid "Croatian" +msgstr "క్రొయేషియన్" + +msgid "Upper Sorbian" +msgstr "" + +msgid "Hungarian" +msgstr "హంగేరియన్" + +msgid "Armenian" +msgstr "" + +msgid "Interlingua" +msgstr "ఇంటర్లింగ్వా" + +msgid "Indonesian" +msgstr "ఇండోనేషియన్" + +msgid "Igbo" +msgstr "" + +msgid "Ido" +msgstr "" + +msgid "Icelandic" +msgstr "ఐస్లాండిక్" + +msgid "Italian" +msgstr "ఇటాలియవ్" + +msgid "Japanese" +msgstr "జపనీ" + +msgid "Georgian" +msgstr "జార్జియన్" + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "కజఖ్" + +msgid "Khmer" +msgstr "ఖ్మెర్" + +msgid "Kannada" +msgstr "కన్నడ" + +msgid "Korean" +msgstr "కొరియన్" + +msgid "Kyrgyz" +msgstr "" + +msgid "Luxembourgish" +msgstr "లగ్జెంబర్గిష్" + +msgid "Lithuanian" +msgstr "లిథుయేనియన్" + +msgid "Latvian" +msgstr "లాత్వియన్" + +msgid "Macedonian" +msgstr "మెసిడోనియన్" + +msgid "Malayalam" +msgstr "మలయాళం" + +msgid "Mongolian" +msgstr "మంగోలియన్" + +msgid "Marathi" +msgstr "" + +msgid "Burmese" +msgstr "బర్మీస్" + +msgid "Norwegian Bokmål" +msgstr "" + +msgid "Nepali" +msgstr "నేపాలీ" + +msgid "Dutch" +msgstr "డచ్" + +msgid "Norwegian Nynorsk" +msgstr "నోర్వేగియన్ న్య్నోర్స్క్ " + +msgid "Ossetic" +msgstr "" + +msgid "Punjabi" +msgstr "పంజాబీ" + +msgid "Polish" +msgstr "పొలిష్" + +msgid "Portuguese" +msgstr "పోర్చుగీస్" + +msgid "Brazilian Portuguese" +msgstr "బ్రజీలియన్ పోర్చుగీస్" + +msgid "Romanian" +msgstr "రొమానియన్" + +msgid "Russian" +msgstr "రష్యన్" + +msgid "Slovak" +msgstr "స్లొవాక్" + +msgid "Slovenian" +msgstr "స్లొవానియన్" + +msgid "Albanian" +msgstr "అల్బేనియన్" + +msgid "Serbian" +msgstr "సెర్బియన్" + +msgid "Serbian Latin" +msgstr "సెర్బియన్ లాటిన్" + +msgid "Swedish" +msgstr "స్వీడిష్" + +msgid "Swahili" +msgstr "స్వాహిలి" + +msgid "Tamil" +msgstr "తమిళం" + +msgid "Telugu" +msgstr "తెలుగు" + +msgid "Tajik" +msgstr "" + +msgid "Thai" +msgstr "థాయి" + +msgid "Turkmen" +msgstr "" + +msgid "Turkish" +msgstr "టర్కిష్" + +msgid "Tatar" +msgstr "టటర్" + +msgid "Udmurt" +msgstr "" + +msgid "Ukrainian" +msgstr "ఉక్రేనియన్" + +msgid "Urdu" +msgstr "ఉర్దూ" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "వియెత్నామీ" + +msgid "Simplified Chinese" +msgstr "సరళ చైనీ" + +msgid "Traditional Chinese" +msgstr "సాంప్రదాయ చైనీ" + +msgid "Messages" +msgstr "" + +msgid "Site Maps" +msgstr "" + +msgid "Static Files" +msgstr "" + +msgid "Syndication" +msgstr "" + +msgid "That page number is not an integer" +msgstr "" + +msgid "That page number is less than 1" +msgstr "" + +msgid "That page contains no results" +msgstr "" + +msgid "Enter a valid value." +msgstr "సరైన విలువని ఇవ్వండి." + +msgid "Enter a valid URL." +msgstr "సరైన URL ఇవ్వండి." + +msgid "Enter a valid integer." +msgstr "" + +msgid "Enter a valid email address." +msgstr "దయచేసి సరైన ఈమెయిల్ చిరునామాను ప్రవేశపెట్టండి." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "దయచేసి సరైన IPv4 అడ్రస్ ఇవ్వండి" + +msgid "Enter a valid IPv6 address." +msgstr "" + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "" + +msgid "Enter only digits separated by commas." +msgstr "కామాల తో అంకెలు విడడీసి ఇవ్వండి " + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"దయచేసి దీని విలువ %(limit_value)s గ ఉండేట్లు చూసుకొనుము. ( మీరు సమర్పించిన విలువ " +"%(show_value)s )" + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "దయచేసి దీని విలువ %(limit_value)s కు సమానముగా లేక తక్కువగా ఉండేట్లు చూసుకొనుము." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "దయచేసి దీని విలువ %(limit_value)s కు సమానముగా లేక ఎక్కువగా ఉండేట్లు చూసుకొనుము." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Enter a number." +msgstr "దయచేసి పూర్ణ సంఖ్య ఇవ్వండి" + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "" + +msgid "and" +msgstr "మరియు" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "" + +msgid "This field cannot be null." +msgstr "ఈ ఫీల్డ్ కాళీగా ఉందకూడడు " + +msgid "This field cannot be blank." +msgstr "ఈ ఖాళీని తప్పనిసరిగా పూరించాలి" + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "" + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "బూలియన్ (అవునా లేక కాదా)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "పదబంధం (గరిష్ఠం %(max_length)s)" + +msgid "Comma-separated integers" +msgstr "కామా తో విడడీసిన సంఖ్య" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "తేదీ (సమయం లేకుండా)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "తేది (సమయం తో)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "దశగణసంఖ్య" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "" + +msgid "Email address" +msgstr "ఈమెయిలు చిరునామా" + +msgid "File path" +msgstr "ఫైల్ పాత్" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "పూర్ణసంఖ్య" + +msgid "Big (8 byte) integer" +msgstr "" + +msgid "IPv4 address" +msgstr "" + +msgid "IP address" +msgstr "ఐపీ చిరునామా" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "" + +msgid "Positive big integer" +msgstr "" + +msgid "Positive integer" +msgstr "" + +msgid "Positive small integer" +msgstr "" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "" + +msgid "Small integer" +msgstr "" + +msgid "Text" +msgstr "పాఠ్యం" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "సమయం" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "దస్త్రం" + +msgid "Image" +msgstr "బొమ్మ" + +msgid "A JSON object" +msgstr "" + +msgid "Value must be valid JSON." +msgstr "" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" + +msgid "Foreign Key (type determined by related field)" +msgstr "" + +msgid "One-to-one relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "" + +msgid "Many-to-many relationship" +msgstr "" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr "" + +msgid "This field is required." +msgstr "ఈ ఫీల్డ్ అవసరము" + +msgid "Enter a whole number." +msgstr "పూర్ణ సంఖ్య ఇవ్వండి" + +msgid "Enter a valid date." +msgstr "దయచేసి సరైన తేది ఇవ్వండి." + +msgid "Enter a valid time." +msgstr "దయచేసి సరైన సమయం ఇవ్వండి." + +msgid "Enter a valid date/time." +msgstr "దయచేసి సరైన తెది/సమయం ఇవ్వండి." + +msgid "Enter a valid duration." +msgstr "" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" + +msgid "No file was submitted." +msgstr "ఫైలు సమర్పించబడలేదు." + +msgid "The submitted file is empty." +msgstr "మీరు సమర్పించిన ఫైల్ కాళీగా ఉంది " + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" + +msgid "Enter a list of values." +msgstr "సరైన విలువల జాబితాను ఇవ్వండి." + +msgid "Enter a complete value." +msgstr "" + +msgid "Enter a valid UUID." +msgstr "" + +msgid "Enter a valid JSON." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr "" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "" +msgstr[1] "" + +msgid "Order" +msgstr "అంతరము" + +msgid "Delete" +msgstr "తొలగించు" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "దయచేసి %(field)s యొక్క నకలు విలువను సరిదిద్దుకోండి." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "దయచేసి %(field)s యొక్క నకలు విలువను సరిదిద్దుకోండి. దీని విలువ అద్వితీయమయినది " + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" + +msgid "Please correct the duplicate values below." +msgstr "దయచేసి క్రింద ఉన్న నకలు విలువను సరిదిద్దుకోండి." + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "" + +msgid "Currently" +msgstr "ప్రస్తుతము " + +msgid "Change" +msgstr "మార్చు" + +msgid "Unknown" +msgstr "తెలియనది" + +msgid "Yes" +msgstr "అవును" + +msgid "No" +msgstr "కాదు" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "అవును,కాదు,ఏమొ" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d బైటు" +msgstr[1] "%(size)d బైట్లు" + +#, python-format +msgid "%s KB" +msgstr "%s కిబై" + +#, python-format +msgid "%s MB" +msgstr "%s మెబై" + +#, python-format +msgid "%s GB" +msgstr "%s గిబై" + +#, python-format +msgid "%s TB" +msgstr "" + +#, python-format +msgid "%s PB" +msgstr "" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "అర్ధరాత్రి" + +msgid "noon" +msgstr "మధ్యాహ్నం" + +msgid "Monday" +msgstr "సోమవారం" + +msgid "Tuesday" +msgstr "మంగళవారం" + +msgid "Wednesday" +msgstr "బుధవారం" + +msgid "Thursday" +msgstr "గురువారం" + +msgid "Friday" +msgstr "శుక్రవారం" + +msgid "Saturday" +msgstr "శనివారం" + +msgid "Sunday" +msgstr "ఆదివారం" + +msgid "Mon" +msgstr "సోమ" + +msgid "Tue" +msgstr "మంగళ" + +msgid "Wed" +msgstr "బుధ" + +msgid "Thu" +msgstr "గురు" + +msgid "Fri" +msgstr "శుక్ర" + +msgid "Sat" +msgstr "శని" + +msgid "Sun" +msgstr "ఆది" + +msgid "January" +msgstr "జనవరి" + +msgid "February" +msgstr "ఫిబ్రవరి" + +msgid "March" +msgstr "మార్చి" + +msgid "April" +msgstr "ఎప్రిల్" + +msgid "May" +msgstr "మే" + +msgid "June" +msgstr "జూన్" + +msgid "July" +msgstr "జులై" + +msgid "August" +msgstr "ఆగష్టు" + +msgid "September" +msgstr "సెప్టెంబర్" + +msgid "October" +msgstr "అక్టోబర్" + +msgid "November" +msgstr "నవంబర్" + +msgid "December" +msgstr "డిసెంబర్" + +msgid "jan" +msgstr "జన" + +msgid "feb" +msgstr "ఫిబ్ర" + +msgid "mar" +msgstr "మార్చి" + +msgid "apr" +msgstr "ఎప్రి" + +msgid "may" +msgstr "మే" + +msgid "jun" +msgstr "జూన్" + +msgid "jul" +msgstr "జూలై" + +msgid "aug" +msgstr "ఆగ" + +msgid "sep" +msgstr "సెప్టెం" + +msgid "oct" +msgstr "అక్టో" + +msgid "nov" +msgstr "నవం" + +msgid "dec" +msgstr "డిసెం" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "జన." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "ఫిబ్ర." + +msgctxt "abbrev. month" +msgid "March" +msgstr "మార్చి" + +msgctxt "abbrev. month" +msgid "April" +msgstr "ఏప్రి." + +msgctxt "abbrev. month" +msgid "May" +msgstr "మే" + +msgctxt "abbrev. month" +msgid "June" +msgstr "జూన్" + +msgctxt "abbrev. month" +msgid "July" +msgstr "జూలై" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "ఆగ." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "సెప్టెం." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "అక్టో." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "నవం." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "డిసెం." + +msgctxt "alt. month" +msgid "January" +msgstr "జనవరి" + +msgctxt "alt. month" +msgid "February" +msgstr "ఫిబ్రవరి" + +msgctxt "alt. month" +msgid "March" +msgstr "మార్చి" + +msgctxt "alt. month" +msgid "April" +msgstr "ఏప్రిల్" + +msgctxt "alt. month" +msgid "May" +msgstr "మే" + +msgctxt "alt. month" +msgid "June" +msgstr "జూన్" + +msgctxt "alt. month" +msgid "July" +msgstr "జూలై" + +msgctxt "alt. month" +msgid "August" +msgstr "ఆగస్ట్" + +msgctxt "alt. month" +msgid "September" +msgstr "సెప్టెంబర్" + +msgctxt "alt. month" +msgid "October" +msgstr "అక్టోబర్" + +msgctxt "alt. month" +msgid "November" +msgstr "నవంబర్" + +msgctxt "alt. month" +msgid "December" +msgstr "డిసెంబర్" + +msgid "This is not a valid IPv6 address." +msgstr "" + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "లేదా" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "" +msgstr[1] "" + +msgid "Forbidden" +msgstr "" + +msgid "CSRF verification failed. Request aborted." +msgstr "" + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "" + +msgid "No year specified" +msgstr "" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "" + +msgid "No day specified" +msgstr "" + +msgid "No week specified" +msgstr "" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "" + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/te/__init__.py b/external_sources/django/django/conf/locale/te/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/te/formats.py b/external_sources/django/django/conf/locale/te/formats.py new file mode 100644 index 0000000..bb7f2d1 --- /dev/null +++ b/external_sources/django/django/conf/locale/te/formats.py @@ -0,0 +1,21 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j F Y" +TIME_FORMAT = "g:i A" +# DATETIME_FORMAT = +# YEAR_MONTH_FORMAT = +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "j M Y" +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +# DECIMAL_SEPARATOR = +# THOUSAND_SEPARATOR = +# NUMBER_GROUPING = diff --git a/external_sources/django/django/conf/locale/tg/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/tg/LC_MESSAGES/django.po new file mode 100644 index 0000000..05a4ca9 --- /dev/null +++ b/external_sources/django/django/conf/locale/tg/LC_MESSAGES/django.po @@ -0,0 +1,1299 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Mariusz Felisiak , 2020 +# Surush Sufiew , 2020 +# Siroj Sufiew , 2020 +# Surush Sufiew , 2020 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-05-19 20:23+0200\n" +"PO-Revision-Date: 2020-07-30 18:50+0000\n" +"Last-Translator: Mariusz Felisiak \n" +"Language-Team: Tajik (http://www.transifex.com/django/django/language/tg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "Ҳолландӣ" + +msgid "Arabic" +msgstr "Арабӣ" + +msgid "Algerian Arabic" +msgstr "Арабӣ" + +msgid "Asturian" +msgstr "Астурӣ" + +msgid "Azerbaijani" +msgstr "Озарбойҷонӣ" + +msgid "Bulgarian" +msgstr "Булғорӣ" + +msgid "Belarusian" +msgstr "Белорусӣ" + +msgid "Bengali" +msgstr "Бенгалӣ" + +msgid "Breton" +msgstr "Бретонӣ" + +msgid "Bosnian" +msgstr "Боснӣ" + +msgid "Catalan" +msgstr "Каталанӣ" + +msgid "Czech" +msgstr "Чехӣ" + +msgid "Welsh" +msgstr "Уэлсӣ" + +msgid "Danish" +msgstr "Даниягӣ" + +msgid "German" +msgstr "Олмонӣ" + +msgid "Lower Sorbian" +msgstr "Сербиягӣ" + +msgid "Greek" +msgstr "Юнонӣ" + +msgid "English" +msgstr "Англисӣ" + +msgid "Australian English" +msgstr "Англисии австралиёӣ" + +msgid "British English" +msgstr "Ангилисии бритониёӣ" + +msgid "Esperanto" +msgstr "Эсперантоӣ" + +msgid "Spanish" +msgstr "Испанӣ" + +msgid "Argentinian Spanish" +msgstr "Испании аргентиноӣ" + +msgid "Colombian Spanish" +msgstr "Испании колумбигӣ" + +msgid "Mexican Spanish" +msgstr "Испании мексикоӣ" + +msgid "Nicaraguan Spanish" +msgstr "Никарагуанский испанский" + +msgid "Venezuelan Spanish" +msgstr "Испании венесуэлӣ" + +msgid "Estonian" +msgstr "Эстонӣ" + +msgid "Basque" +msgstr "Баскувӣ" + +msgid "Persian" +msgstr "Форсӣ" + +msgid "Finnish" +msgstr "Финикӣ" + +msgid "French" +msgstr "Фаронсавӣ" + +msgid "Frisian" +msgstr "Фризӣ" + +msgid "Irish" +msgstr "Ирландӣ" + +msgid "Scottish Gaelic" +msgstr "Шотландӣ" + +msgid "Galician" +msgstr "" + +msgid "Hebrew" +msgstr "Ивритӣ" + +msgid "Hindi" +msgstr "Ҳиндӣ" + +msgid "Croatian" +msgstr "Хорватӣ" + +msgid "Upper Sorbian" +msgstr "Себриягӣ" + +msgid "Hungarian" +msgstr "" + +msgid "Armenian" +msgstr "Арманӣ" + +msgid "Interlingua" +msgstr "" + +msgid "Indonesian" +msgstr "Индонезӣ" + +msgid "Igbo" +msgstr "" + +msgid "Ido" +msgstr "" + +msgid "Icelandic" +msgstr "Исландӣ" + +msgid "Italian" +msgstr "Итолиёвӣ" + +msgid "Japanese" +msgstr "Японӣ" + +msgid "Georgian" +msgstr "Грузӣ" + +msgid "Kabyle" +msgstr "Кабилӣ" + +msgid "Kazakh" +msgstr "Қазоқӣ" + +msgid "Khmer" +msgstr "" + +msgid "Kannada" +msgstr "" + +msgid "Korean" +msgstr "Кореӣ" + +msgid "Kyrgyz" +msgstr "" + +msgid "Luxembourgish" +msgstr "Люксембургӣ" + +msgid "Lithuanian" +msgstr "Литвигӣ" + +msgid "Latvian" +msgstr "Латвигӣ" + +msgid "Macedonian" +msgstr "Македонӣ" + +msgid "Malayalam" +msgstr "" + +msgid "Mongolian" +msgstr "Монголӣ" + +msgid "Marathi" +msgstr "" + +msgid "Burmese" +msgstr "" + +msgid "Norwegian Bokmål" +msgstr "Норвежский (Букмол)" + +msgid "Nepali" +msgstr "Непалӣ" + +msgid "Dutch" +msgstr "Голландӣ" + +msgid "Norwegian Nynorsk" +msgstr "Норвегӣ" + +msgid "Ossetic" +msgstr "Осетинӣ" + +msgid "Punjabi" +msgstr "Панҷобӣ" + +msgid "Polish" +msgstr "Полякӣ" + +msgid "Portuguese" +msgstr "Португалӣ" + +msgid "Brazilian Portuguese" +msgstr "Португалии бразилиёгӣ" + +msgid "Romanian" +msgstr "Руминӣ" + +msgid "Russian" +msgstr "Руссӣ" + +msgid "Slovak" +msgstr "Словакӣ" + +msgid "Slovenian" +msgstr "Словенӣ" + +msgid "Albanian" +msgstr "Албанӣ" + +msgid "Serbian" +msgstr "Сербӣ" + +msgid "Serbian Latin" +msgstr "Сербӣ" + +msgid "Swedish" +msgstr "Шведӣ" + +msgid "Swahili" +msgstr "Суахили" + +msgid "Tamil" +msgstr "Тамилӣ" + +msgid "Telugu" +msgstr "Телугу" + +msgid "Tajik" +msgstr "" + +msgid "Thai" +msgstr "Тайский" + +msgid "Turkmen" +msgstr "" + +msgid "Turkish" +msgstr "Туркӣ" + +msgid "Tatar" +msgstr "Тоторӣ" + +msgid "Udmurt" +msgstr "Удмуртӣ" + +msgid "Ukrainian" +msgstr "Украинӣ" + +msgid "Urdu" +msgstr "Урдуӣ" + +msgid "Uzbek" +msgstr "Узбекӣ" + +msgid "Vietnamese" +msgstr "Вэтнамӣ" + +msgid "Simplified Chinese" +msgstr "Хитоӣ" + +msgid "Traditional Chinese" +msgstr "Хитоӣ" + +msgid "Messages" +msgstr "Маълумот" + +msgid "Site Maps" +msgstr "Харитаи сайт" + +msgid "Static Files" +msgstr "Файлҳои статикӣ" + +msgid "Syndication" +msgstr "Тасмаи хабарҳо" + +msgid "That page number is not an integer" +msgstr "Рақами саҳифа бояд адади натуралӣ бошад" + +msgid "That page number is less than 1" +msgstr "Рақами саҳифа камтар аз 1" + +msgid "That page contains no results" +msgstr "Саҳифа холӣ аст" + +msgid "Enter a valid value." +msgstr "Қимматро дуруст ворид созед." + +msgid "Enter a valid URL." +msgstr "Суроға(URL)-ро дуруст ворид созед." + +msgid "Enter a valid integer." +msgstr "Ададро дуруст ворид созед." + +msgid "Enter a valid email address." +msgstr "Суроғаи почтаи электрониро дуруст ворид созед." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Қимати “slug”-ро дуруст ворид созед, бояд аз ҳарфҳо (“a-z ва A-Z”), рақамҳо, " +"зердефисҳо(_) ва дефисҳо иборат бошад." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Қимати “slug”-ро дуруст ворид созед, бояд аз Unicode-ҳарфҳо (“a-z ва A-Z”), " +"рақамҳо, зердефисҳо(_) ва дефисҳо иборат бошад." + +msgid "Enter a valid IPv4 address." +msgstr "Шакли дурусти IPv4-суроғаро ворид созед." + +msgid "Enter a valid IPv6 address." +msgstr "Шакли ҳақиқии IPv4-суроғаро ворид кунед." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Шакли ҳақиқии IPv4 ё IPv6 -суроғаро ворид кунед." + +msgid "Enter only digits separated by commas." +msgstr "Рақамҳои бо вергул шудокардашударо ворид созед." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Боварӣ ҳосил кунед, ки қиммати — %(limit_value)s (ҳоло шакли — " +"%(show_value)s -ро дорад)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" +"Боварӣ ҳосил кунед, ки ин қиммат хурд ё баробар аст ба %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" +"Боварӣ ҳосил кунед, ки ин қиммат калон ё баробар аст ба %(limit_value)s." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Enter a number." +msgstr "Ададро ворид созед." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "Маълумот символӣ мамнӯъро дар бар мегирад: 0-байт" + +msgid "and" +msgstr "ва" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" +"%(model_name)s бо ин гуна майдонӣ қиматдор %(field_labels)s алакай вуҷуд " +"дорад." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Қимати %(value)r дар байни вариантҳои омадашуда вуҷуд надорад." + +msgid "This field cannot be null." +msgstr "Ин майдон наметавонад қимати NULL дошта бошад." + +msgid "This field cannot be blank." +msgstr "Ин майдон наметавонад холӣ бошад." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s бо ин гуна %(field_label)s алакай вуҷуд дорад." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"Қимат дар майдони «%(field_label)s» бояд барои фрагменти«%(lookup_type)s» " +"ягона бошад, санаҳо барои майдон %(date_field_label)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Майдони намуди %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "Қимати “%(value)s” бояд True ё False бошад." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "Қимати “%(value)s” бояд True, False ё None бошад." + +msgid "Boolean (Either True or False)" +msgstr "Мантиқан (True ё False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Сатр (то %(max_length)s)" + +msgid "Comma-separated integers" +msgstr "Яклухт, бо вергул ҷудокардашуда" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "“%(value)s” шакли нодуруст дорад. Шакли дуруст: сол.моҳ.рӯз, аст" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "“%(value)s” шакли дуруст (сол.моҳ.рӯз) дорад, аммо сана нодуруст аст" + +msgid "Date (without time)" +msgstr "Сана (бе ишораи вақт)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"“%(value)s” шакли нодуруст дорад. Шакли дуруст: сол.моҳ.рӯз соат.дақ[:сония[." +"uuuuuu]][TZ] аст" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"“%(value)s” шакли дуруст дорад (сол.моҳ.рӯз соат.дақ[:сония[.uuuuuu]][TZ]), " +"аммо 'сана/вақт'' нодуруст аст" + +msgid "Date (with time)" +msgstr "Сана (бо ишораи вақт)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "“%(value)s” бояд адади даҳӣ бошад" + +msgid "Decimal number" +msgstr "Адади 'даҳӣ' ." + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"“%(value)s” шакли нодуруст дорад. Шакли дуруст [рӯз] [[соат:]дақ:]сония[." +"uuuuuu]" + +msgid "Duration" +msgstr "Давомнокӣ" + +msgid "Email address" +msgstr "Суроғаи почтаи электронӣ" + +msgid "File path" +msgstr "Суроғаи файл" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "Қимати “%(value)s” бояд бутун бошад" + +msgid "Floating point number" +msgstr "Адади бутун." + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "Қимати “%(value)s” бояд яклухт бошад" + +msgid "Integer" +msgstr "Яклухт" + +msgid "Big (8 byte) integer" +msgstr "Адади калони яклухт (8 байт)" + +msgid "IPv4 address" +msgstr "IPv4 - суроға" + +msgid "IP address" +msgstr "IP-суроға" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "Қимати “%(value)s” бояд 'None', 'True' ё 'False' бошад" + +msgid "Boolean (Either True, False or None)" +msgstr "Мантиқӣ (True, False ё None)" + +msgid "Positive big integer" +msgstr "" + +msgid "Positive integer" +msgstr "Адади яклухти мусбат" + +msgid "Positive small integer" +msgstr "дади яклухти мусбати хурд" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Слаг (то %(max_length)s)" + +msgid "Small integer" +msgstr "Адади яклухти хурд" + +msgid "Text" +msgstr "Матн" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"“%(value)s” шакли нодуруст дорад. Шакли дуруст соат:дақ[:сония[.uuuuuu]" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"“%(value)s” шакли дуруст дорад (соат:моҳ[:сония[.uuuuuu, аммо 'вақт' " +"нодуруст қайд шудааст " + +msgid "Time" +msgstr "Вақт" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Маълумоти бинари(дуи)-и коркарднашуда" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "Қимати “%(value)s” барои UUID номувофиқ аст." + +msgid "Universally unique identifier" +msgstr "Майдони UUID, идентификатори универсалии ягона" + +msgid "File" +msgstr "Файл" + +msgid "Image" +msgstr "Тасвир" + +msgid "A JSON object" +msgstr "" + +msgid "Value must be valid JSON." +msgstr "" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" +"Объекти модели %(model)s бо майдони %(field)s, -и дорои қимати %(value)r, " +"вуҷқд надорад." + +msgid "Foreign Key (type determined by related field)" +msgstr "" +"Калиди беруна(Foreign Key) (Шакл муайян шудаст аз рӯи майдони алоқамандшуда.)" + +msgid "One-to-one relationship" +msgstr "Алоқаи \"як ба як\"" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "Алоқаи %(from)s-%(to)s" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "Алоқаи %(from)s-%(to)s" + +msgid "Many-to-many relationship" +msgstr "Алоқаи \\'бисёр ба бисёр\\'" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Майдони ҳатмӣ." + +msgid "Enter a whole number." +msgstr "Адади яклухтро ворид кунед." + +msgid "Enter a valid date." +msgstr "Санаи дурстро ворид кунед." + +msgid "Enter a valid time." +msgstr "Вақтро дуруст ворид кунед.." + +msgid "Enter a valid date/time." +msgstr "Сана ва вақтро дуруст ворид кунед." + +msgid "Enter a valid duration." +msgstr "авомнокии дурустро ворид кунед." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" +"Миқдори рӯзҳо бояд доираи аз {min_days} то {max_days} -ро дарбар гирад." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Файл равон карда нашуд. Шакли кодировкаи формаро тафтиш кунед." + +msgid "No file was submitted." +msgstr "Ягон файл равон карда нашуд" + +msgid "The submitted file is empty." +msgstr "Файли равонкардашуда холӣ аст." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Хоҳиш мекунем файлро бор кунед ё байрақчаи ишоратӣ гузоред \"Тоза кардан\", " +"вале ҳарду амалро дар якҷоягӣ иҷро накунед." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Тасвири дурустро бор кунед. Файли боркардаи шумо нуқсон дорад ва ё 'тасвира' " +"нест" + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Варианти дурустро интихоб кунед. %(value)s дар байни варианҳои дастрас вуҷуд " +"надорад." + +msgid "Enter a list of values." +msgstr "Рӯйхати қиматҳоро ворид кунед." + +msgid "Enter a complete value." +msgstr "Рӯйхати ҳамаи қиматҳоро ворид кунед." + +msgid "Enter a valid UUID." +msgstr "Шакли дурусти UUID -ро ворид кунед." + +msgid "Enter a valid JSON." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Майдони махфии %(name)s) %(error)s" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "Маълумоти идоракунандаи форма вуҷуд надорад ё ин ки осеб дидааст." + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "" +msgstr[1] "" + +msgid "Order" +msgstr "Тартиб" + +msgid "Delete" +msgstr "Нест кардан" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "" +"Илтимос қимати такроршудаистодаи майдони \"%(field)s\" ро тағйир диҳед." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Илтимос, қимати майдони %(field)s ро тағйир диҳед, вай бояд 'ягона' бошад." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Илтимос, қимати майдони %(field_name)s ро тағйир диҳед, вай бояд барои " +"%(lookup)s дар майдони %(date_field)s ягона бошад (Ягона будан маънои " +"такрорнашавандагиро дорад)." + +msgid "Please correct the duplicate values below." +msgstr "Хоҳиш мекунам, қимати такроршудаистодаи зеринро иваз кунед." + +msgid "The inline value did not match the parent instance." +msgstr "" +"Қимати дар форма воридкардашуда бо қимати формаи база мутобиқат намекунад." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Варианти дурустро интихоб кунед. Варианти шумо дар қатори қиматҳои " +"овардашуда вуҷуд надорад." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "Тоза кардан" + +msgid "Currently" +msgstr "Дар айни замон" + +msgid "Change" +msgstr "Тағйир додан" + +msgid "Unknown" +msgstr "Номаълум" + +msgid "Yes" +msgstr "Ҳа" + +msgid "No" +msgstr "Не" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "ҳа,не,шояд" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%s KB" +msgstr "%s КБ" + +#, python-format +msgid "%s MB" +msgstr "%s МБ" + +#, python-format +msgid "%s GB" +msgstr "%s ГБ" + +#, python-format +msgid "%s TB" +msgstr "%s ТБ" + +#, python-format +msgid "%s PB" +msgstr "%s ПБ" + +msgid "p.m." +msgstr "н.ш." + +msgid "a.m." +msgstr "н.р." + +msgid "PM" +msgstr "НШ" + +msgid "AM" +msgstr "НР" + +msgid "midnight" +msgstr "нимашабӣ" + +msgid "noon" +msgstr "нисфирузӣ" + +msgid "Monday" +msgstr "Душанбе" + +msgid "Tuesday" +msgstr "Сешанбе" + +msgid "Wednesday" +msgstr "Чоршанбе" + +msgid "Thursday" +msgstr "Панҷшанбе" + +msgid "Friday" +msgstr "Ҷумъа" + +msgid "Saturday" +msgstr "Шанбе" + +msgid "Sunday" +msgstr "Якшанбе" + +msgid "Mon" +msgstr "Дш" + +msgid "Tue" +msgstr "Яш" + +msgid "Wed" +msgstr "Чш" + +msgid "Thu" +msgstr "Пш" + +msgid "Fri" +msgstr "Ҷ" + +msgid "Sat" +msgstr "Ш" + +msgid "Sun" +msgstr "Яш" + +msgid "January" +msgstr "Январ" + +msgid "February" +msgstr "Феврал" + +msgid "March" +msgstr "Март" + +msgid "April" +msgstr "Апрел" + +msgid "May" +msgstr "Май" + +msgid "June" +msgstr "Июн" + +msgid "July" +msgstr "Июл" + +msgid "August" +msgstr "Август" + +msgid "September" +msgstr "Сентябр" + +msgid "October" +msgstr "Октябр" + +msgid "November" +msgstr "Ноябр" + +msgid "December" +msgstr "Декабр" + +msgid "jan" +msgstr "янв" + +msgid "feb" +msgstr "фев" + +msgid "mar" +msgstr "мар" + +msgid "apr" +msgstr "апр" + +msgid "may" +msgstr "май" + +msgid "jun" +msgstr "июн" + +msgid "jul" +msgstr "июл" + +msgid "aug" +msgstr "авг" + +msgid "sep" +msgstr "сен" + +msgid "oct" +msgstr "окт" + +msgid "nov" +msgstr "ноя" + +msgid "dec" +msgstr "дек" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Янв." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Фев." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Март" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Апрел" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Май" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Июн" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Июл" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Авг." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Сен." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Окт." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Ноя." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Дек." + +msgctxt "alt. month" +msgid "January" +msgstr "январ" + +msgctxt "alt. month" +msgid "February" +msgstr "феврал" + +msgctxt "alt. month" +msgid "March" +msgstr "март" + +msgctxt "alt. month" +msgid "April" +msgstr "апрел" + +msgctxt "alt. month" +msgid "May" +msgstr "май" + +msgctxt "alt. month" +msgid "June" +msgstr "июн" + +msgctxt "alt. month" +msgid "July" +msgstr "июл" + +msgctxt "alt. month" +msgid "August" +msgstr "август" + +msgctxt "alt. month" +msgid "September" +msgstr "сентябр" + +msgctxt "alt. month" +msgid "October" +msgstr "октябр" + +msgctxt "alt. month" +msgid "November" +msgstr "ноябр" + +msgctxt "alt. month" +msgid "December" +msgstr "декабр" + +msgid "This is not a valid IPv6 address." +msgstr "Қиммат суроғаи дурусти IPv6 нест." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "ё" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "" +msgstr[1] "" + +msgid "Forbidden" +msgstr "Мушкилӣ дар воридшавӣ" + +msgid "CSRF verification failed. Request aborted." +msgstr "Мушкили дар тафтиши CSRF. Дархост рад шуд." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Шумо ин хабарро барои он мебинед, ки ин HTTPS -сомона, тавассути браузери " +"шумо дархости равон кардани 'Referer' 'header' -ро дорад. Вале ягон дархост " +"равон нашудааст.Иҷрои ин амал аз ҷиҳати бехатарӣ барои мутмаин шудани он, ки " +"браузери шумо аз тарафи шахси сеюм 'шикаста'' (взлом)нашудааст, ҳатмӣ " +"мебошад." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Агар шумо браузери худро ба таври 'Referer'-сархатҳояшон дастнорас ба танзим " +"даровада бошед,хоҳиш мекунем, ки ҳадди ақал барои сомонаи мазкур ё барои " +"пайсшавии таввассути HTTPS ё ин ки бароидархостҳои манбаашон якхела, амали " +"азнавбатанзимдарориро иҷро намоед." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Шумо ин хабарро барои он мебинед, ки сомонаи мазкур талаб менамояд, то амали " +"равонкунииформа ва CSRF cookie дар якҷоягӣ сурат гирад. Ин намуди 'cookie' " +"аз ҷиҳати бехатарӣбарои мутмаин шудани он, ки браузери шумо аз тарафи шахси " +"сеюм 'шикаста'' (взлом)нашудааст, ҳатмӣ мебошад." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Агар шумо браузери худро ба таври дастнораси ба cookies' ба танзим даровада " +"бошед,хоҳиш мекунем, ки ҳадди ақал барои сомонаи мазкур ё барои пайсшавии " +"таввассути HTTPS ё ин ки бароидархостҳои манбаашон якхела, амали " +"азнавбатанзимдарориро иҷро намоед." + +msgid "More information is available with DEBUG=True." +msgstr "" +"Маълумоти бештар дар режими 'танзимдарорӣ'(отладчика), бо фаъолсозии " +"DEBUG=True." + +msgid "No year specified" +msgstr "Сол ишора нашудааст" + +msgid "Date out of range" +msgstr "сана аз доираи муайян берун аст" + +msgid "No month specified" +msgstr "Моҳ ишора нашудааст" + +msgid "No day specified" +msgstr "Рӯз ишора нашудааст" + +msgid "No week specified" +msgstr "Ҳафта ишора нашудааст" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "%(verbose_name_plural)s дастнорас аст" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"%(verbose_name_plural)s навбатӣ дастнорасанд барои он ки %(class_name)s." +"allow_future бо қимати \" False\" гузошта шудааст." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "Санаи нодурусти “%(datestr)s” шакли “%(format)s” гирифтааст" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Ягон %(verbose_name)s, мувофиқ бо дархости шумо ёфт нашуд" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "Саҳифа 'охирин' нест ва ё ки бо адади яклухт(int) ишора нашудааст" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Саҳифаи нодуруст (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "Азназаргузаронии рӯёхати файлҳо дар директорияи зерин номумкин аст." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "“%(path)s” вуҷуд надорад" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Рӯёхати файлҳои директорияи %(directory)s" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "" +"Django: веб-фреймворк барои перфектсионистҳо бо дедлайнҳо. Бисёр фреймворки " +"табъи дилва хастанакунанда ҳангоми кор." + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Инҷо андешаҳо оиди баромади Django " +"%(version)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "Ҷобаҷогузорӣ муваффақона анҷом ёфт! Табрик!" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" +"Шумо ин хабарро барои он мебинед, ки дар ишора намудед: DEBUG=True ва дар файли " +"ҷобаҷогузорӣ(settings)ягонто танзимгари URL-суроғаҳоро ишора нанамудед." + +msgid "Django Documentation" +msgstr "Ҳуҷҷатгузории Django" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "Роҳбарият: Барнома барои овоздиҳӣ" + +msgid "Get started with Django" +msgstr "оғози кор бо Django" + +msgid "Django Community" +msgstr "Иттиҳоди Django" + +msgid "Connect, get help, or contribute" +msgstr "Бо мо ҳамкорӣ намуда имкониятҳои навро пайдо намоед." diff --git a/external_sources/django/django/conf/locale/tg/__init__.py b/external_sources/django/django/conf/locale/tg/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/tg/formats.py b/external_sources/django/django/conf/locale/tg/formats.py new file mode 100644 index 0000000..0ab7d49 --- /dev/null +++ b/external_sources/django/django/conf/locale/tg/formats.py @@ -0,0 +1,32 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j E Y г." +TIME_FORMAT = "G:i" +DATETIME_FORMAT = "j E Y г. G:i" +YEAR_MONTH_FORMAT = "F Y г." +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "d.m.Y" +SHORT_DATETIME_FORMAT = "d.m.Y H:i" +FIRST_DAY_OF_WEEK = 1 # Monday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d.%m.%Y", # '25.10.2006' + "%d.%m.%y", # '25.10.06' +] +DATETIME_INPUT_FORMATS = [ + "%d.%m.%Y %H:%M:%S", # '25.10.2006 14:30:59' + "%d.%m.%Y %H:%M:%S.%f", # '25.10.2006 14:30:59.000200' + "%d.%m.%Y %H:%M", # '25.10.2006 14:30' + "%d.%m.%Y", # '25.10.2006' + "%d.%m.%y %H:%M:%S", # '25.10.06 14:30:59' + "%d.%m.%y %H:%M:%S.%f", # '25.10.06 14:30:59.000200' + "%d.%m.%y %H:%M", # '25.10.06 14:30' + "%d.%m.%y", # '25.10.06' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "\xa0" # non-breaking space +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/th/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/th/LC_MESSAGES/django.po new file mode 100644 index 0000000..8ab31f2 --- /dev/null +++ b/external_sources/django/django/conf/locale/th/LC_MESSAGES/django.po @@ -0,0 +1,1208 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Abhabongse Janthong, 2015 +# Jannis Leidel , 2011 +# Kowit Charoenratchatabhan , 2014,2018-2019 +# Naowal Siripatana , 2017 +# sipp11 , 2014 +# Suteepat Damrongyingsupab , 2011-2012 +# Suteepat Damrongyingsupab , 2013 +# Vichai Vongvorakul , 2013 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-27 22:40+0200\n" +"PO-Revision-Date: 2019-11-05 00:38+0000\n" +"Last-Translator: Ramiro Morales\n" +"Language-Team: Thai (http://www.transifex.com/django/django/language/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" + +msgid "Afrikaans" +msgstr "อาฟฟริกัน" + +msgid "Arabic" +msgstr "อารบิก" + +msgid "Asturian" +msgstr "อัสตูเรียน" + +msgid "Azerbaijani" +msgstr "อาเซอร์ไบจาน" + +msgid "Bulgarian" +msgstr "บัลแกเรีย" + +msgid "Belarusian" +msgstr "เบลารุส" + +msgid "Bengali" +msgstr "เบ็งกาลี" + +msgid "Breton" +msgstr "เบรตัน" + +msgid "Bosnian" +msgstr "บอสเนีย" + +msgid "Catalan" +msgstr "คาตะลาน" + +msgid "Czech" +msgstr "เช็ก" + +msgid "Welsh" +msgstr "เวลส์" + +msgid "Danish" +msgstr "เดนมาร์ก" + +msgid "German" +msgstr "เยอรมัน" + +msgid "Lower Sorbian" +msgstr "" + +msgid "Greek" +msgstr "กรีก" + +msgid "English" +msgstr "อังกฤษ" + +msgid "Australian English" +msgstr "อังกฤษ - ออสเตรเลีย" + +msgid "British English" +msgstr "อังกฤษ - สหราชอาณาจักร" + +msgid "Esperanto" +msgstr "เอสเปรันโต" + +msgid "Spanish" +msgstr "สเปน" + +msgid "Argentinian Spanish" +msgstr "สเปน - อาร์เจนติน่า" + +msgid "Colombian Spanish" +msgstr "สเปน - โคลัมเบีย" + +msgid "Mexican Spanish" +msgstr "สเปน - เม็กซิกัน" + +msgid "Nicaraguan Spanish" +msgstr "นิการากัวสเปน" + +msgid "Venezuelan Spanish" +msgstr "เวเนซุเอลาสเปน" + +msgid "Estonian" +msgstr "เอสโตเนีย" + +msgid "Basque" +msgstr "แบ็ซค์" + +msgid "Persian" +msgstr "เปอร์เชีย" + +msgid "Finnish" +msgstr "ฟินแลนด์" + +msgid "French" +msgstr "ฝรั่งเศส" + +msgid "Frisian" +msgstr "ฟริเซียน" + +msgid "Irish" +msgstr "ไอริช" + +msgid "Scottish Gaelic" +msgstr "" + +msgid "Galician" +msgstr "กาลิเซีย" + +msgid "Hebrew" +msgstr "ฮีบรู" + +msgid "Hindi" +msgstr "ฮินดี" + +msgid "Croatian" +msgstr "โครเอเชีย" + +msgid "Upper Sorbian" +msgstr "" + +msgid "Hungarian" +msgstr "ฮังการี" + +msgid "Armenian" +msgstr "อาร์เมเนียน" + +msgid "Interlingua" +msgstr "ภาษากลาง" + +msgid "Indonesian" +msgstr "อินโดนิเซีย" + +msgid "Ido" +msgstr "" + +msgid "Icelandic" +msgstr "ไอซ์แลนด์" + +msgid "Italian" +msgstr "อิตาลี" + +msgid "Japanese" +msgstr "ญี่ปุ่น" + +msgid "Georgian" +msgstr "จอร์เจีย" + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "คาซัค" + +msgid "Khmer" +msgstr "เขมร" + +msgid "Kannada" +msgstr "กัณณาท" + +msgid "Korean" +msgstr "เกาหลี" + +msgid "Luxembourgish" +msgstr "ลักแซมเบิร์ก" + +msgid "Lithuanian" +msgstr "ลิทัวเนีย" + +msgid "Latvian" +msgstr "ลัตเวีย" + +msgid "Macedonian" +msgstr "มาซิโดเนีย" + +msgid "Malayalam" +msgstr "มลายู" + +msgid "Mongolian" +msgstr "มองโกเลีย" + +msgid "Marathi" +msgstr "" + +msgid "Burmese" +msgstr "พม่า" + +msgid "Norwegian Bokmål" +msgstr "" + +msgid "Nepali" +msgstr "เนปาล" + +msgid "Dutch" +msgstr "ดัตช์" + +msgid "Norwegian Nynorsk" +msgstr "นอร์เวย์ - Nynorsk" + +msgid "Ossetic" +msgstr "" + +msgid "Punjabi" +msgstr "ปัญจาบี" + +msgid "Polish" +msgstr "โปแลนด์" + +msgid "Portuguese" +msgstr "โปรตุเกส" + +msgid "Brazilian Portuguese" +msgstr "โปรตุเกส (บราซิล)" + +msgid "Romanian" +msgstr "โรมาเนีย" + +msgid "Russian" +msgstr "รัสเซีย" + +msgid "Slovak" +msgstr "สโลวัก" + +msgid "Slovenian" +msgstr "สโลวีเนีย" + +msgid "Albanian" +msgstr "อัลแบเนีย" + +msgid "Serbian" +msgstr "เซอร์เบีย" + +msgid "Serbian Latin" +msgstr "เซอร์เบียละติน" + +msgid "Swedish" +msgstr "สวีเดน" + +msgid "Swahili" +msgstr "สวาฮีลี" + +msgid "Tamil" +msgstr "ทมิฬ" + +msgid "Telugu" +msgstr "เตลุคู" + +msgid "Thai" +msgstr "ไทย" + +msgid "Turkish" +msgstr "ตุรกี" + +msgid "Tatar" +msgstr "ตาตาร์" + +msgid "Udmurt" +msgstr "อัดเมิร์ท" + +msgid "Ukrainian" +msgstr "ยูเครน" + +msgid "Urdu" +msgstr "เออร์ดู" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "เวียดนาม" + +msgid "Simplified Chinese" +msgstr "จีนตัวย่อ" + +msgid "Traditional Chinese" +msgstr "จีนตัวเต็ม" + +msgid "Messages" +msgstr "ข้อความ" + +msgid "Site Maps" +msgstr "" + +msgid "Static Files" +msgstr "" + +msgid "Syndication" +msgstr "" + +msgid "That page number is not an integer" +msgstr "หมายเลขหน้าดังกล่าวไม่ใช่จำนวนเต็ม" + +msgid "That page number is less than 1" +msgstr "หมายเลขหน้าดังกล่าวมีค่าน้อยกว่า 1" + +msgid "That page contains no results" +msgstr "" + +msgid "Enter a valid value." +msgstr "กรุณาใส่ค่าที่ถูกต้อง" + +msgid "Enter a valid URL." +msgstr "ใส่ URL ที่ถูกต้อง" + +msgid "Enter a valid integer." +msgstr "" + +msgid "Enter a valid email address." +msgstr "ป้อนที่อยู่อีเมลที่ถูกต้อง" + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "กรุณาใส่หมายเลขไอพีที่ถูกต้อง" + +msgid "Enter a valid IPv6 address." +msgstr "กรอก IPv6 address ให้ถูกต้อง" + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "กรอก IPv4 หรือ IPv6 address ให้ถูกต้อง" + +msgid "Enter only digits separated by commas." +msgstr "ใส่ตัวเลขที่คั่นด้วยจุลภาคเท่านั้น" + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "ค่านี้ต้องเป็น %(limit_value)s (ปัจจุบันคือ %(show_value)s)" + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "ค่านี้ต้องน้อยกว่าหรือเท่ากับ %(limit_value)s" + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "ค่านี้ต้องมากกว่าหรือเท่ากับ %(limit_value)s" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" + +msgid "Enter a number." +msgstr "กรอกหมายเลข" + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "" + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "" + +msgid "and" +msgstr "และ" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "" + +msgid "This field cannot be null." +msgstr "ฟิลด์นี้ไม่สารถปล่อยว่างได้" + +msgid "This field cannot be blank." +msgstr "ฟิลด์นี้เว้นว่างไม่ได้" + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s และ %(field_label)s มีอยู่แล้ว" + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "ฟิลด์ข้อมูล: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "ตรรกะแบบบูลหมายถึง ค่า\"จริง\" (True) หรือ \"ไม่จริง \" (False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "สตริง(ได้ถึง %(max_length)s)" + +msgid "Comma-separated integers" +msgstr "จำนวนเต็มแบบมีจุลภาค" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "วันที่ (ไม่มีเวลา)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "วันที่ (พร้อมด้วยเวลา)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "เลขฐานสิบหรือเลขทศนิยม" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "ช่วงเวลา" + +msgid "Email address" +msgstr "อีเมล" + +msgid "File path" +msgstr "ตำแหน่งไฟล์" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "เลขทศนิยม" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "จำนวนเต็ม" + +msgid "Big (8 byte) integer" +msgstr "จำนวนเต็ม (8 byte)" + +msgid "IPv4 address" +msgstr "IPv4 address" + +msgid "IP address" +msgstr "หมายเลขไอพี" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "" +"ตรรกะแบบบูลหมายถึง ค่า\"จริง\" (True) หรือ \"ไม่จริง \" (False) หรือ \"ไม่มี\" (None)" + +msgid "Positive integer" +msgstr "จํานวนเต็มบวก" + +msgid "Positive small integer" +msgstr "จํานวนเต็มบวกขนาดเล็ก" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (ถึง %(max_length)s )" + +msgid "Small integer" +msgstr "จำนวนเต็มขนาดเล็ก" + +msgid "Text" +msgstr "ข้อความ" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "เวลา" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "ไฟล์" + +msgid "Image" +msgstr "รูปภาพ" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" + +msgid "Foreign Key (type determined by related field)" +msgstr "Foreign Key (ชนิดของข้อมูลจะถูกกำหนดจากฟิลด์ที่เกี่ยวข้อง)" + +msgid "One-to-one relationship" +msgstr "ความสัมพันธ์แบบหนึ่งต่อหนึ่ง" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "" + +msgid "Many-to-many relationship" +msgstr "ความสัมพันธ์แบบ many-to-many" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "ฟิลด์นี้จำเป็น" + +msgid "Enter a whole number." +msgstr "กรอกหมายเลข" + +msgid "Enter a valid date." +msgstr "กรุณาใส่วัน" + +msgid "Enter a valid time." +msgstr "กรุณาใส่เวลา" + +msgid "Enter a valid date/time." +msgstr "กรุณาใส่วันเวลา" + +msgid "Enter a valid duration." +msgstr "ใส่ระยะเวลาที่ถูกต้อง" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "ไม่มีไฟล์ใดถูกส่ง. ตรวจสอบ encoding type ในฟอร์ม." + +msgid "No file was submitted." +msgstr "ไม่มีไฟล์ใดถูกส่ง" + +msgid "The submitted file is empty." +msgstr "ไฟล์ที่ส่งว่างเปล่า" + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "โปรดเลือกไฟล์หรือติ๊ก clear checkbox อย่างใดอย่างหนึ่ง" + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "อัพโหลดรูปที่ถูกต้อง. ไฟล์ที่อัพโหลดไปไม่ใช่รูป หรือรูปเสียหาย." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "เลือกตัวเลือกที่ถูกต้อง. %(value)s ไม่ใช่ตัวเลือกที่ใช้ได้." + +msgid "Enter a list of values." +msgstr "ใส่รายการ" + +msgid "Enter a complete value." +msgstr "" + +msgid "Enter a valid UUID." +msgstr "ใส่ UUID ที่ถูกต้อง" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "" + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "" + +msgid "Order" +msgstr "เรียงลำดับ" + +msgid "Delete" +msgstr "ลบ" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "โปรดแก้ไขข้อมูลที่ซ้ำซ้อนใน %(field)s" + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "โปรดแก้ไขข้อมูลที่ซ้ำซ้อนใน %(field)s ซึ่งจะต้องไม่ซ้ำกัน" + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"โปรดแก้ไขข้อมูลซ้ำซ้อนใน %(field_name)s ซึ่งจะต้องไม่ซ้ำกันสำหรับ %(lookup)s ใน " +"%(date_field)s" + +msgid "Please correct the duplicate values below." +msgstr "โปรดแก้ไขค่าที่ซ้ำซ้อนด้านล่าง" + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "เลือกตัวเลือกที่ถูกต้อง. ตัวเลือกนั้นไม่สามารถเลือกได้." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "ล้าง" + +msgid "Currently" +msgstr "ปัจจุบัน" + +msgid "Change" +msgstr "เปลี่ยนแปลง" + +msgid "Unknown" +msgstr "ไม่รู้" + +msgid "Yes" +msgstr "ใช่" + +msgid "No" +msgstr "ไม่ใช่" + +msgid "Year" +msgstr "" + +msgid "Month" +msgstr "" + +msgid "Day" +msgstr "" + +msgid "yes,no,maybe" +msgstr "ใช่,ไม่ใช่,อาจจะ" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d ไบต์" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "เที่ยงคืน" + +msgid "noon" +msgstr "เที่ยงวัน" + +msgid "Monday" +msgstr "จันทร์" + +msgid "Tuesday" +msgstr "อังคาร" + +msgid "Wednesday" +msgstr "พุธ" + +msgid "Thursday" +msgstr "พฤหัสบดี" + +msgid "Friday" +msgstr "ศุกร์" + +msgid "Saturday" +msgstr "เสาร์" + +msgid "Sunday" +msgstr "อาทิตย์" + +msgid "Mon" +msgstr "จ." + +msgid "Tue" +msgstr "อ." + +msgid "Wed" +msgstr "พ." + +msgid "Thu" +msgstr "พฤ." + +msgid "Fri" +msgstr "ศ." + +msgid "Sat" +msgstr "ส." + +msgid "Sun" +msgstr "อา." + +msgid "January" +msgstr "มกราคม" + +msgid "February" +msgstr "กุมภาพันธ์" + +msgid "March" +msgstr "มีนาคม" + +msgid "April" +msgstr "เมษายน" + +msgid "May" +msgstr "พฤษภาคม" + +msgid "June" +msgstr "มิถุนายน" + +msgid "July" +msgstr "กรกฎาคม" + +msgid "August" +msgstr "สิงหาคม" + +msgid "September" +msgstr "กันยายน" + +msgid "October" +msgstr "ตุลาคม" + +msgid "November" +msgstr "พฤศจิกายน" + +msgid "December" +msgstr "ธันวาคม" + +msgid "jan" +msgstr "ม.ค." + +msgid "feb" +msgstr "ก.พ." + +msgid "mar" +msgstr "มี.ค." + +msgid "apr" +msgstr "เม.ย." + +msgid "may" +msgstr "พ.ค." + +msgid "jun" +msgstr "มิ.ย." + +msgid "jul" +msgstr "ก.ค." + +msgid "aug" +msgstr "ส.ค." + +msgid "sep" +msgstr "ก.ย." + +msgid "oct" +msgstr "ต.ค." + +msgid "nov" +msgstr "พ.ย." + +msgid "dec" +msgstr "ธ.ค." + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "ม.ค." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "ก.พ." + +msgctxt "abbrev. month" +msgid "March" +msgstr "มี.ค." + +msgctxt "abbrev. month" +msgid "April" +msgstr "เม.ย." + +msgctxt "abbrev. month" +msgid "May" +msgstr "พ.ค." + +msgctxt "abbrev. month" +msgid "June" +msgstr "มิ.ย." + +msgctxt "abbrev. month" +msgid "July" +msgstr "ก.ค." + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "ส.ค." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "ก.ย." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "ต.ค." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "พ.ย." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "ธ.ค." + +msgctxt "alt. month" +msgid "January" +msgstr "มกราคม" + +msgctxt "alt. month" +msgid "February" +msgstr "กุมภาพันธ์" + +msgctxt "alt. month" +msgid "March" +msgstr "มีนาคม" + +msgctxt "alt. month" +msgid "April" +msgstr "เมษายน" + +msgctxt "alt. month" +msgid "May" +msgstr "พฤษภาคม" + +msgctxt "alt. month" +msgid "June" +msgstr "มิถุนายน" + +msgctxt "alt. month" +msgid "July" +msgstr "กรกฎาคม" + +msgctxt "alt. month" +msgid "August" +msgstr "สิงหาคม" + +msgctxt "alt. month" +msgid "September" +msgstr "กันยายน" + +msgctxt "alt. month" +msgid "October" +msgstr "ตุลาคม" + +msgctxt "alt. month" +msgid "November" +msgstr "พฤศจิกายน" + +msgctxt "alt. month" +msgid "December" +msgstr "ธันวาคม" + +msgid "This is not a valid IPv6 address." +msgstr "" + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "หรือ" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "%d ปี" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "%d เดือน" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "%d สัปดาห์" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "%d วัน" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "%d ชั่วโมง" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "%d นาที" + +msgid "0 minutes" +msgstr "0 นาที" + +msgid "Forbidden" +msgstr "หวงห้าม" + +msgid "CSRF verification failed. Request aborted." +msgstr "" + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "" + +msgid "No year specified" +msgstr "ไม่ระบุปี" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "ไม่ระบุเดือน" + +msgid "No day specified" +msgstr "ไม่ระบุวัน" + +msgid "No week specified" +msgstr "ไม่ระบุสัปดาห์" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "ไม่มี %(verbose_name_plural)s ที่ใช้ได้" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"%(verbose_name_plural)s ในอนาคตไม่สามารถใช้ได้ เนื่องจาก %(class_name)s." +"allow_future มีค่าเป็น False" + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "ไม่พบ %(verbose_name)s จาก query" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "หน้าไม่ถูกต้อง (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "ไม่ได้รับอนุญาตให้ใช้ Directory indexes ที่นี่" + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "ดัชนีของ %(directory)s" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "เริ่มต้นกับ Django" + +msgid "Django Community" +msgstr "ชุมชน Django" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/th/__init__.py b/external_sources/django/django/conf/locale/th/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/th/formats.py b/external_sources/django/django/conf/locale/th/formats.py new file mode 100644 index 0000000..190e6d1 --- /dev/null +++ b/external_sources/django/django/conf/locale/th/formats.py @@ -0,0 +1,33 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j F Y" +TIME_FORMAT = "G:i" +DATETIME_FORMAT = "j F Y, G:i" +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "j M Y" +SHORT_DATETIME_FORMAT = "j M Y, G:i" +FIRST_DAY_OF_WEEK = 0 # Sunday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d/%m/%Y", # 25/10/2006 + "%d %b %Y", # 25 ต.ค. 2006 + "%d %B %Y", # 25 ตุลาคม 2006 +] +TIME_INPUT_FORMATS = [ + "%H:%M:%S", # 14:30:59 + "%H:%M:%S.%f", # 14:30:59.000200 + "%H:%M", # 14:30 +] +DATETIME_INPUT_FORMATS = [ + "%d/%m/%Y %H:%M:%S", # 25/10/2006 14:30:59 + "%d/%m/%Y %H:%M:%S.%f", # 25/10/2006 14:30:59.000200 + "%d/%m/%Y %H:%M", # 25/10/2006 14:30 +] +DECIMAL_SEPARATOR = "." +THOUSAND_SEPARATOR = "," +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/tk/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/tk/LC_MESSAGES/django.po new file mode 100644 index 0000000..ad00026 --- /dev/null +++ b/external_sources/django/django/conf/locale/tk/LC_MESSAGES/django.po @@ -0,0 +1,1337 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Mariusz Felisiak , 2020-2021 +# Resul , 2020 +# Resul , 2022-2024 +# Welbeck Garli , 2020 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 06:49+0000\n" +"Last-Translator: Resul , 2022-2024\n" +"Language-Team: Turkmen (http://app.transifex.com/django/django/language/" +"tk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tk\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "Afrikaans" + +msgid "Arabic" +msgstr "Arapça" + +msgid "Algerian Arabic" +msgstr "Alžir Arapçasy" + +msgid "Asturian" +msgstr "Asturian" + +msgid "Azerbaijani" +msgstr "Azeri Türkçesi" + +msgid "Bulgarian" +msgstr "Bolgar" + +msgid "Belarusian" +msgstr "Belarusça" + +msgid "Bengali" +msgstr "Bengali" + +msgid "Breton" +msgstr "Breton" + +msgid "Bosnian" +msgstr "Bosniýaça" + +msgid "Catalan" +msgstr "Katalan" + +msgid "Central Kurdish (Sorani)" +msgstr "Merkezi Kürtçe (Soraniçe)" + +msgid "Czech" +msgstr "Çehçe" + +msgid "Welsh" +msgstr "Uelsçe" + +msgid "Danish" +msgstr "Daniýaça" + +msgid "German" +msgstr "Nemesçe" + +msgid "Lower Sorbian" +msgstr "Aşaky Sorbian" + +msgid "Greek" +msgstr "Grekçe" + +msgid "English" +msgstr "Iňlisçe" + +msgid "Australian English" +msgstr "Awstraliýa Iňlisçesi" + +msgid "British English" +msgstr "Britan Iňlisçesi" + +msgid "Esperanto" +msgstr "Esperanto" + +msgid "Spanish" +msgstr "Ispança" + +msgid "Argentinian Spanish" +msgstr "Argentina Ispançasy" + +msgid "Colombian Spanish" +msgstr "Kolumbiýa Ispançasy" + +msgid "Mexican Spanish" +msgstr "Meksika Ispançasy" + +msgid "Nicaraguan Spanish" +msgstr "Nikaragua Ispançasy" + +msgid "Venezuelan Spanish" +msgstr "Wenezuela Ispançasy" + +msgid "Estonian" +msgstr "Estonça" + +msgid "Basque" +msgstr "Baskça" + +msgid "Persian" +msgstr "Parsça" + +msgid "Finnish" +msgstr "Finçe" + +msgid "French" +msgstr "Fransuzça" + +msgid "Frisian" +msgstr "Frisça" + +msgid "Irish" +msgstr "Irlandça" + +msgid "Scottish Gaelic" +msgstr "Şotlandiýa Gaelçasy" + +msgid "Galician" +msgstr "Galisiýaça" + +msgid "Hebrew" +msgstr "Ýewreýçe" + +msgid "Hindi" +msgstr "Hindi" + +msgid "Croatian" +msgstr "Horwatça" + +msgid "Upper Sorbian" +msgstr "Ýokarky Sorbian" + +msgid "Hungarian" +msgstr "Wengerçe" + +msgid "Armenian" +msgstr "Ermeniçe" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Indonezça" + +msgid "Igbo" +msgstr "Igbo" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Islandça" + +msgid "Italian" +msgstr "Italýança" + +msgid "Japanese" +msgstr "Ýaponça" + +msgid "Georgian" +msgstr "Gruzinçe" + +msgid "Kabyle" +msgstr "Kabyle" + +msgid "Kazakh" +msgstr "Gazakça" + +msgid "Khmer" +msgstr "Hmerçe" + +msgid "Kannada" +msgstr "Kannada" + +msgid "Korean" +msgstr "Koreýçe" + +msgid "Kyrgyz" +msgstr "Gyrgyzça" + +msgid "Luxembourgish" +msgstr "Lýuksemburgça" + +msgid "Lithuanian" +msgstr "Litwança" + +msgid "Latvian" +msgstr "Latwiýaça" + +msgid "Macedonian" +msgstr "Makedonça" + +msgid "Malayalam" +msgstr "Malaýalam" + +msgid "Mongolian" +msgstr "Mongolça" + +msgid "Marathi" +msgstr "Marasi" + +msgid "Malay" +msgstr "Malaý" + +msgid "Burmese" +msgstr "Birma" + +msgid "Norwegian Bokmål" +msgstr "Norwegiýa Bokmaly" + +msgid "Nepali" +msgstr "Nepali" + +msgid "Dutch" +msgstr "Gollandça" + +msgid "Norwegian Nynorsk" +msgstr "Norwegiýa Nynorskçasy" + +msgid "Ossetic" +msgstr "Osetikçe" + +msgid "Punjabi" +msgstr "Penjebiçe" + +msgid "Polish" +msgstr "Polýakça" + +msgid "Portuguese" +msgstr "Portugalça" + +msgid "Brazilian Portuguese" +msgstr "Braziliýa Portugalçasy" + +msgid "Romanian" +msgstr "Rumynça" + +msgid "Russian" +msgstr "Rusça" + +msgid "Slovak" +msgstr "Slowakça" + +msgid "Slovenian" +msgstr "Slowençe" + +msgid "Albanian" +msgstr "Albança" + +msgid "Serbian" +msgstr "Serbçe" + +msgid "Serbian Latin" +msgstr "Serb Latynçasy" + +msgid "Swedish" +msgstr "Şwedçe" + +msgid "Swahili" +msgstr "Swahili" + +msgid "Tamil" +msgstr "Tamil" + +msgid "Telugu" +msgstr "Telugu" + +msgid "Tajik" +msgstr "Täjik" + +msgid "Thai" +msgstr "Taýça" + +msgid "Turkmen" +msgstr "Türkmençe" + +msgid "Turkish" +msgstr "Türkçe" + +msgid "Tatar" +msgstr "Tatarça" + +msgid "Udmurt" +msgstr "Udmurt" + +msgid "Uyghur" +msgstr "Uýgur" + +msgid "Ukrainian" +msgstr "Ukrainçe" + +msgid "Urdu" +msgstr "Urduça" + +msgid "Uzbek" +msgstr "Özbekçe" + +msgid "Vietnamese" +msgstr "Wýetnamça" + +msgid "Simplified Chinese" +msgstr "Ýönekeýleşdirilen Hytaýça" + +msgid "Traditional Chinese" +msgstr "Adaty Hytaýça" + +msgid "Messages" +msgstr "Habarlar" + +msgid "Site Maps" +msgstr "Saýt Kartalary" + +msgid "Static Files" +msgstr "Statik Faýllar" + +msgid "Syndication" +msgstr "Syndikasiýa" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "..." + +msgid "That page number is not an integer" +msgstr "Ol sahypanyň sany bitewi san däl" + +msgid "That page number is less than 1" +msgstr "Ol sahypanyň belgisi 1-den az" + +msgid "That page contains no results" +msgstr "Ol sahypada hiç hili netije ýok" + +msgid "Enter a valid value." +msgstr "Dogry baha giriziň." + +msgid "Enter a valid domain name." +msgstr "Dogry domen adyny giriziň." + +msgid "Enter a valid URL." +msgstr "Dogry URL giriziň." + +msgid "Enter a valid integer." +msgstr "Dogry bitewi san giriziň." + +msgid "Enter a valid email address." +msgstr "Dogry e-poçta salgysyny giriziň." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Harplardan, sanlardan, aşaky çyzyklardan ýa-da defislerden ybarat dogry " +"“slug” giriziň." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Unikod harplaryndan, sanlardan, aşaky çyzyklardan ýa-da defislerden ybarat " +"dogry “slug” giriziň." + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "Dogry %(protocol)s adresi giriziň." + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "IPv4 or IPv6" +msgstr "IPv4 ýa IPv6" + +msgid "Enter only digits separated by commas." +msgstr "Diňe otur bilen aýrylan sanlary giriziň." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"%(limit_value)s bahasynyň dogry bolmagyny üpjün ediň (şuwagt %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" +"Maglumatyň %(limit_value)s bahasyndan az ýa-da deň bolmagyny üpjün ediň." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" +"Maglumatyň %(limit_value)s bahasyndan köp ýa-da deň bolmagyny üpjün ediň." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "Bu baha %(limit_value)s-nyň essesi bolmaly." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Bu maglumatda iň az %(limit_value)d harp bardygyna göz ýetiriň (munda " +"%(show_value)d bar)." +msgstr[1] "" +"Bu maglumatda azyndan %(limit_value)d nyşanyň bolmagyny üpjün ediň (şuwagt " +"%(show_value)d sany bar)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Bu maglumatda köpünden %(limit_value)d harp bardygyna göz ýetiriň (bunda " +"%(show_value)d bar)" +msgstr[1] "" +"Bu maglumatda iň köp %(limit_value)d nyşanyň bolmagyny üpjün ediň (şuwagt " +"%(show_value)d sany bar)" + +msgid "Enter a number." +msgstr "San giriziň" + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Bu ýerde jemi %(max)s'dan köp san ýokduguna göz ýetiriň." +msgstr[1] "Bu ýerde jemi %(max)s sanydan köp sifriň bolmazlygyny üpjün ediň." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Bu ýerde %(max)s'dan köp nokatly san ýokdugyna göz ýetiriň" +msgstr[1] "Bu ýerde %(max)s sanydan köp nokatly san ýoklugyny üpjün ediň." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "Nokatdan öň %(max)s'dan köp san ýokdugyna göz ýetiriň" +msgstr[1] "Nokatdan öň %(max)s sanydan köp sifriň ýoklugyny üpjün ediň." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"\"%(extension)s\" faýl görnüşine rugsat edilmeýär. Rugsat berilýän faýl " +"görnüşleri şulardan ybarat: %(allowed_extensions)s" + +msgid "Null characters are not allowed." +msgstr "Null nyşanlara rugsat berilmeýär." + +msgid "and" +msgstr "we" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(field_labels)s bilen baglanyşykly %(model_name)s eýýäm bar." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "Çäklendirme “%(name)s” bozuldy." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "%(value)r dogry saýlaw däl." + +msgid "This field cannot be null." +msgstr "Bu meýdan null bilmez." + +msgid "This field cannot be blank." +msgstr "Bu meýdan boş bolup bilmez." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(field_label)s bilen baglanyşykly %(model_name)s eýýäm bar." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(lookup_type)s %(date_field_label)s üçin %(field_label)s özboluşly " +"bolmalydyr." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Meýdan görnüşi: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "\"%(value)s\" hökman True ýa-da False bolmalydyr." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "\"%(value)s\" hökman True, False ýa-da None bolmalydyr." + +msgid "Boolean (Either True or False)" +msgstr "Boolean (True ýa-da False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Setir (iň köp %(max_length)s)" + +msgid "String (unlimited)" +msgstr "String (limitsiz)" + +msgid "Comma-separated integers" +msgstr "Otur bilen bölünen bitewi sanlar" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"\"%(value)s\" bahasynyň nädogry sene formaty bar. ÝÝÝÝ-AA-GG görnüşinde " +"bolmaly." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"\"%(value)s\" dogry yazylyş usuluna (ÝÝÝÝ-AA-GG) eýe, ýöne, sene nädogry." + +msgid "Date (without time)" +msgstr "Sene (wagtsyz)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"\"%(value)s\" ýalňyş görnüşde ýazylan. Bu baha hökmany suratda ÝÝÝÝ-AA-GG SS:" +"MM[:ss[.uuuuuu]][TZ] görnüşde bolmalydyr." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"\"%(value)s\" dogry sene görnüşine eýe (ÝÝÝÝ-AA-GG SS:MM[:ss[.uuuuuu]][TZ]). " +"Ýöne bu nädogry sene/wagt." + +msgid "Date (with time)" +msgstr "Sene (wagty bilen)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "\"%(value)s\" hökman nokatly san bolmalydyr." + +msgid "Decimal number" +msgstr "Onluk san" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"\"%(value)s\" ýalňyş sene görnüşine eýe. Bu hökman [GG] [[SS:]AA:]ss[." +"uuuuuu] görnüşinde bolmalydyr." + +msgid "Duration" +msgstr "Dowamlylyk" + +msgid "Email address" +msgstr "Email adres" + +msgid "File path" +msgstr "Faýl ýoly" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "\"%(value)s float san bolmaly." + +msgid "Floating point number" +msgstr "Float san" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "\"%(value)s\" bitewi san bolmaly." + +msgid "Integer" +msgstr "Bitewi san" + +msgid "Big (8 byte) integer" +msgstr "Uly (8 baýt) bitewi san" + +msgid "Small integer" +msgstr "Kiçi bitewi san" + +msgid "IPv4 address" +msgstr "IPv4 salgy" + +msgid "IP address" +msgstr "IP salgy" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "\"%(value)s\" None, True ýa-da False bolmaly." + +msgid "Boolean (Either True, False or None)" +msgstr "Boolean (True, False ýa-da None)" + +msgid "Positive big integer" +msgstr "Pozitiw uly bitewi san" + +msgid "Positive integer" +msgstr "Pozitiw bitewi san" + +msgid "Positive small integer" +msgstr "Pozitiw kiçi bitewi san" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (iň köp %(max_length)s)" + +msgid "Text" +msgstr "Tekst" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"\"%(value)s\" bahasy nädogry formata eýe. SS:MM[:ss[.uuuuuu]] formatda " +"bolmaly." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"\"%(value)s\" bahasy dogry formata eýe (SS:MM[:ss[.uuuuuu]]) ýöne bu nädogry " +"wagt." + +msgid "Time" +msgstr "Wagt" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Çig ikilik maglumat" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "\"%(value)s\" dogry UUID däl." + +msgid "Universally unique identifier" +msgstr "Ähliumumy özboluşly kesgitleýji" + +msgid "File" +msgstr "Faýl" + +msgid "Image" +msgstr "Surat" + +msgid "A JSON object" +msgstr "JSON obýekti" + +msgid "Value must be valid JSON." +msgstr "Bahasy JSON bolmaly." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "%(field)s%(value)r bolan %(model)s ýok." + +msgid "Foreign Key (type determined by related field)" +msgstr "Daşary açary (baglanyşykly meýdança bilen kesgitlenýär)" + +msgid "One-to-one relationship" +msgstr "Bire-bir gatnaşyk" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s gatnaşyk" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s gatnaşyklar" + +msgid "Many-to-many relationship" +msgstr "Köp-köp gatnaşyk" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Bu meýdança hökman gerekli." + +msgid "Enter a whole number." +msgstr "Bitin san giriziň." + +msgid "Enter a valid date." +msgstr "Dogry senäni giriziň." + +msgid "Enter a valid time." +msgstr "Dogry wagt giriziň." + +msgid "Enter a valid date/time." +msgstr "Dogry senäni/wagty giriziň." + +msgid "Enter a valid duration." +msgstr "Dogry dowamlylygy giriziň." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Günleriň sany {min_days} bilen {max_days} arasynda bolmaly." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Hiç hili faýl tabşyrylmady. Formadaky enkodiň görnüşini barlaň." + +msgid "No file was submitted." +msgstr "Hiç hili faýl tabşyrylmady." + +msgid "The submitted file is empty." +msgstr "Tabşyrylan faýl boş." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Bu faýl adynyň iň köp %(max)d nyşanynyň bolmagyny üpjin ediň (şuwagt " +"%(length)d sany bar)." +msgstr[1] "" +"Bu faýl adynyň iň köp %(max)d nyşanynyň bolmagyny üpjin ediň (şuwagt " +"%(length)d sany bar)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Bir faýl iberiň ýa-da arassala gutyjygyny belläň, ikisini bile däl." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Dogry surat ýükläň. Ýüklän faýlyňyz ýa surat däldi ýa-da zaýalanan suratdy." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Dogry saýlawy saýlaň. %(value)s elýeterli saýlawlaryň biri däl." + +msgid "Enter a list of values." +msgstr "Bahalaryň sanawyny giriziň." + +msgid "Enter a complete value." +msgstr "Doly bahany giriziň." + +msgid "Enter a valid UUID." +msgstr "Dogry UUID giriziň." + +msgid "Enter a valid JSON." +msgstr "Dogry JSON giriziň." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Gizlin meýdan %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"ManagementForm maglumatlary ýok ýa-da bozulan. Tapylmadyk meýdança: " +"%(field_names)s. Mesele dowam etse, \"bug report\" açmaly bolmagyňyz mümkin." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Haýyş, iň köp %(num)d form tabşyryň." +msgstr[1] "Haýyş, iň köp %(num)d form tabşyryň." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Haýyş, azyndan %(num)d form tabşyryň." +msgstr[1] "Haýyş, azyndan %(num)d form tabşyryň." + +msgid "Order" +msgstr "Tertip" + +msgid "Delete" +msgstr "Poz" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "%(field)s üçin dublikat maglumatlary düzediň." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "Özboluşly bolmaly %(field)s üçin dublikat maglumatlary düzediň." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"%(date_field)s meýdanynda %(lookup)süçin özboluşly bolmaly %(field_name)s " +"üçin dublikat maglumatlary düzediň." + +msgid "Please correct the duplicate values below." +msgstr "Aşakdaky dublikat bahalary düzediň." + +msgid "The inline value did not match the parent instance." +msgstr "Giriş bahasy esasy mysal bilen gabat gelmedi." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Dogry saýlawy saýlaň. Bu saýlaw, elýeterli saýlawlaryň biri däl." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "\"%(pk)s\" dogry baha däl." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s wagty %(current_timezone)s wagt zolagy bilen düşündirip " +"bolmady; garyşyk bolup biler ýa-da ýok bolmagy mümkin." + +msgid "Clear" +msgstr "Arassala" + +msgid "Currently" +msgstr "Häzirki wagtda" + +msgid "Change" +msgstr "Üýtget" + +msgid "Unknown" +msgstr "Näbelli" + +msgid "Yes" +msgstr "Hawa" + +msgid "No" +msgstr "Ýok" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "hawa,ýok,belki" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d baýt" +msgstr[1] "%(size)d baýt" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m" + +msgid "a.m." +msgstr "a.m" + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "ýary gije" + +msgid "noon" +msgstr "günortan" + +msgid "Monday" +msgstr "Duşenbe" + +msgid "Tuesday" +msgstr "Sişenbe" + +msgid "Wednesday" +msgstr "Çarşenbe" + +msgid "Thursday" +msgstr "Penşenbe" + +msgid "Friday" +msgstr "Anna" + +msgid "Saturday" +msgstr "Şenbe" + +msgid "Sunday" +msgstr "Ýekşenbe" + +msgid "Mon" +msgstr "Duş" + +msgid "Tue" +msgstr "Siş" + +msgid "Wed" +msgstr "Çarş" + +msgid "Thu" +msgstr "Pen" + +msgid "Fri" +msgstr "Anna" + +msgid "Sat" +msgstr "Şen" + +msgid "Sun" +msgstr "Ýek" + +msgid "January" +msgstr "Ýanwar" + +msgid "February" +msgstr "Fewral" + +msgid "March" +msgstr "Mart" + +msgid "April" +msgstr "Aprel" + +msgid "May" +msgstr "Maý" + +msgid "June" +msgstr "Iýun" + +msgid "July" +msgstr "Iýul" + +msgid "August" +msgstr "Awgust" + +msgid "September" +msgstr "Sentýabr" + +msgid "October" +msgstr "Oktýabr" + +msgid "November" +msgstr "Noýabr" + +msgid "December" +msgstr "Dekabr" + +msgid "jan" +msgstr "ýan" + +msgid "feb" +msgstr "few" + +msgid "mar" +msgstr "mart" + +msgid "apr" +msgstr "apr" + +msgid "may" +msgstr "maý" + +msgid "jun" +msgstr "iýun" + +msgid "jul" +msgstr "iýul" + +msgid "aug" +msgstr "awg" + +msgid "sep" +msgstr "sent" + +msgid "oct" +msgstr "okt" + +msgid "nov" +msgstr "noý" + +msgid "dec" +msgstr "dek" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Ýan." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Few." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Mart" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Aprel" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Maý" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Iýun" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Iýul" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Awg." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Sent." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Okt." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Noý." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Dek." + +msgctxt "alt. month" +msgid "January" +msgstr "Ýanwar" + +msgctxt "alt. month" +msgid "February" +msgstr "Fewral" + +msgctxt "alt. month" +msgid "March" +msgstr "Mart" + +msgctxt "alt. month" +msgid "April" +msgstr "Aprel" + +msgctxt "alt. month" +msgid "May" +msgstr "Maý" + +msgctxt "alt. month" +msgid "June" +msgstr "Iýun" + +msgctxt "alt. month" +msgid "July" +msgstr "Iýul" + +msgctxt "alt. month" +msgid "August" +msgstr "Awgust" + +msgctxt "alt. month" +msgid "September" +msgstr "Sentýabr" + +msgctxt "alt. month" +msgid "October" +msgstr "Oktýabr" + +msgctxt "alt. month" +msgid "November" +msgstr "Noýabr" + +msgctxt "alt. month" +msgid "December" +msgstr "Dekabr" + +msgid "This is not a valid IPv6 address." +msgstr "Bu dogry IPv6 salgy däl." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "ýa" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr "\"" + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d ýyl" +msgstr[1] "%(num)d ýyl" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d aý" +msgstr[1] "%(num)d aý" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d hepde" +msgstr[1] "%(num)d hepde" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d gün" +msgstr[1] "%(num)d gün" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d sagat" +msgstr[1] "%(num)d sagat" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d minut" +msgstr[1] "%(num)d minut" + +msgid "Forbidden" +msgstr "Gadagan " + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF dogrylamak şowsuz. Talap ýatyryldy." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Bu haty görýärsiňiz, sebäbi bu HTTPS sahypasy web brauzeriňiz tarapyndan " +"iberilmeli \"Referer header\" talap edýär, ýöne hiç biri iberilmedi. Bu " +"sözbaşy, brauzeriňiziň üçünji şahyslar tarapyndan ogurlanmazlygy üçin " +"howpsuzlyk sebäpli talap edilýär." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Brauzeriňizde \"Referer\" sözbaşylaryny öçüren bolsaňyz, iň bolmanda bu " +"sahypa ýa-da HTTPS birikmeleri ýa-da \"meňzeş\" talaplar üçin täzeden açyň." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Egerde siz diýen bellik " +"ýada \"Referrer-Policy: no-referrer\" header ulanýan bolsaňyz, olary " +"aýyrmagyňyzy haýyş edýäris. CSRF goragy üçin \"Referer\" header-i dogry " +"salgylanma üçin gereklidir. Eger siz gizlinlik üçin alada etseňiz, üçinji " +"şahs sahypalara baglanyşyklar üçin ýaly " +"alternatiwalary ulanyp bilersiňiz." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Bu sahypa formalary tabşyranda CSRF kukisini talap edýäligi sebäpli bu " +"habary görýärsiňiz. Bu kuki, brauzeriňiziň üçünji taraplar tarapyndan " +"ogurlanmazlygy üçin howpsuzlyk sebäpli talap edilýär." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Brauzeriňizde kukileri öçüren bolsaňyz, iň bolmanda şu sahypa ýa-da " +"\"meňzeş\" talaplar üçin olary täzeden açyň." + +msgid "More information is available with DEBUG=True." +msgstr "Has giňişleýin maglumat DEBUG=True bilen elýeterlidir." + +msgid "No year specified" +msgstr "Ýyl görkezilmedi" + +msgid "Date out of range" +msgstr "Sene çägiň daşynda" + +msgid "No month specified" +msgstr "Aý görkezilmedi" + +msgid "No day specified" +msgstr "Gün görkezilmedi" + +msgid "No week specified" +msgstr "Hepde görkezilmedi" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Elýeterli %(verbose_name_plural)s ýok" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Gelejek %(verbose_name_plural)s elýeterli däl sebäbi %(class_name)s." +"allow_future bahasy False" + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "Nädogry sene setiri \"%(datestr)s\" berlen format \"%(format)s\"" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Talap bilen gabat gelýän %(verbose_name)s tapylmady" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "Sahypa “iň soňky” däl, ony int-ede öwrüp bolmaz." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Nädogry sahypa (%(page_number)s ): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Boş list we \"%(class_name)s.allow_empty\" bahasy False" + +msgid "Directory indexes are not allowed here." +msgstr "Bu ýerde katalog indekslerine rugsat berilmeýär." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "\"%(path)s\" beýle ýol ýok" + +#, python-format +msgid "Index of %(directory)s" +msgstr "%(directory)s indeksi" + +msgid "The install worked successfully! Congratulations!" +msgstr "Üstünlikli guruldy! Gutlaýarys!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Django %(version)s üçin goýberiş " +"belliklerini görüň" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Bu sahypany görýärsiňiz, sebäbi sazlamalar faýlyňyzda DEBUG=True we hiç hili URL düzmediňiz." + +msgid "Django Documentation" +msgstr "Django resminamalary" + +msgid "Topics, references, & how-to’s" +msgstr "Mowzuklar, salgylanmalar, & how-to-lar" + +msgid "Tutorial: A Polling App" +msgstr "Gollanma: Ses beriş programmasy" + +msgid "Get started with Django" +msgstr "Django bilen başlaň" + +msgid "Django Community" +msgstr "Django jemgyýeti" + +msgid "Connect, get help, or contribute" +msgstr "Birikiň, kömek alyň ýa-da goşant goşuň" diff --git a/external_sources/django/django/conf/locale/tk/__init__.py b/external_sources/django/django/conf/locale/tk/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/tk/formats.py b/external_sources/django/django/conf/locale/tk/formats.py new file mode 100644 index 0000000..0ab7d49 --- /dev/null +++ b/external_sources/django/django/conf/locale/tk/formats.py @@ -0,0 +1,32 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j E Y г." +TIME_FORMAT = "G:i" +DATETIME_FORMAT = "j E Y г. G:i" +YEAR_MONTH_FORMAT = "F Y г." +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "d.m.Y" +SHORT_DATETIME_FORMAT = "d.m.Y H:i" +FIRST_DAY_OF_WEEK = 1 # Monday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d.%m.%Y", # '25.10.2006' + "%d.%m.%y", # '25.10.06' +] +DATETIME_INPUT_FORMATS = [ + "%d.%m.%Y %H:%M:%S", # '25.10.2006 14:30:59' + "%d.%m.%Y %H:%M:%S.%f", # '25.10.2006 14:30:59.000200' + "%d.%m.%Y %H:%M", # '25.10.2006 14:30' + "%d.%m.%Y", # '25.10.2006' + "%d.%m.%y %H:%M:%S", # '25.10.06 14:30:59' + "%d.%m.%y %H:%M:%S.%f", # '25.10.06 14:30:59.000200' + "%d.%m.%y %H:%M", # '25.10.06 14:30' + "%d.%m.%y", # '25.10.06' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "\xa0" # non-breaking space +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/tr/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/tr/LC_MESSAGES/django.po new file mode 100644 index 0000000..be5fa56 --- /dev/null +++ b/external_sources/django/django/conf/locale/tr/LC_MESSAGES/django.po @@ -0,0 +1,1359 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Ahmet Emre Aladağ , 2013 +# BouRock, 2015-2024 +# BouRock, 2014-2015 +# Caner Başaran , 2013 +# Cihad GÜNDOĞDU , 2012 +# Cihad GÜNDOĞDU , 2013-2014 +# Gökmen Görgen , 2013 +# Jannis Leidel , 2011 +# Mesut Can Gürle , 2013 +# Murat Çorlu , 2012 +# Murat Sahin , 2011-2012 +# Türker Sezer , 2019 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 06:49+0000\n" +"Last-Translator: BouRock, 2015-2024\n" +"Language-Team: Turkish (http://app.transifex.com/django/django/language/" +"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" + +msgid "Afrikaans" +msgstr "Afrikanca" + +msgid "Arabic" +msgstr "Arapça" + +msgid "Algerian Arabic" +msgstr "Cezayir Arapçası" + +msgid "Asturian" +msgstr "Asturyaca" + +msgid "Azerbaijani" +msgstr "Azerice" + +msgid "Bulgarian" +msgstr "Bulgarca" + +msgid "Belarusian" +msgstr "Beyaz Rusça" + +msgid "Bengali" +msgstr "Bengalce" + +msgid "Breton" +msgstr "Bretonca" + +msgid "Bosnian" +msgstr "Boşnakça" + +msgid "Catalan" +msgstr "Katalanca" + +msgid "Central Kurdish (Sorani)" +msgstr "Orta Kürtçe (Sorani)" + +msgid "Czech" +msgstr "Çekçe" + +msgid "Welsh" +msgstr "Galce" + +msgid "Danish" +msgstr "Danca" + +msgid "German" +msgstr "Almanca" + +msgid "Lower Sorbian" +msgstr "Aşağı Sorb dili" + +msgid "Greek" +msgstr "Yunanca" + +msgid "English" +msgstr "İngilizce" + +msgid "Australian English" +msgstr "Avusturya İngilizcesi" + +msgid "British English" +msgstr "İngiliz İngilizcesi" + +msgid "Esperanto" +msgstr "Esperanto dili" + +msgid "Spanish" +msgstr "İspanyolca" + +msgid "Argentinian Spanish" +msgstr "Arjantin İspanyolcası" + +msgid "Colombian Spanish" +msgstr "Kolomiya İspanyolcası" + +msgid "Mexican Spanish" +msgstr "Meksika İspanyolcası" + +msgid "Nicaraguan Spanish" +msgstr "Nikaragua İspanyolcası" + +msgid "Venezuelan Spanish" +msgstr "Venezüella İspanyolcası" + +msgid "Estonian" +msgstr "Estonca" + +msgid "Basque" +msgstr "Baskça" + +msgid "Persian" +msgstr "Farsça" + +msgid "Finnish" +msgstr "Fince" + +msgid "French" +msgstr "Fransızca" + +msgid "Frisian" +msgstr "Frizce" + +msgid "Irish" +msgstr "İrlandaca" + +msgid "Scottish Gaelic" +msgstr "İskoçça Galcesi" + +msgid "Galician" +msgstr "Galiçyaca" + +msgid "Hebrew" +msgstr "İbranice" + +msgid "Hindi" +msgstr "Hintçe" + +msgid "Croatian" +msgstr "Hırvatça" + +msgid "Upper Sorbian" +msgstr "Yukarı Sorb dili" + +msgid "Hungarian" +msgstr "Macarca" + +msgid "Armenian" +msgstr "Ermenice" + +msgid "Interlingua" +msgstr "Interlingua" + +msgid "Indonesian" +msgstr "Endonezce" + +msgid "Igbo" +msgstr "Igbo dili" + +msgid "Ido" +msgstr "Ido dili" + +msgid "Icelandic" +msgstr "İzlandaca" + +msgid "Italian" +msgstr "İtalyanca" + +msgid "Japanese" +msgstr "Japonca" + +msgid "Georgian" +msgstr "Gürcüce" + +msgid "Kabyle" +msgstr "Kabiliye dili" + +msgid "Kazakh" +msgstr "Kazakça" + +msgid "Khmer" +msgstr "Kmerce" + +msgid "Kannada" +msgstr "Kannada dili" + +msgid "Korean" +msgstr "Korece" + +msgid "Kyrgyz" +msgstr "Kırgızca" + +msgid "Luxembourgish" +msgstr "Lüksemburgca" + +msgid "Lithuanian" +msgstr "Litovca" + +msgid "Latvian" +msgstr "Letonca" + +msgid "Macedonian" +msgstr "Makedonca" + +msgid "Malayalam" +msgstr "Malayamca" + +msgid "Mongolian" +msgstr "Moğolca" + +msgid "Marathi" +msgstr "Marathi dili" + +msgid "Malay" +msgstr "Malayca" + +msgid "Burmese" +msgstr "Birmanca" + +msgid "Norwegian Bokmål" +msgstr "Norveççe Bokmal" + +msgid "Nepali" +msgstr "Nepalce" + +msgid "Dutch" +msgstr "Flemenkçe" + +msgid "Norwegian Nynorsk" +msgstr "Norveççe Nynorsk" + +msgid "Ossetic" +msgstr "Osetçe" + +msgid "Punjabi" +msgstr "Pencapça" + +msgid "Polish" +msgstr "Lehçe" + +msgid "Portuguese" +msgstr "Portekizce" + +msgid "Brazilian Portuguese" +msgstr "Brezilya Portekizcesi" + +msgid "Romanian" +msgstr "Romence" + +msgid "Russian" +msgstr "Rusça" + +msgid "Slovak" +msgstr "Slovakça" + +msgid "Slovenian" +msgstr "Slovence" + +msgid "Albanian" +msgstr "Arnavutça" + +msgid "Serbian" +msgstr "Sırpça" + +msgid "Serbian Latin" +msgstr "Sırpça Latin" + +msgid "Swedish" +msgstr "İsveççe" + +msgid "Swahili" +msgstr "Savahilice" + +msgid "Tamil" +msgstr "Tamilce" + +msgid "Telugu" +msgstr "Telugu dili" + +msgid "Tajik" +msgstr "Tacikçe" + +msgid "Thai" +msgstr "Tayca" + +msgid "Turkmen" +msgstr "Türkmence" + +msgid "Turkish" +msgstr "Türkçe" + +msgid "Tatar" +msgstr "Tatarca" + +msgid "Udmurt" +msgstr "Udmurtça" + +msgid "Uyghur" +msgstr "Uygur" + +msgid "Ukrainian" +msgstr "Ukraynaca" + +msgid "Urdu" +msgstr "Urduca" + +msgid "Uzbek" +msgstr "‎Özbekçe" + +msgid "Vietnamese" +msgstr "Vietnamca" + +msgid "Simplified Chinese" +msgstr "Basitleştirilmiş Çince" + +msgid "Traditional Chinese" +msgstr "Geleneksel Çince" + +msgid "Messages" +msgstr "İletiler" + +msgid "Site Maps" +msgstr "Site Haritaları" + +msgid "Static Files" +msgstr "Sabit Dosyalar" + +msgid "Syndication" +msgstr "Dağıtım" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "Bu sayfa numarası bir tamsayı değil" + +msgid "That page number is less than 1" +msgstr "Bu sayfa numarası 1’den az" + +msgid "That page contains no results" +msgstr "Bu sayfa hiç sonuç içermiyor" + +msgid "Enter a valid value." +msgstr "Geçerli bir değer girin." + +msgid "Enter a valid domain name." +msgstr "Geçerli bir etki alanı adı girin." + +msgid "Enter a valid URL." +msgstr "Geçerli bir URL girin." + +msgid "Enter a valid integer." +msgstr "Geçerli bir tamsayı girin." + +msgid "Enter a valid email address." +msgstr "Geçerli bir e-posta adresi girin." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Harflerden, sayılardan, altçizgilerden veya tirelerden oluşan geçerli bir " +"“kısaltma” girin." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Evrensel kod harflerden, sayılardan, altçizgilerden veya tirelerden oluşan " +"geçerli bir “kısaltma” girin." + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "Geçerli bir %(protocol)s adresi girin." + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "IPv4 or IPv6" +msgstr "IPv4 veya IPv6" + +msgid "Enter only digits separated by commas." +msgstr "Sadece virgülle ayrılmış rakamlar girin." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Bu değerin %(limit_value)s olduğuna emin olun (şu an %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Bu değerin %(limit_value)s değerinden az veya eşit olduğuna emin olun." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" +"Bu değerin %(limit_value)s değerinden büyük veya eşit olduğuna emin olun." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "" +"Bu değerin %(limit_value)s adım boyutunun katları olduğundan emin olun." + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"Bu değerin %(offset)s değerinden başlayarak %(limit_value)s adım boyutunun " +"katı olduğundan emin olun, örn. %(offset)s, %(valid_value1)s, " +"%(valid_value2)s, vb." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Bu değerin en az %(limit_value)d karaktere sahip olduğuna emin olun (şu an " +"%(show_value)d)." +msgstr[1] "" +"Bu değerin en az %(limit_value)d karaktere sahip olduğuna emin olun (şu an " +"%(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Bu değerin en fazla %(limit_value)d karaktere sahip olduğuna emin olun (şu " +"an %(show_value)d)." +msgstr[1] "" +"Bu değerin en fazla %(limit_value)d karaktere sahip olduğuna emin olun (şu " +"an %(show_value)d)." + +msgid "Enter a number." +msgstr "Bir sayı girin." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Toplamda %(max)s rakamdan daha fazla olmadığından emin olun." +msgstr[1] "Toplamda %(max)s rakamdan daha fazla olmadığından emin olun." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "%(max)s ondalık basamaktan daha fazla olmadığından emin olun." +msgstr[1] "%(max)s ondalık basamaktan daha fazla olmadığından emin olun." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Ondalık noktasından önce %(max)s rakamdan daha fazla olmadığından emin olun." +msgstr[1] "" +"Ondalık noktasından önce %(max)s rakamdan daha fazla olmadığından emin olun." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"“%(extension)s” dosya uzantısına izin verilmiyor. İzin verilen uzantılar: " +"%(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Boş karakterlere izin verilmiyor." + +msgid "and" +msgstr "ve" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "Bu %(field_labels)s alanına sahip %(model_name)s zaten mevcut." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "\"%(name)s\" kısıtlaması ihlal edildi." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "%(value)r değeri geçerli bir seçim değil." + +msgid "This field cannot be null." +msgstr "Bu alan boş olamaz." + +msgid "This field cannot be blank." +msgstr "Bu alan boş olamaz." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "Bu %(field_label)s alanına sahip %(model_name)s zaten mevcut." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s, %(date_field_label)s %(lookup_type)s için benzersiz olmak " +"zorundadır." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Alan türü: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "“%(value)s” değeri ya True ya da False olmak zorundadır." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "“%(value)s” değeri ya True, False ya da None olmak zorundadır." + +msgid "Boolean (Either True or False)" +msgstr "Boolean (Ya True ya da False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Dizgi (%(max_length)s karaktere kadar)" + +msgid "String (unlimited)" +msgstr "Dizgi (sınırsız)" + +msgid "Comma-separated integers" +msgstr "Virgülle ayrılmış tamsayılar" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"“%(value)s” değeri geçersiz bir tarih biçimine sahip. Bu YYYY-MM-DD " +"biçiminde olmak zorundadır." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"“%(value)s” değeri doğru bir biçime (YYYY-MM-DD) sahip ancak bu geçersiz bir " +"tarih." + +msgid "Date (without time)" +msgstr "Tarih (saat olmadan)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"“%(value)s” değeri geçersiz bir biçime sahip. YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ] biçiminde olmak zorundadır." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"“%(value)s” değeri doğru bir biçime (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]) " +"sahip ancak bu geçersiz bir tarih/saat." + +msgid "Date (with time)" +msgstr "Tarih (saat olan)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "“%(value)s” değeri bir ondalık sayı olmak zorundadır." + +msgid "Decimal number" +msgstr "Ondalık sayı" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"“%(value)s” değer geçersiz bir biçime sahip. [DD] [HH:[MM:]]ss[.uuuuuu] " +"biçiminde olmak zorundadır." + +msgid "Duration" +msgstr "Süre" + +msgid "Email address" +msgstr "E-posta adresi" + +msgid "File path" +msgstr "Dosya yolu" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "“%(value)s” değeri kayan noktalı bir sayı olmak zorundadır." + +msgid "Floating point number" +msgstr "Kayan noktalı sayı" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "“%(value)s” değeri bir tamsayı olmak zorundadır." + +msgid "Integer" +msgstr "Tamsayı" + +msgid "Big (8 byte) integer" +msgstr "Büyük (8 bayt) tamsayı" + +msgid "Small integer" +msgstr "Küçük tamsayı" + +msgid "IPv4 address" +msgstr "IPv4 adresi" + +msgid "IP address" +msgstr "IP adresi" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "“%(value)s” değeri ya None, True ya da False olmak zorundadır." + +msgid "Boolean (Either True, False or None)" +msgstr "Booleanl (Ya True, False, ya da None)" + +msgid "Positive big integer" +msgstr "Pozitif büyük tamsayı" + +msgid "Positive integer" +msgstr "Pozitif tamsayı" + +msgid "Positive small integer" +msgstr "Pozitif küçük tamsayı" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Kısaltma (%(max_length)s karaktere kadar)" + +msgid "Text" +msgstr "Metin" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"“%(value)s” değeri geçersiz bir biçime sahip. HH:MM[:ss[.uuuuuu]] biçiminde " +"olmak zorundadır." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"“%(value)s” değeri doğru biçime (HH:MM[:ss[.uuuuuu]]) sahip ancak bu " +"geçersiz bir saat." + +msgid "Time" +msgstr "Saat" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Ham ikili veri" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "“%(value)s” geçerli bir UUID değil." + +msgid "Universally unique identifier" +msgstr "Evrensel benzersiz tanımlayıcı" + +msgid "File" +msgstr "Dosya" + +msgid "Image" +msgstr "Resim" + +msgid "A JSON object" +msgstr "JSON nesnesi" + +msgid "Value must be valid JSON." +msgstr "Değer geçerli JSON olmak zorundadır." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "%(field)s %(value)r olan %(model)s benzeri mevcut değil." + +msgid "Foreign Key (type determined by related field)" +msgstr "Dış Anahtar (türü ilgili alana göre belirlenir)" + +msgid "One-to-one relationship" +msgstr "Bire-bir ilişki" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s ilişkisi" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s ilişkileri" + +msgid "Many-to-many relationship" +msgstr "Çoka-çok ilişki" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Bu alan zorunludur." + +msgid "Enter a whole number." +msgstr "Tam bir sayı girin." + +msgid "Enter a valid date." +msgstr "Geçerli bir tarih girin." + +msgid "Enter a valid time." +msgstr "Geçerli bir saat girin." + +msgid "Enter a valid date/time." +msgstr "Geçerli bir tarih/saat girin." + +msgid "Enter a valid duration." +msgstr "Geçerli bir süre girin." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Gün sayıları {min_days} ve {max_days} arasında olmak zorundadır." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Hiç dosya gönderilmedi. Formdaki kodlama türünü kontrol edin." + +msgid "No file was submitted." +msgstr "Hiç dosya gönderilmedi." + +msgid "The submitted file is empty." +msgstr "Gönderilen dosya boş." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Bu dosya adının en fazla %(max)d karaktere sahip olduğundan emin olun (şu an " +"%(length)d)." +msgstr[1] "" +"Bu dosya adının en fazla %(max)d karaktere sahip olduğundan emin olun (şu an " +"%(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Lütfen ya bir dosya gönderin ya da temizle işaretleme kutusunu işaretleyin, " +"ikisini aynı anda işaretlemeyin." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Geçerli bir resim gönderin. Gönderdiğiniz dosya ya bir resim değildi ya da " +"bozulmuş bir resimdi." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Geçerli bir seçenek seçin. %(value)s mevcut seçeneklerden biri değil." + +msgid "Enter a list of values." +msgstr "Değerlerin bir listesini girin." + +msgid "Enter a complete value." +msgstr "Tam bir değer girin." + +msgid "Enter a valid UUID." +msgstr "Geçerli bir UUID girin." + +msgid "Enter a valid JSON." +msgstr "Geçerli bir JSON girin." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Gizli alan %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"ManagementForm verileri eksik veya değiştirilmiş. Eksik alanlar: " +"%(field_names)s. Sorun devam ederse bir hata raporu dosyalamanız gerekebilir." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "Lütfen en fazla %(num)d form gönderin." +msgstr[1] "Lütfen en fazla %(num)d form gönderin." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "Lütfen en az %(num)d form gönderin." +msgstr[1] "Lütfen en az %(num)d form gönderin." + +msgid "Order" +msgstr "Sıralama" + +msgid "Delete" +msgstr "Sil" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Lütfen %(field)s için kopya veriyi düzeltin." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Lütfen %(field)s için benzersiz olmak zorunda olan, kopya veriyi düzeltin." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Lütfen %(date_field)s içindeki %(lookup)s için benzersiz olmak zorunda olan " +"%(field_name)s için kopya veriyi düzeltin." + +msgid "Please correct the duplicate values below." +msgstr "Lütfen aşağıdaki kopya değerleri düzeltin." + +msgid "The inline value did not match the parent instance." +msgstr "Satıriçi değer ana örnek ile eşleşmedi." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Geçerli bir seçenek seçin. Bu seçenek, mevcut seçeneklerden biri değil." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "“%(pk)s” geçerli bir değer değil." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s, %(current_timezone)s saat dilimi olarak yorumlanamadı; bu " +"belirsiz olabilir ya da mevcut olmayabilir." + +msgid "Clear" +msgstr "Temizle" + +msgid "Currently" +msgstr "Şu anki" + +msgid "Change" +msgstr "Değiştir" + +msgid "Unknown" +msgstr "Bilinmiyor" + +msgid "Yes" +msgstr "Evet" + +msgid "No" +msgstr "Hayır" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "evet,hayır,olabilir" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d bayt" +msgstr[1] "%(size)d bayt" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "ö.s." + +msgid "a.m." +msgstr "ö.ö." + +msgid "PM" +msgstr "ÖS" + +msgid "AM" +msgstr "ÖÖ" + +msgid "midnight" +msgstr "gece yarısı" + +msgid "noon" +msgstr "öğlen" + +msgid "Monday" +msgstr "Pazartesi" + +msgid "Tuesday" +msgstr "Salı" + +msgid "Wednesday" +msgstr "Çarşamba" + +msgid "Thursday" +msgstr "Perşembe" + +msgid "Friday" +msgstr "Cuma" + +msgid "Saturday" +msgstr "Cumartesi" + +msgid "Sunday" +msgstr "Pazar" + +msgid "Mon" +msgstr "Pzt" + +msgid "Tue" +msgstr "Sal" + +msgid "Wed" +msgstr "Çrş" + +msgid "Thu" +msgstr "Prş" + +msgid "Fri" +msgstr "Cum" + +msgid "Sat" +msgstr "Cmt" + +msgid "Sun" +msgstr "Paz" + +msgid "January" +msgstr "Ocak" + +msgid "February" +msgstr "Şubat" + +msgid "March" +msgstr "Mart" + +msgid "April" +msgstr "Nisan" + +msgid "May" +msgstr "Mayıs" + +msgid "June" +msgstr "Haziran" + +msgid "July" +msgstr "Temmuz" + +msgid "August" +msgstr "Ağustos" + +msgid "September" +msgstr "Eylül" + +msgid "October" +msgstr "Ekim" + +msgid "November" +msgstr "Kasım" + +msgid "December" +msgstr "Aralık" + +msgid "jan" +msgstr "oca" + +msgid "feb" +msgstr "şub" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "nis" + +msgid "may" +msgstr "may" + +msgid "jun" +msgstr "haz" + +msgid "jul" +msgstr "tem" + +msgid "aug" +msgstr "ağu" + +msgid "sep" +msgstr "eyl" + +msgid "oct" +msgstr "eki" + +msgid "nov" +msgstr "kas" + +msgid "dec" +msgstr "ara" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Oca." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Şub." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Mart" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Nisan" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Mayıs" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Haz." + +msgctxt "abbrev. month" +msgid "July" +msgstr "Tem." + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Ağu." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Eyl." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Eki." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Kas." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Ara." + +msgctxt "alt. month" +msgid "January" +msgstr "Ocak" + +msgctxt "alt. month" +msgid "February" +msgstr "Şubat" + +msgctxt "alt. month" +msgid "March" +msgstr "Mart" + +msgctxt "alt. month" +msgid "April" +msgstr "Nisan" + +msgctxt "alt. month" +msgid "May" +msgstr "Mayıs" + +msgctxt "alt. month" +msgid "June" +msgstr "Haziran" + +msgctxt "alt. month" +msgid "July" +msgstr "Temmuz" + +msgctxt "alt. month" +msgid "August" +msgstr "Ağustos" + +msgctxt "alt. month" +msgid "September" +msgstr "Eylül" + +msgctxt "alt. month" +msgid "October" +msgstr "Ekim" + +msgctxt "alt. month" +msgid "November" +msgstr "Kasım" + +msgctxt "alt. month" +msgid "December" +msgstr "Aralık" + +msgid "This is not a valid IPv6 address." +msgstr "Bu, geçerli bir IPv6 adresi değil." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "ya da" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d yıl" +msgstr[1] "%(num)d yıl" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d ay" +msgstr[1] "%(num)d ay" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d hafta" +msgstr[1] "%(num)d hafta" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d gün" +msgstr[1] "%(num)d gün" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d saat" +msgstr[1] "%(num)d saat" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d dakika" +msgstr[1] "%(num)d dakika" + +msgid "Forbidden" +msgstr "Yasak" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF doğrulaması başarısız oldu. İstek iptal edildi." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"Bu iletiyi görüyorsunuz çünkü bu HTTPS sitesi, web tarayıcınız tarafından " +"gönderilen “Referer üstbilgisi”ni gerektirir, ancak hiçbir şey gönderilmedi. " +"Bu üstbilgi güvenlik nedenleri için gerekir, tarayıcınızın üçüncü taraf " +"uygulamalar tarafından ele geçirilmediğinden emin olun." + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Eğer tarayıcınızı “Referer” üstbilgilerini etkisizleştirmek için " +"yapılandırdıysanız, lütfen bunları, en azından bu site ya da HTTPS " +"bağlantıları veya “aynı-kaynakta” olan istekler için yeniden etkinleştirin." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Eğer etiketi " +"kullanıyorsanız ya da “Referrer-Policy: no-referrer” üstbilgisini dahil " +"ediyorsanız, lütfen bunları kaldırın. CSRF koruması, katı göndereni denetimi " +"yapmak için “Referer” üstbilgisi gerektirir. Gizlilik konusunda endişeniz " +"varsa, üçüncü taraf sitelere bağlantılar için gibi " +"alternatifler kullanın." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Bu iletiyi görüyorsunuz çünkü bu site, formları gönderdiğinizde bir CSRF " +"tanımlama bilgisini gerektirir. Bu tanımlama bilgisi güvenlik nedenleri için " +"gerekir, tarayıcınızın üçüncü taraf uygulamalar tarafından ele " +"geçirilmediğinden emin olun." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Eğer tarayıcınızı tanımlama bilgilerini etkisizleştirmek için " +"yapılandırdıysanız, lütfen bunları, en azından bu site ya da “aynı-kaynakta” " +"olan istekler için yeniden etkinleştirin." + +msgid "More information is available with DEBUG=True." +msgstr "Daha fazla bilgi DEBUG=True ayarı ile mevcut olur." + +msgid "No year specified" +msgstr "Yıl bilgisi belirtilmedi" + +msgid "Date out of range" +msgstr "Tarih aralık dışında" + +msgid "No month specified" +msgstr "Ay bilgisi belirtilmedi" + +msgid "No day specified" +msgstr "Gün bilgisi belirtilmedi" + +msgid "No week specified" +msgstr "Hafta bilgisi belirtilmedi" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Mevcut %(verbose_name_plural)s yok" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Gelecek %(verbose_name_plural)s mevcut değil, çünkü %(class_name)s." +"allow_future değeri False olarak tanımlı." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "Geçersiz tarih dizgisi “%(datestr)s” verilen biçim “%(format)s”" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Sorguyla eşleşen hiç %(verbose_name)s bulunamadı" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "Sayfa “sonuncu” değil, ya da bir tamsayıya dönüştürülemez." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Geçersiz sayfa (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Liste boş ve “%(class_name)s.allow_empty” değeri False." + +msgid "Directory indexes are not allowed here." +msgstr "Dizin indekslerine burada izin verilmiyor." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "“%(path)s” mevcut değil" + +#, python-format +msgid "Index of %(directory)s" +msgstr "%(directory)s indeksi" + +msgid "The install worked successfully! Congratulations!" +msgstr "Yükleme başarılı olarak çalıştı! Tebrikler!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Django %(version)s sürümü için yayım notlarını göster" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Bu sayfayı görüyorsunuz çünkü DEBUG=True parametresi ayarlar dosyanızın içindedir ve " +"herhangi bir URL yapılandırmadınız." + +msgid "Django Documentation" +msgstr "Django Belgeleri" + +msgid "Topics, references, & how-to’s" +msgstr "Konular, kaynaklar ve nasıl yapılırlar" + +msgid "Tutorial: A Polling App" +msgstr "Eğitim: Anket Uygulaması" + +msgid "Get started with Django" +msgstr "Django ile başlayın" + +msgid "Django Community" +msgstr "Django Topluluğu" + +msgid "Connect, get help, or contribute" +msgstr "Bağlanın, yardım alın, ya da katkıda bulunun" diff --git a/external_sources/django/django/conf/locale/tr/__init__.py b/external_sources/django/django/conf/locale/tr/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/tr/formats.py b/external_sources/django/django/conf/locale/tr/formats.py new file mode 100644 index 0000000..806f442 --- /dev/null +++ b/external_sources/django/django/conf/locale/tr/formats.py @@ -0,0 +1,30 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "d F Y" +TIME_FORMAT = "H:i" +DATETIME_FORMAT = "d F Y H:i" +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "d F" +SHORT_DATE_FORMAT = "d M Y" +SHORT_DATETIME_FORMAT = "d M Y H:i" +FIRST_DAY_OF_WEEK = 1 # Pazartesi + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d/%m/%Y", # '25/10/2006' + "%d/%m/%y", # '25/10/06' + "%y-%m-%d", # '06-10-25' + # "%d %B %Y", # '25 Ekim 2006' + # "%d %b. %Y", # '25 Eki. 2006' +] +DATETIME_INPUT_FORMATS = [ + "%d/%m/%Y %H:%M:%S", # '25/10/2006 14:30:59' + "%d/%m/%Y %H:%M:%S.%f", # '25/10/2006 14:30:59.000200' + "%d/%m/%Y %H:%M", # '25/10/2006 14:30' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "." +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/tt/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/tt/LC_MESSAGES/django.po new file mode 100644 index 0000000..84d06ef --- /dev/null +++ b/external_sources/django/django/conf/locale/tt/LC_MESSAGES/django.po @@ -0,0 +1,1211 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Azat Khasanshin , 2011 +# v_ildar , 2014 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-27 22:40+0200\n" +"PO-Revision-Date: 2019-11-05 00:38+0000\n" +"Last-Translator: Ramiro Morales\n" +"Language-Team: Tatar (http://www.transifex.com/django/django/language/tt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tt\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Afrikaans" +msgstr "" + +msgid "Arabic" +msgstr "Гарәп теле" + +msgid "Asturian" +msgstr "" + +msgid "Azerbaijani" +msgstr "Азәрбайҗан" + +msgid "Bulgarian" +msgstr "Болгар теле" + +msgid "Belarusian" +msgstr "" + +msgid "Bengali" +msgstr "Бенгалия теле" + +msgid "Breton" +msgstr "" + +msgid "Bosnian" +msgstr "Босния теле" + +msgid "Catalan" +msgstr "Каталан теле" + +msgid "Czech" +msgstr "Чех теле" + +msgid "Welsh" +msgstr "Уэльс теле" + +msgid "Danish" +msgstr "Дания теле" + +msgid "German" +msgstr "Алман теле" + +msgid "Lower Sorbian" +msgstr "" + +msgid "Greek" +msgstr "Грек теле" + +msgid "English" +msgstr "Инглиз теле" + +msgid "Australian English" +msgstr "" + +msgid "British English" +msgstr "Британ инглиз теле" + +msgid "Esperanto" +msgstr "Эсперанто теле" + +msgid "Spanish" +msgstr "Испан теле" + +msgid "Argentinian Spanish" +msgstr "Аргентина испан теле" + +msgid "Colombian Spanish" +msgstr "" + +msgid "Mexican Spanish" +msgstr "Мексикалы испан" + +msgid "Nicaraguan Spanish" +msgstr "Никарагуалы испан" + +msgid "Venezuelan Spanish" +msgstr "" + +msgid "Estonian" +msgstr "Эстон теле" + +msgid "Basque" +msgstr "Баск теле" + +msgid "Persian" +msgstr "Фарсы теле" + +msgid "Finnish" +msgstr "Финн теле" + +msgid "French" +msgstr "Француз теле" + +msgid "Frisian" +msgstr "Фриз теле" + +msgid "Irish" +msgstr "Ирланд теле" + +msgid "Scottish Gaelic" +msgstr "" + +msgid "Galician" +msgstr "Галлий теле" + +msgid "Hebrew" +msgstr "Яһүд теле" + +msgid "Hindi" +msgstr "Хинд теле" + +msgid "Croatian" +msgstr "Хорват теле" + +msgid "Upper Sorbian" +msgstr "" + +msgid "Hungarian" +msgstr "Венгр теле" + +msgid "Armenian" +msgstr "" + +msgid "Interlingua" +msgstr "" + +msgid "Indonesian" +msgstr "Индонезия теле" + +msgid "Ido" +msgstr "" + +msgid "Icelandic" +msgstr "Исланд теле" + +msgid "Italian" +msgstr "Итальян теле" + +msgid "Japanese" +msgstr "Япон теле" + +msgid "Georgian" +msgstr "Грузин теле" + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "Казах теле" + +msgid "Khmer" +msgstr "Кхмер теле" + +msgid "Kannada" +msgstr "Каннада теле" + +msgid "Korean" +msgstr "Корея теле" + +msgid "Luxembourgish" +msgstr "Люксембург теле" + +msgid "Lithuanian" +msgstr "Литвалылар теле" + +msgid "Latvian" +msgstr "Латвия теле" + +msgid "Macedonian" +msgstr "Македон теле" + +msgid "Malayalam" +msgstr "Малаялам теле" + +msgid "Mongolian" +msgstr "Монгол теле" + +msgid "Marathi" +msgstr "" + +msgid "Burmese" +msgstr "" + +msgid "Norwegian Bokmål" +msgstr "" + +msgid "Nepali" +msgstr "" + +msgid "Dutch" +msgstr "Голланд теле" + +msgid "Norwegian Nynorsk" +msgstr "Норвегиялеләр (Нюнорск) теле" + +msgid "Ossetic" +msgstr "" + +msgid "Punjabi" +msgstr "Паджаби теле" + +msgid "Polish" +msgstr "Поляк теле" + +msgid "Portuguese" +msgstr "Португал теле" + +msgid "Brazilian Portuguese" +msgstr "Бразилия португал теле" + +msgid "Romanian" +msgstr "Румын теле" + +msgid "Russian" +msgstr "Рус теле" + +msgid "Slovak" +msgstr "Словак теле" + +msgid "Slovenian" +msgstr "Словен теле" + +msgid "Albanian" +msgstr "Албан теле" + +msgid "Serbian" +msgstr "Серб теле" + +msgid "Serbian Latin" +msgstr "Серб теле (латин алфавиты)" + +msgid "Swedish" +msgstr "Швед теле" + +msgid "Swahili" +msgstr "" + +msgid "Tamil" +msgstr "Тамиль теле" + +msgid "Telugu" +msgstr "Телугу теле" + +msgid "Thai" +msgstr "Тай теле" + +msgid "Turkish" +msgstr "Төрек теле" + +msgid "Tatar" +msgstr "Татар теле" + +msgid "Udmurt" +msgstr "" + +msgid "Ukrainian" +msgstr "Украин теле" + +msgid "Urdu" +msgstr "Урду" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "Вьетнам теле" + +msgid "Simplified Chinese" +msgstr "Гадиләштерелгән кытай теле" + +msgid "Traditional Chinese" +msgstr "Традицион кытай теле" + +msgid "Messages" +msgstr "" + +msgid "Site Maps" +msgstr "" + +msgid "Static Files" +msgstr "" + +msgid "Syndication" +msgstr "" + +msgid "That page number is not an integer" +msgstr "" + +msgid "That page number is less than 1" +msgstr "" + +msgid "That page contains no results" +msgstr "" + +msgid "Enter a valid value." +msgstr "Дөрес кыйммәтне кертегез." + +msgid "Enter a valid URL." +msgstr "Рөхсәт ителгән URLны кертегез." + +msgid "Enter a valid integer." +msgstr "" + +msgid "Enter a valid email address." +msgstr "Дөрес эл. почта адресны кертегез." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "Рөхсәт ителгән IPv4 адресын кертегез." + +msgid "Enter a valid IPv6 address." +msgstr "" + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "" + +msgid "Enter only digits separated by commas." +msgstr "Өтерләр белән бүленгән сан билгеләрен кертегез" + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Бу кыйммәтнең %(limit_value)s булуын тикшерегез (хәзер ул - %(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" +"Бу кыйммәтнең %(limit_value)s карата кечерәк яки тигез булуын тикшерегез." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" +"Бу кыйммәтнең %(limit_value)s карата зуррак яки тигез булуын тикшерегез." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" + +msgid "Enter a number." +msgstr "Сан кертегез." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "" + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "" + +msgid "and" +msgstr "һәм" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "" + +msgid "This field cannot be null." +msgstr "Бу кырның кыйммәте NULL булырга тиеш түгел." + +msgid "This field cannot be blank." +msgstr "Бу кыр буш булырга тиеш түгел." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "Мондый %(field_label)s белән булган %(model_name)s инде бар." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "%(field_type)s типтагы кыр" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "Логик (True яисә False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Юл (күп дигәндә %(max_length)s)" + +msgid "Comma-separated integers" +msgstr "Өтерләр белән бүленгән бөтен саннар" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "Дата (вакыт күрсәтмәсе булмаган)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "Дата (вакыт күрсәтмәсе белән)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "Унарлы вакланма" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "" + +msgid "Email address" +msgstr "Эл. почта" + +msgid "File path" +msgstr "Файл юлы" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "Күчерелүчән өтер белән булган сан" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "Бөтен сан" + +msgid "Big (8 byte) integer" +msgstr "Зур бөтен (8 байт)" + +msgid "IPv4 address" +msgstr "" + +msgid "IP address" +msgstr "IP-адрес" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "Логик (True, False я None)" + +msgid "Positive integer" +msgstr "" + +msgid "Positive small integer" +msgstr "" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "" + +msgid "Small integer" +msgstr "" + +msgid "Text" +msgstr "Текст" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "Вакыт" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "" + +msgid "Image" +msgstr "" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" + +msgid "Foreign Key (type determined by related field)" +msgstr "Тыш ачкыч (тип бәйле кыр буенча билгеләнгән)" + +msgid "One-to-one relationship" +msgstr "\"Бергә бер\" элемтәсе" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "" + +msgid "Many-to-many relationship" +msgstr "\"Күпкә куп\" элемтәсе" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr "" + +msgid "This field is required." +msgstr "Мәҗбүри кыр." + +msgid "Enter a whole number." +msgstr "Бөтен сан кертегез." + +msgid "Enter a valid date." +msgstr "Рөхсәт ителгән датаны кертегез." + +msgid "Enter a valid time." +msgstr "Рөхсәт ителгән вакытны кертегез." + +msgid "Enter a valid date/time." +msgstr "Рөхсәт ителгән дата һәм вакытны кертегез." + +msgid "Enter a valid duration." +msgstr "" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Һишбер файл җибәрелмәгән. Форма кодлавын тикшерегез." + +msgid "No file was submitted." +msgstr "Һишбер файл җибәрелмәгән." + +msgid "The submitted file is empty." +msgstr "Җибәрелгән файл буш." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Зинһар, җибәрегез файлны яисә бушайту байракчасын билгеләгез, икесен бергә " +"түгел." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Рөхсәт ителгән рәсемне йөкләгез. Сез йөкләгән файл рәсем түгел яисә бозылган." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Дөрес тәкъдимне сайлагыз. Рөхсәт ителгән кыйммәтләр арасында %(value)s юк. " + +msgid "Enter a list of values." +msgstr "Кыйммәтләр исемлеген кертегез." + +msgid "Enter a complete value." +msgstr "" + +msgid "Enter a valid UUID." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr "" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "" + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "" + +msgid "Order" +msgstr "Тәртип" + +msgid "Delete" +msgstr "Бетерергә" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Зинһар, %(field)s кырындагы кабатлана торган кыйммәтне төзәтегез." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Зинһар, %(field)s кырындагы кыйммәтне төзәтегез, ул уникаль булырга тиеш." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Зинһар, %(field_name)s кырындагы кыйммәтне төзәтегез, ул %(date_field)s " +"кырындагы %(lookup)s өчен уникаль булырга тиеш." + +msgid "Please correct the duplicate values below." +msgstr "Зинһар, астагы кабатлана торган кыйммәтләрне төзәтегез." + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Дөрес тәкъдимне сайлагыз. Рөхсәт ителгән кыйммәтләр арасында сезнең вариант " +"юк." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "Бушайтырга" + +msgid "Currently" +msgstr "Хәзерге вакытта" + +msgid "Change" +msgstr "Үзгәртергә" + +msgid "Unknown" +msgstr "Билгесез" + +msgid "Yes" +msgstr "Әйе" + +msgid "No" +msgstr "Юк" + +msgid "Year" +msgstr "" + +msgid "Month" +msgstr "" + +msgid "Day" +msgstr "" + +msgid "yes,no,maybe" +msgstr "әйе,юк,бәлки" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d байт" + +#, python-format +msgid "%s KB" +msgstr "%s КБ" + +#, python-format +msgid "%s MB" +msgstr "%s МБ" + +#, python-format +msgid "%s GB" +msgstr "%s ГБ" + +#, python-format +msgid "%s TB" +msgstr "%s ТБ" + +#, python-format +msgid "%s PB" +msgstr "%s ПБ" + +msgid "p.m." +msgstr "т.с." + +msgid "a.m." +msgstr "т.к." + +msgid "PM" +msgstr "ТС" + +msgid "AM" +msgstr "ТК" + +msgid "midnight" +msgstr "төн уртасы" + +msgid "noon" +msgstr "көн уртасы" + +msgid "Monday" +msgstr "Дүшәмбе" + +msgid "Tuesday" +msgstr "Сишәмбе" + +msgid "Wednesday" +msgstr "Чәршәмбе" + +msgid "Thursday" +msgstr "Пәнҗешәмбе" + +msgid "Friday" +msgstr "Җомга" + +msgid "Saturday" +msgstr "Шимбә" + +msgid "Sunday" +msgstr "Якшәмбе" + +msgid "Mon" +msgstr "Дүш" + +msgid "Tue" +msgstr "Сиш" + +msgid "Wed" +msgstr "Чәр" + +msgid "Thu" +msgstr "Пнҗ" + +msgid "Fri" +msgstr "Җом" + +msgid "Sat" +msgstr "Шим" + +msgid "Sun" +msgstr "Якш" + +msgid "January" +msgstr "Гыйнвар" + +msgid "February" +msgstr "Февраль" + +msgid "March" +msgstr "Март" + +msgid "April" +msgstr "Апрель" + +msgid "May" +msgstr "Май" + +msgid "June" +msgstr "Июнь" + +msgid "July" +msgstr "Июль" + +msgid "August" +msgstr "Август" + +msgid "September" +msgstr "Сентябрь" + +msgid "October" +msgstr "Октябрь" + +msgid "November" +msgstr "Ноябрь" + +msgid "December" +msgstr "Декабрь" + +msgid "jan" +msgstr "гый" + +msgid "feb" +msgstr "фев" + +msgid "mar" +msgstr "мар" + +msgid "apr" +msgstr "апр" + +msgid "may" +msgstr "май" + +msgid "jun" +msgstr "июн" + +msgid "jul" +msgstr "июл" + +msgid "aug" +msgstr "авг" + +msgid "sep" +msgstr "сен" + +msgid "oct" +msgstr "окт" + +msgid "nov" +msgstr "ноя" + +msgid "dec" +msgstr "дек" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Гый." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Фев." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Март" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Апрель" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Май" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Июнь" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Июль" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Авг." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Сен." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Окт." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Ноя." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Дек." + +msgctxt "alt. month" +msgid "January" +msgstr "гыйнвар" + +msgctxt "alt. month" +msgid "February" +msgstr "февраль" + +msgctxt "alt. month" +msgid "March" +msgstr "март" + +msgctxt "alt. month" +msgid "April" +msgstr "апрель" + +msgctxt "alt. month" +msgid "May" +msgstr "май" + +msgctxt "alt. month" +msgid "June" +msgstr "июнь" + +msgctxt "alt. month" +msgid "July" +msgstr "июль" + +msgctxt "alt. month" +msgid "August" +msgstr "август" + +msgctxt "alt. month" +msgid "September" +msgstr "сентябрь" + +msgctxt "alt. month" +msgid "October" +msgstr "октябрь" + +msgctxt "alt. month" +msgid "November" +msgstr "ноябрь" + +msgctxt "alt. month" +msgid "December" +msgstr "декабрь" + +msgid "This is not a valid IPv6 address." +msgstr "" + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "я" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr "," + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "" + +msgid "0 minutes" +msgstr "" + +msgid "Forbidden" +msgstr "" + +msgid "CSRF verification failed. Request aborted." +msgstr "" + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "" + +msgid "No year specified" +msgstr "Ел билгеләнмәгән" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "Ай билгеләнмәгән" + +msgid "No day specified" +msgstr "Көн билгеләнмәгән" + +msgid "No week specified" +msgstr "Атна билгеләнмәгән" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Файдалана алырлык %(verbose_name_plural)s юк" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"%(class_name)s.allow_future False булуы сәбәпле, киләсе " +"%(verbose_name_plural)s файдалана алырлык түгел" + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Таләпкә туры килгән %(verbose_name)s табылмаган" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "" + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/udm/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/udm/LC_MESSAGES/django.po new file mode 100644 index 0000000..68c2bc7 --- /dev/null +++ b/external_sources/django/django/conf/locale/udm/LC_MESSAGES/django.po @@ -0,0 +1,1197 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-27 22:40+0200\n" +"PO-Revision-Date: 2019-11-05 00:38+0000\n" +"Last-Translator: Ramiro Morales\n" +"Language-Team: Udmurt (http://www.transifex.com/django/django/language/" +"udm/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: udm\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Afrikaans" +msgstr "Африкаанс" + +msgid "Arabic" +msgstr "Араб" + +msgid "Asturian" +msgstr "" + +msgid "Azerbaijani" +msgstr "Азербайджан" + +msgid "Bulgarian" +msgstr "Болгар" + +msgid "Belarusian" +msgstr "Беларус" + +msgid "Bengali" +msgstr "Бенгал" + +msgid "Breton" +msgstr "Бретон" + +msgid "Bosnian" +msgstr "Босниец" + +msgid "Catalan" +msgstr "Каталан" + +msgid "Czech" +msgstr "Чех" + +msgid "Welsh" +msgstr "Уэльс" + +msgid "Danish" +msgstr "Датчан" + +msgid "German" +msgstr "Немец" + +msgid "Lower Sorbian" +msgstr "" + +msgid "Greek" +msgstr "Грек" + +msgid "English" +msgstr "Англи" + +msgid "Australian English" +msgstr "" + +msgid "British English" +msgstr "Британиысь англи" + +msgid "Esperanto" +msgstr "Эсперанто" + +msgid "Spanish" +msgstr "Испан" + +msgid "Argentinian Spanish" +msgstr "Аргентинаысь испан" + +msgid "Colombian Spanish" +msgstr "" + +msgid "Mexican Spanish" +msgstr "Мексикаысь испан" + +msgid "Nicaraguan Spanish" +msgstr "Никарагуаысь испан" + +msgid "Venezuelan Spanish" +msgstr "Венесуэлаысь испан" + +msgid "Estonian" +msgstr "Эстон" + +msgid "Basque" +msgstr "Баск" + +msgid "Persian" +msgstr "Перс" + +msgid "Finnish" +msgstr "Финн" + +msgid "French" +msgstr "Француз" + +msgid "Frisian" +msgstr "Фриз" + +msgid "Irish" +msgstr "Ирланд" + +msgid "Scottish Gaelic" +msgstr "" + +msgid "Galician" +msgstr "Галисий" + +msgid "Hebrew" +msgstr "Иврит" + +msgid "Hindi" +msgstr "Хинди" + +msgid "Croatian" +msgstr "Хорват" + +msgid "Upper Sorbian" +msgstr "" + +msgid "Hungarian" +msgstr "Венгер" + +msgid "Armenian" +msgstr "" + +msgid "Interlingua" +msgstr "Интерлингва" + +msgid "Indonesian" +msgstr "Индонези" + +msgid "Ido" +msgstr "" + +msgid "Icelandic" +msgstr "Исланд" + +msgid "Italian" +msgstr "Итальян" + +msgid "Japanese" +msgstr "Япон" + +msgid "Georgian" +msgstr "Грузин" + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "Казах" + +msgid "Khmer" +msgstr "Кхмер" + +msgid "Kannada" +msgstr "Каннада" + +msgid "Korean" +msgstr "Корей" + +msgid "Luxembourgish" +msgstr "Люксембург" + +msgid "Lithuanian" +msgstr "Литва" + +msgid "Latvian" +msgstr "Латвий" + +msgid "Macedonian" +msgstr "Македон" + +msgid "Malayalam" +msgstr "Малаялам" + +msgid "Mongolian" +msgstr "Монгол" + +msgid "Marathi" +msgstr "" + +msgid "Burmese" +msgstr "" + +msgid "Norwegian Bokmål" +msgstr "" + +msgid "Nepali" +msgstr "Непал" + +msgid "Dutch" +msgstr "Голланд" + +msgid "Norwegian Nynorsk" +msgstr "Норвег (нюнорск)" + +msgid "Ossetic" +msgstr "" + +msgid "Punjabi" +msgstr "Панджаби" + +msgid "Polish" +msgstr "Поляк" + +msgid "Portuguese" +msgstr "Португал" + +msgid "Brazilian Portuguese" +msgstr "Бразилиысь португал" + +msgid "Romanian" +msgstr "Румын" + +msgid "Russian" +msgstr "Ӟуч" + +msgid "Slovak" +msgstr "Словак" + +msgid "Slovenian" +msgstr "Словен" + +msgid "Albanian" +msgstr "Албан" + +msgid "Serbian" +msgstr "Серб" + +msgid "Serbian Latin" +msgstr "Серб (латиницаен)" + +msgid "Swedish" +msgstr "Швед" + +msgid "Swahili" +msgstr "Суахили" + +msgid "Tamil" +msgstr "Тамиль" + +msgid "Telugu" +msgstr "Телугу" + +msgid "Thai" +msgstr "Тай" + +msgid "Turkish" +msgstr "Турок" + +msgid "Tatar" +msgstr "Бигер" + +msgid "Udmurt" +msgstr "Удмурт" + +msgid "Ukrainian" +msgstr "Украин" + +msgid "Urdu" +msgstr "Урду" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "Вьетнам" + +msgid "Simplified Chinese" +msgstr "Китай (капчиятэм)" + +msgid "Traditional Chinese" +msgstr "Китай (традици)" + +msgid "Messages" +msgstr "" + +msgid "Site Maps" +msgstr "" + +msgid "Static Files" +msgstr "" + +msgid "Syndication" +msgstr "" + +msgid "That page number is not an integer" +msgstr "" + +msgid "That page number is less than 1" +msgstr "" + +msgid "That page contains no results" +msgstr "" + +msgid "Enter a valid value." +msgstr "Тазэ шонер гожтэ." + +msgid "Enter a valid URL." +msgstr "Шонер URL гожтэ." + +msgid "Enter a valid integer." +msgstr "" + +msgid "Enter a valid email address." +msgstr "Электорн почта адресэз шонер гожтэ" + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "Шонер IPv4-адрес гожтэ." + +msgid "Enter a valid IPv6 address." +msgstr "Шонер IPv6-адрес гожтэ." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Шонер IPv4 яке IPv6 адрес гожтэ." + +msgid "Enter only digits separated by commas." +msgstr "Запятойёсын висъям лыдпусъёсты гожтэ" + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Эскере, та %(limit_value)s шуыса. Али татын %(show_value)s." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Талы %(limit_value)s-лэсь бадӟымгес луыны уг яра." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Талы %(limit_value)s-лэсь ӧжытгес луыны уг яра." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" + +msgid "Enter a number." +msgstr "Лыд гожтэ." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "" + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "" + +msgid "and" +msgstr "но" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "" + +msgid "This field cannot be null." +msgstr "Та NULL луыны уг яра." + +msgid "This field cannot be blank." +msgstr "Та буш луыны уг яра." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "Таӵе %(field_label)s-ен %(model_name)s вань ини." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "%(field_type)s типъем бусы" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "True яке False" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Чур (%(max_length)s пусозь кузьда)" + +msgid "Comma-separated integers" +msgstr "Запятоен висъям быдэс лыдъёс" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "Дата (час-минут пусйытэк)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "Дата но час-минут" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "Десятичной лыд." + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "" + +msgid "Email address" +msgstr "Электрон почта адрес" + +msgid "File path" +msgstr "Файллэн нимыз" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "Вещественной лыд" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "целой" + +msgid "Big (8 byte) integer" +msgstr "Бадӟым (8 байтъем) целой лыд" + +msgid "IPv4 address" +msgstr "IPv4 адрес" + +msgid "IP address" +msgstr "IP адрес" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "True, False яке None" + +msgid "Positive integer" +msgstr "Целой, нольлэсь бадӟым лыд" + +msgid "Positive small integer" +msgstr "Нольлэсь бадӟым пичи целой лыд" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Компьютерной ним (%(max_length)s пусозь кузьда)" + +msgid "Small integer" +msgstr "Пичи целой лыд" + +msgid "Text" +msgstr "Текст" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "Час-минут" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "Файл" + +msgid "Image" +msgstr "Суред" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" + +msgid "Foreign Key (type determined by related field)" +msgstr "Мукет моделен герӟет (тип герӟано бусыя валамын)." + +msgid "One-to-one relationship" +msgstr "Одӥг-одӥг герӟет" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "" + +msgid "Many-to-many relationship" +msgstr "Трос-трос герӟет" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr "" + +msgid "This field is required." +msgstr "Та клуэ." + +msgid "Enter a whole number." +msgstr "Целой лыд гожтэ." + +msgid "Enter a valid date." +msgstr "Шонер дата гожтэ." + +msgid "Enter a valid time." +msgstr "Шонер час-минут гожтэ." + +msgid "Enter a valid date/time." +msgstr "Шонер дата но час-минут гожтэ." + +msgid "Enter a valid duration." +msgstr "" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Одӥг файл но лэзьымтэ. Формалэсь код." + +msgid "No file was submitted." +msgstr "Файл лэземын ӧвӧл." + +msgid "The submitted file is empty." +msgstr "Лэзем файл буш." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Файл лэзе яке файл ӵушоно шуыса пусъе, огдыръя соиз но, таиз но уг яра." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "Суред лэзе. Тӥляд файлды лэзьымтэ яке со суред ӧвӧл." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Шонер вариант быръе. %(value)s вариантъёс пӧлын ӧвӧл." + +msgid "Enter a list of values." +msgstr "Список лэзе." + +msgid "Enter a complete value." +msgstr "" + +msgid "Enter a valid UUID." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr "" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "" + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "" + +msgid "Order" +msgstr "Рад" + +msgid "Delete" +msgstr "Ӵушоно" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "" + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" + +msgid "Please correct the duplicate values below." +msgstr "" + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "Буш кароно" + +msgid "Currently" +msgstr "Али" + +msgid "Change" +msgstr "Тупатъяно" + +msgid "Unknown" +msgstr "Тодымтэ" + +msgid "Yes" +msgstr "Бен" + +msgid "No" +msgstr "Ӧвӧл" + +msgid "Year" +msgstr "" + +msgid "Month" +msgstr "" + +msgid "Day" +msgstr "" + +msgid "yes,no,maybe" +msgstr "бен,ӧвӧл,уг тодӥськы" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d байт" + +#, python-format +msgid "%s KB" +msgstr "%s КБ" + +#, python-format +msgid "%s MB" +msgstr "%s МБ" + +#, python-format +msgid "%s GB" +msgstr "%s МБ" + +#, python-format +msgid "%s TB" +msgstr "%s ТБ" + +#, python-format +msgid "%s PB" +msgstr "%s ПБ" + +msgid "p.m." +msgstr "лымшор бере" + +msgid "a.m." +msgstr "лымшор азе" + +msgid "PM" +msgstr "лымшор бере" + +msgid "AM" +msgstr "лымшор азе" + +msgid "midnight" +msgstr "уйшор" + +msgid "noon" +msgstr "лымшор" + +msgid "Monday" +msgstr "Вордӥськон" + +msgid "Tuesday" +msgstr "Пуксён" + +msgid "Wednesday" +msgstr "Вирнунал" + +msgid "Thursday" +msgstr "Покчиарня" + +msgid "Friday" +msgstr "Удмуртарня" + +msgid "Saturday" +msgstr "Кӧснунал" + +msgid "Sunday" +msgstr "Арнянунал" + +msgid "Mon" +msgstr "врд" + +msgid "Tue" +msgstr "пкс" + +msgid "Wed" +msgstr "врн" + +msgid "Thu" +msgstr "пкч" + +msgid "Fri" +msgstr "удм" + +msgid "Sat" +msgstr "ксн" + +msgid "Sun" +msgstr "арн" + +msgid "January" +msgstr "толшор" + +msgid "February" +msgstr "тулыспал" + +msgid "March" +msgstr "южтолэзь" + +msgid "April" +msgstr "оштолэзь" + +msgid "May" +msgstr "куартолэзь" + +msgid "June" +msgstr "инвожо" + +msgid "July" +msgstr "пӧсьтолэзь" + +msgid "August" +msgstr "гудырикошкон" + +msgid "September" +msgstr "куарусён" + +msgid "October" +msgstr "коньывуон" + +msgid "November" +msgstr "шуркынмон" + +msgid "December" +msgstr "толсур" + +msgid "jan" +msgstr "тшт" + +msgid "feb" +msgstr "тпт" + +msgid "mar" +msgstr "южт" + +msgid "apr" +msgstr "ошт" + +msgid "may" +msgstr "крт" + +msgid "jun" +msgstr "ивт" + +msgid "jul" +msgstr "пст" + +msgid "aug" +msgstr "гкт" + +msgid "sep" +msgstr "кут" + +msgid "oct" +msgstr "квт" + +msgid "nov" +msgstr "шкт" + +msgid "dec" +msgstr "тст" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "тшт" + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "тпт" + +msgctxt "abbrev. month" +msgid "March" +msgstr "южт" + +msgctxt "abbrev. month" +msgid "April" +msgstr "ошт" + +msgctxt "abbrev. month" +msgid "May" +msgstr "крт" + +msgctxt "abbrev. month" +msgid "June" +msgstr "ивт" + +msgctxt "abbrev. month" +msgid "July" +msgstr "пст" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "гкт" + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "кут" + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "квт" + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "шкт" + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "тст" + +msgctxt "alt. month" +msgid "January" +msgstr "толшоре" + +msgctxt "alt. month" +msgid "February" +msgstr "тулыспалэ" + +msgctxt "alt. month" +msgid "March" +msgstr "южтолэзе" + +msgctxt "alt. month" +msgid "April" +msgstr "оштолэзе" + +msgctxt "alt. month" +msgid "May" +msgstr "куартолэзе" + +msgctxt "alt. month" +msgid "June" +msgstr "инвожое" + +msgctxt "alt. month" +msgid "July" +msgstr "пӧсьтолэзе" + +msgctxt "alt. month" +msgid "August" +msgstr "гудырикошконэ" + +msgctxt "alt. month" +msgid "September" +msgstr "куарусёнэ" + +msgctxt "alt. month" +msgid "October" +msgstr "коньывуонэ" + +msgctxt "alt. month" +msgid "November" +msgstr "шуркынмонэ" + +msgctxt "alt. month" +msgid "December" +msgstr "толсуре" + +msgid "This is not a valid IPv6 address." +msgstr "" + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "яке" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr "," + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "" + +msgid "0 minutes" +msgstr "" + +msgid "Forbidden" +msgstr "" + +msgid "CSRF verification failed. Request aborted." +msgstr "" + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "" + +msgid "No year specified" +msgstr "" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "" + +msgid "No day specified" +msgstr "" + +msgid "No week specified" +msgstr "" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "Папкаослэсь пуштроссэс татын учкыны уг яра." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "%(directory)s папкалэн пушторсэз" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/ug/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/ug/LC_MESSAGES/django.po new file mode 100644 index 0000000..daa3973 --- /dev/null +++ b/external_sources/django/django/conf/locale/ug/LC_MESSAGES/django.po @@ -0,0 +1,1353 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# abdl erkin <84247764@qq.com>, 2018 +# Abduqadir Abliz , 2023-2024 +# Abduqadir Abliz , 2023 +# Azat, 2023 +# Murat Orhun , 2023 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-10-07 06:49+0000\n" +"Last-Translator: Abduqadir Abliz , 2023-2024\n" +"Language-Team: Uyghur (http://app.transifex.com/django/django/language/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=2; plural=(n != 1);\n" + +msgid "Afrikaans" +msgstr "ئافرىكانسچە" + +msgid "Arabic" +msgstr "ئەرەبچە" + +msgid "Algerian Arabic" +msgstr "ئالجىرىيە ئەرەپچىسى" + +msgid "Asturian" +msgstr "ئاستۇرىچە" + +msgid "Azerbaijani" +msgstr "ئەزەربەيجانچە" + +msgid "Bulgarian" +msgstr "بۇلغارچە" + +msgid "Belarusian" +msgstr "بېلورۇسىچە" + +msgid "Bengali" +msgstr "بېنگالچە" + +msgid "Breton" +msgstr "بىرېتونچە" + +msgid "Bosnian" +msgstr "بوسنىيەچە" + +msgid "Catalan" +msgstr "كاتالانچە" + +msgid "Central Kurdish (Sorani)" +msgstr "مەركىزى كۇردچە ( سورانى) " + +msgid "Czech" +msgstr "چېخچە" + +msgid "Welsh" +msgstr "ۋېلشچە" + +msgid "Danish" +msgstr "دانىشچە" + +msgid "German" +msgstr "گىرمانچە" + +msgid "Lower Sorbian" +msgstr "تۆۋەن سوربچە" + +msgid "Greek" +msgstr "گىرېكچە" + +msgid "English" +msgstr "ئىنگلىزچە" + +msgid "Australian English" +msgstr "" +"ئاۋىستىرالىيە ئىنگلزچىسى\n" +" " + +msgid "British English" +msgstr "ئەنگىلىيە ئىنگىلىزچىسى" + +msgid "Esperanto" +msgstr "دۇنيا تىلى" + +msgid "Spanish" +msgstr "ئىسپانچە" + +msgid "Argentinian Spanish" +msgstr "ئارگېنتىنا ئىسپانچىسى" + +msgid "Colombian Spanish" +msgstr "كولۇمبىيە ئىسپانچىسى" + +msgid "Mexican Spanish" +msgstr "مېكسىكا ئىسپانچىسى" + +msgid "Nicaraguan Spanish" +msgstr "نىكاراگۇئا ئىسپاچىسى" + +msgid "Venezuelan Spanish" +msgstr "ۋېنېزۇئېلا ئىسپانچىسى" + +msgid "Estonian" +msgstr "ئېستونىيەچە" + +msgid "Basque" +msgstr "بەسىكچە" + +msgid "Persian" +msgstr "پارىسچە" + +msgid "Finnish" +msgstr "ڧىنلانىدچە" + +msgid "French" +msgstr "ڧىرانسۇزچە" + +msgid "Frisian" +msgstr "فىرىزىيەچە" + +msgid "Irish" +msgstr "ئىرېلاندىيەچە" + +msgid "Scottish Gaelic" +msgstr "شوتلاندىيەچە" + +msgid "Galician" +msgstr "گالىچىيەچە" + +msgid "Hebrew" +msgstr "ئىبرانىچە" + +msgid "Hindi" +msgstr "ھىندىچە" + +msgid "Croatian" +msgstr "كىرودىيەچە" + +msgid "Upper Sorbian" +msgstr "يۇقىرى سوربچە" + +msgid "Hungarian" +msgstr "ماجارچە" + +msgid "Armenian" +msgstr "ئارمىنىيەچە" + +msgid "Interlingua" +msgstr "خەلقئارالىق تىل" + +msgid "Indonesian" +msgstr "ھىندىنوزىيەچە" + +msgid "Igbo" +msgstr "ئىبوچە" + +msgid "Ido" +msgstr "ئىيدوچە" + +msgid "Icelandic" +msgstr "ئىسلاندىيەچە" + +msgid "Italian" +msgstr "ئىتالىيەچە" + +msgid "Japanese" +msgstr "ياپونچە" + +msgid "Georgian" +msgstr "گرۇزىيەچە" + +msgid "Kabyle" +msgstr "كەبىيلچە" + +msgid "Kazakh" +msgstr "قازاقچە" + +msgid "Khmer" +msgstr "كامىيرچە" + +msgid "Kannada" +msgstr "كانناداچە" + +msgid "Korean" +msgstr "كورىيەچە" + +msgid "Kyrgyz" +msgstr "قىرغىزچە" + +msgid "Luxembourgish" +msgstr "لىيۇكسېمبۇرگچە" + +msgid "Lithuanian" +msgstr "لىتۋاچە" + +msgid "Latvian" +msgstr "لاتۋىيەچە" + +msgid "Macedonian" +msgstr "ماكېدونىيەچە" + +msgid "Malayalam" +msgstr "مالىيالامچە" + +msgid "Mongolian" +msgstr "مۇڭغۇلچە" + +msgid "Marathi" +msgstr "ماراتىچە" + +msgid "Malay" +msgstr "مالايچە" + +msgid "Burmese" +msgstr "بېرمىچە" + +msgid "Norwegian Bokmål" +msgstr "نورۋېگىيە بوكمىلچىسى" + +msgid "Nepali" +msgstr "نېپالچە" + +msgid "Dutch" +msgstr "گوللاندىيەچە" + +msgid "Norwegian Nynorsk" +msgstr "نورۋېگىيە نىنورسكچىسى" + +msgid "Ossetic" +msgstr "ئوسېتچە" + +msgid "Punjabi" +msgstr "پۇنجابىچە" + +msgid "Polish" +msgstr "پولشاچە" + +msgid "Portuguese" +msgstr "پورتۇگالچە" + +msgid "Brazilian Portuguese" +msgstr "بىرازىلىيە پورتۇگالچىسى" + +msgid "Romanian" +msgstr "رومەينىيەچە" + +msgid "Russian" +msgstr "رۇسچە" + +msgid "Slovak" +msgstr "سلوۋاكىيەچە" + +msgid "Slovenian" +msgstr "سىلوۋېنىيەچە" + +msgid "Albanian" +msgstr "ئالبانىيەچە" + +msgid "Serbian" +msgstr "سېربىيەچە" + +msgid "Serbian Latin" +msgstr "سېربىيە لاتىنچىسى" + +msgid "Swedish" +msgstr "شىۋىتسىيەچە" + +msgid "Swahili" +msgstr "سۋاھىلچە" + +msgid "Tamil" +msgstr "تامىلچە" + +msgid "Telugu" +msgstr "تېلۇگۇ" + +msgid "Tajik" +msgstr "تاجىكچە" + +msgid "Thai" +msgstr "تايلاندچە" + +msgid "Turkmen" +msgstr "تۈركمەنچە" + +msgid "Turkish" +msgstr "تۈركچە" + +msgid "Tatar" +msgstr "تاتارچە" + +msgid "Udmurt" +msgstr "ئۇدمۇرتچە" + +msgid "Uyghur" +msgstr "ئۇيغۇرچە" + +msgid "Ukrainian" +msgstr "ئۇكرائىنچە" + +msgid "Urdu" +msgstr "ئوردۇچە" + +msgid "Uzbek" +msgstr "ئۆزبەكچە" + +msgid "Vietnamese" +msgstr "ۋېيتنامچە" + +msgid "Simplified Chinese" +msgstr "خەنزۇچە" + +msgid "Traditional Chinese" +msgstr "ئەنئەنىۋى خەنزۇچىسى" + +msgid "Messages" +msgstr "قىسقا ئۇچۇر" + +msgid "Site Maps" +msgstr "بېكەت خەرىتىسى" + +msgid "Static Files" +msgstr "سىتاتىك ھۆججەت" + +msgid "Syndication" +msgstr "تەشكىللىنىش" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "بەت نومۇرى پۈتۈن سان ئەمەس" + +msgid "That page number is less than 1" +msgstr "بەت نومۇرى 1 دىن كىچىك" + +msgid "That page contains no results" +msgstr "ئۇ بەتتە ھېچقانداق نەتىجە يوق" + +msgid "Enter a valid value." +msgstr "بىر ئىناۋەتلىك قىممەتنى تولدۇرۇڭ" + +msgid "Enter a valid domain name." +msgstr "ئىناۋەتلىك دائىرە ئىسمى كىرگۈزۈلىدۇ." + +msgid "Enter a valid URL." +msgstr "ئىناۋەتلىك URL نى تولدۇرۇڭ" + +msgid "Enter a valid integer." +msgstr "ئىناۋەتلىك پۈتۈن سان تولدۇرۇڭ" + +msgid "Enter a valid email address." +msgstr "ئىناۋەتلىك ئېلخەت ئادرېسىنى كىرگۈزۈڭ." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"ھەرپ ، سان ، ئاستى سىزىق ياكى سىزىقچىلاردىن تەركىب تاپقان ئۈنۈملۈك «سىلاگ» " +"نى كىرگۈزۈڭ." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"يۇنىكودلۇق ھەرپ، سان، ئاستى سىزىق ياكى سىزىقچىلاردىن تەركىب تاپقان ئۈنۈملۈك " +"«slug» نى كىرگۈزۈڭ." + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "ئىناۋەتلىك %(protocol)sئادرېسى كىرگۈزۈلىدۇ." + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "IPv4 or IPv6" +msgstr "IPv4 ياكى IPv6" + +msgid "Enter only digits separated by commas." +msgstr "پەش ئارقىلىق ئايرىلغان رەقەملەرنىلا كىرگۈزۈڭ." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"بۇ قىممەتنىڭ %(limit_value)s بولىشىغا كاپالەتلىك قىلىڭ ( ھازىر " +"%(show_value)s)" + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" +"بۇ قىممەتنىڭ %(limit_value)s دىن تۆۋەن ياكى تەڭ بولۇشىغا كاپالەتلىك قىلىڭ" + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" +"بۇ قىممەتنىڭ %(limit_value)s دىن چوڭ ياكى تەڭ بولۇشىغا كاپالەتلىك قىلىڭ" + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "بۇ قىممەتنىڭ %(limit_value)s نىڭ كۆپەيتمىسى بولىشىغا كاپالەتلىك قىلىڭ" + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"بۇ قىممەت كۆپ قەدەم باسقۇچلۇق بولسۇن %(limit_value)s، %(offset)s دىن " +"باشلىنىپ، مەسىلەن %(offset)s، %(valid_value1)s، %(valid_value2)s ۋە باشقىلار." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"بۇ قىممەتنىڭ كەم دېگەندە %(limit_value)d ھەرپ بولۇشىغا كاپالەتلىك قىلىڭ " +"(ھازىر %(show_value)d بار)." +msgstr[1] "" +"بۇ قىممەتنىڭ كەم دېگەندە %(limit_value)d ھەرپ بولۇشىغا كاپالەتلىك قىلىڭ " +"(ھازىر %(show_value)d بار)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"بۇ قىممەتنىڭ ئەڭ كۆپ بولغاندا %(limit_value)d ھەرپ بولۇشىغا كاپالەتلىك قىلىڭ " +"(ھازىر %(show_value)d بار)." +msgstr[1] "" +"بۇ قىممەتنىڭ ئەڭ كۆپ بولغاندا %(limit_value)d ھەرپ بولۇشىغا كاپالەتلىك قىلىڭ " +"(ئۇنىڭدا %(show_value)d بار). " + +msgid "Enter a number." +msgstr "سان كىرگۈزۈڭ." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "جەمى 4%(max)s خانىدىن ئېشىپ كەتمەسلىكىگە كاپالەتلىك قىلىڭ." +msgstr[1] "جەمى %(max)s خانىدىن ئېشىپ كەتمەسلىكىگە كاپالەتلىك قىلىڭ." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "%(max)s ئونلۇق ئورۇندىن ئېشىپ كەتمەسلىكىگە كاپالەتلىك قىلىڭ." +msgstr[1] "%(max)s ئونلۇق ئورۇندىن ئېشىپ كەتمەسلىكىگە كاپالەتلىك قىلىڭ." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"ئونلۇق نۇقتىدىن ئىلگىرى %(max)s خانىدىن ئېشىپ كەتمەسلىكىگە كاپالەتلىك قىلىڭ." +msgstr[1] "" +"ئونلۇق نۇقتىدىن ئىلگىرى %(max)s خانىدىن ئېشىپ كەتمەسلىكىگە كاپالەتلىك قىلىڭ." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"ھۆججەت كېڭەيتىشكە «%(extension)s» رۇخسەت قىلىنمايدۇ. رۇخسەت قىلىنغان " +"كېڭەيتىلمە: %(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "بوش ھەرپلەرگە رۇخسەت قىلىنمايدۇ." + +msgid "and" +msgstr "ۋە" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s بىلەن بۇ %(field_labels)s مەۋجۇت." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "«%(name)s» چەكلىمىسى بۇزۇلدى." + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "قىممەت %(value)r ئىناۋەتسىز." + +msgid "This field cannot be null." +msgstr "بۇ ئورۇننى بوش قويۇشقا بولمايدۇ" + +msgid "This field cannot be blank." +msgstr "بۇ ئورۇننى بوش قويۇشقا بولمايدۇ" + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "بۇ %(field_label)s بىلەن %(model_name)s مەۋجۇت." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s چوقۇم %(date_field_label)s %(lookup_type)s ئۈچۈن بىردىنبىر " +"بولۇشى كېرەك." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "تىپ تۈرى: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "«%(value)s» قىممىتى چوقۇم True ياكى False بولۇشى كېرەك." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "«%(value)s» قىممىتى چوقۇم True ، False ياكى None بولۇشى كېرەك." + +msgid "Boolean (Either True or False)" +msgstr "Boolean (True ياكى False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "(%(max_length)s گە قەدەر ئۇزۇنلۇقتىكى) ھەرپ-بەلگە" + +msgid "String (unlimited)" +msgstr "ھەرپ-بەلگە ( ئۇزۇنلۇققا چەكلىمە يوق)" + +msgid "Comma-separated integers" +msgstr "پەش بىلەن ئايرىلغان پۈتۈن سان" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"«%(value)s» قىممىتى ئىناۋەتسىز ۋاقىت فورماتىدا. ئۇ چوقۇم YYYY-MM-DD شەكلىدە " +"بولۇشى كېرەك." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"«%(value)s» قىممىتىنىڭ توغرا فورماتى (YYYY-MM-DD) بار ، ئەمما ئۇ ۋاقىت " +"ئىناۋەتسىز." + +msgid "Date (without time)" +msgstr "چېسلا (سائەت مىنۇت يوق)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"«%(value)s» قىممىتى ئىناۋەتسىز. ئۇ چوقۇم YYYY-MM-DD HH: MM [: ss [.uuuuuu]] " +"[TZ] شەكلىدە بولۇشى كېرەك." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"«%(value)s» قىممىتىنىڭ توغرا فورماتى بار (YYYY-MM-DD HH: MM [: ss [.uuuuuu]] " +"[TZ]) ئەمما ئۇ ئىناۋەتسىز كۈن / ۋاقىت." + +msgid "Date (with time)" +msgstr "چېسلا (ۋاقىت بىلەن)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "«%(value)s» قىممىتى چوقۇم پۈتۈن سان بولۇشى كېرەك." + +msgid "Decimal number" +msgstr "ئونلۇق سان" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"«%(value)s» قىممىتى ئىناۋەتسىز. ئۇ چوقۇم [DD] [[HH:] MM:] ss [.uuuuuu] " +"شەكلىدە بولۇشى كېرەك." + +msgid "Duration" +msgstr "داۋاملىشىش ۋاقتى" + +msgid "Email address" +msgstr "ئېلخەت ئادرېسى" + +msgid "File path" +msgstr "ھۆججەت يولى" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "«%(value)s» قىممىتى چوقۇم لەيلىمە چېكىتلىك مىقتار بولۇشى كېرەك." + +msgid "Floating point number" +msgstr "كەسرىلىك سان نومۇر" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "«%(value)s» قىممىتى چوقۇم پۈتۈن سان بولۇشى كېرەك." + +msgid "Integer" +msgstr "پۈتۈن سان" + +msgid "Big (8 byte) integer" +msgstr "چوڭ (8 بايىت) پۈتۈن سان" + +msgid "Small integer" +msgstr "كىچىك پۈتۈن سان" + +msgid "IPv4 address" +msgstr "IPv4 ئادرېسى" + +msgid "IP address" +msgstr "IP ئادرېسى" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "«%(value)s» قىممىتى چوقۇم True ، False ياكى None بولۇشى كېرەك." + +msgid "Boolean (Either True, False or None)" +msgstr "Boolean (True ياكى False)" + +msgid "Positive big integer" +msgstr "مۇسبەت چوڭ پۈتۈن سان" + +msgid "Positive integer" +msgstr "مۇسبەت پۈتۈن سان" + +msgid "Positive small integer" +msgstr "مۇسبەت كىچىك پۈتۈن سان" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (كۆپ بولغاندا %(max_length)s)" + +msgid "Text" +msgstr "تېكىست" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"«%(value)s» قىممىتى ئىناۋەتسىز. ئۇ چوقۇم HH: MM [: ss [.uuuuuu]] شەكلىدە " +"بولۇشى كېرەك." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"«%(value)s» قىممىتىنىڭ توغرا فورماتى بار (HH: MM [: ss [.uuuuuu]]) ئەمما ئۇ " +"ئىناۋەتسىز ۋاقىت." + +msgid "Time" +msgstr "ۋاقىت" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "خام ئىككىلىك سان" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "«%(value)s» ئىناۋەتلىك UUID ئەمەس." + +msgid "Universally unique identifier" +msgstr "ئۇنىۋېرسال بىردىنبىر كىملىك" + +msgid "File" +msgstr "ھۆججەت" + +msgid "Image" +msgstr "رەسىم" + +msgid "A JSON object" +msgstr "JSON ئوبيېكتى" + +msgid "Value must be valid JSON." +msgstr "چوقۇم ئىناۋەتلىك JSON بولۇشى كېرەك." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "مىسال %(value)r %(field)s قىممىتى بولغان %(model)s مەۋجۇت ئەمەس." + +msgid "Foreign Key (type determined by related field)" +msgstr "سىرتقى ئاچقۇچ (تىپى مۇناسىۋەتلىك مەيدان تەرىپىدىن بېكىتىلگەن)" + +msgid "One-to-one relationship" +msgstr "بىرمۇبىر مۇناسىۋەت" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s مۇناسىۋەت" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s مۇناسىۋەتلەر" + +msgid "Many-to-many relationship" +msgstr "كۆپكە كۆب مۇناسىۋىتى" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "بۇ رايون تەلەپ قىلىنىدۇ." + +msgid "Enter a whole number." +msgstr "پۈتۈن ساننى كىرگۈزۈڭ." + +msgid "Enter a valid date." +msgstr "ئىناۋەتلىك چېسلانى كىرگۈزۈڭ." + +msgid "Enter a valid time." +msgstr "ئىناۋەتلىك ۋاقىت كىرگۈزۈڭ." + +msgid "Enter a valid date/time." +msgstr "ئىناۋەتلىك چېسلا / ۋاقىت كىرگۈزۈڭ." + +msgid "Enter a valid duration." +msgstr "ئىناۋەتلىك مۇددىتىنى كىرگۈزۈڭ." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "كۈن سانى چوقۇم {min_days} بىلەن {max_days} ئارىسىدا بولۇشى كېرەك." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "ھېچقانداق ھۆججەت يوللانمىدى. جەدۋەلدىكى كودلاش تۈرىنى تەكشۈرۈڭ." + +msgid "No file was submitted." +msgstr "ھېچقانداق ھۆججەت يوللانمىدى." + +msgid "The submitted file is empty." +msgstr "يوللانغان ھۆججەت قۇرۇق." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"بۇ ھۆججەت نامىنىڭ ئەڭ كۆپ بولغاندا %(max)d ھەرپ بولۇشىغا كاپالەتلىك قىلىڭ " +"(ئۇنىڭدا %(length)d بار)." +msgstr[1] "" +"بۇ ھۆججەت نامىنىڭ ئەڭ كۆپ بولغاندا %(max)d ھەرپ بولۇشىغا كاپالەتلىك قىلىڭ " +"(ئۇنىڭدا %(length)d بار)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "ھۆججەت يوللاڭ ياكى تەكشۈرۈش رامكىسىنى تەكشۈرۈڭ ، ھەر ئىككىسىنى ئەمەس." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"ئىناۋەتلىك رەسىم يۈكلەڭ. سىز يۈكلىگەن ھۆججەت يا رەسىم ئەمەس ۋەياكى بۇزۇلغان." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "ئۈنۈملۈك تاللاشنى تاللاڭ. %(value)s تاللاشلارنىڭ بىرى ئەمەس." + +msgid "Enter a list of values." +msgstr "قىممەت تىزىملىكىنى كىرگۈزۈڭ." + +msgid "Enter a complete value." +msgstr "تولۇق قىممەت كىرگۈزۈڭ." + +msgid "Enter a valid UUID." +msgstr "ئىناۋەتلىك UUID نى كىرگۈزۈڭ." + +msgid "Enter a valid JSON." +msgstr "ئىناۋەتلىك JSON نى كىرگۈزۈڭ." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(يوشۇرۇن مەيدان %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"ManagementForm سانلىق مەلۇماتلىرى يوقاپ كەتتى ياكى ئۆزگەرتىلدى. يوقاپ كەتكەن " +"ساھە: %(field_names)s. ئەگەر مەسىلە ساقلىنىپ قالسا ، خاتالىق دوكلاتىنى " +"تاپشۇرۇشىڭىز كېرەك." + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "ئەڭ كۆپ بولغاندا %(num)d جەدۋەلنى يوللاڭ." +msgstr[1] "ئەڭ كۆپ بولغاندا %(num)d جەدۋەلنى يوللاڭ." + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "كەم دېگەندە %(num)d جەدۋەلنى يوللاڭ." +msgstr[1] "كەم دېگەندە %(num)d جەدۋەلنى يوللاڭ." + +msgid "Order" +msgstr "زاكاز" + +msgid "Delete" +msgstr "ئۆچۈرۈش" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "%(field)s نىڭ قايتىلانغان سانلىق مەلۇماتلىرىنى تۈزىتىڭ." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"%(field)s نىڭ كۆپەيتىلگەن سانلىق مەلۇماتلىرىنى تۈزىتىڭ ، بۇ چوقۇم ئۆزگىچە " +"بولۇشى كېرەك." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"%(field_name)s دىكى قايتىلانغان سانلىق مەلۇماتنى تۈزىتىڭ ، بۇ چوقۇم " +"%(date_field)s دىكى %(lookup)s غا خاس بولۇشى كېرەك." + +msgid "Please correct the duplicate values below." +msgstr "تۆۋەندىكى قايتىلانغان قىممەتنى تۈزىتىڭ." + +msgid "The inline value did not match the parent instance." +msgstr "ئىچكى قىممەت ئاتا مىسالغا ماس كەلمىدى." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"ئۈنۈملۈك تاللاشنى تاللاڭ. بۇ تاللاش ئىشلەتكىلى بولىدىغان تاللاشلارنىڭ بىرى " +"ئەمەس." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "«%(pk)s» ئىناۋەتلىك قىممەت ئەمەس." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s نى %(current_timezone)s ۋاقىت رايونىدا ئىزاھلاشقا بولمايدۇ ئۇ " +"مۈجمەل بولۇشى مۇمكىن ياكى ئۇ مەۋجۇت بولماسلىقى مۇمكىن." + +msgid "Clear" +msgstr "تازىلاش" + +msgid "Currently" +msgstr "نۆۋەتتە" + +msgid "Change" +msgstr "ئۆزگەرتىش" + +msgid "Unknown" +msgstr "نامەلۇم" + +msgid "Yes" +msgstr "ھەئە" + +msgid "No" +msgstr "ياق" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "ھەئە، ياق، بەلكىىم" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d بايىت" +msgstr[1] "%(size)d بايىت" + +#, python-format +msgid "%s KB" +msgstr "%s كىلوبايت" + +#, python-format +msgid "%s MB" +msgstr "%sمېگا بايىت" + +#, python-format +msgid "%s GB" +msgstr "%sگىگا بايىت" + +#, python-format +msgid "%s TB" +msgstr "%s تېرا بايت" + +#, python-format +msgid "%s PB" +msgstr "%s پېتا بايىت" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "يېرىم كېچىدە" + +msgid "noon" +msgstr "چۈشتە" + +msgid "Monday" +msgstr "دۈشەنبە" + +msgid "Tuesday" +msgstr "سەيشەنبە" + +msgid "Wednesday" +msgstr "چارشەمبە" + +msgid "Thursday" +msgstr "پەيشەمبە" + +msgid "Friday" +msgstr "جۈمە" + +msgid "Saturday" +msgstr "شەنبە" + +msgid "Sunday" +msgstr "يەكشەنبە" + +msgid "Mon" +msgstr "دۈش" + +msgid "Tue" +msgstr "سەي" + +msgid "Wed" +msgstr "چار" + +msgid "Thu" +msgstr "پەي" + +msgid "Fri" +msgstr "جۈ" + +msgid "Sat" +msgstr "شەن" + +msgid "Sun" +msgstr "يەك" + +msgid "January" +msgstr "يانۋار" + +msgid "February" +msgstr "فېۋرال" + +msgid "March" +msgstr "مارت" + +msgid "April" +msgstr "ئاپرىل" + +msgid "May" +msgstr "ماي" + +msgid "June" +msgstr "ئىيۇن" + +msgid "July" +msgstr "ئىيۇل" + +msgid "August" +msgstr "ئاۋغۇست" + +msgid "September" +msgstr "سىنتەبىر" + +msgid "October" +msgstr "ئۆكتەبىر" + +msgid "November" +msgstr "نويابىر" + +msgid "December" +msgstr "دىكابىر" + +msgid "jan" +msgstr "يان" + +msgid "feb" +msgstr "فېۋ" + +msgid "mar" +msgstr "مار" + +msgid "apr" +msgstr "ئاپ" + +msgid "may" +msgstr "ماي" + +msgid "jun" +msgstr "ئ‍ىيۇن" + +msgid "jul" +msgstr "ئىيۇل" + +msgid "aug" +msgstr "ئاۋ" + +msgid "sep" +msgstr "سېن" + +msgid "oct" +msgstr "ئۆك" + +msgid "nov" +msgstr "نوي" + +msgid "dec" +msgstr "دىك" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "يانۋار" + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "فېۋرال" + +msgctxt "abbrev. month" +msgid "March" +msgstr "مارت" + +msgctxt "abbrev. month" +msgid "April" +msgstr "ئاپرىل" + +msgctxt "abbrev. month" +msgid "May" +msgstr "ماي" + +msgctxt "abbrev. month" +msgid "June" +msgstr "ئىيۇن" + +msgctxt "abbrev. month" +msgid "July" +msgstr "ئىيۇل" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "ئاۋغۇست" + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "سېنتەبىر" + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "ئۆكتەبىر" + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "نويابىر" + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "دىكابىر" + +msgctxt "alt. month" +msgid "January" +msgstr "يانۋار" + +msgctxt "alt. month" +msgid "February" +msgstr "فېۋرال" + +msgctxt "alt. month" +msgid "March" +msgstr "مارت" + +msgctxt "alt. month" +msgid "April" +msgstr "ئاپرىل" + +msgctxt "alt. month" +msgid "May" +msgstr "ماي" + +msgctxt "alt. month" +msgid "June" +msgstr "ئىيۇن" + +msgctxt "alt. month" +msgid "July" +msgstr "ئىيۇل" + +msgctxt "alt. month" +msgid "August" +msgstr "ئاۋغۇست" + +msgctxt "alt. month" +msgid "September" +msgstr "سىنتەبىر" + +msgctxt "alt. month" +msgid "October" +msgstr "ئۆكتەبىر" + +msgctxt "alt. month" +msgid "November" +msgstr "نويابىر" + +msgctxt "alt. month" +msgid "December" +msgstr "دىكابىر" + +msgid "This is not a valid IPv6 address." +msgstr "بۇ ئىناۋەتلىك IPv6 ئادرېس ئەمەس." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "ياكى" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr "،" + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d يىل" +msgstr[1] "%(num)d يىل" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d ئاي" +msgstr[1] "%(num)d ئاي" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d ھەپتە" +msgstr[1] "%(num)d ھەپتە" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d كۈن" +msgstr[1] "%(num)d كۈن" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d سائەت" +msgstr[1] "%(num)d سائەت" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d مىنۇت" +msgstr[1] "%(num)d مىنۇت" + +msgid "Forbidden" +msgstr "چەكلەنگەن" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF دەلىللەش مەغلۇپ بولدى. تەلەپ ئەمەلدىن قالدۇرۇلدى." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"چۈنكى بۇ HTTPS تور بېكىتى توركۆرگۈڭىز تەرىپىدىن پايدىلانما ئۇچۇرلىرىنى " +"ئەۋەتىشنى تەلەب قىلىدۇ، ئەمما ھېچقايسىسى ئەۋەتىلمىدى، شۇ سەۋەبتىن سىز بۇ " +"ئۇچۇرنى كۆرىۋاتىسىز.\n" +"بۇ ئۇچۇرلار سىزنىڭ بىخەتەرلىكڭىز ۋە تور كۆرگۈڭىزنىڭ ئۈچۈنجى شەخىس تەرىپىدىن " +"تۇتقۇن قىلىنىشىنىڭ ئالدىنى ئېلىش ئۈچۈندۇر. " + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"ئەگەر سىز توركۆرگۈچىڭىزنى “Referer” بېكەت سېكىرتكۈچىنى چەكلەپ تەڭشىسىڭىز، بۇ " +"تور بېكەت، ياكى HTTPS ئۇلىنىشى، ياكى “ئوخشاش-مەنبە” ئىلتىماسلىرى ئۈچۈن ئۇنى " +"قايتا ئىچىپ قويۇڭ." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"ئەگەر سىز تەگىنى ياكى " +"“Referrer-Policy: no-referrer” بېكەت سېكىرتكۈچىنى ئىشلىتىۋاتىسىز، ئۇلارنى " +"ئۆچۈرۈڭ. CSRF قوغداش تەلەپ قىلىدۇ “Referer” بېكەت سېكىرتكۈچى قاتتىق " +"سېكىرتىشنى ئېلىپ بېرىشى كېرەك. ئەگەر سىز شەخسىيەتىڭىزگە قاراشقا ئۆزىڭىزنى " +"ئۆزىڭىز قارغىلى بولسىڭىز، ئۈچىنچى تەرەپ تور بېكەتلىرىگە ئۇلىنىشلاردا قاتارلىق ئالتۇرناتىۋىلارنى ئىشلىتىڭ." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +" بۇ تور بېكەت جەدۋەل يوللىغاندا CSRF ساقلانمىسىنى تەلەپ قىلىدۇ. بۇ " +"ساقلانمىلار بىخەتەرلىكنى كۆزدە تۇتۇپ ، تور كۆرگۈچىڭىزنىڭ ئۈچىنچى تەرەپ " +"تەرىپىدىن ئوغرىلانماسلىقىغا كاپالەتلىك قىلىدۇ." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"ئەگەر توركۆرگۈڭىزنى ساقلانمىلارنى چەكلەش ئۈچۈن تەڭشىگەن بولسىڭىز ، ھېچ " +"بولمىغاندا بۇ تور بېكەت ياكى «ئوخشاش مەنبە» تەلەپلىرى ئۈچۈن ئۇلارنى قايتا " +"قوزغىتىڭ." + +msgid "More information is available with DEBUG=True." +msgstr "DEBUG = True بىلەن تېخىمۇ كۆپ ئۇچۇرلارغا ئېرىشكىلى بولىدۇ." + +msgid "No year specified" +msgstr "يىل بەلگىلەنمىدى" + +msgid "Date out of range" +msgstr "ۋاقىت چەكلىمىسىدىن ئېشىب كەتتى" + +msgid "No month specified" +msgstr "ئاي بەلگىلەنمىدى" + +msgid "No day specified" +msgstr "كۈن بەلگىلەنمىدى" + +msgid "No week specified" +msgstr "ھەپتە بەلگىلەنمىدى" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "%(verbose_name_plural)s يوق" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"كەلگۈسى %(verbose_name_plural)s ئىشلەتكىلى بولمايدۇ ، چۈنكى %(class_name)s." +"allow_future بولسا False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "ئىناۋەتسىز چېسلا تىزمىسى «%(datestr)s» بېرىلگەن فورمات «%(format)s»" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "بۇ سوئالغا ماس كېلىدىغان %(verbose_name)s تېپىلمىدى" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "بەت «ئاخىرقى» ئەمەس ،ياكى ئۇنى int غا ئايلاندۇرغىلى بولمىدى." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "ئىناۋەتسىز بەت (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "بوش تىزىملىك %(class_name)s ۋە «.allow_empty» بولسا False." + +msgid "Directory indexes are not allowed here." +msgstr "ھۆججەت مۇندەرىجىسى بۇ يەردە رۇخسەت قىلىنمايدۇ." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "%(path)s مەۋجۇت ئەمەس" + +#, python-format +msgid "Index of %(directory)s" +msgstr "%(directory)s نىڭ كۆرسەتكۈچىسى" + +msgid "The install worked successfully! Congratulations!" +msgstr "قاچىلاش مۇۋەپپەقىيەتلىك بولدى! مۇبارەك بولسۇن!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +" Django %(version)s ئۈچۈن ئېلان قىلىش " +"خاتىرىسى نى كۆرۈڭ" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"سىز بۇ بەتنى كۆرۈۋاتىسىز ، چۈنكى DEBUG = " +"True سىزنىڭ تەڭشەك ھۆججىتىڭىزدە ،شۇنداقلا ھېچقانداق URL تەڭشەلىمىگەن." + +msgid "Django Documentation" +msgstr " Django قوللانمىسى" + +msgid "Topics, references, & how-to’s" +msgstr "تېما ، پايدىلانما ، & amp; قانداق قىلىش " + +msgid "Tutorial: A Polling App" +msgstr "دەرسلىك: بىر بېلەت تاشلاش دىتالى" + +msgid "Get started with Django" +msgstr "Django بىلەن تونۇشۇش" + +msgid "Django Community" +msgstr "Django جەمىيىتى" + +msgid "Connect, get help, or contribute" +msgstr "قوشۇلۇش ، ياردەمگە ئېرىشىش ياكى تۆھپە قوشۇش" diff --git a/external_sources/django/django/conf/locale/ug/__init__.py b/external_sources/django/django/conf/locale/ug/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/ug/formats.py b/external_sources/django/django/conf/locale/ug/formats.py new file mode 100644 index 0000000..92f0134 --- /dev/null +++ b/external_sources/django/django/conf/locale/ug/formats.py @@ -0,0 +1,14 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "j F Y" +TIME_FORMAT = "G:i" +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "Y/m/d" +SHORT_DATETIME_FORMAT = "Y/m/d G:i" +FIRST_DAY_OF_WEEK = 1 +DECIMAL_SEPARATOR = "." +THOUSAND_SEPARATOR = "," +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/uk/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/uk/LC_MESSAGES/django.po new file mode 100644 index 0000000..b2a7187 --- /dev/null +++ b/external_sources/django/django/conf/locale/uk/LC_MESSAGES/django.po @@ -0,0 +1,1382 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Oleksandr Chernihov , 2014 +# Boryslav Larin , 2011,2022 +# Denis Podlesniy , 2016 +# Igor Melnyk, 2014-2015,2017 +# Illia Volochii , 2019,2021-2023 +# Jannis Leidel , 2011 +# Kirill Gagarski , 2014 +# Max V. Stotsky , 2014 +# Mikhail Kolesnik , 2015 +# Mykola Zamkovoi , 2014 +# Natalia, 2024 +# Alex Bolotov , 2013-2014 +# Roman Kozlovskyi , 2012 +# Sergiy Kuzmenko , 2011 +# tarasyyyk , 2018 +# tarasyyyk , 2019 +# Zoriana Zaiats, 2016-2017 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-10-07 06:49+0000\n" +"Last-Translator: Natalia, 2024\n" +"Language-Team: Ukrainian (http://app.transifex.com/django/django/language/" +"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" + +msgid "Afrikaans" +msgstr "Африканська" + +msgid "Arabic" +msgstr "Арабська" + +msgid "Algerian Arabic" +msgstr "Алжирська арабська" + +msgid "Asturian" +msgstr "Астурійська" + +msgid "Azerbaijani" +msgstr "Азербайджанська" + +msgid "Bulgarian" +msgstr "Болгарська" + +msgid "Belarusian" +msgstr "Білоруська" + +msgid "Bengali" +msgstr "Бенгальська" + +msgid "Breton" +msgstr "Бретонська" + +msgid "Bosnian" +msgstr "Боснійська" + +msgid "Catalan" +msgstr "Каталонська" + +msgid "Central Kurdish (Sorani)" +msgstr "Центральнокурдська (сорані)" + +msgid "Czech" +msgstr "Чеська" + +msgid "Welsh" +msgstr "Валлійська" + +msgid "Danish" +msgstr "Датська" + +msgid "German" +msgstr "Німецька" + +msgid "Lower Sorbian" +msgstr "Нижньолужицька" + +msgid "Greek" +msgstr "Грецька" + +msgid "English" +msgstr "Англійська" + +msgid "Australian English" +msgstr "Австралійська англійська" + +msgid "British English" +msgstr "Англійська (Великобританія)" + +msgid "Esperanto" +msgstr "Есперанто" + +msgid "Spanish" +msgstr "Іспанська" + +msgid "Argentinian Spanish" +msgstr "Іспанська (Аргентина)" + +msgid "Colombian Spanish" +msgstr "Колумбійська іспанська" + +msgid "Mexican Spanish" +msgstr "Мексиканська іспанська" + +msgid "Nicaraguan Spanish" +msgstr "Нікарагуанська іспанська" + +msgid "Venezuelan Spanish" +msgstr "Венесуельська іспанська" + +msgid "Estonian" +msgstr "Естонська" + +msgid "Basque" +msgstr "Баскська" + +msgid "Persian" +msgstr "Перська" + +msgid "Finnish" +msgstr "Фінська" + +msgid "French" +msgstr "Французька" + +msgid "Frisian" +msgstr "Фризька" + +msgid "Irish" +msgstr "Ірландська" + +msgid "Scottish Gaelic" +msgstr "Шотландська ґельська" + +msgid "Galician" +msgstr "Галіційська" + +msgid "Hebrew" +msgstr "Іврит" + +msgid "Hindi" +msgstr "Хінді" + +msgid "Croatian" +msgstr "Хорватська" + +msgid "Upper Sorbian" +msgstr "Верхньолужицька" + +msgid "Hungarian" +msgstr "Угорська" + +msgid "Armenian" +msgstr "Вірменська" + +msgid "Interlingua" +msgstr "Інтерлінгва" + +msgid "Indonesian" +msgstr "Індонезійська" + +msgid "Igbo" +msgstr "Ігбо" + +msgid "Ido" +msgstr "Ідо" + +msgid "Icelandic" +msgstr "Ісландська" + +msgid "Italian" +msgstr "Італійська" + +msgid "Japanese" +msgstr "Японська" + +msgid "Georgian" +msgstr "Грузинська" + +msgid "Kabyle" +msgstr "Кабіли" + +msgid "Kazakh" +msgstr "Казахська" + +msgid "Khmer" +msgstr "Кхмерська" + +msgid "Kannada" +msgstr "Каннадська" + +msgid "Korean" +msgstr "Корейська" + +msgid "Kyrgyz" +msgstr "Киргизька" + +msgid "Luxembourgish" +msgstr "Люксембурзька" + +msgid "Lithuanian" +msgstr "Литовська" + +msgid "Latvian" +msgstr "Латвійська" + +msgid "Macedonian" +msgstr "Македонська" + +msgid "Malayalam" +msgstr "Малаялам" + +msgid "Mongolian" +msgstr "Монгольська" + +msgid "Marathi" +msgstr "Маратхі" + +msgid "Malay" +msgstr "Малайська" + +msgid "Burmese" +msgstr "Бірманська" + +msgid "Norwegian Bokmål" +msgstr "Норвезька (Букмол)" + +msgid "Nepali" +msgstr "Непальська" + +msgid "Dutch" +msgstr "Голландська" + +msgid "Norwegian Nynorsk" +msgstr "Норвезька (Нюнорськ)" + +msgid "Ossetic" +msgstr "Осетинська" + +msgid "Punjabi" +msgstr "Панджабі" + +msgid "Polish" +msgstr "Польська" + +msgid "Portuguese" +msgstr "Португальська" + +msgid "Brazilian Portuguese" +msgstr "Бразильська португальська" + +msgid "Romanian" +msgstr "Румунська" + +msgid "Russian" +msgstr "Російська" + +msgid "Slovak" +msgstr "Словацька" + +msgid "Slovenian" +msgstr "Словенська" + +msgid "Albanian" +msgstr "Албанська" + +msgid "Serbian" +msgstr "Сербська" + +msgid "Serbian Latin" +msgstr "Сербська (латинська)" + +msgid "Swedish" +msgstr "Шведська" + +msgid "Swahili" +msgstr "Суахілі" + +msgid "Tamil" +msgstr "Тамільська" + +msgid "Telugu" +msgstr "Телугу" + +msgid "Tajik" +msgstr "Таджицька" + +msgid "Thai" +msgstr "Тайська" + +msgid "Turkmen" +msgstr "Туркменська" + +msgid "Turkish" +msgstr "Турецька" + +msgid "Tatar" +msgstr "Татарська" + +msgid "Udmurt" +msgstr "Удмуртська" + +msgid "Uyghur" +msgstr "" + +msgid "Ukrainian" +msgstr "Українська" + +msgid "Urdu" +msgstr "Урду" + +msgid "Uzbek" +msgstr "Узбецька" + +msgid "Vietnamese" +msgstr "В'єтнамська" + +msgid "Simplified Chinese" +msgstr "Китайська спрощена" + +msgid "Traditional Chinese" +msgstr "Китайська традиційна" + +msgid "Messages" +msgstr "Повідомлення" + +msgid "Site Maps" +msgstr "Мапи сайту" + +msgid "Static Files" +msgstr "Статичні файли" + +msgid "Syndication" +msgstr "Об'єднання" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "Номер сторінки не є цілим числом" + +msgid "That page number is less than 1" +msgstr "Номер сторінки менше 1" + +msgid "That page contains no results" +msgstr "Сторінка не містить результатів" + +msgid "Enter a valid value." +msgstr "Введіть коректне значення." + +msgid "Enter a valid domain name." +msgstr "" + +msgid "Enter a valid URL." +msgstr "Введіть коректний URL." + +msgid "Enter a valid integer." +msgstr "Введіть коректне ціле число." + +msgid "Enter a valid email address." +msgstr "Введіть коректну email адресу." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Введіть коректне значення 'slug' (короткого заголовку), що може містити " +"тільки літери, числа, символи підкреслювання або дефіси." + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "" + +msgid "IPv4" +msgstr "" + +msgid "IPv6" +msgstr "" + +msgid "IPv4 or IPv6" +msgstr "" + +msgid "Enter only digits separated by commas." +msgstr "Введіть тільки цифри, що розділені комами." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Переконайтеся, що це значення дорівнює %(limit_value)s (зараз " +"%(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Переконайтеся, що це значення менше чи дорівнює %(limit_value)s." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Переконайтеся, що це значення більше чи дорівнює %(limit_value)s." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "" + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Переконайтеся, що це значення містить не менш ніж %(limit_value)d символ " +"(зараз %(show_value)d)." +msgstr[1] "" +"Переконайтеся, що це значення містить не менш ніж %(limit_value)d символів " +"(зараз %(show_value)d)." +msgstr[2] "" +"Переконайтеся, що це значення містить не менш ніж %(limit_value)d символів " +"(зараз %(show_value)d)." +msgstr[3] "" +"Переконайтеся, що це значення містить не менш ніж %(limit_value)d символів " +"(зараз %(show_value)d)." + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Переконайтеся, що це значення містить не більше ніж %(limit_value)d символ " +"(зараз %(show_value)d)." +msgstr[1] "" +"Переконайтеся, що це значення містить не більше ніж %(limit_value)d символи " +"(зараз %(show_value)d)." +msgstr[2] "" +"Переконайтеся, що це значення містить не більше ніж %(limit_value)d символів " +"(зараз %(show_value)d)." +msgstr[3] "" +"Переконайтеся, що це значення містить не більше ніж %(limit_value)d символів " +"(зараз %(show_value)d)." + +msgid "Enter a number." +msgstr "Введіть число." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Переконайтеся, що загалом тут не більше ніж %(max)s цифра." +msgstr[1] "Переконайтеся, що загалом тут не більше ніж %(max)s цифер." +msgstr[2] "Переконайтеся, що загалом тут не більше ніж %(max)s цифер." +msgstr[3] "Переконайтеся, що загалом тут не більше ніж %(max)s цифер." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" +"Переконайтеся, що тут не більше ніж %(max)s цифра після десяткової коми." +msgstr[1] "" +"Переконайтеся, що тут не більше ніж %(max)s цифри після десяткової коми." +msgstr[2] "" +"Переконайтеся, що тут не більше ніж %(max)s цифер після десяткової коми." +msgstr[3] "" +"Переконайтеся, що тут не більше ніж %(max)s цифер після десяткової коми." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Переконайтеся, що тут не більше ніж %(max)s цифра до десяткової коми." +msgstr[1] "" +"Переконайтеся, що тут не більше ніж %(max)s цифри до десяткової коми." +msgstr[2] "" +"Переконайтеся, що тут не більше ніж %(max)s цифер до десяткової коми." +msgstr[3] "" +"Переконайтеся, що тут не більше ніж %(max)s цифер до десяткової коми." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"Розширення файлу '%(extension)s' не дозволено. Дозволені розширення: ' " +"%(allowed_extensions)s'." + +msgid "Null characters are not allowed." +msgstr "Символи Null не дозволені." + +msgid "and" +msgstr "та" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s з таким %(field_labels)s вже існує." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Значення %(value)r не є дозволеним вибором." + +msgid "This field cannot be null." +msgstr "Це поле не може бути пустим." + +msgid "This field cannot be blank." +msgstr "Це поле не може бути порожнім." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s з таким %(field_label)s вже існує." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s повинне бути унікальним для %(date_field_label)s " +"%(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Тип поля: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "Значення \"%(value)s\" повинне бути True, False, або None." + +msgid "Boolean (Either True or False)" +msgstr "Булеве значення (True або False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Рядок (до %(max_length)s)" + +msgid "String (unlimited)" +msgstr "Рядок (необмежений)" + +msgid "Comma-separated integers" +msgstr "Цілі, розділені комою" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "Дата (без часу)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"Значення \"%(value)s\" має невірний формат. Воно повинне бути у форматі YYYY-" +"MM-DD HH:MM[:ss[.uuuuuu]][TZ]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "Дата (з часом)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "Десяткове число" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "Тривалість" + +msgid "Email address" +msgstr "E-mail адреса" + +msgid "File path" +msgstr "Шлях до файла" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "Число з плаваючою комою" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "Ціле число" + +msgid "Big (8 byte) integer" +msgstr "Велике (8 байтів) ціле число" + +msgid "Small integer" +msgstr "Мале ціле число" + +msgid "IPv4 address" +msgstr "IPv4 адреса" + +msgid "IP address" +msgstr "IP адреса" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "Булеве значення (включаючи True, False або None)" + +msgid "Positive big integer" +msgstr "Додатнє велике ціле число" + +msgid "Positive integer" +msgstr "Додатнє ціле число" + +msgid "Positive small integer" +msgstr "Додатнє мале ціле число" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (до %(max_length)s)" + +msgid "Text" +msgstr "Текст" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"Значення \"%(value)s\" має невірний формат. Воно повинне бути у форматі HH:" +"MM[:ss[.uuuuuu]]." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "Час" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "Необроблені двійкові дані" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "“%(value)s” не є валідним UUID." + +msgid "Universally unique identifier" +msgstr "Універсальний унікальний ідентифікатор" + +msgid "File" +msgstr "Файл" + +msgid "Image" +msgstr "Зображення" + +msgid "A JSON object" +msgstr "JSON-об'єкт" + +msgid "Value must be valid JSON." +msgstr "Значення має бути коректним JSON." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "Екземпляр %(model)s з %(field)s %(value)r не існує." + +msgid "Foreign Key (type determined by related field)" +msgstr "Зовнішній ключ (тип визначається відповідно поля)" + +msgid "One-to-one relationship" +msgstr "Один-до-одного" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s звязок" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s звязки" + +msgid "Many-to-many relationship" +msgstr "Багато-до-багатьох" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Це поле обов'язкове." + +msgid "Enter a whole number." +msgstr "Введіть ціле число." + +msgid "Enter a valid date." +msgstr "Введіть коректну дату." + +msgid "Enter a valid time." +msgstr "Введіть коректний час." + +msgid "Enter a valid date/time." +msgstr "Введіть коректну дату/час." + +msgid "Enter a valid duration." +msgstr "Введіть коректну тривалість." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Кількість днів повинна бути від {min_days} до {max_days}." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Файл не надіслано. Перевірте тип кодування форми." + +msgid "No file was submitted." +msgstr "Файл не було надіслано." + +msgid "The submitted file is empty." +msgstr "Переданий файл порожній." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Переконайтеся, що це ім'я файлу містить не більше ніж з %(max)d символ " +"(зараз %(length)d)." +msgstr[1] "" +"Переконайтеся, що це ім'я файлу містить не більше ніж з %(max)d символи " +"(зараз %(length)d)." +msgstr[2] "" +"Переконайтеся, що це ім'я файлу містить не більше ніж з %(max)d символів " +"(зараз %(length)d)." +msgstr[3] "" +"Переконайтеся, що це ім'я файлу містить не більше ніж з %(max)d символів " +"(зараз %(length)d)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Будь ласка, або завантажте файл, або відмітьте прапорець очищення, а не " +"обидва варіанти одразу" + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Завантажте правильний малюнок. Файл, який ви завантажили, не є малюнком, або " +"є зіпсованим малюнком." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Зробить коректний вибір, %(value)s немає серед варіантів вибору." + +msgid "Enter a list of values." +msgstr "Введіть список значень." + +msgid "Enter a complete value." +msgstr "Введіть значення повністю." + +msgid "Enter a valid UUID." +msgstr "Введіть коректне значення UUID." + +msgid "Enter a valid JSON." +msgstr "Введіть коректний JSON." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Приховане поле %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +msgid "Order" +msgstr "Послідовність" + +msgid "Delete" +msgstr "Видалити" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Будь ласка, виправте повторювані дані для поля %(field)s." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Будь ласка, виправте повторювані дані для поля %(field)s, яке має бути " +"унікальним." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Будь ласка, виправте повторювані дані для поля %(field_name)s, яке має бути " +"унікальним для вибірки %(lookup)s на %(date_field)s." + +msgid "Please correct the duplicate values below." +msgstr "Будь ласка, виправте повторювані значення нижче." + +msgid "The inline value did not match the parent instance." +msgstr "Зв'язане значення не відповідає батьківському екземпляру." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Зробить коректний вибір. Такого варіанту нема серед доступних." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "Очистити" + +msgid "Currently" +msgstr "Наразі" + +msgid "Change" +msgstr "Змінити" + +msgid "Unknown" +msgstr "Невідомо" + +msgid "Yes" +msgstr "Так" + +msgid "No" +msgstr "Ні" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "так,ні,можливо" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d байт" +msgstr[1] "%(size)d байти" +msgstr[2] "%(size)d байтів" +msgstr[3] "%(size)d байтів" + +#, python-format +msgid "%s KB" +msgstr "%s Кб" + +#, python-format +msgid "%s MB" +msgstr "%s Мб" + +#, python-format +msgid "%s GB" +msgstr "%s Гб" + +#, python-format +msgid "%s TB" +msgstr "%s Тб" + +#, python-format +msgid "%s PB" +msgstr "%s Пб" + +msgid "p.m." +msgstr "після полудня" + +msgid "a.m." +msgstr "до полудня" + +msgid "PM" +msgstr "після полудня" + +msgid "AM" +msgstr "до полудня" + +msgid "midnight" +msgstr "північ" + +msgid "noon" +msgstr "полудень" + +msgid "Monday" +msgstr "Понеділок" + +msgid "Tuesday" +msgstr "Вівторок" + +msgid "Wednesday" +msgstr "Середа" + +msgid "Thursday" +msgstr "Четвер" + +msgid "Friday" +msgstr "П'ятниця" + +msgid "Saturday" +msgstr "Субота" + +msgid "Sunday" +msgstr "Неділя" + +msgid "Mon" +msgstr "Пн" + +msgid "Tue" +msgstr "Вт" + +msgid "Wed" +msgstr "Ср" + +msgid "Thu" +msgstr "Чт" + +msgid "Fri" +msgstr "Пт" + +msgid "Sat" +msgstr "Сб" + +msgid "Sun" +msgstr "Нд" + +msgid "January" +msgstr "Січень" + +msgid "February" +msgstr "Лютий" + +msgid "March" +msgstr "Березень" + +msgid "April" +msgstr "Квітень" + +msgid "May" +msgstr "Травень" + +msgid "June" +msgstr "Червень" + +msgid "July" +msgstr "Липень" + +msgid "August" +msgstr "Серпень" + +msgid "September" +msgstr "Вересень" + +msgid "October" +msgstr "Жовтень" + +msgid "November" +msgstr "Листопад" + +msgid "December" +msgstr "Грудень" + +msgid "jan" +msgstr "січ" + +msgid "feb" +msgstr "лют" + +msgid "mar" +msgstr "бер" + +msgid "apr" +msgstr "кві" + +msgid "may" +msgstr "тра" + +msgid "jun" +msgstr "чер" + +msgid "jul" +msgstr "лип" + +msgid "aug" +msgstr "сер" + +msgid "sep" +msgstr "вер" + +msgid "oct" +msgstr "жов" + +msgid "nov" +msgstr "лис" + +msgid "dec" +msgstr "гру" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Січ." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Лют." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Березень" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Квітень" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Травень" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Червень" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Липень" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Сер." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Вер." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Жов." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Лис." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Гру." + +msgctxt "alt. month" +msgid "January" +msgstr "січня" + +msgctxt "alt. month" +msgid "February" +msgstr "лютого" + +msgctxt "alt. month" +msgid "March" +msgstr "березня" + +msgctxt "alt. month" +msgid "April" +msgstr "квітня" + +msgctxt "alt. month" +msgid "May" +msgstr "травня" + +msgctxt "alt. month" +msgid "June" +msgstr "червня" + +msgctxt "alt. month" +msgid "July" +msgstr "липня" + +msgctxt "alt. month" +msgid "August" +msgstr "серпня" + +msgctxt "alt. month" +msgid "September" +msgstr "вересня" + +msgctxt "alt. month" +msgid "October" +msgstr "жовтня" + +msgctxt "alt. month" +msgid "November" +msgstr "листопада" + +msgctxt "alt. month" +msgid "December" +msgstr "грудня" + +msgid "This is not a valid IPv6 address." +msgstr "Це не є правильною адресою IPv6." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "або" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d рік" +msgstr[1] "%(num)d роки" +msgstr[2] "%(num)d років" +msgstr[3] "%(num)d років" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d місяць" +msgstr[1] "%(num)d місяці" +msgstr[2] "%(num)d місяців" +msgstr[3] "%(num)d місяців" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d тиждень" +msgstr[1] "%(num)d тижні" +msgstr[2] "%(num)d тижнів" +msgstr[3] "%(num)d тижнів" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d день" +msgstr[1] "%(num)d дні" +msgstr[2] "%(num)d днів" +msgstr[3] "%(num)d днів" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d година" +msgstr[1] "%(num)d години" +msgstr[2] "%(num)d годин" +msgstr[3] "%(num)d годин" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d хвилина" +msgstr[1] "%(num)d хвилини" +msgstr[2] "%(num)d хвилин" +msgstr[3] "%(num)d хвилин" + +msgid "Forbidden" +msgstr "Заборонено" + +msgid "CSRF verification failed. Request aborted." +msgstr "Помилка перевірки CSRF. Запит відхилений." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Якщо ви налаштували свій браузер таким чином, щоб заборонити йому передавати " +"заголовок «Referer», будь ласка, дозвольте йому відсилати даний заголовок " +"принаймні для даного сайту, або для всіх HTTPS-з'єднань, або для подібних " +"запитів." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Ви бачите це повідомлення, тому що даний сайт вимагає, щоб при відправці " +"форм була відправлена ​​і CSRF-cookie. Даний тип cookie необхідний з міркувань " +"безпеки, щоб переконатися, що ваш браузер не був взламаний третьою стороною." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "Більше інформації можна отримати з DEBUG=True." + +msgid "No year specified" +msgstr "Рік не вказано" + +msgid "Date out of range" +msgstr "Дата поза діапазоном" + +msgid "No month specified" +msgstr "Місяць не вказано" + +msgid "No day specified" +msgstr "День не вказано" + +msgid "No week specified" +msgstr "Тиждень не вказано" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "%(verbose_name_plural)s недоступні" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Майбутні %(verbose_name_plural)s недоступні, тому що %(class_name)s." +"allow_future має нульове значення." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Жодні %(verbose_name)s не були знайдені по запиту" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Невірна сторінка (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "Перегляд вмісту каталогу не дозволено." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "\"%(path)s\" не існує" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Вміст директорії %(directory)s" + +msgid "The install worked successfully! Congratulations!" +msgstr "Вітаємо, команда install завершилась успішно!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Нотатки релізу for Django %(version)s" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Ви бачите цю сторінку тому що змінна DEBUG встановлена на True у вашому файлі " +"конфігурації і ви не налаштували жодного URL." + +msgid "Django Documentation" +msgstr "Документація Django" + +msgid "Topics, references, & how-to’s" +msgstr "Статті, довідки та інструкції" + +msgid "Tutorial: A Polling App" +msgstr "Посібник: програма голосування" + +msgid "Get started with Django" +msgstr "Початок роботи з Django" + +msgid "Django Community" +msgstr "Спільнота Django" + +msgid "Connect, get help, or contribute" +msgstr "Отримати допомогу, чи допомогти" diff --git a/external_sources/django/django/conf/locale/uk/__init__.py b/external_sources/django/django/conf/locale/uk/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/uk/formats.py b/external_sources/django/django/conf/locale/uk/formats.py new file mode 100644 index 0000000..0f28831 --- /dev/null +++ b/external_sources/django/django/conf/locale/uk/formats.py @@ -0,0 +1,35 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "d E Y р." +TIME_FORMAT = "H:i" +DATETIME_FORMAT = "d E Y р. H:i" +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "d F" +SHORT_DATE_FORMAT = "d.m.Y" +SHORT_DATETIME_FORMAT = "d.m.Y H:i" +FIRST_DAY_OF_WEEK = 1 # Monday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d.%m.%Y", # '25.10.2006' + "%d %B %Y", # '25 October 2006' +] +TIME_INPUT_FORMATS = [ + "%H:%M:%S", # '14:30:59' + "%H:%M:%S.%f", # '14:30:59.000200' + "%H:%M", # '14:30' +] +DATETIME_INPUT_FORMATS = [ + "%d.%m.%Y %H:%M:%S", # '25.10.2006 14:30:59' + "%d.%m.%Y %H:%M:%S.%f", # '25.10.2006 14:30:59.000200' + "%d.%m.%Y %H:%M", # '25.10.2006 14:30' + "%d %B %Y %H:%M:%S", # '25 October 2006 14:30:59' + "%d %B %Y %H:%M:%S.%f", # '25 October 2006 14:30:59.000200' + "%d %B %Y %H:%M", # '25 October 2006 14:30' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "\xa0" # non-breaking space +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/ur/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/ur/LC_MESSAGES/django.po new file mode 100644 index 0000000..6067c00 --- /dev/null +++ b/external_sources/django/django/conf/locale/ur/LC_MESSAGES/django.po @@ -0,0 +1,1222 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Mansoorulhaq Mansoor , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-27 22:40+0200\n" +"PO-Revision-Date: 2019-11-05 00:38+0000\n" +"Last-Translator: Ramiro Morales\n" +"Language-Team: Urdu (http://www.transifex.com/django/django/language/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" + +msgid "Afrikaans" +msgstr "" + +msgid "Arabic" +msgstr "عربی" + +msgid "Asturian" +msgstr "" + +msgid "Azerbaijani" +msgstr "" + +msgid "Bulgarian" +msgstr "بلغاری" + +msgid "Belarusian" +msgstr "" + +msgid "Bengali" +msgstr "بنگالی" + +msgid "Breton" +msgstr "" + +msgid "Bosnian" +msgstr "بوسنیائی" + +msgid "Catalan" +msgstr "کیٹالانی" + +msgid "Czech" +msgstr "زیچ" + +msgid "Welsh" +msgstr "ویلش" + +msgid "Danish" +msgstr "ڈینش" + +msgid "German" +msgstr "جرمن" + +msgid "Lower Sorbian" +msgstr "" + +msgid "Greek" +msgstr "گریک" + +msgid "English" +msgstr "انگلش" + +msgid "Australian English" +msgstr "" + +msgid "British English" +msgstr "برطانوی انگلش" + +msgid "Esperanto" +msgstr "" + +msgid "Spanish" +msgstr "ھسپانوی" + +msgid "Argentinian Spanish" +msgstr "ارجنٹائنی سپینش" + +msgid "Colombian Spanish" +msgstr "" + +msgid "Mexican Spanish" +msgstr "" + +msgid "Nicaraguan Spanish" +msgstr "" + +msgid "Venezuelan Spanish" +msgstr "" + +msgid "Estonian" +msgstr "اسٹانین" + +msgid "Basque" +msgstr "باسک" + +msgid "Persian" +msgstr "فارسی" + +msgid "Finnish" +msgstr "فنش" + +msgid "French" +msgstr "فرانسیسی" + +msgid "Frisian" +msgstr "فریسی" + +msgid "Irish" +msgstr "آئرش" + +msgid "Scottish Gaelic" +msgstr "" + +msgid "Galician" +msgstr "گیلیشین" + +msgid "Hebrew" +msgstr "عبرانی" + +msgid "Hindi" +msgstr "ھندی" + +msgid "Croatian" +msgstr "کروشن" + +msgid "Upper Sorbian" +msgstr "" + +msgid "Hungarian" +msgstr "ھونگارین" + +msgid "Armenian" +msgstr "" + +msgid "Interlingua" +msgstr "" + +msgid "Indonesian" +msgstr "انڈونیشین" + +msgid "Ido" +msgstr "" + +msgid "Icelandic" +msgstr "آئس لینڈک" + +msgid "Italian" +msgstr "اطالوی" + +msgid "Japanese" +msgstr "جاپانی" + +msgid "Georgian" +msgstr "جارجیائی" + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "" + +msgid "Khmer" +msgstr "خمر" + +msgid "Kannada" +msgstr "کناڈا" + +msgid "Korean" +msgstr "کوریائی" + +msgid "Luxembourgish" +msgstr "" + +msgid "Lithuanian" +msgstr "لیتھونیائی" + +msgid "Latvian" +msgstr "لتوینی" + +msgid "Macedonian" +msgstr "میسیڈونین" + +msgid "Malayalam" +msgstr "ملایالم" + +msgid "Mongolian" +msgstr "منگولین" + +msgid "Marathi" +msgstr "" + +msgid "Burmese" +msgstr "" + +msgid "Norwegian Bokmål" +msgstr "" + +msgid "Nepali" +msgstr "" + +msgid "Dutch" +msgstr "ڈچ" + +msgid "Norwegian Nynorsk" +msgstr "نارویائی نینورسک" + +msgid "Ossetic" +msgstr "" + +msgid "Punjabi" +msgstr "پنجابی" + +msgid "Polish" +msgstr "پولش" + +msgid "Portuguese" +msgstr "پورتگیز" + +msgid "Brazilian Portuguese" +msgstr "برازیلی پورتگیز" + +msgid "Romanian" +msgstr "رومانی" + +msgid "Russian" +msgstr "روسی" + +msgid "Slovak" +msgstr "سلووک" + +msgid "Slovenian" +msgstr "سلووینین" + +msgid "Albanian" +msgstr "البانوی" + +msgid "Serbian" +msgstr "سربین" + +msgid "Serbian Latin" +msgstr "سربین لاطینی" + +msgid "Swedish" +msgstr "سویڈش" + +msgid "Swahili" +msgstr "" + +msgid "Tamil" +msgstr "تاملی" + +msgid "Telugu" +msgstr "تیلگو" + +msgid "Thai" +msgstr "تھائی" + +msgid "Turkish" +msgstr "ترکش" + +msgid "Tatar" +msgstr "" + +msgid "Udmurt" +msgstr "" + +msgid "Ukrainian" +msgstr "یوکرائنی" + +msgid "Urdu" +msgstr "" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "ویتنامی" + +msgid "Simplified Chinese" +msgstr "سادی چینی" + +msgid "Traditional Chinese" +msgstr "روایتی چینی" + +msgid "Messages" +msgstr "" + +msgid "Site Maps" +msgstr "" + +msgid "Static Files" +msgstr "" + +msgid "Syndication" +msgstr "" + +msgid "That page number is not an integer" +msgstr "" + +msgid "That page number is less than 1" +msgstr "" + +msgid "That page contains no results" +msgstr "" + +msgid "Enter a valid value." +msgstr "درست قیمت (ویلیو) درج کریں۔" + +msgid "Enter a valid URL." +msgstr "درست یو آر ایل (URL) درج کریں۔" + +msgid "Enter a valid integer." +msgstr "" + +msgid "Enter a valid email address." +msgstr "" + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "IPv4 کا درست پتہ درج کریں۔" + +msgid "Enter a valid IPv6 address." +msgstr "" + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "" + +msgid "Enter only digits separated by commas." +msgstr "صرف اعداد درج کریں جو کوموں سے الگ کئے ھوئے ھوں۔" + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"اس بات کا یقین کر لیں کہ یہ قیمت (ویلیو) %(limit_value)s ھے۔ (یہ " +"%(show_value)s ھے)%(show_value)s" + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" +"اس بات کا یقین کر لیں کہ یہ قیمت (ویلیو) %(limit_value)s سے کم یا اس کے " +"برابر ھے۔" + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" +"اس بات کا یقین کر لیں کہ یہ قیمت (ویلیو) %(limit_value)s سے زیادہ یا اس کے " +"برابر ھے۔" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Enter a number." +msgstr "نمبر درج کریں۔" + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "" + +msgid "and" +msgstr "اور" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "" + +msgid "This field cannot be null." +msgstr "یہ خانہ نامعلوم (null( نھیں رہ سکتا۔" + +msgid "This field cannot be blank." +msgstr "یہ خانہ خالی نھیں چھوڑا جا سکتا۔" + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s اس %(field_label)s کے ساتھ پہلے ہی موجود ھے۔" + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "%(field_type)s قسم کا خانہ" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "بولین (True یا False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "سلسلۂ حروف (String) (%(max_length)s تک)" + +msgid "Comma-separated integers" +msgstr " کومے سے الگ کئے ھوئے صحیح اعداد" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "تاریخ (وقت کے بغیر)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "تاریخ (بمع وقت)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "اعشاری نمبر" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "" + +msgid "Email address" +msgstr "" + +msgid "File path" +msgstr "فائل کا راستہ(path(" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "نقطہ اعشاریہ والا نمبر" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "صحیح عدد" + +msgid "Big (8 byte) integer" +msgstr "بڑا (8 بائٹ) صحیح عدد" + +msgid "IPv4 address" +msgstr "" + +msgid "IP address" +msgstr "IP ایڈریس" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "بولین (True، False یا None(" + +msgid "Positive integer" +msgstr "" + +msgid "Positive small integer" +msgstr "" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "" + +msgid "Small integer" +msgstr "" + +msgid "Text" +msgstr "متن" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "وقت" + +msgid "URL" +msgstr "یو آر ایل" + +msgid "Raw binary data" +msgstr "" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "" + +msgid "Image" +msgstr "" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" + +msgid "Foreign Key (type determined by related field)" +msgstr "بیرونی کلید (FK( (قسم متعلقہ خانے سے متعین ھو گی)" + +msgid "One-to-one relationship" +msgstr "ون-ٹو-ون ریلیشن شپ" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "" + +msgid "Many-to-many relationship" +msgstr "مینی-ٹو-مینی ریلیشن شپ" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr "" + +msgid "This field is required." +msgstr "یہ خانہ درکار ھے۔" + +msgid "Enter a whole number." +msgstr "مکمل نمبر درج کریں۔" + +msgid "Enter a valid date." +msgstr "درست تاریخ درج کریں۔" + +msgid "Enter a valid time." +msgstr "درست وقت درج کریں۔" + +msgid "Enter a valid date/time." +msgstr "درست تاریخ/وقت درج کریں۔" + +msgid "Enter a valid duration." +msgstr "" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "کوئی فائل پیش نہیں کی گئی۔ فارم پر اینکوڈنگ کی قسم چیک کریں۔" + +msgid "No file was submitted." +msgstr "کوئی فائل پیش نہیں کی گئی تھی۔" + +msgid "The submitted file is empty." +msgstr "پیش کی گئی فائل خالی ھے۔" + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +msgstr[1] "" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "براہ مھربانی فائل پیش کریں یا Clear checkbox منتخب کریں۔ نہ کہ دونوں۔" + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"درست تصویر اپ لوڈ کریں۔ جو فائل آپ نے اپ لوڈ کی تھی وہ تصویر نہیں تھی یا " +"خراب تصویر تھی۔" + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "درست انتخاب منتخب کریں۔ %(value)s دستیاب انتخابات میں سے کوئی نہیں۔" + +msgid "Enter a list of values." +msgstr "قیمتوں (ویلیوز) کی لسٹ درج کریں۔" + +msgid "Enter a complete value." +msgstr "" + +msgid "Enter a valid UUID." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr "" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "" +msgstr[1] "" + +msgid "Order" +msgstr "ترتیب" + +msgid "Delete" +msgstr "مٹائیں" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "براہ کرم %(field)s کے لئے دوہرا مواد درست کریں۔" + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"براہ کرم %(field)s کے لئے دوہرا مواد درست کریں جوکہ منفرد ھونا ضروری ھے۔" + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"براہ کرم %(field_name)s میں دوہرا مواد درست کریں جو کہ %(date_field)s میں " +"%(lookup)s کے لئے منفرد ھونا ضروری ھے۔" + +msgid "Please correct the duplicate values below." +msgstr "براہ کرم نیچے دوہری قیمتیں (ویلیوز) درست کریں۔" + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "درست انتخاب منتخب کریں۔ یہ انتخاب دستیاب انتخابات میں سے کوئی نہیں ھے۔" + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "صاف کریں" + +msgid "Currently" +msgstr "فی الحال" + +msgid "Change" +msgstr "تبدیل کریں" + +msgid "Unknown" +msgstr "نامعلوم" + +msgid "Yes" +msgstr "ھاں" + +msgid "No" +msgstr "نھیں" + +msgid "Year" +msgstr "" + +msgid "Month" +msgstr "" + +msgid "Day" +msgstr "" + +msgid "yes,no,maybe" +msgstr "ھاں،نہیں،ھوسکتاہے" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d بائٹ" +msgstr[1] "%(size)d بائٹس" + +#, python-format +msgid "%s KB" +msgstr "%s ک ۔ ب" + +#, python-format +msgid "%s MB" +msgstr "%s م ۔ ب" + +#, python-format +msgid "%s GB" +msgstr "%s ج ۔ ب" + +#, python-format +msgid "%s TB" +msgstr "%s ٹ ۔ ب" + +#, python-format +msgid "%s PB" +msgstr "%s پ ۔ پ" + +msgid "p.m." +msgstr "شام" + +msgid "a.m." +msgstr "صبح" + +msgid "PM" +msgstr "شام" + +msgid "AM" +msgstr "صبح" + +msgid "midnight" +msgstr "نصف رات" + +msgid "noon" +msgstr "دوپہر" + +msgid "Monday" +msgstr "سوموار" + +msgid "Tuesday" +msgstr "منگل" + +msgid "Wednesday" +msgstr "بدھ" + +msgid "Thursday" +msgstr "جمعرات" + +msgid "Friday" +msgstr "جمعہ" + +msgid "Saturday" +msgstr "ھفتہ" + +msgid "Sunday" +msgstr "اتوار" + +msgid "Mon" +msgstr "سوموار" + +msgid "Tue" +msgstr "منگل" + +msgid "Wed" +msgstr "بدھ" + +msgid "Thu" +msgstr "جمعرات" + +msgid "Fri" +msgstr "جمعہ" + +msgid "Sat" +msgstr "ھفتہ" + +msgid "Sun" +msgstr "اتوار" + +msgid "January" +msgstr "جنوری" + +msgid "February" +msgstr "فروری" + +msgid "March" +msgstr "مارچ" + +msgid "April" +msgstr "اپریل" + +msgid "May" +msgstr "مئی" + +msgid "June" +msgstr "جون" + +msgid "July" +msgstr "جولائی" + +msgid "August" +msgstr "اگست" + +msgid "September" +msgstr "ستمبر" + +msgid "October" +msgstr "اکتوبر" + +msgid "November" +msgstr "نومبر" + +msgid "December" +msgstr "دسمبر" + +msgid "jan" +msgstr "جنوری" + +msgid "feb" +msgstr "فروری" + +msgid "mar" +msgstr "مارچ" + +msgid "apr" +msgstr "اپریل" + +msgid "may" +msgstr "مئی" + +msgid "jun" +msgstr "جون" + +msgid "jul" +msgstr "جولائی" + +msgid "aug" +msgstr "اگست" + +msgid "sep" +msgstr "ستمبر" + +msgid "oct" +msgstr "اکتوبر" + +msgid "nov" +msgstr "نومبر" + +msgid "dec" +msgstr "دسمبر" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "جنوری" + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "فروری" + +msgctxt "abbrev. month" +msgid "March" +msgstr "مارچ" + +msgctxt "abbrev. month" +msgid "April" +msgstr "اپریل" + +msgctxt "abbrev. month" +msgid "May" +msgstr "مئی" + +msgctxt "abbrev. month" +msgid "June" +msgstr "جون" + +msgctxt "abbrev. month" +msgid "July" +msgstr "جولائی" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "اگست" + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "ستمبر" + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "اکتوبر" + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "نومبر" + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "دسمبر" + +msgctxt "alt. month" +msgid "January" +msgstr "جنوری" + +msgctxt "alt. month" +msgid "February" +msgstr "فروری" + +msgctxt "alt. month" +msgid "March" +msgstr "مارچ" + +msgctxt "alt. month" +msgid "April" +msgstr "اپریل" + +msgctxt "alt. month" +msgid "May" +msgstr "مئی" + +msgctxt "alt. month" +msgid "June" +msgstr "جون" + +msgctxt "alt. month" +msgid "July" +msgstr "جولائی" + +msgctxt "alt. month" +msgid "August" +msgstr "اگست" + +msgctxt "alt. month" +msgid "September" +msgstr "ستمبر" + +msgctxt "alt. month" +msgid "October" +msgstr "اکتوبر" + +msgctxt "alt. month" +msgid "November" +msgstr "نومبر" + +msgctxt "alt. month" +msgid "December" +msgstr "دسمبر" + +msgid "This is not a valid IPv6 address." +msgstr "" + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "یا" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr "،" + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "" +msgstr[1] "" + +msgid "0 minutes" +msgstr "" + +msgid "Forbidden" +msgstr "" + +msgid "CSRF verification failed. Request aborted." +msgstr "" + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "" + +msgid "No year specified" +msgstr "" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "" + +msgid "No day specified" +msgstr "" + +msgid "No week specified" +msgstr "" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "" + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/uz/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/uz/LC_MESSAGES/django.po new file mode 100644 index 0000000..ad57ba9 --- /dev/null +++ b/external_sources/django/django/conf/locale/uz/LC_MESSAGES/django.po @@ -0,0 +1,1322 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Abdulaminkhon Khaydarov , 2020 +# Bedilbek Khamidov , 2019 +# Claude Paroz , 2020 +# Shukrullo Turgunov , 2023 +# Sukhrobbek Ismatov , 2019 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 11:41-0300\n" +"PO-Revision-Date: 2023-12-25 06:49+0000\n" +"Last-Translator: Shukrullo Turgunov , 2023\n" +"Language-Team: Uzbek (http://app.transifex.com/django/django/language/uz/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uz\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Afrikaans" +msgstr "Afrika tili" + +msgid "Arabic" +msgstr "Arab tili" + +msgid "Algerian Arabic" +msgstr "Jazoir arab tili" + +msgid "Asturian" +msgstr "Asturiya tili" + +msgid "Azerbaijani" +msgstr "Ozarbayjon tili" + +msgid "Bulgarian" +msgstr "Bolgar tili" + +msgid "Belarusian" +msgstr "Belorus tili" + +msgid "Bengali" +msgstr "Bengal tili" + +msgid "Breton" +msgstr "Breton tili" + +msgid "Bosnian" +msgstr "Bosniya tili" + +msgid "Catalan" +msgstr "Katalon tili" + +msgid "Central Kurdish (Sorani)" +msgstr "" + +msgid "Czech" +msgstr "Chex tili" + +msgid "Welsh" +msgstr "Uels tili" + +msgid "Danish" +msgstr "Daniya tili" + +msgid "German" +msgstr "Nemis tili" + +msgid "Lower Sorbian" +msgstr "Quyi sorbiya tili" + +msgid "Greek" +msgstr "Yunon tili" + +msgid "English" +msgstr "Ingliz tili" + +msgid "Australian English" +msgstr "Avstraliya ingliz tili" + +msgid "British English" +msgstr "Britan Ingliz tili" + +msgid "Esperanto" +msgstr "Esperanto tili" + +msgid "Spanish" +msgstr "Ispan tili" + +msgid "Argentinian Spanish" +msgstr "Argentina Ispan tili" + +msgid "Colombian Spanish" +msgstr "Kolumbiya Ispan tili" + +msgid "Mexican Spanish" +msgstr "Meksika Ispan tili " + +msgid "Nicaraguan Spanish" +msgstr "Nikaragua Ispan tili" + +msgid "Venezuelan Spanish" +msgstr "Venesuela Ispan tili" + +msgid "Estonian" +msgstr "Estoniya tili" + +msgid "Basque" +msgstr "Bask tili" + +msgid "Persian" +msgstr "Fors tili" + +msgid "Finnish" +msgstr "Fin tili" + +msgid "French" +msgstr "Fransuz tili" + +msgid "Frisian" +msgstr "Friziya tili" + +msgid "Irish" +msgstr "Irland tili" + +msgid "Scottish Gaelic" +msgstr "Shotland Gal tili" + +msgid "Galician" +msgstr "Galisiya tili" + +msgid "Hebrew" +msgstr "Ibroniy tili" + +msgid "Hindi" +msgstr "Hind tili" + +msgid "Croatian" +msgstr "Xorvat tili" + +msgid "Upper Sorbian" +msgstr "Yuqori Sorbiya tili" + +msgid "Hungarian" +msgstr "Vengriya tili" + +msgid "Armenian" +msgstr "Arman tili" + +msgid "Interlingua" +msgstr "Interlingua tili" + +msgid "Indonesian" +msgstr "Indoneziya tili" + +msgid "Igbo" +msgstr "Igbo tili" + +msgid "Ido" +msgstr "Ido tili" + +msgid "Icelandic" +msgstr "Island tili" + +msgid "Italian" +msgstr "Italyan tili" + +msgid "Japanese" +msgstr "Yapon tili" + +msgid "Georgian" +msgstr "Gruzin tili" + +msgid "Kabyle" +msgstr "Kabil tili" + +msgid "Kazakh" +msgstr "Qozoq tili" + +msgid "Khmer" +msgstr "Xmer tili" + +msgid "Kannada" +msgstr "Kannada tili" + +msgid "Korean" +msgstr "Koreys tili" + +msgid "Kyrgyz" +msgstr "Qirg'iz tili" + +msgid "Luxembourgish" +msgstr "Lyuksemburg tili" + +msgid "Lithuanian" +msgstr "Litva tili" + +msgid "Latvian" +msgstr "Latviya tili" + +msgid "Macedonian" +msgstr "Makedoniya tili" + +msgid "Malayalam" +msgstr "Malayalam tili" + +msgid "Mongolian" +msgstr "Mo'g'ul tili" + +msgid "Marathi" +msgstr "Marati tili" + +msgid "Malay" +msgstr "" + +msgid "Burmese" +msgstr "Birma tili" + +msgid "Norwegian Bokmål" +msgstr "Norvegiya Bokmal tili" + +msgid "Nepali" +msgstr "Nepal tili" + +msgid "Dutch" +msgstr "Golland tili" + +msgid "Norwegian Nynorsk" +msgstr "Norvegiya Ninorsk tili" + +msgid "Ossetic" +msgstr "Osetik tili" + +msgid "Punjabi" +msgstr "Panjob tili" + +msgid "Polish" +msgstr "Polyak tili" + +msgid "Portuguese" +msgstr "Portugal tili" + +msgid "Brazilian Portuguese" +msgstr "Braziliya Portugal tili" + +msgid "Romanian" +msgstr "Rumin tili" + +msgid "Russian" +msgstr "Rus tili" + +msgid "Slovak" +msgstr "Slovak tili" + +msgid "Slovenian" +msgstr "Slovan tili" + +msgid "Albanian" +msgstr "Alban tili" + +msgid "Serbian" +msgstr "Serb tili" + +msgid "Serbian Latin" +msgstr "Serbiya Lotin tili" + +msgid "Swedish" +msgstr "Shved tili" + +msgid "Swahili" +msgstr "Suaxili tili" + +msgid "Tamil" +msgstr "Tamil tili" + +msgid "Telugu" +msgstr "Telugu tili" + +msgid "Tajik" +msgstr "Tojik tili" + +msgid "Thai" +msgstr "Tay tili" + +msgid "Turkmen" +msgstr "Turkman tili" + +msgid "Turkish" +msgstr "Turk tili" + +msgid "Tatar" +msgstr "Tatar tili" + +msgid "Udmurt" +msgstr "Udmurt tili" + +msgid "Uyghur" +msgstr "" + +msgid "Ukrainian" +msgstr "Ukrain tili" + +msgid "Urdu" +msgstr "Urdu tili" + +msgid "Uzbek" +msgstr "O'zbek tili" + +msgid "Vietnamese" +msgstr "Vetnam tili" + +msgid "Simplified Chinese" +msgstr "Soddalashtirilgan xitoy tili" + +msgid "Traditional Chinese" +msgstr "An'anaviy xitoy tili" + +msgid "Messages" +msgstr "Xabarlar" + +msgid "Site Maps" +msgstr "Sayt xaritalari" + +msgid "Static Files" +msgstr "Statik fayllar" + +msgid "Syndication" +msgstr "Sindikatsiya" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "" + +msgid "That page number is not an integer" +msgstr "Bu sahifa raqami butun son emas" + +msgid "That page number is less than 1" +msgstr "Bu sahifa raqami 1 dan kichik" + +msgid "That page contains no results" +msgstr "Ushbu sahifada hech qanday natija yo'q" + +msgid "Enter a valid value." +msgstr "To'g'ri qiymatni kiriting." + +msgid "Enter a valid URL." +msgstr "To'g'ri URL manzilini kiriting." + +msgid "Enter a valid integer." +msgstr "To'g'ri butun sonni kiriting." + +msgid "Enter a valid email address." +msgstr "To'g'ri elektron pochta manzilini kiriting." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Harflar, raqamlar, pastki chiziqlar yoki chiziqlardan iborat to'g'ri " +"\"slug\" ni kiriting." + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" +"Unicode harflari, raqamlari, pastki chiziqlari yoki chiziqlardan iborat " +"to'g'ri \"slug\" ni kiriting." + +msgid "Enter a valid IPv4 address." +msgstr "To'g'ri IPv4 manzilini kiriting." + +msgid "Enter a valid IPv6 address." +msgstr "To'g'ri IPv6 manzilini kiriting." + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "To'g'ri IPv4 yoki IPv6 manzilini kiriting." + +msgid "Enter only digits separated by commas." +msgstr "Faqat vergul bilan ajratilgan raqamlarni kiriting." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Ushbu qiymat %(limit_value)s ekanligiga ishonch hosil qiling (Hozir u " +"%(show_value)s)." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" +"Ushbu qiymat %(limit_value)s dan kichik yoki unga teng ekanligini tekshiring." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" +"Ushbu qiymat %(limit_value)s dan katta yoki unga teng ekanligini tekshiring." + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "" + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Ushbu qiymat kamida %(limit_value)dga ega ekanligiga ishonch hosil qiling " +"(unda bor %(show_value)d)" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Ushbu qiymat eng ko'pi bilan %(limit_value)d ta belgidan iboratligiga " +"ishonch hosil qiling (hozir, %(show_value)d tadan iborat)." + +msgid "Enter a number." +msgstr "Raqamni kiriting." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "" +"Umumiy raqamlar soni %(max)s tadan ko'p bo'lmasligiga ishonch hosil qiling." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "" +"O'nlik kasr xonalari %(max)s tadan ko'p bo'lmasligiga ishonch hosil qiling." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"O'nli kasr nuqtasidan oldin %(max)s tadan ko'p raqam bo'lmasligiga ishonch " +"hosil qiling." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"\"%(extension)s\" fayl kengaytmasiga ruxsat berilmagan Ruxsat berilgan " +"kengaytmalar: %(allowed_extensions)s." + +msgid "Null characters are not allowed." +msgstr "Bo'shliq belgilaridan foydalanish mumkin emas." + +msgid "and" +msgstr "va" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(field_labels)s bilan %(model_name)s allaqachon mavjud." + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "%(value)r qiymati to'g'ri tanlov emas." + +msgid "This field cannot be null." +msgstr "Bu maydon bo‘shliq belgisidan iborat bo'lishi mumkin emas." + +msgid "This field cannot be blank." +msgstr "Bu maydon bo‘sh bo‘lishi mumkin emas." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "\"%(field_label)s\" %(model_name)s allaqachon mavjud." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s %(date_field_label)s %(lookup_type)s uchun noyob bo'lishi " +"kerak." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Maydon turi: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "\"%(value)s\" qiymati rost yoki yolg'on bo'lishi kerak." + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" +"\"%(value)s\" qiymati Rost, Yolg'on yoki Bo'shliq belgisidan iborat bo'lishi " +"kerak." + +msgid "Boolean (Either True or False)" +msgstr "Mantiqiy (Rost yoki Yolg'on)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Birikma uzunligi (%(max_length)s gacha)" + +msgid "String (unlimited)" +msgstr "" + +msgid "Comma-separated integers" +msgstr "Vergul bilan ajratilgan butun sonlar" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" +"\"%(value)s\" qiymati yaroqsiz sana formatiga ega. U YYYY-MM-DD formatida " +"bo'lishi kerak." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" +"\"%(value)s\" qiymati to'g'ri formatga (YYYY-MM-DD) ega, ammo bu noto'g'ri " +"sana." + +msgid "Date (without time)" +msgstr "Sana (vaqtsiz)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"\"%(value)s\" qiymati noto'g'ri formatga ega. U YYYY-MM-DD HH: MM [: ss [." +"uuuuuu]] [TZ] formatida bo'lishi kerak." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"\"%(value)s\" qiymati to'g'ri formatga ega (YYYY-MM-DD HH: MM [: ss [." +"uuuuuu]] [TZ]), lekin u noto'g'ri sana / vaqt." + +msgid "Date (with time)" +msgstr "Sana (vaqt bilan)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "\"%(value)s\" qiymati o'nlik kasr sonlardan iborat bo'lishi kerak." + +msgid "Decimal number" +msgstr "O'nli kasr son" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"\"%(value)s\" qiymati noto'g'ri formatga ega. U [DD] [[HH:] MM:] ss [." +"uuuuuu] formatida bo'lishi kerak." + +msgid "Duration" +msgstr "Davomiyligi" + +msgid "Email address" +msgstr "Elektron pochta manzili" + +msgid "File path" +msgstr "Fayl manzili" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "\"%(value)s\" qiymati haqiqiy son bo'lishi kerak." + +msgid "Floating point number" +msgstr "Haqiqiy son" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "\"%(value)s\" qiymati butun son bo'lishi kerak." + +msgid "Integer" +msgstr "Butun son" + +msgid "Big (8 byte) integer" +msgstr "Katta (8 bayt) butun son" + +msgid "Small integer" +msgstr "Kichik butun son" + +msgid "IPv4 address" +msgstr "IPv4 manzili" + +msgid "IP address" +msgstr "IP manzili" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "\"%(value)s\" qiymati Yo‘q, To‘g‘ri yoki Noto'g'ri bo'lishi kerak." + +msgid "Boolean (Either True, False or None)" +msgstr "Boolean (To'g'ri, Yolg'on yoki Hech biri)" + +msgid "Positive big integer" +msgstr "Musbat katta butun son" + +msgid "Positive integer" +msgstr "Ijobiy butun son" + +msgid "Positive small integer" +msgstr "Musbat kichik butun son" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug uzunligi (%(max_length)s gacha)" + +msgid "Text" +msgstr "Matn" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" +"\"%(value)s\" qiymati noto'g'ri formatga ega. U HH: MM [: ss [.uuuuuu]] " +"formatida bo'lishi kerak." + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" +"\"%(value)s\" qiymati to'g'ri formatga ega (HH: MM [: ss [.uuuuuu]]), lekin " +"bu noto'g'ri vaqt." + +msgid "Time" +msgstr "Vaqt" + +msgid "URL" +msgstr "URL manzili" + +msgid "Raw binary data" +msgstr "Tartibsiz Ikkilik ma'lumotlar" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "\"%(value)s\" to'g'ri UUID emas." + +msgid "Universally unique identifier" +msgstr "Umum noyob aniqlovchi" + +msgid "File" +msgstr "Fayl" + +msgid "Image" +msgstr "Rasm" + +msgid "A JSON object" +msgstr "JSON ob'ekti" + +msgid "Value must be valid JSON." +msgstr "Qiymat yaroqli JSON bo'lishi kerak." + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "%(field)s %(value)r lari bilan %(model)s namunasi uchun mavjud emas." + +msgid "Foreign Key (type determined by related field)" +msgstr "Tashqi kalit (turi aloqador maydon tomonidan belgilanadi)" + +msgid "One-to-one relationship" +msgstr "Birga-bir yago munosabat" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s -%(to)s gacha bo'lgan munosabat" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s -%(to)s gacha bo'lgan munosabatlar" + +msgid "Many-to-many relationship" +msgstr "Ko'pchilikka-ko'pchilik munosabatlar" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Ushbu maydon to'ldirilishi shart." + +msgid "Enter a whole number." +msgstr "Butun raqamni kiriting." + +msgid "Enter a valid date." +msgstr "Sanani to‘g‘ri kiriting." + +msgid "Enter a valid time." +msgstr "Vaqtni to‘g‘ri kiriting." + +msgid "Enter a valid date/time." +msgstr "Sana/vaqtni to‘g‘ri kiriting." + +msgid "Enter a valid duration." +msgstr "Muddatni to'g'ri kiriting." + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "Kunlar soni {min_days} va {max_days} orasida bo'lishi kerak." + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Hech qanday fayl yuborilmadi. Formadagi kodlash turini tekshiring." + +msgid "No file was submitted." +msgstr "Hech qanday fayl yuborilmadi." + +msgid "The submitted file is empty." +msgstr "Yuborilgan etilgan fayl bo'sh." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "" +"Fayl nomi maksimum %(max)d belgilardan ko'p emasligiga ishonch hosil qiling " +"(hozir %(length)d belgi ishlatilgan)." + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "" +"Iltimos, faylni yuboring yoki katachani belgilang, lekin ikkalasinimas." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"To'g'ri rasmni yuklang. Siz yuklagan fayl yoki rasm emas yoki buzilgan rasm " +"edi." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "To'g'ri tanlovni tanlang. %(value)s mavjud tanlovlardan biri emas." + +msgid "Enter a list of values." +msgstr "Qiymatlar ro'yxatini kiriting." + +msgid "Enter a complete value." +msgstr "To'liq qiymatni kiriting." + +msgid "Enter a valid UUID." +msgstr "To'g'ri UUID kiriting." + +msgid "Enter a valid JSON." +msgstr "Yaroqli JSONni kiriting." + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Yashirilgan maydon %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "" + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "" + +msgid "Order" +msgstr "Buyurtma" + +msgid "Delete" +msgstr "Yo'q qilish" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Iltimos, %(field)s uchun takroriy ma'lumotni tuzating." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Iltimos, noyob bo'lishi kerak bo'lgan %(field)s uchun takroriy ma'lumotlarni " +"to'g'rilang." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Iltimos, %(field_name)s uchun takroriy ma'lumotlarni %(date_field)s ga noyob " +"bo'la oladigan %(lookup)s ichidagi ma'lumotlarni moslab to'g'rilang." + +msgid "Please correct the duplicate values below." +msgstr "Iltimos, quyidagi takroriy qiymatlarni to'g'irlang." + +msgid "The inline value did not match the parent instance." +msgstr "Kiritilgan ichki qiymat ajdod misoliga mos kelmaydi." + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "To'g'ri tanlovni tanlang. Bu tanlov mavjud tanlovlardan biri emas." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "\"%(pk)s\" to'g'ri qiymat emas." + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s vaqtni %(current_timezone)s mintaqa talqinida ifodalab " +"bo'lmadi; u noaniq yoki mavjud bo'lmasligi mumkin." + +msgid "Clear" +msgstr "Aniq" + +msgid "Currently" +msgstr "Hozirda" + +msgid "Change" +msgstr "O'zgartirish" + +msgid "Unknown" +msgstr "Noma'lum" + +msgid "Yes" +msgstr "Ha" + +msgid "No" +msgstr "Yo'q" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "ha,yo'q,ehtimol" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)dbayt" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "kechqurun" + +msgid "a.m." +msgstr "ertalab" + +msgid "PM" +msgstr "Kechqurun" + +msgid "AM" +msgstr "Ertalab" + +msgid "midnight" +msgstr "yarim tunda" + +msgid "noon" +msgstr "peshin" + +msgid "Monday" +msgstr "Dushanba" + +msgid "Tuesday" +msgstr "Seshanba" + +msgid "Wednesday" +msgstr "Chorshanba" + +msgid "Thursday" +msgstr "Payshanba" + +msgid "Friday" +msgstr "Juma" + +msgid "Saturday" +msgstr "Shanba" + +msgid "Sunday" +msgstr "Yakshanba" + +msgid "Mon" +msgstr "Dush" + +msgid "Tue" +msgstr "Sesh" + +msgid "Wed" +msgstr "Chor" + +msgid "Thu" +msgstr "Pay" + +msgid "Fri" +msgstr "Jum" + +msgid "Sat" +msgstr "Shan" + +msgid "Sun" +msgstr "Yak" + +msgid "January" +msgstr "Yanvar" + +msgid "February" +msgstr "Fevral" + +msgid "March" +msgstr "Mart" + +msgid "April" +msgstr "Aprel" + +msgid "May" +msgstr "May" + +msgid "June" +msgstr "Iyun" + +msgid "July" +msgstr "Iyul" + +msgid "August" +msgstr "Avgust" + +msgid "September" +msgstr "Sentabr" + +msgid "October" +msgstr "Oktabr" + +msgid "November" +msgstr "Noyabr" + +msgid "December" +msgstr "Dekabr" + +msgid "jan" +msgstr "yan" + +msgid "feb" +msgstr "fev" + +msgid "mar" +msgstr "mar" + +msgid "apr" +msgstr "apr" + +msgid "may" +msgstr "may" + +msgid "jun" +msgstr "iyn" + +msgid "jul" +msgstr "iyl" + +msgid "aug" +msgstr "avg" + +msgid "sep" +msgstr "sen" + +msgid "oct" +msgstr "okt" + +msgid "nov" +msgstr "noy" + +msgid "dec" +msgstr "dek" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Yan," + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Fev." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Mart" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Aprel" + +msgctxt "abbrev. month" +msgid "May" +msgstr "May" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Iyun" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Iyul" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Avg." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Sen." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Okt." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Noy." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Dek." + +msgctxt "alt. month" +msgid "January" +msgstr "Yanvar" + +msgctxt "alt. month" +msgid "February" +msgstr "Fevral" + +msgctxt "alt. month" +msgid "March" +msgstr "Mart" + +msgctxt "alt. month" +msgid "April" +msgstr "Aprel" + +msgctxt "alt. month" +msgid "May" +msgstr "May" + +msgctxt "alt. month" +msgid "June" +msgstr "Iyun" + +msgctxt "alt. month" +msgid "July" +msgstr "Iyul" + +msgctxt "alt. month" +msgid "August" +msgstr "Avgust" + +msgctxt "alt. month" +msgid "September" +msgstr "Sentabr" + +msgctxt "alt. month" +msgid "October" +msgstr "Oktabr" + +msgctxt "alt. month" +msgid "November" +msgstr "Noyabr" + +msgctxt "alt. month" +msgid "December" +msgstr "Dekabr" + +msgid "This is not a valid IPv6 address." +msgstr "Bu to'g'ri IPv6 manzili emas." + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "yoki" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr "," + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d yil" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)doy" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d hafta" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d kun" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d soat" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d daqiqa" + +msgid "Forbidden" +msgstr "Taqiqlangan" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF tekshiruvi amalga oshmadi. So‘rov bekor qilindi." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"Agar siz \"Referer\" sarlavhalarini o'chirib qo'yish uchun brauzeringizni " +"sozlagan bo'lsangiz, iltimos, hech bo'lmasa ushbu sayt uchun, HTTPS " +"ulanishlari, yoki \"same-origin\" so'rovlari uchun ularni qayta yoqib " +"qo'ying." + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"Agar siz yorlig'idan yoki " +"\"Referrer-Policy: no-referer\" sarlavhasidan foydalanayotgan bo'lsangiz, " +"iltimos ularni olib tashlang. CSRF himoyasi \"Referer\" sarlavhasini " +"havolalarni qat'iy tekshirishni talab qiladi. Agar maxfiyligingiz haqida " +"xavotirda bo'lsangiz, uchinchi tomon saytlari kabi " +"havola alternativalaridan foydalaning." + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"Siz ushbu xabarni ko'rmoqdasiz, chunki ushbu sayt formalarni yuborishda CSRF " +"cookie ma'lumotlarini talab qiladi. Ushbu cookie ma'lumotlari xavfsizlik " +"nuqtai nazaridan, brauzeringizni uchinchi shaxslar tomonidan " +"o'g'irlanmasligini ta'minlash uchun xizmat qilinadi." + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"Agar siz cookie ma'lumotlarni o'chirib qo'yish uchun brauzeringizni " +"konfiguratsiya qilgan bo'lsangiz, iltimos, ushbu sayt yoki \"same-origin\" " +"so'rovlari uchun ularni qayta yoqib qo'ying." + +msgid "More information is available with DEBUG=True." +msgstr "Qo'shimcha ma'lumotlarni DEBUG = True ifodasi bilan ko'rish mumkin." + +msgid "No year specified" +msgstr "Yil ko‘rsatilmagan" + +msgid "Date out of range" +msgstr "Sana chegaradan tashqarida" + +msgid "No month specified" +msgstr "Oy ko'rsatilmagan" + +msgid "No day specified" +msgstr "Hech qanday kun ko‘rsatilmagan" + +msgid "No week specified" +msgstr "Hech qanday hafta belgilanmagan" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Hech qanday %(verbose_name_plural)s lar mavjud emas" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"Kelajak %(verbose_name_plural)s lari mavjud emas, chunki %(class_name)s." +"allow_future yolg'ondur." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" +"\"%(datestr)s\" sana birikmasi noto'g'ri berilgan. \"%(format)s\" formati " +"tavsiya etilgan" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "So'rovga mos keladigan %(verbose_name)s topilmadi" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "Sahifa \"oxirgi\" emas va uni butun songa aylantirish mumkin emas." + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Noto'g'ri sahifa (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "Bo'sh ro'yxat va \"%(class_name)s.allow_empty\" yolg'on." + +msgid "Directory indexes are not allowed here." +msgstr "Bu yerda katalog indekslaridan foydalanib bo'lmaydi." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "\"%(path)s\" mavjud emas" + +#, python-format +msgid "Index of %(directory)s" +msgstr "%(directory)s indeksi" + +msgid "The install worked successfully! Congratulations!" +msgstr "O'rnatish muvaffaqiyatli amalga oshdi! Tabriklaymiz!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"Django %(version)s uchun chiqarilgan " +"nashrlarni ko'rish" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"Siz ushbu sahifani ko'rmoqdasiz, chunki DEBUG = True ifodasi sizning sozlamalar faylingizda " +"ko'rsatilgan va siz biron bir URL manzilini to'gri sozlamagansiz." + +msgid "Django Documentation" +msgstr "Django Hujjatlari" + +msgid "Topics, references, & how-to’s" +msgstr "Mavzular, havolalar va qanday qilish yo'llari" + +msgid "Tutorial: A Polling App" +msgstr "Qo'llanma: So'rovnoma" + +msgid "Get started with Django" +msgstr "Django bilan boshlang" + +msgid "Django Community" +msgstr "Django hamjamiyati" + +msgid "Connect, get help, or contribute" +msgstr "Bog'laning, yordam oling yoki hissa qo'shing" diff --git a/external_sources/django/django/conf/locale/uz/__init__.py b/external_sources/django/django/conf/locale/uz/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/uz/formats.py b/external_sources/django/django/conf/locale/uz/formats.py new file mode 100644 index 0000000..2c7ee73 --- /dev/null +++ b/external_sources/django/django/conf/locale/uz/formats.py @@ -0,0 +1,30 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = r"j-E, Y-\y\i\l" +TIME_FORMAT = "G:i" +DATETIME_FORMAT = r"j-E, Y-\y\i\l G:i" +YEAR_MONTH_FORMAT = r"F Y-\y\i\l" +MONTH_DAY_FORMAT = "j-E" +SHORT_DATE_FORMAT = "d.m.Y" +SHORT_DATETIME_FORMAT = "d.m.Y H:i" +FIRST_DAY_OF_WEEK = 1 # Monday + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%d.%m.%Y", # '25.10.2006' + "%d-%B, %Y-yil", # '25-Oktabr, 2006-yil' +] +DATETIME_INPUT_FORMATS = [ + "%d.%m.%Y %H:%M:%S", # '25.10.2006 14:30:59' + "%d.%m.%Y %H:%M:%S.%f", # '25.10.2006 14:30:59.000200' + "%d.%m.%Y %H:%M", # '25.10.2006 14:30' + "%d-%B, %Y-yil %H:%M:%S", # '25-Oktabr, 2006-yil 14:30:59' + "%d-%B, %Y-yil %H:%M:%S.%f", # '25-Oktabr, 2006-yil 14:30:59.000200' + "%d-%B, %Y-yil %H:%M", # '25-Oktabr, 2006-yil 14:30' +] +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "\xa0" # non-breaking space +NUMBER_GROUPING = 3 diff --git a/external_sources/django/django/conf/locale/vi/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/vi/LC_MESSAGES/django.po new file mode 100644 index 0000000..a0e6eb4 --- /dev/null +++ b/external_sources/django/django/conf/locale/vi/LC_MESSAGES/django.po @@ -0,0 +1,1234 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Claude Paroz , 2020 +# Jannis Leidel , 2011 +# Anh Phan , 2013 +# Thanh Le Viet , 2013 +# Tran , 2011 +# Tran Van , 2011,2013 +# Vuong Nguyen , 2011 +# xgenvn , 2014 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-05-19 20:23+0200\n" +"PO-Revision-Date: 2020-07-14 21:42+0000\n" +"Last-Translator: Transifex Bot <>\n" +"Language-Team: Vietnamese (http://www.transifex.com/django/django/language/" +"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" + +msgid "Afrikaans" +msgstr "Afrikaans" + +msgid "Arabic" +msgstr "Tiếng Ả Rập" + +msgid "Algerian Arabic" +msgstr "" + +msgid "Asturian" +msgstr "Asturian" + +msgid "Azerbaijani" +msgstr "Tiếng Azerbaijan" + +msgid "Bulgarian" +msgstr "Tiếng Bun-ga-ri" + +msgid "Belarusian" +msgstr "Tiếng Bê-la-rút" + +msgid "Bengali" +msgstr "Tiếng Bengal" + +msgid "Breton" +msgstr "Tiếng Breton" + +msgid "Bosnian" +msgstr "Tiếng Bosnia" + +msgid "Catalan" +msgstr "Tiếng Catala" + +msgid "Czech" +msgstr "Tiếng Séc" + +msgid "Welsh" +msgstr "Xứ Wales" + +msgid "Danish" +msgstr "Tiếng Đan Mạch" + +msgid "German" +msgstr "Tiếng Đức" + +msgid "Lower Sorbian" +msgstr "" + +msgid "Greek" +msgstr "Tiếng Hy Lạp" + +msgid "English" +msgstr "Tiếng Anh" + +msgid "Australian English" +msgstr "Tiếng Anh ở Úc" + +msgid "British English" +msgstr "British English" + +msgid "Esperanto" +msgstr "Quốc Tế Ngữ" + +msgid "Spanish" +msgstr "Tiếng Tây Ban Nha" + +msgid "Argentinian Spanish" +msgstr "Argentinian Spanish" + +msgid "Colombian Spanish" +msgstr "" + +msgid "Mexican Spanish" +msgstr "Mexican Spanish" + +msgid "Nicaraguan Spanish" +msgstr "Tiếng Tây Ban Nha-Nicaragua" + +msgid "Venezuelan Spanish" +msgstr "Tiếng Vê-nê-du-ê-la" + +msgid "Estonian" +msgstr "Tiếng Estonia" + +msgid "Basque" +msgstr "Tiếng Baxcơ" + +msgid "Persian" +msgstr "Tiếng Ba Tư" + +msgid "Finnish" +msgstr "Tiếng Phần Lan" + +msgid "French" +msgstr "Tiếng Pháp" + +msgid "Frisian" +msgstr "Tiếng Frisco" + +msgid "Irish" +msgstr "Tiếng Ai-len" + +msgid "Scottish Gaelic" +msgstr "" + +msgid "Galician" +msgstr "Tiếng Pháp cổ" + +msgid "Hebrew" +msgstr "Tiếng Do Thái cổ" + +msgid "Hindi" +msgstr "Tiếng Hindi" + +msgid "Croatian" +msgstr "Tiếng Croatia" + +msgid "Upper Sorbian" +msgstr "" + +msgid "Hungarian" +msgstr "Tiếng Hung-ga-ri" + +msgid "Armenian" +msgstr "" + +msgid "Interlingua" +msgstr "Tiếng Khoa học Quốc tế" + +msgid "Indonesian" +msgstr "Tiếng In-đô-nê-xi-a" + +msgid "Igbo" +msgstr "" + +msgid "Ido" +msgstr "Ido" + +msgid "Icelandic" +msgstr "Tiếng Aixơlen" + +msgid "Italian" +msgstr "Tiếng Ý" + +msgid "Japanese" +msgstr "Tiếng Nhật Bản" + +msgid "Georgian" +msgstr "Georgian" + +msgid "Kabyle" +msgstr "" + +msgid "Kazakh" +msgstr "Tiếng Kazakh" + +msgid "Khmer" +msgstr "Tiếng Khơ-me" + +msgid "Kannada" +msgstr "Tiếng Kannada" + +msgid "Korean" +msgstr "Tiếng Hàn Quốc" + +msgid "Kyrgyz" +msgstr "" + +msgid "Luxembourgish" +msgstr "Tiếng Luxembourg" + +msgid "Lithuanian" +msgstr "Tiếng Lat-vi" + +msgid "Latvian" +msgstr "Ngôn ngữ vùng Bantic" + +msgid "Macedonian" +msgstr "Tiếng Maxêđôni" + +msgid "Malayalam" +msgstr "Tiếng Malayalam" + +msgid "Mongolian" +msgstr "Tiếng Mông Cổ" + +msgid "Marathi" +msgstr "Marathi" + +msgid "Burmese" +msgstr "My-an-ma" + +msgid "Norwegian Bokmål" +msgstr "" + +msgid "Nepali" +msgstr "Nê-pan" + +msgid "Dutch" +msgstr "Tiếng Hà Lan" + +msgid "Norwegian Nynorsk" +msgstr "Tiếng Na Uy Nynorsk" + +msgid "Ossetic" +msgstr "Ô-sét-ti-a" + +msgid "Punjabi" +msgstr "Punjabi" + +msgid "Polish" +msgstr "Tiếng Ba lan" + +msgid "Portuguese" +msgstr "Tiếng Bồ Đào Nha" + +msgid "Brazilian Portuguese" +msgstr "Brazilian Portuguese" + +msgid "Romanian" +msgstr "Tiếng Ru-ma-ni" + +msgid "Russian" +msgstr "Tiếng Nga" + +msgid "Slovak" +msgstr "Ngôn ngữ Slô-vac" + +msgid "Slovenian" +msgstr "Tiếng Slôven" + +msgid "Albanian" +msgstr "Tiếng Albania" + +msgid "Serbian" +msgstr "Tiếng Xéc-bi" + +msgid "Serbian Latin" +msgstr "Serbian Latin" + +msgid "Swedish" +msgstr "Tiếng Thụy Điển" + +msgid "Swahili" +msgstr "Xì-qua-hi-đi thuộc ngôn ngữ Bantu" + +msgid "Tamil" +msgstr "Tiếng Ta-min" + +msgid "Telugu" +msgstr "Telugu" + +msgid "Tajik" +msgstr "" + +msgid "Thai" +msgstr "Tiếng Thái" + +msgid "Turkmen" +msgstr "" + +msgid "Turkish" +msgstr "Tiếng Thổ Nhĩ Kỳ" + +msgid "Tatar" +msgstr "Tác-ta" + +msgid "Udmurt" +msgstr "Udmurt" + +msgid "Ukrainian" +msgstr "Tiếng Ukraina" + +msgid "Urdu" +msgstr "Urdu" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "Tiếng Việt Nam" + +msgid "Simplified Chinese" +msgstr "Tiếng Tàu giản thể" + +msgid "Traditional Chinese" +msgstr "Tiếng Tàu truyền thống" + +msgid "Messages" +msgstr "" + +msgid "Site Maps" +msgstr "Bản đồ trang web" + +msgid "Static Files" +msgstr "Tập tin tĩnh" + +msgid "Syndication" +msgstr "Syndication" + +msgid "That page number is not an integer" +msgstr "" + +msgid "That page number is less than 1" +msgstr "" + +msgid "That page contains no results" +msgstr "" + +msgid "Enter a valid value." +msgstr "Nhập một giá trị hợp lệ." + +msgid "Enter a valid URL." +msgstr "Nhập một URL hợp lệ." + +msgid "Enter a valid integer." +msgstr "Nhập một số nguyên hợp lệ." + +msgid "Enter a valid email address." +msgstr "Nhập địa chỉ email." + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "" + +msgid "Enter a valid IPv4 address." +msgstr "Nhập một địa chỉ IPv4 hợp lệ." + +msgid "Enter a valid IPv6 address." +msgstr "Nhập địa chỉ IPv6 hợp lệ" + +msgid "Enter a valid IPv4 or IPv6 address." +msgstr "Nhập địa chỉ IPv4 hoặc IPv6 hợp lệ" + +msgid "Enter only digits separated by commas." +msgstr "Chỉ nhập chữ số, cách nhau bằng dấu phẩy." + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Đảm bảo giá trị này là %(limit_value)s (nó là %(show_value)s )." + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Đảm bảo giá trị này là nhỏ hơn hoặc bằng với %(limit_value)s ." + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Đảm bảo giá trị này lớn hơn hoặc bằng với %(limit_value)s ." + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Giá trị này phải có ít nhất %(limit_value)d kí tự (hiện có %(show_value)d)" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"Giá trị này chỉ có tối đa %(limit_value)d kí tự (hiện có %(show_value)d)" + +msgid "Enter a number." +msgstr "Nhập một số." + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "Đảm bảo rằng tối đa không có nhiều hơn %(max)s số." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "Hãy chắc chắn rằng không có nhiều hơn %(max)s chữ số thập phân." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "" +"Hãy chắc chắn rằng không có nhiều hơn %(max)s chữ số trước dấu phẩy thập " +"phân." + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" + +msgid "Null characters are not allowed." +msgstr "" + +msgid "and" +msgstr "và" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "%(model_name)s với thông tin %(field_labels)s đã tồn tại" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "Giá trị %(value)r không phải là lựa chọn hợp lệ." + +msgid "This field cannot be null." +msgstr "Trường này không thể để trống." + +msgid "This field cannot be blank." +msgstr "Trường này không được để trắng." + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s có %(field_label)s đã tồn tại." + +#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. +#. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "%(field_label)s phải là duy nhất %(date_field_label)s %(lookup_type)s." + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Trường thuộc dạng: %(field_type)s " + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "" + +msgid "Boolean (Either True or False)" +msgstr "Boolean (hoặc là Đúng hoặc là Sai)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Chuỗi (dài đến %(max_length)s ký tự )" + +msgid "Comma-separated integers" +msgstr "Các số nguyên được phân cách bằng dấu phẩy" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "" + +msgid "Date (without time)" +msgstr "Ngày (không có giờ)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" + +msgid "Date (with time)" +msgstr "Ngày (có giờ)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "" + +msgid "Decimal number" +msgstr "Số thập phân" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" + +msgid "Duration" +msgstr "" + +msgid "Email address" +msgstr "Địa chỉ email" + +msgid "File path" +msgstr "Đường dẫn tắt tới file" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "" + +msgid "Floating point number" +msgstr "Giá trị dấu chấm động" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "" + +msgid "Integer" +msgstr "Số nguyên" + +msgid "Big (8 byte) integer" +msgstr "Big (8 byte) integer" + +msgid "IPv4 address" +msgstr "Địa chỉ IPv4" + +msgid "IP address" +msgstr "Địa chỉ IP" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "" + +msgid "Boolean (Either True, False or None)" +msgstr "Luận lý (Có thể Đúng, Sai hoặc Không cái nào đúng)" + +msgid "Positive big integer" +msgstr "" + +msgid "Positive integer" +msgstr "Số nguyên dương" + +msgid "Positive small integer" +msgstr "Số nguyên dương nhỏ" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug(lên đến %(max_length)s)" + +msgid "Small integer" +msgstr "Số nguyên nhỏ" + +msgid "Text" +msgstr "Đoạn văn" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "" + +msgid "Time" +msgstr "Giờ" + +msgid "URL" +msgstr "Đường dẫn URL" + +msgid "Raw binary data" +msgstr "Dữ liệu nhị phân " + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "" + +msgid "Universally unique identifier" +msgstr "" + +msgid "File" +msgstr "File" + +msgid "Image" +msgstr "Image" + +msgid "A JSON object" +msgstr "" + +msgid "Value must be valid JSON." +msgstr "" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "" + +msgid "Foreign Key (type determined by related field)" +msgstr "Khóa ngoại (kiểu được xác định bởi trường liên hệ)" + +msgid "One-to-one relationship" +msgstr "Mối quan hệ một-một" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "" + +msgid "Many-to-many relationship" +msgstr "Mối quan hệ nhiều-nhiều" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "Trường này là bắt buộc." + +msgid "Enter a whole number." +msgstr "Nhập một số tổng thể." + +msgid "Enter a valid date." +msgstr "Nhập một ngày hợp lệ." + +msgid "Enter a valid time." +msgstr "Nhập một thời gian hợp lệ." + +msgid "Enter a valid date/time." +msgstr "Nhập một ngày/thời gian hợp lệ." + +msgid "Enter a valid duration." +msgstr "" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Không có tập tin nào được gửi. Hãy kiểm tra kiểu mã hóa của biểu mẫu." + +msgid "No file was submitted." +msgstr "Không có tập tin nào được gửi." + +msgid "The submitted file is empty." +msgstr "Tập tin được gửi là rỗng." + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "Tên tệp tin có tối đa %(max)d kí tự (Hiện có %(length)d)" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "Vui lòng gửi một tập tin hoặc để ô chọn trắng, không chọn cả hai." + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Hãy tải lên một hình ảnh hợp lệ. Tập tin mà bạn đã tải không phải là hình " +"ảnh hoặc đã bị hư hỏng." + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Hãy chọn một lựa chọn hợp lệ. %(value)s không phải là một trong các lựa chọn " +"khả thi." + +msgid "Enter a list of values." +msgstr "Nhập một danh sách giá trị." + +msgid "Enter a complete value." +msgstr "" + +msgid "Enter a valid UUID." +msgstr "" + +msgid "Enter a valid JSON." +msgstr "" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(Trường ẩn %(name)s) %(error)s" + +msgid "ManagementForm data is missing or has been tampered with" +msgstr "" + +#, python-format +msgid "Please submit %d or fewer forms." +msgid_plural "Please submit %d or fewer forms." +msgstr[0] "Vui lòng đệ trình %d hoặc ít các mẫu đơn hơn." + +#, python-format +msgid "Please submit %d or more forms." +msgid_plural "Please submit %d or more forms." +msgstr[0] "" + +msgid "Order" +msgstr "Thứ tự" + +msgid "Delete" +msgstr "Xóa" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Hãy sửa các dữ liệu trùng lặp cho %(field)s ." + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "Hãy sửa các dữ liệu trùng lặp cho %(field)s, mà phải là duy nhất." + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Hãy sửa các dữ liệu trùng lặp cho %(field_name)s mà phải là duy nhất cho " +"%(lookup)s tại %(date_field)s ." + +msgid "Please correct the duplicate values below." +msgstr "Hãy sửa các giá trị trùng lặp dưới đây." + +msgid "The inline value did not match the parent instance." +msgstr "" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Hãy chọn một lựa chọn hợp lệ. Lựa chọn đó không phải là một trong các lựa " +"chọn khả thi." + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" + +msgid "Clear" +msgstr "Xóa" + +msgid "Currently" +msgstr "Hiện nay" + +msgid "Change" +msgstr "Thay đổi" + +msgid "Unknown" +msgstr "Chưa xác định" + +msgid "Yes" +msgstr "Có" + +msgid "No" +msgstr "Không" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "Có,Không,Có thể" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d byte" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "chiều" + +msgid "AM" +msgstr "sáng" + +msgid "midnight" +msgstr "Nửa đêm" + +msgid "noon" +msgstr "Buổi trưa" + +msgid "Monday" +msgstr "Thứ 2" + +msgid "Tuesday" +msgstr "Thứ 3" + +msgid "Wednesday" +msgstr "Thứ 4" + +msgid "Thursday" +msgstr "Thứ 5" + +msgid "Friday" +msgstr "Thứ 6" + +msgid "Saturday" +msgstr "Thứ 7" + +msgid "Sunday" +msgstr "Chủ nhật" + +msgid "Mon" +msgstr "Thứ 2" + +msgid "Tue" +msgstr "Thứ 3" + +msgid "Wed" +msgstr "Thứ 4" + +msgid "Thu" +msgstr "Thứ 5" + +msgid "Fri" +msgstr "Thứ 6" + +msgid "Sat" +msgstr "Thứ 7" + +msgid "Sun" +msgstr "Chủ nhật" + +msgid "January" +msgstr "Tháng 1" + +msgid "February" +msgstr "Tháng 2" + +msgid "March" +msgstr "Tháng 3" + +msgid "April" +msgstr "Tháng 4" + +msgid "May" +msgstr "Tháng 5" + +msgid "June" +msgstr "Tháng 6" + +msgid "July" +msgstr "Tháng 7" + +msgid "August" +msgstr "Tháng 8" + +msgid "September" +msgstr "Tháng 9" + +msgid "October" +msgstr "Tháng 10" + +msgid "November" +msgstr "Tháng 11" + +msgid "December" +msgstr "Tháng 12" + +msgid "jan" +msgstr "Tháng 1" + +msgid "feb" +msgstr "Tháng 2" + +msgid "mar" +msgstr "Tháng 3" + +msgid "apr" +msgstr "Tháng 4" + +msgid "may" +msgstr "Tháng 5" + +msgid "jun" +msgstr "Tháng 6" + +msgid "jul" +msgstr "Tháng 7" + +msgid "aug" +msgstr "Tháng 8" + +msgid "sep" +msgstr "Tháng 9" + +msgid "oct" +msgstr "Tháng 10" + +msgid "nov" +msgstr "Tháng 11" + +msgid "dec" +msgstr "Tháng 12" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "Tháng 1." + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "Tháng 2." + +msgctxt "abbrev. month" +msgid "March" +msgstr "Tháng ba" + +msgctxt "abbrev. month" +msgid "April" +msgstr "Tháng tư" + +msgctxt "abbrev. month" +msgid "May" +msgstr "Tháng năm" + +msgctxt "abbrev. month" +msgid "June" +msgstr "Tháng sáu" + +msgctxt "abbrev. month" +msgid "July" +msgstr "Tháng bảy" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "Tháng 8." + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "Tháng 9." + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "Tháng 10." + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "Tháng 11." + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "Tháng 12." + +msgctxt "alt. month" +msgid "January" +msgstr "Tháng một" + +msgctxt "alt. month" +msgid "February" +msgstr "Tháng hai" + +msgctxt "alt. month" +msgid "March" +msgstr "Tháng ba" + +msgctxt "alt. month" +msgid "April" +msgstr "Tháng tư" + +msgctxt "alt. month" +msgid "May" +msgstr "Tháng năm" + +msgctxt "alt. month" +msgid "June" +msgstr "Tháng sáu" + +msgctxt "alt. month" +msgid "July" +msgstr "Tháng bảy" + +msgctxt "alt. month" +msgid "August" +msgstr "Tháng tám" + +msgctxt "alt. month" +msgid "September" +msgstr "Tháng Chín" + +msgctxt "alt. month" +msgid "October" +msgstr "Tháng Mười" + +msgctxt "alt. month" +msgid "November" +msgstr "Tháng mười một" + +msgctxt "alt. month" +msgid "December" +msgstr "Tháng mười hai" + +msgid "This is not a valid IPv6 address." +msgstr "" + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "" + +msgid "or" +msgstr "hoặc" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%d year" +msgid_plural "%d years" +msgstr[0] "%d năm" + +#, python-format +msgid "%d month" +msgid_plural "%d months" +msgstr[0] "%d tháng" + +#, python-format +msgid "%d week" +msgid_plural "%d weeks" +msgstr[0] "%d tuần" + +#, python-format +msgid "%d day" +msgid_plural "%d days" +msgstr[0] "%d ngày" + +#, python-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "%d giờ" + +#, python-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "%d phút" + +msgid "Forbidden" +msgstr "" + +msgid "CSRF verification failed. Request aborted." +msgstr "" + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your Web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" + +msgid "More information is available with DEBUG=True." +msgstr "" + +msgid "No year specified" +msgstr "Không có năm xác định" + +msgid "Date out of range" +msgstr "" + +msgid "No month specified" +msgstr "Không có tháng xác định" + +msgid "No day specified" +msgstr "Không có ngày xác định" + +msgid "No week specified" +msgstr "Không có tuần xác định" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "Không có %(verbose_name_plural)s phù hợp" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"%(verbose_name_plural)s trong tương lai không có sẵn vì %(class_name)s." +"allow_future là False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "Không có %(verbose_name)s tìm thấy phù hợp với truy vấn" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "Trang không hợp lệ (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "" + +msgid "Directory indexes are not allowed here." +msgstr "Tại đây không cho phép đánh số chỉ mục dành cho thư mục." + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "" + +#, python-format +msgid "Index of %(directory)s" +msgstr "Index của %(directory)s" + +msgid "Django: the Web framework for perfectionists with deadlines." +msgstr "" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" + +msgid "The install worked successfully! Congratulations!" +msgstr "" + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " +"URLs." +msgstr "" + +msgid "Django Documentation" +msgstr "" + +msgid "Topics, references, & how-to’s" +msgstr "" + +msgid "Tutorial: A Polling App" +msgstr "" + +msgid "Get started with Django" +msgstr "" + +msgid "Django Community" +msgstr "" + +msgid "Connect, get help, or contribute" +msgstr "" diff --git a/external_sources/django/django/conf/locale/vi/__init__.py b/external_sources/django/django/conf/locale/vi/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/vi/formats.py b/external_sources/django/django/conf/locale/vi/formats.py new file mode 100644 index 0000000..7b76020 --- /dev/null +++ b/external_sources/django/django/conf/locale/vi/formats.py @@ -0,0 +1,21 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = r"\N\gà\y d \t\há\n\g n \nă\m Y" +TIME_FORMAT = "H:i" +DATETIME_FORMAT = r"H:i \N\gà\y d \t\há\n\g n \nă\m Y" +YEAR_MONTH_FORMAT = "F Y" +MONTH_DAY_FORMAT = "j F" +SHORT_DATE_FORMAT = "d-m-Y" +SHORT_DATETIME_FORMAT = "H:i d-m-Y" +# FIRST_DAY_OF_WEEK = + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = "," +THOUSAND_SEPARATOR = "." +# NUMBER_GROUPING = diff --git a/external_sources/django/django/conf/locale/zh_Hans/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/zh_Hans/LC_MESSAGES/django.po new file mode 100644 index 0000000..012741f --- /dev/null +++ b/external_sources/django/django/conf/locale/zh_Hans/LC_MESSAGES/django.po @@ -0,0 +1,1326 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# HuanCheng Bai白宦成(Bestony) , 2017-2018 +# lanbla , 2021 +# Daniel Duan , 2013 +# Fan Xu , 2022 +# Ford Guo , 2022 +# Huanqun Yang, 2022 +# jack yang, 2023 +# jamin M , 2019 +# Jannis Leidel , 2011 +# Kevin Sze , 2012 +# Lele Long , 2011,2015,2017 +# Le Yang , 2018 +# li beite , 2020 +# Liping Wang , 2016-2017 +# L., 2024 +# matthew Yip , 2020 +# mozillazg , 2016 +# Ronald White , 2014 +# Lemon Li , 2013 +# Ray Wang , 2017 +# slene , 2011 +# Sun Liwen , 2014 +# Suntravel Chris , 2019 +# Veoco , 2021 +# Liping Wang , 2016 +# Wentao Han , 2018 +# wolf ice , 2020 +# Xiang Yu , 2014 +# Jeff Yin , 2013 +# Zhengyang Wang , 2017 +# ced773123cfad7b4e8b79ca80f736af9, 2011-2012 +# Ziya Tang , 2018 +# 付峥 , 2018 +# L., 2024 +# LatteFang <370358679@qq.com>, 2020 +# Kevin Sze , 2012 +# 高乐喆 , 2023 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-10-07 06:49+0000\n" +"Last-Translator: L., 2024\n" +"Language-Team: Chinese (China) (http://app.transifex.com/django/django/" +"language/zh_CN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Afrikaans" +msgstr "南非荷兰语" + +msgid "Arabic" +msgstr "阿拉伯语" + +msgid "Algerian Arabic" +msgstr "阿尔及利亚的阿拉伯语" + +msgid "Asturian" +msgstr "阿斯图里亚斯" + +msgid "Azerbaijani" +msgstr "阿塞拜疆语" + +msgid "Bulgarian" +msgstr "保加利亚语" + +msgid "Belarusian" +msgstr "白俄罗斯语" + +msgid "Bengali" +msgstr "孟加拉语" + +msgid "Breton" +msgstr "布雷顿" + +msgid "Bosnian" +msgstr "波斯尼亚语" + +msgid "Catalan" +msgstr "加泰罗尼亚语" + +msgid "Central Kurdish (Sorani)" +msgstr "中部库尔德语(Sorani)" + +msgid "Czech" +msgstr "捷克语" + +msgid "Welsh" +msgstr "威尔士语" + +msgid "Danish" +msgstr "丹麦语" + +msgid "German" +msgstr "德语" + +msgid "Lower Sorbian" +msgstr "下索布" + +msgid "Greek" +msgstr "希腊语" + +msgid "English" +msgstr "英语" + +msgid "Australian English" +msgstr "澳大利亚英语" + +msgid "British English" +msgstr "英国英语" + +msgid "Esperanto" +msgstr "世界语" + +msgid "Spanish" +msgstr "西班牙语" + +msgid "Argentinian Spanish" +msgstr "阿根廷西班牙语" + +msgid "Colombian Spanish" +msgstr "哥伦比亚西班牙语" + +msgid "Mexican Spanish" +msgstr "墨西哥西班牙语" + +msgid "Nicaraguan Spanish" +msgstr "尼加拉瓜西班牙语" + +msgid "Venezuelan Spanish" +msgstr "委内瑞拉西班牙语" + +msgid "Estonian" +msgstr "爱沙尼亚语" + +msgid "Basque" +msgstr "巴斯克语" + +msgid "Persian" +msgstr "波斯语" + +msgid "Finnish" +msgstr "芬兰语" + +msgid "French" +msgstr "法语" + +msgid "Frisian" +msgstr "夫里斯兰语" + +msgid "Irish" +msgstr "爱尔兰语" + +msgid "Scottish Gaelic" +msgstr "苏格兰盖尔语" + +msgid "Galician" +msgstr "加利西亚语" + +msgid "Hebrew" +msgstr "希伯来语" + +msgid "Hindi" +msgstr "北印度语" + +msgid "Croatian" +msgstr "克罗地亚语" + +msgid "Upper Sorbian" +msgstr "上索布" + +msgid "Hungarian" +msgstr "匈牙利语" + +msgid "Armenian" +msgstr "亚美尼亚语" + +msgid "Interlingua" +msgstr "国际语" + +msgid "Indonesian" +msgstr "印尼语" + +msgid "Igbo" +msgstr "伊博" + +msgid "Ido" +msgstr "简化伊多语" + +msgid "Icelandic" +msgstr "冰岛语" + +msgid "Italian" +msgstr "意大利语" + +msgid "Japanese" +msgstr "日语" + +msgid "Georgian" +msgstr "格鲁吉亚语" + +msgid "Kabyle" +msgstr "卡拜尔语" + +msgid "Kazakh" +msgstr "哈萨克语" + +msgid "Khmer" +msgstr "高棉语" + +msgid "Kannada" +msgstr "埃纳德语" + +msgid "Korean" +msgstr "韩语" + +msgid "Kyrgyz" +msgstr "吉尔吉斯坦语" + +msgid "Luxembourgish" +msgstr "卢森堡语" + +msgid "Lithuanian" +msgstr "立陶宛语" + +msgid "Latvian" +msgstr "拉脱维亚语" + +msgid "Macedonian" +msgstr "马其顿语" + +msgid "Malayalam" +msgstr "马来亚拉姆语" + +msgid "Mongolian" +msgstr "蒙古语" + +msgid "Marathi" +msgstr "马拉地语" + +msgid "Malay" +msgstr "马来语" + +msgid "Burmese" +msgstr "缅甸语" + +msgid "Norwegian Bokmål" +msgstr "挪威博克马尔" + +msgid "Nepali" +msgstr "尼泊尔语" + +msgid "Dutch" +msgstr "荷兰语" + +msgid "Norwegian Nynorsk" +msgstr "新挪威语" + +msgid "Ossetic" +msgstr "奥塞梯语" + +msgid "Punjabi" +msgstr "旁遮普语 " + +msgid "Polish" +msgstr "波兰语" + +msgid "Portuguese" +msgstr "葡萄牙语" + +msgid "Brazilian Portuguese" +msgstr "巴西葡萄牙语" + +msgid "Romanian" +msgstr "罗马尼亚语" + +msgid "Russian" +msgstr "俄语" + +msgid "Slovak" +msgstr "斯洛伐克语" + +msgid "Slovenian" +msgstr "斯洛文尼亚语" + +msgid "Albanian" +msgstr "阿尔巴尼亚语" + +msgid "Serbian" +msgstr "塞尔维亚语" + +msgid "Serbian Latin" +msgstr "塞尔维亚拉丁语" + +msgid "Swedish" +msgstr "瑞典语" + +msgid "Swahili" +msgstr "斯瓦西里语" + +msgid "Tamil" +msgstr "泰米尔语" + +msgid "Telugu" +msgstr "泰卢固语" + +msgid "Tajik" +msgstr "塔吉克语" + +msgid "Thai" +msgstr "泰语" + +msgid "Turkmen" +msgstr "土库曼人" + +msgid "Turkish" +msgstr "土耳其语" + +msgid "Tatar" +msgstr "鞑靼语" + +msgid "Udmurt" +msgstr "乌德穆尔特语" + +msgid "Uyghur" +msgstr "维吾尔语" + +msgid "Ukrainian" +msgstr "乌克兰语" + +msgid "Urdu" +msgstr "乌尔都语" + +msgid "Uzbek" +msgstr "乌兹别克语" + +msgid "Vietnamese" +msgstr "越南语" + +msgid "Simplified Chinese" +msgstr "简体中文" + +msgid "Traditional Chinese" +msgstr "繁体中文" + +msgid "Messages" +msgstr "消息" + +msgid "Site Maps" +msgstr "站点地图" + +msgid "Static Files" +msgstr "静态文件" + +msgid "Syndication" +msgstr "联合" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "页码不是整数" + +msgid "That page number is less than 1" +msgstr "页码小于 1" + +msgid "That page contains no results" +msgstr "本页结果为空" + +msgid "Enter a valid value." +msgstr "输入一个有效的值。" + +msgid "Enter a valid domain name." +msgstr "输入一个有效的域名。" + +msgid "Enter a valid URL." +msgstr "输入一个有效的 URL。" + +msgid "Enter a valid integer." +msgstr "输入一个有效的整数。" + +msgid "Enter a valid email address." +msgstr "输入一个有效的 Email 地址。" + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "输入由字母,数字,下划线或连字符号组成的有效“字段”。" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "输入由Unicode字母,数字,下划线或连字符号组成的有效“字段”。" + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "输入一个有效的 %(protocol)s 地址。" + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "IPv4 or IPv6" +msgstr "IPv4 或 IPv6" + +msgid "Enter only digits separated by commas." +msgstr "只能输入用逗号分隔的数字。" + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "确保该值为 %(limit_value)s (现在为 %(show_value)s)。" + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "确保该值小于或等于%(limit_value)s。" + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "确保该值大于或等于%(limit_value)s。" + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "确保该值是步长的倍数%(limit_value)s" + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"确保此值是步长 %(limit_value)s 的倍数,从 %(offset)s 开始,例如 " +"%(offset)s、%(valid_value1)s、%(valid_value2)s 等等。" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"确保该变量至少包含 %(limit_value)d 字符(目前字符数 %(show_value)d)。" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"确保该变量包含不超过 %(limit_value)d 字符 (目前字符数 %(show_value)d)。" + +msgid "Enter a number." +msgstr "输入一个数字。" + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "确认总共不超过 %(max)s 个数字." + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "确认小数不超过 %(max)s 位." + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "确认小数点前不超过 %(max)s 位。" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "" +"文件扩展“%(extension)s”是不被允许。允许的扩展为:%(allowed_extensions)s。" + +msgid "Null characters are not allowed." +msgstr "不允许是用空字符串。" + +msgid "and" +msgstr "和" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "包含 %(field_labels)s 的 %(model_name)s 已经存在。" + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "约束 “%(name)s” 是无效的" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "值 %(value)r 不是有效选项。" + +msgid "This field cannot be null." +msgstr "这个值不能为 null。" + +msgid "This field cannot be blank." +msgstr "此字段不能为空。" + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "具有 %(field_label)s 的 %(model_name)s 已存在。" + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "" +"%(field_label)s 必须在 %(date_field_label)s 字段查找类型为 %(lookup_type)s 中" +"唯一。" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "字段类型:%(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "“%(value)s”的值应该为True或False" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "“%(value)s”的值应该为True,False或None" + +msgid "Boolean (Either True or False)" +msgstr "布尔值( True或False )" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "字符串(最长 %(max_length)s 位)" + +msgid "String (unlimited)" +msgstr "字符串(无限)" + +msgid "Comma-separated integers" +msgstr "逗号分隔的整数" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "“%(value)s”的值有一个错误的日期格式。它的格式应该是YYYY-MM-DD" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "“%(value)s”的值有正确的格式(YYYY-MM-DD)但它是一个错误的日期" + +msgid "Date (without time)" +msgstr "日期(不带时分)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"“%(value)s”的值有一个错误的日期格式。它的格式应该是YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] " + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"“%(value)s”的值有正确的格式 (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]) 但它是一个错" +"误的日期/时间" + +msgid "Date (with time)" +msgstr "日期(带时分)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "“%(value)s”的值应该是一个十进制数字。" + +msgid "Decimal number" +msgstr "小数" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "" +"“%(value)s”的值有一个错误的格式。它的格式应该是[DD] [[HH:]MM:]ss[.uuuuuu] " + +msgid "Duration" +msgstr "时长" + +msgid "Email address" +msgstr "Email 地址" + +msgid "File path" +msgstr "文件路径" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "“%(value)s”的值应该是一个浮点数" + +msgid "Floating point number" +msgstr "浮点数" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "“%(value)s”的值应该是一个整型" + +msgid "Integer" +msgstr "整数" + +msgid "Big (8 byte) integer" +msgstr "大整数(8字节)" + +msgid "Small integer" +msgstr "小整数" + +msgid "IPv4 address" +msgstr "IPv4 地址" + +msgid "IP address" +msgstr "IP 地址" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "“%(value)s”的值应该是None、True或False" + +msgid "Boolean (Either True, False or None)" +msgstr "布尔值(True、False或None)" + +msgid "Positive big integer" +msgstr "正大整数" + +msgid "Positive integer" +msgstr "正整数" + +msgid "Positive small integer" +msgstr "正小整数" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (多达 %(max_length)s)" + +msgid "Text" +msgstr "文本" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "“%(value)s”的值有一个错误的格式。它的格式应该是HH:MM[:ss[.uuuuuu]]" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "“%(value)s”的值有正确的格式(HH:MM[:ss[.uuuuuu]]),但它是一个错误的时间" + +msgid "Time" +msgstr "时间" + +msgid "URL" +msgstr "URL" + +msgid "Raw binary data" +msgstr "原始二进制数据" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "“%(value)s”不是一个有效的UUID" + +msgid "Universally unique identifier" +msgstr "通用唯一识别码" + +msgid "File" +msgstr "文件" + +msgid "Image" +msgstr "图像" + +msgid "A JSON object" +msgstr "一个JSON对象" + +msgid "Value must be valid JSON." +msgstr "值必须是有效的JSON。" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "包含%(field)s %(value)r的%(model)s实例不存在。" + +msgid "Foreign Key (type determined by related field)" +msgstr "外键(由相关字段确定)" + +msgid "One-to-one relationship" +msgstr "一对一关系" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s关系" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s关系" + +msgid "Many-to-many relationship" +msgstr "多对多关系" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "这个字段是必填项。" + +msgid "Enter a whole number." +msgstr "输入整数。" + +msgid "Enter a valid date." +msgstr "输入一个有效的日期。" + +msgid "Enter a valid time." +msgstr "输入一个有效的时间。" + +msgid "Enter a valid date/time." +msgstr "输入一个有效的日期/时间。" + +msgid "Enter a valid duration." +msgstr "请输入有效的时长。" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "天数应该在 {min_days} 和 {max_days} 之间。" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "未提交文件。请检查表单的编码类型。" + +msgid "No file was submitted." +msgstr "没有提交文件。" + +msgid "The submitted file is empty." +msgstr "所提交的是空文件。" + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "确保该文件名长度不超过 %(max)d 字符(目前字符数 %(length)d)。" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "请提交文件或勾选清除复选框,两者其一即可。" + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "请上传一张有效的图片。您所上传的文件不是图片或者是已损坏的图片。" + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "选择一个有效的选项。 %(value)s 不在可用的选项中。" + +msgid "Enter a list of values." +msgstr "输入一系列值。" + +msgid "Enter a complete value." +msgstr "请输入完整的值。" + +msgid "Enter a valid UUID." +msgstr "请输入有效UUID。" + +msgid "Enter a valid JSON." +msgstr "输入一个有效的JSON。" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(隐藏字段 %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"ManagementForm 数据缺失或被篡改。缺少的字段: %(field_names)s。如果问题持续存" +"在,你可能需要提交错误报告。" + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "请最多提交 %(num)d 个表单。" + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "请至少提交 %(num)d 个表单。" + +msgid "Order" +msgstr "排序" + +msgid "Delete" +msgstr "删除" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "请修改%(field)s的重复数据" + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "请修改%(field)s的重复数据.这个字段必须唯一" + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"请修正%(field_name)s的重复数据。%(date_field)s %(lookup)s 在 %(field_name)s " +"必须保证唯一." + +msgid "Please correct the duplicate values below." +msgstr "请修正重复的数据." + +msgid "The inline value did not match the parent instance." +msgstr "内联值与父实例不匹配。" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "选择一个有效的选项: 该选择不在可用的选项中。" + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "“%(pk)s”不是一个有效的值" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s无法在时区%(current_timezone)s被解析;它可能是模糊的,也可能是不" +"存在的。" + +msgid "Clear" +msgstr "清除" + +msgid "Currently" +msgstr "目前" + +msgid "Change" +msgstr "修改" + +msgid "Unknown" +msgstr "未知" + +msgid "Yes" +msgstr "是" + +msgid "No" +msgstr "否" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "是、否、也许" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d 字节" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "午夜" + +msgid "noon" +msgstr "中午" + +msgid "Monday" +msgstr "星期一" + +msgid "Tuesday" +msgstr "星期二" + +msgid "Wednesday" +msgstr "星期三" + +msgid "Thursday" +msgstr "星期四" + +msgid "Friday" +msgstr "星期五" + +msgid "Saturday" +msgstr "星期六" + +msgid "Sunday" +msgstr "星期日" + +msgid "Mon" +msgstr "星期一" + +msgid "Tue" +msgstr "星期二" + +msgid "Wed" +msgstr "星期三" + +msgid "Thu" +msgstr "星期四" + +msgid "Fri" +msgstr "星期五" + +msgid "Sat" +msgstr "星期六" + +msgid "Sun" +msgstr "星期日" + +msgid "January" +msgstr "一月" + +msgid "February" +msgstr "二月" + +msgid "March" +msgstr "三月" + +msgid "April" +msgstr "四月" + +msgid "May" +msgstr "五月" + +msgid "June" +msgstr "六月" + +msgid "July" +msgstr "七月" + +msgid "August" +msgstr "八月" + +msgid "September" +msgstr "九月" + +msgid "October" +msgstr "十月" + +msgid "November" +msgstr "十一月" + +msgid "December" +msgstr "十二月" + +msgid "jan" +msgstr "一月" + +msgid "feb" +msgstr "二月" + +msgid "mar" +msgstr "三月" + +msgid "apr" +msgstr "四月" + +msgid "may" +msgstr "五月" + +msgid "jun" +msgstr "六月" + +msgid "jul" +msgstr "七月" + +msgid "aug" +msgstr "八月" + +msgid "sep" +msgstr "九月" + +msgid "oct" +msgstr "十月" + +msgid "nov" +msgstr "十一月" + +msgid "dec" +msgstr "十二月" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "一月" + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "二月" + +msgctxt "abbrev. month" +msgid "March" +msgstr "三月" + +msgctxt "abbrev. month" +msgid "April" +msgstr "四月" + +msgctxt "abbrev. month" +msgid "May" +msgstr "五月" + +msgctxt "abbrev. month" +msgid "June" +msgstr "六月" + +msgctxt "abbrev. month" +msgid "July" +msgstr "七月" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "八月" + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "九月" + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "十月" + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "十一月" + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "十二月" + +msgctxt "alt. month" +msgid "January" +msgstr "一月" + +msgctxt "alt. month" +msgid "February" +msgstr "二月" + +msgctxt "alt. month" +msgid "March" +msgstr "三月" + +msgctxt "alt. month" +msgid "April" +msgstr "四月" + +msgctxt "alt. month" +msgid "May" +msgstr "五月" + +msgctxt "alt. month" +msgid "June" +msgstr "六月" + +msgctxt "alt. month" +msgid "July" +msgstr "七月" + +msgctxt "alt. month" +msgid "August" +msgstr "八月" + +msgctxt "alt. month" +msgid "September" +msgstr "九月" + +msgctxt "alt. month" +msgid "October" +msgstr "十月" + +msgctxt "alt. month" +msgid "November" +msgstr "十一月" + +msgctxt "alt. month" +msgid "December" +msgstr "十二月" + +msgid "This is not a valid IPv6 address." +msgstr "该值不是合法的IPv6地址。" + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s..." + +msgid "or" +msgstr "或" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr "," + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d 年" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d 月" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d 周" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d 日" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d 小时" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d 分钟" + +msgid "Forbidden" +msgstr "禁止访问" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF验证失败. 请求被中断." + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"您看到此消息是由于HTTPS站点需要您的浏览器发送 'Referer header',但是该信息并" +"未被发送。出于安全原因,此HTTP头是必需的,以确保您的浏览器不会被第三方劫持。" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"如果您已将浏览器配置为禁用“ Referer”头,请重新启用它们,至少针对此站点,或" +"HTTPS连接或“同源”请求。" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"如果您使用的是标签或包" +"含“Referrer-Policy: no-referrer”的HTTP头,请将其删除。CSRF保护要求“Referer”头" +"执行严格的Referer检查。如果你担心隐私问题,可以使用类似这样的替代方法链接到第三方网站。" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"您看到此消息是由于该站点在提交表单时需要一个CSRF cookie。此项是出于安全考虑," +"以确保您的浏览器没有被第三方劫持。" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"如果您已将浏览器配置为禁用cookie,请重新启用它们,至少针对此站点或“同源”请" +"求。" + +msgid "More information is available with DEBUG=True." +msgstr "更多可用信息请设置选项DEBUG=True。" + +msgid "No year specified" +msgstr "没有指定年" + +msgid "Date out of range" +msgstr "日期超出范围。" + +msgid "No month specified" +msgstr "没有指定月" + +msgid "No day specified" +msgstr "没有指定天" + +msgid "No week specified" +msgstr "没有指定周" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "%(verbose_name_plural)s 可用" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"因为 %(class_name)s.allow_future 设置为 False,所以特性 " +"%(verbose_name_plural)s 不可用。" + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "日期字符串“%(datestr)s”与格式“%(format)s”不匹配" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "没有找到符合查询的 %(verbose_name)s" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "页面不是最后一页,也不能被转为整数型" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "非法页面 (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "列表是空的并且“%(class_name)s.allow_empty”是False" + +msgid "Directory indexes are not allowed here." +msgstr "这里不允许目录索引" + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "”%(path)s\"不存在" + +#, python-format +msgid "Index of %(directory)s" +msgstr "%(directory)s的索引" + +msgid "The install worked successfully! Congratulations!" +msgstr "" +"安装成功!\n" +"祝贺!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"查看 Django %(version)s 的 release notes " + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"您现在看见这个页面,因为您设置了 DEBUG=True 并且您还没有配置任何URLs。" + +msgid "Django Documentation" +msgstr "Django 文档" + +msgid "Topics, references, & how-to’s" +msgstr "主题,参考资料和操作方法" + +msgid "Tutorial: A Polling App" +msgstr "教程:投票应用" + +msgid "Get started with Django" +msgstr "开始使用 Django" + +msgid "Django Community" +msgstr "Django 社区" + +msgid "Connect, get help, or contribute" +msgstr "联系,获取帮助,贡献代码" diff --git a/external_sources/django/django/conf/locale/zh_Hans/__init__.py b/external_sources/django/django/conf/locale/zh_Hans/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/zh_Hans/formats.py b/external_sources/django/django/conf/locale/zh_Hans/formats.py new file mode 100644 index 0000000..79936f8 --- /dev/null +++ b/external_sources/django/django/conf/locale/zh_Hans/formats.py @@ -0,0 +1,42 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "Y年n月j日" # 2016年9月5日 +TIME_FORMAT = "H:i" # 20:45 +DATETIME_FORMAT = "Y年n月j日 H:i" # 2016年9月5日 20:45 +YEAR_MONTH_FORMAT = "Y年n月" # 2016年9月 +MONTH_DAY_FORMAT = "m月j日" # 9月5日 +SHORT_DATE_FORMAT = "Y年n月j日" # 2016年9月5日 +SHORT_DATETIME_FORMAT = "Y年n月j日 H:i" # 2016年9月5日 20:45 +FIRST_DAY_OF_WEEK = 1 # 星期一 (Monday) + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%Y/%m/%d", # '2016/09/05' + "%Y-%m-%d", # '2016-09-05' + "%Y年%n月%j日", # '2016年9月5日' +] + +TIME_INPUT_FORMATS = [ + "%H:%M", # '20:45' + "%H:%M:%S", # '20:45:29' + "%H:%M:%S.%f", # '20:45:29.000200' +] + +DATETIME_INPUT_FORMATS = [ + "%Y/%m/%d %H:%M", # '2016/09/05 20:45' + "%Y-%m-%d %H:%M", # '2016-09-05 20:45' + "%Y年%n月%j日 %H:%M", # '2016年9月5日 14:45' + "%Y/%m/%d %H:%M:%S", # '2016/09/05 20:45:29' + "%Y-%m-%d %H:%M:%S", # '2016-09-05 20:45:29' + "%Y年%n月%j日 %H:%M:%S", # '2016年9月5日 20:45:29' + "%Y/%m/%d %H:%M:%S.%f", # '2016/09/05 20:45:29.000200' + "%Y-%m-%d %H:%M:%S.%f", # '2016-09-05 20:45:29.000200' + "%Y年%n月%j日 %H:%n:%S.%f", # '2016年9月5日 20:45:29.000200' +] + +DECIMAL_SEPARATOR = "." +THOUSAND_SEPARATOR = "" +NUMBER_GROUPING = 4 diff --git a/external_sources/django/django/conf/locale/zh_Hant/LC_MESSAGES/django.po b/external_sources/django/django/conf/locale/zh_Hant/LC_MESSAGES/django.po new file mode 100644 index 0000000..1671ebd --- /dev/null +++ b/external_sources/django/django/conf/locale/zh_Hant/LC_MESSAGES/django.po @@ -0,0 +1,1293 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Chen Chun-Chia , 2015 +# yubike, 2024 +# Eric Ho , 2013 +# ilay , 2012 +# Jannis Leidel , 2011 +# mail6543210 , 2013 +# 0a3cb7bfd0810218facdfb511e592a6d_8d19d07 , 2011 +# tcc , 2011 +# Tzu-ping Chung , 2016-2017 +# YAO WEN LIANG, 2024 +# Yeh-Yung , 2013 +# yubike, 2024 +# Yeh-Yung , 2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 06:49+0000\n" +"Last-Translator: YAO WEN LIANG, 2024\n" +"Language-Team: Chinese (Taiwan) (http://app.transifex.com/django/django/" +"language/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" + +msgid "Afrikaans" +msgstr "南非語" + +msgid "Arabic" +msgstr "阿拉伯語" + +msgid "Algerian Arabic" +msgstr "阿爾及利亞式阿拉伯語" + +msgid "Asturian" +msgstr "阿斯圖里亞斯語" + +msgid "Azerbaijani" +msgstr "亞塞拜然語" + +msgid "Bulgarian" +msgstr "保加利亞語" + +msgid "Belarusian" +msgstr "白俄羅斯語" + +msgid "Bengali" +msgstr "孟加拉語" + +msgid "Breton" +msgstr "布列塔尼語" + +msgid "Bosnian" +msgstr "波士尼亞語" + +msgid "Catalan" +msgstr "加泰隆語" + +msgid "Central Kurdish (Sorani)" +msgstr "中部庫爾德語 (Sorani)" + +msgid "Czech" +msgstr "捷克語" + +msgid "Welsh" +msgstr "威爾斯語" + +msgid "Danish" +msgstr "丹麥語" + +msgid "German" +msgstr "德語" + +msgid "Lower Sorbian" +msgstr "下索布語" + +msgid "Greek" +msgstr "希臘語" + +msgid "English" +msgstr "英語" + +msgid "Australian English" +msgstr "澳大利亞英語" + +msgid "British English" +msgstr "英國英語" + +msgid "Esperanto" +msgstr "世界語" + +msgid "Spanish" +msgstr "西班牙語" + +msgid "Argentinian Spanish" +msgstr "阿根廷西班牙語" + +msgid "Colombian Spanish" +msgstr "哥倫比亞西班牙語" + +msgid "Mexican Spanish" +msgstr "墨西哥西班牙語" + +msgid "Nicaraguan Spanish" +msgstr "尼加拉瓜西班牙語" + +msgid "Venezuelan Spanish" +msgstr "委內瑞拉西班牙語" + +msgid "Estonian" +msgstr "愛沙尼亞語" + +msgid "Basque" +msgstr "巴斯克語" + +msgid "Persian" +msgstr "波斯語" + +msgid "Finnish" +msgstr "芬蘭語" + +msgid "French" +msgstr "法語" + +msgid "Frisian" +msgstr "菲士蘭語" + +msgid "Irish" +msgstr "愛爾蘭語" + +msgid "Scottish Gaelic" +msgstr "蘇格蘭蓋爾語" + +msgid "Galician" +msgstr "加利西亞語" + +msgid "Hebrew" +msgstr "希伯來語" + +msgid "Hindi" +msgstr "印地語" + +msgid "Croatian" +msgstr "克羅埃西亞語" + +msgid "Upper Sorbian" +msgstr "上索布語" + +msgid "Hungarian" +msgstr "匈牙利語" + +msgid "Armenian" +msgstr "亞美尼亞語" + +msgid "Interlingua" +msgstr "國際語" + +msgid "Indonesian" +msgstr "印尼語" + +msgid "Igbo" +msgstr "伊博語" + +msgid "Ido" +msgstr "伊多語" + +msgid "Icelandic" +msgstr "冰島語" + +msgid "Italian" +msgstr "義大利語" + +msgid "Japanese" +msgstr "日語" + +msgid "Georgian" +msgstr "喬治亞語" + +msgid "Kabyle" +msgstr "卡拜爾語" + +msgid "Kazakh" +msgstr "哈薩克語" + +msgid "Khmer" +msgstr "高棉語" + +msgid "Kannada" +msgstr "康納達語" + +msgid "Korean" +msgstr "韓語" + +msgid "Kyrgyz" +msgstr "吉爾吉斯語" + +msgid "Luxembourgish" +msgstr "盧森堡語" + +msgid "Lithuanian" +msgstr "立陶宛語" + +msgid "Latvian" +msgstr "拉脫維亞語" + +msgid "Macedonian" +msgstr "馬其頓語" + +msgid "Malayalam" +msgstr "馬拉雅拉姆語" + +msgid "Mongolian" +msgstr "蒙古語" + +msgid "Marathi" +msgstr "馬拉提語" + +msgid "Malay" +msgstr "馬來語" + +msgid "Burmese" +msgstr "緬甸語" + +msgid "Norwegian Bokmål" +msgstr "書面挪威語" + +msgid "Nepali" +msgstr "尼泊爾語" + +msgid "Dutch" +msgstr "荷蘭語" + +msgid "Norwegian Nynorsk" +msgstr "新挪威語" + +msgid "Ossetic" +msgstr "奧塞梯語" + +msgid "Punjabi" +msgstr "旁遮普語" + +msgid "Polish" +msgstr "波蘭語" + +msgid "Portuguese" +msgstr "葡萄牙語" + +msgid "Brazilian Portuguese" +msgstr "巴西葡萄牙語" + +msgid "Romanian" +msgstr "羅馬尼亞語" + +msgid "Russian" +msgstr "俄語" + +msgid "Slovak" +msgstr "斯洛伐克語" + +msgid "Slovenian" +msgstr "斯洛維尼亞語" + +msgid "Albanian" +msgstr "阿爾巴尼亞語" + +msgid "Serbian" +msgstr "塞爾維亞語" + +msgid "Serbian Latin" +msgstr "塞爾維亞拉丁語" + +msgid "Swedish" +msgstr "瑞典語" + +msgid "Swahili" +msgstr "斯瓦希里語" + +msgid "Tamil" +msgstr "坦米爾語" + +msgid "Telugu" +msgstr "泰盧固語" + +msgid "Tajik" +msgstr "塔吉克語" + +msgid "Thai" +msgstr "泰語" + +msgid "Turkmen" +msgstr "土庫曼語" + +msgid "Turkish" +msgstr "土耳其語" + +msgid "Tatar" +msgstr "韃靼語" + +msgid "Udmurt" +msgstr "烏德穆爾特語" + +msgid "Uyghur" +msgstr "維吾爾語" + +msgid "Ukrainian" +msgstr "烏克蘭語" + +msgid "Urdu" +msgstr "烏爾都語" + +msgid "Uzbek" +msgstr "烏茲別克語" + +msgid "Vietnamese" +msgstr "越南語" + +msgid "Simplified Chinese" +msgstr "簡體中文" + +msgid "Traditional Chinese" +msgstr "繁體中文" + +msgid "Messages" +msgstr "訊息" + +msgid "Site Maps" +msgstr "網站地圖" + +msgid "Static Files" +msgstr "靜態文件" + +msgid "Syndication" +msgstr "聯播" + +#. Translators: String used to replace omitted page numbers in elided page +#. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. +msgid "…" +msgstr "…" + +msgid "That page number is not an integer" +msgstr "該頁碼並非整數" + +msgid "That page number is less than 1" +msgstr "該頁碼小於 1" + +msgid "That page contains no results" +msgstr "該頁未包含任何內容" + +msgid "Enter a valid value." +msgstr "請輸入有效的值。" + +msgid "Enter a valid domain name." +msgstr "輸入有效的網域名稱。" + +msgid "Enter a valid URL." +msgstr "請輸入有效的 URL。" + +msgid "Enter a valid integer." +msgstr "請輸入有效的整數。" + +msgid "Enter a valid email address." +msgstr "請輸入有效的電子郵件地址。" + +#. Translators: "letters" means latin letters: a-z and A-Z. +msgid "" +"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." +msgstr "輸入合適的 \"slug\" 字串,由字母、數字、底線與連字號組成。" + +msgid "" +"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " +"hyphens." +msgstr "輸入合適的 \"slug\" 字串,內含 Unicode 字元、數字、底線或減號。" + +#, python-format +msgid "Enter a valid %(protocol)s address." +msgstr "輸入正確的 %(protocol)s 位址。." + +msgid "IPv4" +msgstr "IPv4" + +msgid "IPv6" +msgstr "IPv6" + +msgid "IPv4 or IPv6" +msgstr "IPv4 或 IPv6" + +msgid "Enter only digits separated by commas." +msgstr "請輸入以逗號分隔的數字。" + +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "請確認這個值是否為 %(limit_value)s (目前是 %(show_value)s)。" + +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "請確認此數值是否小於或等於 %(limit_value)s。" + +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "請確認此數值是否大於或等於 %(limit_value)s。" + +#, python-format +msgid "Ensure this value is a multiple of step size %(limit_value)s." +msgstr "請確認此數值是 %(limit_value)s 的倍數。" + +#, python-format +msgid "" +"Ensure this value is a multiple of step size %(limit_value)s, starting from " +"%(offset)s, e.g. %(offset)s, %(valid_value1)s, %(valid_value2)s, and so on." +msgstr "" +"請確認此數值是 %(limit_value)s的倍數。從 %(offset)s 起始,例如 %(offset)s, " +"%(valid_value1)s, %(valid_value2)s,以此類推。" + +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"請確認這個值至少包含 %(limit_value)d 個字 (目前為 %(show_value)d 個字)。" + +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d character (it has " +"%(show_value)d)." +msgid_plural "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr[0] "" +"請確認這個值至多包含 %(limit_value)d 個字 (目前為 %(show_value)d 個字)。" + +msgid "Enter a number." +msgstr "輸入一個數字" + +#, python-format +msgid "Ensure that there are no more than %(max)s digit in total." +msgid_plural "Ensure that there are no more than %(max)s digits in total." +msgstr[0] "請確認數字全長不超過 %(max)s 位。" + +#, python-format +msgid "Ensure that there are no more than %(max)s decimal place." +msgid_plural "Ensure that there are no more than %(max)s decimal places." +msgstr[0] "確認小數不超過 %(max)s 位。" + +#, python-format +msgid "" +"Ensure that there are no more than %(max)s digit before the decimal point." +msgid_plural "" +"Ensure that there are no more than %(max)s digits before the decimal point." +msgstr[0] "請確認小數點前不超過 %(max)s 位。" + +#, python-format +msgid "" +"File extension “%(extension)s” is not allowed. Allowed extensions are: " +"%(allowed_extensions)s." +msgstr "不允許副檔名為 “%(extension)s” 。可用的像是: %(allowed_extensions)s。" + +msgid "Null characters are not allowed." +msgstr "不允許空(null)字元。" + +msgid "and" +msgstr "和" + +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "包含 %(field_labels)s 的 %(model_name)s 已經存在。" + +#, python-format +msgid "Constraint “%(name)s” is violated." +msgstr "約束條件 “%(name)s” 被違反。" + +#, python-format +msgid "Value %(value)r is not a valid choice." +msgstr "數值 %(value)r 不是有效的選項。" + +msgid "This field cannot be null." +msgstr "這個值不能是 null。" + +msgid "This field cannot be blank." +msgstr "這個欄位不能為空。" + +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "包含 %(field_label)s 的 %(model_name)s 已經存在。" + +#. Translators: The 'lookup_type' is one of 'date', 'year' or +#. 'month'. Eg: "Title must be unique for pub_date year" +#, python-format +msgid "" +"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." +msgstr "%(field_label)s 在 %(date_field_label)s %(lookup_type)s 上必須唯一。" + +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "欄位類型: %(field_type)s" + +#, python-format +msgid "“%(value)s” value must be either True or False." +msgstr "“%(value)s” 只能是 True 或 False。" + +#, python-format +msgid "“%(value)s” value must be either True, False, or None." +msgstr "“%(value)s” 只能是 True 或 False 或 None 。" + +msgid "Boolean (Either True or False)" +msgstr "布林值 (True 或 False)" + +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "字串 (至多 %(max_length)s 個字)" + +msgid "String (unlimited)" +msgstr "字串 (無限)" + +msgid "Comma-separated integers" +msgstr "逗號分隔的整數" + +#, python-format +msgid "" +"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " +"format." +msgstr "“%(value)s” 的日期格式錯誤。應該是 YYYY-MM-DD 才對。" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " +"date." +msgstr "“%(value)s” 的格式正確 (YYYY-MM-DD) 但日期有誤。" + +msgid "Date (without time)" +msgstr "日期 (不包括時間)" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." +"uuuuuu]][TZ] format." +msgstr "" +"“%(value)s” 的格式錯誤。應該是 YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] 才對。" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" +"[TZ]) but it is an invalid date/time." +msgstr "" +"“%(value)s” 的格式正確 (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]) 但日期/時間有誤。" + +msgid "Date (with time)" +msgstr "日期 (包括時間)" + +#, python-format +msgid "“%(value)s” value must be a decimal number." +msgstr "“%(value)s” 必須是十進位數。" + +msgid "Decimal number" +msgstr "十進位數" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." +"uuuuuu] format." +msgstr "“%(value)s” 的格式錯誤。格式必須為 [DD] [[HH:]MM:]ss[.uuuuuu] 。" + +msgid "Duration" +msgstr "時長" + +msgid "Email address" +msgstr "電子郵件地址" + +msgid "File path" +msgstr "檔案路徑" + +#, python-format +msgid "“%(value)s” value must be a float." +msgstr "“%(value)s” 必須是浮點小數。" + +msgid "Floating point number" +msgstr "浮點數" + +#, python-format +msgid "“%(value)s” value must be an integer." +msgstr "“%(value)s” 必須是整數。" + +msgid "Integer" +msgstr "整數" + +msgid "Big (8 byte) integer" +msgstr "大整數 (8位元組)" + +msgid "Small integer" +msgstr "小整數" + +msgid "IPv4 address" +msgstr "IPv4 地址" + +msgid "IP address" +msgstr "IP 位址" + +#, python-format +msgid "“%(value)s” value must be either None, True or False." +msgstr "“%(value)s” 必須是 None, True 或 False。" + +msgid "Boolean (Either True, False or None)" +msgstr "布林值 (True, False 或 None)" + +msgid "Positive big integer" +msgstr "大的正整數" + +msgid "Positive integer" +msgstr "正整數" + +msgid "Positive small integer" +msgstr "正小整數" + +#, python-format +msgid "Slug (up to %(max_length)s)" +msgstr "Slug (最多 %(max_length)s個字)" + +msgid "Text" +msgstr "文字" + +#, python-format +msgid "" +"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " +"format." +msgstr "“%(value)s” 格式錯誤。格式必須為 HH:MM[:ss[.uuuuuu]] 。" + +#, python-format +msgid "" +"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " +"invalid time." +msgstr "“%(value)s” 的格式正確 (HH:MM[:ss[.uuuuuu]]),但時間有誤。" + +msgid "Time" +msgstr "時間" + +msgid "URL" +msgstr "網址" + +msgid "Raw binary data" +msgstr "原始二進制數據" + +#, python-format +msgid "“%(value)s” is not a valid UUID." +msgstr "“%(value)s” 不是有效的 UUID。" + +msgid "Universally unique identifier" +msgstr "通用唯一識別碼" + +msgid "File" +msgstr "檔案" + +msgid "Image" +msgstr "圖像" + +msgid "A JSON object" +msgstr "JSON 物件" + +msgid "Value must be valid JSON." +msgstr "必須是有效的 JSON 值" + +#, python-format +msgid "%(model)s instance with %(field)s %(value)r does not exist." +msgstr "%(field)s 為 %(value)r 的 %(model)s 物件不存在。" + +msgid "Foreign Key (type determined by related field)" +msgstr "外鍵(類型由相關欄位決定)" + +msgid "One-to-one relationship" +msgstr "一對一關連" + +#, python-format +msgid "%(from)s-%(to)s relationship" +msgstr "%(from)s-%(to)s 關連" + +#, python-format +msgid "%(from)s-%(to)s relationships" +msgstr "%(from)s-%(to)s 關連" + +msgid "Many-to-many relationship" +msgstr "多對多關連" + +#. Translators: If found as last label character, these punctuation +#. characters will prevent the default label_suffix to be appended to the +#. label +msgid ":?.!" +msgstr ":?.!" + +msgid "This field is required." +msgstr "這個欄位是必須的。" + +msgid "Enter a whole number." +msgstr "輸入整數" + +msgid "Enter a valid date." +msgstr "輸入有效的日期" + +msgid "Enter a valid time." +msgstr "輸入有效的時間" + +msgid "Enter a valid date/time." +msgstr "輸入有效的日期/時間" + +msgid "Enter a valid duration." +msgstr "輸入有效的時間長。" + +#, python-brace-format +msgid "The number of days must be between {min_days} and {max_days}." +msgstr "天數必須介於 {min_days} 到 {max_days} 天" + +msgid "No file was submitted. Check the encoding type on the form." +msgstr "沒有檔案被送出。請檢查表單的編碼類型。" + +msgid "No file was submitted." +msgstr "沒有檔案送出" + +msgid "The submitted file is empty." +msgstr "送出的檔案是空的。" + +#, python-format +msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." +msgid_plural "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr[0] "請確認這個檔名至多包含 %(max)d 個字 (目前為 %(length)d)。" + +msgid "Please either submit a file or check the clear checkbox, not both." +msgstr "請提交一個檔案或勾選清除選項,但不能同時進行。" + +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "請上傳一個有效的圖檔。你上傳的檔案不是圖片或是已損壞的圖檔。" + +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "請選擇有效的選項, %(value)s 不是一個可用的選項。" + +msgid "Enter a list of values." +msgstr "請輸入一個列表的值。" + +msgid "Enter a complete value." +msgstr "請輸入完整的值。" + +msgid "Enter a valid UUID." +msgstr "請輸入有效的 UUID。" + +msgid "Enter a valid JSON." +msgstr "輸入有效的 JSON。" + +#. Translators: This is the default suffix added to form field labels +msgid ":" +msgstr ":" + +#, python-format +msgid "(Hidden field %(name)s) %(error)s" +msgstr "(隱藏欄位 %(name)s) %(error)s" + +#, python-format +msgid "" +"ManagementForm data is missing or has been tampered with. Missing fields: " +"%(field_names)s. You may need to file a bug report if the issue persists." +msgstr "" +"ManagementForm 資料遺失或被篡改。缺少欄位:%(field_names)s。如果問題持續存" +"在,您可能需要提交錯誤報告。" + +#, python-format +msgid "Please submit at most %(num)d form." +msgid_plural "Please submit at most %(num)d forms." +msgstr[0] "請送出最多 %(num)d 個表單。" + +#, python-format +msgid "Please submit at least %(num)d form." +msgid_plural "Please submit at least %(num)d forms." +msgstr[0] "請送出最少 %(num)d 個表單。" + +msgid "Order" +msgstr "排序" + +msgid "Delete" +msgstr "刪除" + +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "請修正 %(field)s 的重覆資料" + +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "請修正 %(field)s 的重覆資料, 必須為唯一值" + +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"請修正 %(field_name)s 重複資料, %(date_field)s 的 %(lookup)s 必須是唯一值。" + +msgid "Please correct the duplicate values below." +msgstr "請修正下方重覆的數值" + +msgid "The inline value did not match the parent instance." +msgstr "內含的外鍵無法連接到對應的上層實體。" + +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "選擇有效的選項: 此選擇不在可用的選項中。" + +#, python-format +msgid "“%(pk)s” is not a valid value." +msgstr "“%(pk)s” 不是一個有效的值。" + +#, python-format +msgid "" +"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " +"may be ambiguous or it may not exist." +msgstr "" +"%(datetime)s 無法被轉換成 %(current_timezone)s時區格式; 可能內容有誤或不存" +"在。" + +msgid "Clear" +msgstr "清除" + +msgid "Currently" +msgstr "目前" + +msgid "Change" +msgstr "變更" + +msgid "Unknown" +msgstr "未知" + +msgid "Yes" +msgstr "是" + +msgid "No" +msgstr "否" + +#. Translators: Please do not add spaces around commas. +msgid "yes,no,maybe" +msgstr "是、否、也許" + +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d 位元組" + +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#, python-format +msgid "%s PB" +msgstr "%s PB" + +msgid "p.m." +msgstr "p.m." + +msgid "a.m." +msgstr "a.m." + +msgid "PM" +msgstr "PM" + +msgid "AM" +msgstr "AM" + +msgid "midnight" +msgstr "午夜" + +msgid "noon" +msgstr "中午" + +msgid "Monday" +msgstr "星期一" + +msgid "Tuesday" +msgstr "星期二" + +msgid "Wednesday" +msgstr "星期三" + +msgid "Thursday" +msgstr "星期四" + +msgid "Friday" +msgstr "星期五" + +msgid "Saturday" +msgstr "星期六" + +msgid "Sunday" +msgstr "星期日" + +msgid "Mon" +msgstr "星期一" + +msgid "Tue" +msgstr "星期二" + +msgid "Wed" +msgstr "星期三" + +msgid "Thu" +msgstr "星期四" + +msgid "Fri" +msgstr "星期五" + +msgid "Sat" +msgstr "星期六" + +msgid "Sun" +msgstr "星期日" + +msgid "January" +msgstr "一月" + +msgid "February" +msgstr "二月" + +msgid "March" +msgstr "三月" + +msgid "April" +msgstr "四月" + +msgid "May" +msgstr "五月" + +msgid "June" +msgstr "六月" + +msgid "July" +msgstr "七月" + +msgid "August" +msgstr "八月" + +msgid "September" +msgstr "九月" + +msgid "October" +msgstr "十月" + +msgid "November" +msgstr "十一月" + +msgid "December" +msgstr "十二月" + +msgid "jan" +msgstr "一月" + +msgid "feb" +msgstr "二月" + +msgid "mar" +msgstr "三月" + +msgid "apr" +msgstr "四月" + +msgid "may" +msgstr "五月" + +msgid "jun" +msgstr "六月" + +msgid "jul" +msgstr "七月" + +msgid "aug" +msgstr "八月" + +msgid "sep" +msgstr "九月" + +msgid "oct" +msgstr "十月" + +msgid "nov" +msgstr "十一月" + +msgid "dec" +msgstr "十二月" + +msgctxt "abbrev. month" +msgid "Jan." +msgstr "一月" + +msgctxt "abbrev. month" +msgid "Feb." +msgstr "二月" + +msgctxt "abbrev. month" +msgid "March" +msgstr "三月" + +msgctxt "abbrev. month" +msgid "April" +msgstr "四月" + +msgctxt "abbrev. month" +msgid "May" +msgstr "五月" + +msgctxt "abbrev. month" +msgid "June" +msgstr "六月" + +msgctxt "abbrev. month" +msgid "July" +msgstr "七月" + +msgctxt "abbrev. month" +msgid "Aug." +msgstr "八月" + +msgctxt "abbrev. month" +msgid "Sept." +msgstr "九月" + +msgctxt "abbrev. month" +msgid "Oct." +msgstr "十月" + +msgctxt "abbrev. month" +msgid "Nov." +msgstr "十一月" + +msgctxt "abbrev. month" +msgid "Dec." +msgstr "十二月" + +msgctxt "alt. month" +msgid "January" +msgstr "一月" + +msgctxt "alt. month" +msgid "February" +msgstr "二月" + +msgctxt "alt. month" +msgid "March" +msgstr "三月" + +msgctxt "alt. month" +msgid "April" +msgstr "四月" + +msgctxt "alt. month" +msgid "May" +msgstr "五月" + +msgctxt "alt. month" +msgid "June" +msgstr "六月" + +msgctxt "alt. month" +msgid "July" +msgstr "七月" + +msgctxt "alt. month" +msgid "August" +msgstr "八月" + +msgctxt "alt. month" +msgid "September" +msgstr "九月" + +msgctxt "alt. month" +msgid "October" +msgstr "十月" + +msgctxt "alt. month" +msgid "November" +msgstr "十一月" + +msgctxt "alt. month" +msgid "December" +msgstr "十二月" + +msgid "This is not a valid IPv6 address." +msgstr "這是無效的 IPv6 位址。" + +#, python-format +msgctxt "String to return when truncating text" +msgid "%(truncated_text)s…" +msgstr "%(truncated_text)s…" + +msgid "or" +msgstr "或" + +#. Translators: This string is used as a separator between list elements +msgid ", " +msgstr ", " + +#, python-format +msgid "%(num)d year" +msgid_plural "%(num)d years" +msgstr[0] "%(num)d 年" + +#, python-format +msgid "%(num)d month" +msgid_plural "%(num)d months" +msgstr[0] "%(num)d 月" + +#, python-format +msgid "%(num)d week" +msgid_plural "%(num)d weeks" +msgstr[0] "%(num)d 週" + +#, python-format +msgid "%(num)d day" +msgid_plural "%(num)d days" +msgstr[0] "%(num)d 日" + +#, python-format +msgid "%(num)d hour" +msgid_plural "%(num)d hours" +msgstr[0] "%(num)d 小時" + +#, python-format +msgid "%(num)d minute" +msgid_plural "%(num)d minutes" +msgstr[0] "%(num)d 分" + +msgid "Forbidden" +msgstr "禁止" + +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF 驗證失敗。已中止請求。" + +msgid "" +"You are seeing this message because this HTTPS site requires a “Referer " +"header” to be sent by your web browser, but none was sent. This header is " +"required for security reasons, to ensure that your browser is not being " +"hijacked by third parties." +msgstr "" +"您看到此消息是因為這個 HTTPS 網站要求您的網路瀏覽器發送一個“Referer header”," +"但並沒有被發送。出於安全原因,需要此標頭來確保您的瀏覽器沒有被第三方劫持。" + +msgid "" +"If you have configured your browser to disable “Referer” headers, please re-" +"enable them, at least for this site, or for HTTPS connections, or for “same-" +"origin” requests." +msgstr "" +"若您的瀏覽器設定為將「Referer」標頭關閉,請重新為這個網站、HTTPS 連線、或" +"「same-origin」請求啟用它。" + +msgid "" +"If you are using the tag or " +"including the “Referrer-Policy: no-referrer” header, please remove them. The " +"CSRF protection requires the “Referer” header to do strict referer checking. " +"If you’re concerned about privacy, use alternatives like for links to third-party sites." +msgstr "" +"若您使用 標籤或包含" +"「Referrer-Policy: no-referrer」標頭,請將其移除。 CSRF 保護要求「Referer」標" +"頭進行嚴格參照檢查。若你擔心隱私問題,可使用如 來連" +"結到第三方網站。" + +msgid "" +"You are seeing this message because this site requires a CSRF cookie when " +"submitting forms. This cookie is required for security reasons, to ensure " +"that your browser is not being hijacked by third parties." +msgstr "" +"你看到這個訊息,是因為這個網站要求在送出表單包含一個 CSRF cookie。這個 " +"cookie 是用於安全用途,保護你的瀏覽器不被第三方挾持。" + +msgid "" +"If you have configured your browser to disable cookies, please re-enable " +"them, at least for this site, or for “same-origin” requests." +msgstr "" +"若你的瀏覽器設定為將 cookie 關閉,請重新為這個網站或「same-origin」請求啟用" +"它。" + +msgid "More information is available with DEBUG=True." +msgstr "設定 DEBUG=True 以獲得更多資訊。" + +msgid "No year specified" +msgstr "不指定年份" + +msgid "Date out of range" +msgstr "日期超過範圍" + +msgid "No month specified" +msgstr "沒有指定月份" + +msgid "No day specified" +msgstr "沒有指定日期" + +msgid "No week specified" +msgstr "沒有指定週數" + +#, python-format +msgid "No %(verbose_name_plural)s available" +msgstr "%(verbose_name_plural)s 無法使用" + +#, python-format +msgid "" +"Future %(verbose_name_plural)s not available because %(class_name)s." +"allow_future is False." +msgstr "" +"未來的 %(verbose_name_plural)s 不可用,因為 %(class_name)s.allow_future 設置" +"為 False." + +#, python-format +msgid "Invalid date string “%(datestr)s” given format “%(format)s”" +msgstr "日期字串 “%(datestr)s” 不符合 “%(format)s” 格式。" + +#, python-format +msgid "No %(verbose_name)s found matching the query" +msgstr "無 %(verbose_name)s 符合本次搜尋" + +msgid "Page is not “last”, nor can it be converted to an int." +msgstr "頁面不是最後一頁,也無法被轉換為整數。" + +#, python-format +msgid "Invalid page (%(page_number)s): %(message)s" +msgstr "無效的頁面 (%(page_number)s): %(message)s" + +#, python-format +msgid "Empty list and “%(class_name)s.allow_empty” is False." +msgstr "列表是空的,並且 “%(class_name)s.allow_empty” 是 False 。" + +msgid "Directory indexes are not allowed here." +msgstr "這裡不允許目錄索引。" + +#, python-format +msgid "“%(path)s” does not exist" +msgstr "“%(path)s” 不存在。" + +#, python-format +msgid "Index of %(directory)s" +msgstr "%(directory)s 的索引" + +msgid "The install worked successfully! Congratulations!" +msgstr "安裝成功!恭喜!" + +#, python-format +msgid "" +"View release notes for Django %(version)s" +msgstr "" +"查看 Django %(version)s 的 發行版本說明 " + +#, python-format +msgid "" +"You are seeing this page because DEBUG=True is in your settings file and you have not " +"configured any URLs." +msgstr "" +"你現在看到這個頁面,是因為在設定檔中設置了 DEBUG = True,且尚未配置任何網址。" + +msgid "Django Documentation" +msgstr "Django 文件" + +msgid "Topics, references, & how-to’s" +msgstr "主題、參考、教學" + +msgid "Tutorial: A Polling App" +msgstr "教學:投票應用" + +msgid "Get started with Django" +msgstr "初學 Django" + +msgid "Django Community" +msgstr "Django 社群" + +msgid "Connect, get help, or contribute" +msgstr "聯繫、獲得幫助、貢獻" diff --git a/external_sources/django/django/conf/locale/zh_Hant/__init__.py b/external_sources/django/django/conf/locale/zh_Hant/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/locale/zh_Hant/formats.py b/external_sources/django/django/conf/locale/zh_Hant/formats.py new file mode 100644 index 0000000..79936f8 --- /dev/null +++ b/external_sources/django/django/conf/locale/zh_Hant/formats.py @@ -0,0 +1,42 @@ +# This file is distributed under the same license as the Django package. +# +# The *_FORMAT strings use the Django date format syntax, +# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +DATE_FORMAT = "Y年n月j日" # 2016年9月5日 +TIME_FORMAT = "H:i" # 20:45 +DATETIME_FORMAT = "Y年n月j日 H:i" # 2016年9月5日 20:45 +YEAR_MONTH_FORMAT = "Y年n月" # 2016年9月 +MONTH_DAY_FORMAT = "m月j日" # 9月5日 +SHORT_DATE_FORMAT = "Y年n月j日" # 2016年9月5日 +SHORT_DATETIME_FORMAT = "Y年n月j日 H:i" # 2016年9月5日 20:45 +FIRST_DAY_OF_WEEK = 1 # 星期一 (Monday) + +# The *_INPUT_FORMATS strings use the Python strftime format syntax, +# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior +DATE_INPUT_FORMATS = [ + "%Y/%m/%d", # '2016/09/05' + "%Y-%m-%d", # '2016-09-05' + "%Y年%n月%j日", # '2016年9月5日' +] + +TIME_INPUT_FORMATS = [ + "%H:%M", # '20:45' + "%H:%M:%S", # '20:45:29' + "%H:%M:%S.%f", # '20:45:29.000200' +] + +DATETIME_INPUT_FORMATS = [ + "%Y/%m/%d %H:%M", # '2016/09/05 20:45' + "%Y-%m-%d %H:%M", # '2016-09-05 20:45' + "%Y年%n月%j日 %H:%M", # '2016年9月5日 14:45' + "%Y/%m/%d %H:%M:%S", # '2016/09/05 20:45:29' + "%Y-%m-%d %H:%M:%S", # '2016-09-05 20:45:29' + "%Y年%n月%j日 %H:%M:%S", # '2016年9月5日 20:45:29' + "%Y/%m/%d %H:%M:%S.%f", # '2016/09/05 20:45:29.000200' + "%Y-%m-%d %H:%M:%S.%f", # '2016-09-05 20:45:29.000200' + "%Y年%n月%j日 %H:%n:%S.%f", # '2016年9月5日 20:45:29.000200' +] + +DECIMAL_SEPARATOR = "." +THOUSAND_SEPARATOR = "" +NUMBER_GROUPING = 4 diff --git a/external_sources/django/django/conf/project_template/manage.py-tpl b/external_sources/django/django/conf/project_template/manage.py-tpl new file mode 100644 index 0000000..a628884 --- /dev/null +++ b/external_sources/django/django/conf/project_template/manage.py-tpl @@ -0,0 +1,22 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + """Run administrative tasks.""" + os.environ.setdefault('DJANGO_SETTINGS_MODULE', '{{ project_name }}.settings') + try: + from django.core.management import execute_from_command_line + except ImportError as exc: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) from exc + execute_from_command_line(sys.argv) + + +if __name__ == '__main__': + main() diff --git a/external_sources/django/django/conf/project_template/project_name/__init__.py-tpl b/external_sources/django/django/conf/project_template/project_name/__init__.py-tpl new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/conf/project_template/project_name/asgi.py-tpl b/external_sources/django/django/conf/project_template/project_name/asgi.py-tpl new file mode 100644 index 0000000..a827238 --- /dev/null +++ b/external_sources/django/django/conf/project_template/project_name/asgi.py-tpl @@ -0,0 +1,16 @@ +""" +ASGI config for {{ project_name }} project. + +It exposes the ASGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/{{ docs_version }}/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', '{{ project_name }}.settings') + +application = get_asgi_application() diff --git a/external_sources/django/django/conf/project_template/project_name/settings.py-tpl b/external_sources/django/django/conf/project_template/project_name/settings.py-tpl new file mode 100644 index 0000000..3b6caab --- /dev/null +++ b/external_sources/django/django/conf/project_template/project_name/settings.py-tpl @@ -0,0 +1,123 @@ +""" +Django settings for {{ project_name }} project. + +Generated by 'django-admin startproject' using Django {{ django_version }}. + +For more information on this file, see +https://docs.djangoproject.com/en/{{ docs_version }}/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/{{ docs_version }}/ref/settings/ +""" + +from pathlib import Path + +# Build paths inside the project like this: BASE_DIR / 'subdir'. +BASE_DIR = Path(__file__).resolve().parent.parent + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/{{ docs_version }}/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = '{{ secret_key }}' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +ALLOWED_HOSTS = [] + + +# Application definition + +INSTALLED_APPS = [ + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', +] + +MIDDLEWARE = [ + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', +] + +ROOT_URLCONF = '{{ project_name }}.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = '{{ project_name }}.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/{{ docs_version }}/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': BASE_DIR / 'db.sqlite3', + } +} + + +# Password validation +# https://docs.djangoproject.com/en/{{ docs_version }}/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, +] + + +# Internationalization +# https://docs.djangoproject.com/en/{{ docs_version }}/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/{{ docs_version }}/howto/static-files/ + +STATIC_URL = 'static/' + +# Default primary key field type +# https://docs.djangoproject.com/en/{{ docs_version }}/ref/settings/#default-auto-field + +DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' diff --git a/external_sources/django/django/conf/project_template/project_name/urls.py-tpl b/external_sources/django/django/conf/project_template/project_name/urls.py-tpl new file mode 100644 index 0000000..622f79e --- /dev/null +++ b/external_sources/django/django/conf/project_template/project_name/urls.py-tpl @@ -0,0 +1,22 @@ +""" +URL configuration for {{ project_name }} project. + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/{{ docs_version }}/topics/http/urls/ +Examples: +Function views + 1. Add an import: from my_app import views + 2. Add a URL to urlpatterns: path('', views.home, name='home') +Class-based views + 1. Add an import: from other_app.views import Home + 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') +Including another URLconf + 1. Import the include() function: from django.urls import include, path + 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) +""" +from django.contrib import admin +from django.urls import path + +urlpatterns = [ + path('admin/', admin.site.urls), +] diff --git a/external_sources/django/django/conf/project_template/project_name/wsgi.py-tpl b/external_sources/django/django/conf/project_template/project_name/wsgi.py-tpl new file mode 100644 index 0000000..1ee28d0 --- /dev/null +++ b/external_sources/django/django/conf/project_template/project_name/wsgi.py-tpl @@ -0,0 +1,16 @@ +""" +WSGI config for {{ project_name }} project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/{{ docs_version }}/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', '{{ project_name }}.settings') + +application = get_wsgi_application() diff --git a/external_sources/django/django/conf/urls/__init__.py b/external_sources/django/django/conf/urls/__init__.py new file mode 100644 index 0000000..302f68d --- /dev/null +++ b/external_sources/django/django/conf/urls/__init__.py @@ -0,0 +1,9 @@ +from django.urls import include +from django.views import defaults + +__all__ = ["handler400", "handler403", "handler404", "handler500", "include"] + +handler400 = defaults.bad_request +handler403 = defaults.permission_denied +handler404 = defaults.page_not_found +handler500 = defaults.server_error diff --git a/external_sources/django/django/conf/urls/i18n.py b/external_sources/django/django/conf/urls/i18n.py new file mode 100644 index 0000000..6b3fe70 --- /dev/null +++ b/external_sources/django/django/conf/urls/i18n.py @@ -0,0 +1,39 @@ +import functools + +from django.conf import settings +from django.urls import LocalePrefixPattern, URLResolver, get_resolver, path +from django.views.i18n import set_language + + +def i18n_patterns(*urls, prefix_default_language=True): + """ + Add the language code prefix to every URL pattern within this function. + This may only be used in the root URLconf, not in an included URLconf. + """ + if not settings.USE_I18N: + return list(urls) + return [ + URLResolver( + LocalePrefixPattern(prefix_default_language=prefix_default_language), + list(urls), + ) + ] + + +@functools.cache +def is_language_prefix_patterns_used(urlconf): + """ + Return a tuple of two booleans: ( + `True` if i18n_patterns() (LocalePrefixPattern) is used in the URLconf, + `True` if the default language should be prefixed + ) + """ + for url_pattern in get_resolver(urlconf).url_patterns: + if isinstance(url_pattern.pattern, LocalePrefixPattern): + return True, url_pattern.pattern.prefix_default_language + return False, False + + +urlpatterns = [ + path("setlang/", set_language, name="set_language"), +] diff --git a/external_sources/django/django/conf/urls/static.py b/external_sources/django/django/conf/urls/static.py new file mode 100644 index 0000000..8e7816e --- /dev/null +++ b/external_sources/django/django/conf/urls/static.py @@ -0,0 +1,30 @@ +import re +from urllib.parse import urlsplit + +from django.conf import settings +from django.core.exceptions import ImproperlyConfigured +from django.urls import re_path +from django.views.static import serve + + +def static(prefix, view=serve, **kwargs): + """ + Return a URL pattern for serving files in debug mode. + + from django.conf import settings + from django.conf.urls.static import static + + urlpatterns = [ + # ... the rest of your URLconf goes here ... + ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) + """ + if not prefix: + raise ImproperlyConfigured("Empty static prefix not permitted") + elif not settings.DEBUG or urlsplit(prefix).netloc: + # No-op if not in debug mode or a non-local prefix. + return [] + return [ + re_path( + r"^%s(?P.*)$" % re.escape(prefix.lstrip("/")), view, kwargs=kwargs + ), + ] diff --git a/external_sources/django/django/contrib/__init__.py b/external_sources/django/django/contrib/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/contrib/admin/__init__.py b/external_sources/django/django/contrib/admin/__init__.py new file mode 100644 index 0000000..0d9189f --- /dev/null +++ b/external_sources/django/django/contrib/admin/__init__.py @@ -0,0 +1,52 @@ +from django.contrib.admin.decorators import action, display, register +from django.contrib.admin.filters import ( + AllValuesFieldListFilter, + BooleanFieldListFilter, + ChoicesFieldListFilter, + DateFieldListFilter, + EmptyFieldListFilter, + FieldListFilter, + ListFilter, + RelatedFieldListFilter, + RelatedOnlyFieldListFilter, + SimpleListFilter, +) +from django.contrib.admin.options import ( + HORIZONTAL, + VERTICAL, + ModelAdmin, + ShowFacets, + StackedInline, + TabularInline, +) +from django.contrib.admin.sites import AdminSite, site +from django.utils.module_loading import autodiscover_modules + +__all__ = [ + "action", + "display", + "register", + "ModelAdmin", + "HORIZONTAL", + "VERTICAL", + "StackedInline", + "TabularInline", + "AdminSite", + "site", + "ListFilter", + "SimpleListFilter", + "FieldListFilter", + "BooleanFieldListFilter", + "RelatedFieldListFilter", + "ChoicesFieldListFilter", + "DateFieldListFilter", + "AllValuesFieldListFilter", + "EmptyFieldListFilter", + "RelatedOnlyFieldListFilter", + "ShowFacets", + "autodiscover", +] + + +def autodiscover(): + autodiscover_modules("admin", register_to=site) diff --git a/external_sources/django/django/contrib/admin/actions.py b/external_sources/django/django/contrib/admin/actions.py new file mode 100644 index 0000000..eefb638 --- /dev/null +++ b/external_sources/django/django/contrib/admin/actions.py @@ -0,0 +1,94 @@ +""" +Built-in, globally-available admin actions. +""" + +from django.contrib import messages +from django.contrib.admin import helpers +from django.contrib.admin.decorators import action +from django.contrib.admin.utils import model_ngettext +from django.core.exceptions import PermissionDenied +from django.template.response import TemplateResponse +from django.utils.translation import gettext as _ +from django.utils.translation import gettext_lazy + + +@action( + permissions=["delete"], + description=gettext_lazy("Delete selected %(verbose_name_plural)s"), +) +def delete_selected(modeladmin, request, queryset): + """ + Default action which deletes the selected objects. + + This action first displays a confirmation page which shows all the + deletable objects, or, if the user has no permission one of the related + childs (foreignkeys), a "permission denied" message. + + Next, it deletes all selected objects and redirects back to the change list. + """ + opts = modeladmin.model._meta + app_label = opts.app_label + + # Populate deletable_objects, a data structure of all related objects that + # will also be deleted. + ( + deletable_objects, + model_count, + perms_needed, + protected, + ) = modeladmin.get_deleted_objects(queryset, request) + + # The user has already confirmed the deletion. + # Do the deletion and return None to display the change list view again. + if request.POST.get("post") and not protected: + if perms_needed: + raise PermissionDenied + n = len(queryset) + if n: + modeladmin.log_deletions(request, queryset) + modeladmin.delete_queryset(request, queryset) + modeladmin.message_user( + request, + _("Successfully deleted %(count)d %(items)s.") + % {"count": n, "items": model_ngettext(modeladmin.opts, n)}, + messages.SUCCESS, + ) + # Return None to display the change list page again. + return None + + objects_name = model_ngettext(queryset) + + if perms_needed or protected: + title = _("Cannot delete %(name)s") % {"name": objects_name} + else: + title = _("Are you sure?") + + context = { + **modeladmin.admin_site.each_context(request), + "title": title, + "subtitle": None, + "objects_name": str(objects_name), + "deletable_objects": [deletable_objects], + "model_count": dict(model_count).items(), + "queryset": queryset, + "perms_lacking": perms_needed, + "protected": protected, + "opts": opts, + "action_checkbox_name": helpers.ACTION_CHECKBOX_NAME, + "media": modeladmin.media, + } + + request.current_app = modeladmin.admin_site.name + + # Display the confirmation page + return TemplateResponse( + request, + modeladmin.delete_selected_confirmation_template + or [ + "admin/%s/%s/delete_selected_confirmation.html" + % (app_label, opts.model_name), + "admin/%s/delete_selected_confirmation.html" % app_label, + "admin/delete_selected_confirmation.html", + ], + context, + ) diff --git a/external_sources/django/django/contrib/admin/apps.py b/external_sources/django/django/contrib/admin/apps.py new file mode 100644 index 0000000..08a9e0d --- /dev/null +++ b/external_sources/django/django/contrib/admin/apps.py @@ -0,0 +1,27 @@ +from django.apps import AppConfig +from django.contrib.admin.checks import check_admin_app, check_dependencies +from django.core import checks +from django.utils.translation import gettext_lazy as _ + + +class SimpleAdminConfig(AppConfig): + """Simple AppConfig which does not do automatic discovery.""" + + default_auto_field = "django.db.models.AutoField" + default_site = "django.contrib.admin.sites.AdminSite" + name = "django.contrib.admin" + verbose_name = _("Administration") + + def ready(self): + checks.register(check_dependencies, checks.Tags.admin) + checks.register(check_admin_app, checks.Tags.admin) + + +class AdminConfig(SimpleAdminConfig): + """The default AppConfig for admin which does autodiscovery.""" + + default = True + + def ready(self): + super().ready() + self.module.autodiscover() diff --git a/external_sources/django/django/contrib/admin/checks.py b/external_sources/django/django/contrib/admin/checks.py new file mode 100644 index 0000000..a4d7066 --- /dev/null +++ b/external_sources/django/django/contrib/admin/checks.py @@ -0,0 +1,1359 @@ +import collections +from itertools import chain + +from django.apps import apps +from django.conf import settings +from django.contrib.admin.exceptions import NotRegistered +from django.contrib.admin.utils import NotRelationField, flatten, get_fields_from_path +from django.core import checks +from django.core.exceptions import FieldDoesNotExist +from django.db import models +from django.db.models.constants import LOOKUP_SEP +from django.db.models.expressions import Combinable +from django.forms.models import BaseModelForm, BaseModelFormSet, _get_foreign_key +from django.template import engines +from django.template.backends.django import DjangoTemplates +from django.utils.module_loading import import_string + + +def _issubclass(cls, classinfo): + """ + issubclass() variant that doesn't raise an exception if cls isn't a + class. + """ + try: + return issubclass(cls, classinfo) + except TypeError: + return False + + +def _contains_subclass(class_path, candidate_paths): + """ + Return whether or not a dotted class path (or a subclass of that class) is + found in a list of candidate paths. + """ + cls = import_string(class_path) + for path in candidate_paths: + try: + candidate_cls = import_string(path) + except ImportError: + # ImportErrors are raised elsewhere. + continue + if _issubclass(candidate_cls, cls): + return True + return False + + +def check_admin_app(app_configs, **kwargs): + from django.contrib.admin.sites import all_sites + + errors = [] + for site in all_sites: + errors.extend(site.check(app_configs)) + return errors + + +def check_dependencies(**kwargs): + """ + Check that the admin's dependencies are correctly installed. + """ + from django.contrib.admin.sites import all_sites + + if not apps.is_installed("django.contrib.admin"): + return [] + errors = [] + app_dependencies = ( + ("django.contrib.contenttypes", 401), + ("django.contrib.auth", 405), + ("django.contrib.messages", 406), + ) + for app_name, error_code in app_dependencies: + if not apps.is_installed(app_name): + errors.append( + checks.Error( + "'%s' must be in INSTALLED_APPS in order to use the admin " + "application." % app_name, + id="admin.E%d" % error_code, + ) + ) + for engine in engines.all(): + if isinstance(engine, DjangoTemplates): + django_templates_instance = engine.engine + break + else: + django_templates_instance = None + if not django_templates_instance: + errors.append( + checks.Error( + "A 'django.template.backends.django.DjangoTemplates' instance " + "must be configured in TEMPLATES in order to use the admin " + "application.", + id="admin.E403", + ) + ) + else: + if ( + "django.contrib.auth.context_processors.auth" + not in django_templates_instance.context_processors + and _contains_subclass( + "django.contrib.auth.backends.ModelBackend", + settings.AUTHENTICATION_BACKENDS, + ) + ): + errors.append( + checks.Error( + "'django.contrib.auth.context_processors.auth' must be " + "enabled in DjangoTemplates (TEMPLATES) if using the default " + "auth backend in order to use the admin application.", + id="admin.E402", + ) + ) + if ( + "django.contrib.messages.context_processors.messages" + not in django_templates_instance.context_processors + ): + errors.append( + checks.Error( + "'django.contrib.messages.context_processors.messages' must " + "be enabled in DjangoTemplates (TEMPLATES) in order to use " + "the admin application.", + id="admin.E404", + ) + ) + sidebar_enabled = any(site.enable_nav_sidebar for site in all_sites) + if ( + sidebar_enabled + and "django.template.context_processors.request" + not in django_templates_instance.context_processors + ): + errors.append( + checks.Warning( + "'django.template.context_processors.request' must be enabled " + "in DjangoTemplates (TEMPLATES) in order to use the admin " + "navigation sidebar.", + id="admin.W411", + ) + ) + + if not _contains_subclass( + "django.contrib.auth.middleware.AuthenticationMiddleware", settings.MIDDLEWARE + ): + errors.append( + checks.Error( + "'django.contrib.auth.middleware.AuthenticationMiddleware' must " + "be in MIDDLEWARE in order to use the admin application.", + id="admin.E408", + ) + ) + if not _contains_subclass( + "django.contrib.messages.middleware.MessageMiddleware", settings.MIDDLEWARE + ): + errors.append( + checks.Error( + "'django.contrib.messages.middleware.MessageMiddleware' must " + "be in MIDDLEWARE in order to use the admin application.", + id="admin.E409", + ) + ) + if not _contains_subclass( + "django.contrib.sessions.middleware.SessionMiddleware", settings.MIDDLEWARE + ): + errors.append( + checks.Error( + "'django.contrib.sessions.middleware.SessionMiddleware' must " + "be in MIDDLEWARE in order to use the admin application.", + hint=( + "Insert " + "'django.contrib.sessions.middleware.SessionMiddleware' " + "before " + "'django.contrib.auth.middleware.AuthenticationMiddleware'." + ), + id="admin.E410", + ) + ) + return errors + + +class BaseModelAdminChecks: + def check(self, admin_obj, **kwargs): + return [ + *self._check_autocomplete_fields(admin_obj), + *self._check_raw_id_fields(admin_obj), + *self._check_fields(admin_obj), + *self._check_fieldsets(admin_obj), + *self._check_exclude(admin_obj), + *self._check_form(admin_obj), + *self._check_filter_vertical(admin_obj), + *self._check_filter_horizontal(admin_obj), + *self._check_radio_fields(admin_obj), + *self._check_prepopulated_fields(admin_obj), + *self._check_view_on_site_url(admin_obj), + *self._check_ordering(admin_obj), + *self._check_readonly_fields(admin_obj), + ] + + def _check_autocomplete_fields(self, obj): + """ + Check that `autocomplete_fields` is a list or tuple of model fields. + """ + if not isinstance(obj.autocomplete_fields, (list, tuple)): + return must_be( + "a list or tuple", + option="autocomplete_fields", + obj=obj, + id="admin.E036", + ) + else: + return list( + chain.from_iterable( + [ + self._check_autocomplete_fields_item( + obj, field_name, "autocomplete_fields[%d]" % index + ) + for index, field_name in enumerate(obj.autocomplete_fields) + ] + ) + ) + + def _check_autocomplete_fields_item(self, obj, field_name, label): + """ + Check that an item in `autocomplete_fields` is a ForeignKey or a + ManyToManyField and that the item has a related ModelAdmin with + search_fields defined. + """ + try: + field = obj.model._meta.get_field(field_name) + except FieldDoesNotExist: + return refer_to_missing_field( + field=field_name, option=label, obj=obj, id="admin.E037" + ) + else: + if not field.many_to_many and not isinstance(field, models.ForeignKey): + return must_be( + "a foreign key or a many-to-many field", + option=label, + obj=obj, + id="admin.E038", + ) + try: + related_admin = obj.admin_site.get_model_admin(field.remote_field.model) + except NotRegistered: + return [ + checks.Error( + 'An admin for model "%s" has to be registered ' + "to be referenced by %s.autocomplete_fields." + % ( + field.remote_field.model.__name__, + type(obj).__name__, + ), + obj=obj.__class__, + id="admin.E039", + ) + ] + else: + if not related_admin.search_fields: + return [ + checks.Error( + '%s must define "search_fields", because it\'s ' + "referenced by %s.autocomplete_fields." + % ( + related_admin.__class__.__name__, + type(obj).__name__, + ), + obj=obj.__class__, + id="admin.E040", + ) + ] + return [] + + def _check_raw_id_fields(self, obj): + """Check that `raw_id_fields` only contains field names that are listed + on the model.""" + + if not isinstance(obj.raw_id_fields, (list, tuple)): + return must_be( + "a list or tuple", option="raw_id_fields", obj=obj, id="admin.E001" + ) + else: + return list( + chain.from_iterable( + self._check_raw_id_fields_item( + obj, field_name, "raw_id_fields[%d]" % index + ) + for index, field_name in enumerate(obj.raw_id_fields) + ) + ) + + def _check_raw_id_fields_item(self, obj, field_name, label): + """Check an item of `raw_id_fields`, i.e. check that field named + `field_name` exists in model `model` and is a ForeignKey or a + ManyToManyField.""" + + try: + field = obj.model._meta.get_field(field_name) + except FieldDoesNotExist: + return refer_to_missing_field( + field=field_name, option=label, obj=obj, id="admin.E002" + ) + else: + # Using attname is not supported. + if field.name != field_name: + return refer_to_missing_field( + field=field_name, + option=label, + obj=obj, + id="admin.E002", + ) + if not field.many_to_many and not isinstance(field, models.ForeignKey): + return must_be( + "a foreign key or a many-to-many field", + option=label, + obj=obj, + id="admin.E003", + ) + else: + return [] + + def _check_fields(self, obj): + """Check that `fields` only refer to existing fields, doesn't contain + duplicates. Check if at most one of `fields` and `fieldsets` is defined. + """ + + if obj.fields is None: + return [] + elif not isinstance(obj.fields, (list, tuple)): + return must_be("a list or tuple", option="fields", obj=obj, id="admin.E004") + elif obj.fieldsets: + return [ + checks.Error( + "Both 'fieldsets' and 'fields' are specified.", + obj=obj.__class__, + id="admin.E005", + ) + ] + fields = flatten(obj.fields) + if len(fields) != len(set(fields)): + return [ + checks.Error( + "The value of 'fields' contains duplicate field(s).", + obj=obj.__class__, + id="admin.E006", + ) + ] + + return list( + chain.from_iterable( + self._check_field_spec(obj, field_name, "fields") + for field_name in obj.fields + ) + ) + + def _check_fieldsets(self, obj): + """Check that fieldsets is properly formatted and doesn't contain + duplicates.""" + + if obj.fieldsets is None: + return [] + elif not isinstance(obj.fieldsets, (list, tuple)): + return must_be( + "a list or tuple", option="fieldsets", obj=obj, id="admin.E007" + ) + else: + seen_fields = [] + return list( + chain.from_iterable( + self._check_fieldsets_item( + obj, fieldset, "fieldsets[%d]" % index, seen_fields + ) + for index, fieldset in enumerate(obj.fieldsets) + ) + ) + + def _check_fieldsets_item(self, obj, fieldset, label, seen_fields): + """Check an item of `fieldsets`, i.e. check that this is a pair of a + set name and a dictionary containing "fields" key.""" + + if not isinstance(fieldset, (list, tuple)): + return must_be("a list or tuple", option=label, obj=obj, id="admin.E008") + elif len(fieldset) != 2: + return must_be("of length 2", option=label, obj=obj, id="admin.E009") + elif not isinstance(fieldset[1], dict): + return must_be( + "a dictionary", option="%s[1]" % label, obj=obj, id="admin.E010" + ) + elif "fields" not in fieldset[1]: + return [ + checks.Error( + "The value of '%s[1]' must contain the key 'fields'." % label, + obj=obj.__class__, + id="admin.E011", + ) + ] + elif not isinstance(fieldset[1]["fields"], (list, tuple)): + return must_be( + "a list or tuple", + option="%s[1]['fields']" % label, + obj=obj, + id="admin.E008", + ) + + seen_fields.extend(flatten(fieldset[1]["fields"])) + if len(seen_fields) != len(set(seen_fields)): + return [ + checks.Error( + "There are duplicate field(s) in '%s[1]'." % label, + obj=obj.__class__, + id="admin.E012", + ) + ] + return list( + chain.from_iterable( + self._check_field_spec(obj, fieldset_fields, '%s[1]["fields"]' % label) + for fieldset_fields in fieldset[1]["fields"] + ) + ) + + def _check_field_spec(self, obj, fields, label): + """`fields` should be an item of `fields` or an item of + fieldset[1]['fields'] for any `fieldset` in `fieldsets`. It should be a + field name or a tuple of field names.""" + + if isinstance(fields, tuple): + return list( + chain.from_iterable( + self._check_field_spec_item( + obj, field_name, "%s[%d]" % (label, index) + ) + for index, field_name in enumerate(fields) + ) + ) + else: + return self._check_field_spec_item(obj, fields, label) + + def _check_field_spec_item(self, obj, field_name, label): + if field_name in obj.readonly_fields: + # Stuff can be put in fields that isn't actually a model field if + # it's in readonly_fields, readonly_fields will handle the + # validation of such things. + return [] + else: + try: + field = obj.model._meta.get_field(field_name) + except FieldDoesNotExist: + # If we can't find a field on the model that matches, it could + # be an extra field on the form. + return [] + else: + if ( + isinstance(field, models.ManyToManyField) + and not field.remote_field.through._meta.auto_created + ): + return [ + checks.Error( + "The value of '%s' cannot include the ManyToManyField " + "'%s', because that field manually specifies a " + "relationship model." % (label, field_name), + obj=obj.__class__, + id="admin.E013", + ) + ] + else: + return [] + + def _check_exclude(self, obj): + """Check that exclude is a sequence without duplicates.""" + + if obj.exclude is None: # default value is None + return [] + elif not isinstance(obj.exclude, (list, tuple)): + return must_be( + "a list or tuple", option="exclude", obj=obj, id="admin.E014" + ) + elif len(obj.exclude) > len(set(obj.exclude)): + return [ + checks.Error( + "The value of 'exclude' contains duplicate field(s).", + obj=obj.__class__, + id="admin.E015", + ) + ] + else: + return [] + + def _check_form(self, obj): + """Check that form subclasses BaseModelForm.""" + if not _issubclass(obj.form, BaseModelForm): + return must_inherit_from( + parent="BaseModelForm", option="form", obj=obj, id="admin.E016" + ) + else: + return [] + + def _check_filter_vertical(self, obj): + """Check that filter_vertical is a sequence of field names.""" + if not isinstance(obj.filter_vertical, (list, tuple)): + return must_be( + "a list or tuple", option="filter_vertical", obj=obj, id="admin.E017" + ) + else: + return list( + chain.from_iterable( + self._check_filter_item( + obj, field_name, "filter_vertical[%d]" % index + ) + for index, field_name in enumerate(obj.filter_vertical) + ) + ) + + def _check_filter_horizontal(self, obj): + """Check that filter_horizontal is a sequence of field names.""" + if not isinstance(obj.filter_horizontal, (list, tuple)): + return must_be( + "a list or tuple", option="filter_horizontal", obj=obj, id="admin.E018" + ) + else: + return list( + chain.from_iterable( + self._check_filter_item( + obj, field_name, "filter_horizontal[%d]" % index + ) + for index, field_name in enumerate(obj.filter_horizontal) + ) + ) + + def _check_filter_item(self, obj, field_name, label): + """Check one item of `filter_vertical` or `filter_horizontal`, i.e. + check that given field exists and is a ManyToManyField.""" + + try: + field = obj.model._meta.get_field(field_name) + except FieldDoesNotExist: + return refer_to_missing_field( + field=field_name, option=label, obj=obj, id="admin.E019" + ) + else: + if not field.many_to_many or isinstance(field, models.ManyToManyRel): + return must_be( + "a many-to-many field", option=label, obj=obj, id="admin.E020" + ) + elif not field.remote_field.through._meta.auto_created: + return [ + checks.Error( + f"The value of '{label}' cannot include the ManyToManyField " + f"'{field_name}', because that field manually specifies a " + f"relationship model.", + obj=obj.__class__, + id="admin.E013", + ) + ] + else: + return [] + + def _check_radio_fields(self, obj): + """Check that `radio_fields` is a dictionary.""" + if not isinstance(obj.radio_fields, dict): + return must_be( + "a dictionary", option="radio_fields", obj=obj, id="admin.E021" + ) + else: + return list( + chain.from_iterable( + self._check_radio_fields_key(obj, field_name, "radio_fields") + + self._check_radio_fields_value( + obj, val, 'radio_fields["%s"]' % field_name + ) + for field_name, val in obj.radio_fields.items() + ) + ) + + def _check_radio_fields_key(self, obj, field_name, label): + """Check that a key of `radio_fields` dictionary is name of existing + field and that the field is a ForeignKey or has `choices` defined.""" + + try: + field = obj.model._meta.get_field(field_name) + except FieldDoesNotExist: + return refer_to_missing_field( + field=field_name, option=label, obj=obj, id="admin.E022" + ) + else: + if not (isinstance(field, models.ForeignKey) or field.choices): + return [ + checks.Error( + "The value of '%s' refers to '%s', which is not an " + "instance of ForeignKey, and does not have a 'choices' " + "definition." % (label, field_name), + obj=obj.__class__, + id="admin.E023", + ) + ] + else: + return [] + + def _check_radio_fields_value(self, obj, val, label): + """Check type of a value of `radio_fields` dictionary.""" + + from django.contrib.admin.options import HORIZONTAL, VERTICAL + + if val not in (HORIZONTAL, VERTICAL): + return [ + checks.Error( + "The value of '%s' must be either admin.HORIZONTAL or " + "admin.VERTICAL." % label, + obj=obj.__class__, + id="admin.E024", + ) + ] + else: + return [] + + def _check_view_on_site_url(self, obj): + if not callable(obj.view_on_site) and not isinstance(obj.view_on_site, bool): + return [ + checks.Error( + "The value of 'view_on_site' must be a callable or a boolean " + "value.", + obj=obj.__class__, + id="admin.E025", + ) + ] + else: + return [] + + def _check_prepopulated_fields(self, obj): + """Check that `prepopulated_fields` is a dictionary containing allowed + field types.""" + if not isinstance(obj.prepopulated_fields, dict): + return must_be( + "a dictionary", option="prepopulated_fields", obj=obj, id="admin.E026" + ) + else: + return list( + chain.from_iterable( + self._check_prepopulated_fields_key( + obj, field_name, "prepopulated_fields" + ) + + self._check_prepopulated_fields_value( + obj, val, 'prepopulated_fields["%s"]' % field_name + ) + for field_name, val in obj.prepopulated_fields.items() + ) + ) + + def _check_prepopulated_fields_key(self, obj, field_name, label): + """Check a key of `prepopulated_fields` dictionary, i.e. check that it + is a name of existing field and the field is one of the allowed types. + """ + + try: + field = obj.model._meta.get_field(field_name) + except FieldDoesNotExist: + return refer_to_missing_field( + field=field_name, option=label, obj=obj, id="admin.E027" + ) + else: + if isinstance( + field, (models.DateTimeField, models.ForeignKey, models.ManyToManyField) + ): + return [ + checks.Error( + "The value of '%s' refers to '%s', which must not be a " + "DateTimeField, a ForeignKey, a OneToOneField, or a " + "ManyToManyField." % (label, field_name), + obj=obj.__class__, + id="admin.E028", + ) + ] + else: + return [] + + def _check_prepopulated_fields_value(self, obj, val, label): + """Check a value of `prepopulated_fields` dictionary, i.e. it's an + iterable of existing fields.""" + + if not isinstance(val, (list, tuple)): + return must_be("a list or tuple", option=label, obj=obj, id="admin.E029") + else: + return list( + chain.from_iterable( + self._check_prepopulated_fields_value_item( + obj, subfield_name, "%s[%r]" % (label, index) + ) + for index, subfield_name in enumerate(val) + ) + ) + + def _check_prepopulated_fields_value_item(self, obj, field_name, label): + """For `prepopulated_fields` equal to {"slug": ("title",)}, + `field_name` is "title".""" + + try: + obj.model._meta.get_field(field_name) + except FieldDoesNotExist: + return refer_to_missing_field( + field=field_name, option=label, obj=obj, id="admin.E030" + ) + else: + return [] + + def _check_ordering(self, obj): + """Check that ordering refers to existing fields or is random.""" + + # ordering = None + if obj.ordering is None: # The default value is None + return [] + elif not isinstance(obj.ordering, (list, tuple)): + return must_be( + "a list or tuple", option="ordering", obj=obj, id="admin.E031" + ) + else: + return list( + chain.from_iterable( + self._check_ordering_item(obj, field_name, "ordering[%d]" % index) + for index, field_name in enumerate(obj.ordering) + ) + ) + + def _check_ordering_item(self, obj, field_name, label): + """Check that `ordering` refers to existing fields.""" + if isinstance(field_name, (Combinable, models.OrderBy)): + if not isinstance(field_name, models.OrderBy): + field_name = field_name.asc() + if isinstance(field_name.expression, models.F): + field_name = field_name.expression.name + else: + return [] + if field_name == "?" and len(obj.ordering) != 1: + return [ + checks.Error( + "The value of 'ordering' has the random ordering marker '?', " + "but contains other fields as well.", + hint='Either remove the "?", or remove the other fields.', + obj=obj.__class__, + id="admin.E032", + ) + ] + elif field_name == "?": + return [] + elif LOOKUP_SEP in field_name: + # Skip ordering in the format field1__field2 (FIXME: checking + # this format would be nice, but it's a little fiddly). + return [] + else: + field_name = field_name.removeprefix("-") + if field_name == "pk": + return [] + try: + obj.model._meta.get_field(field_name) + except FieldDoesNotExist: + return refer_to_missing_field( + field=field_name, option=label, obj=obj, id="admin.E033" + ) + else: + return [] + + def _check_readonly_fields(self, obj): + """Check that readonly_fields refers to proper attribute or field.""" + + if obj.readonly_fields == (): + return [] + elif not isinstance(obj.readonly_fields, (list, tuple)): + return must_be( + "a list or tuple", option="readonly_fields", obj=obj, id="admin.E034" + ) + else: + return list( + chain.from_iterable( + self._check_readonly_fields_item( + obj, field_name, "readonly_fields[%d]" % index + ) + for index, field_name in enumerate(obj.readonly_fields) + ) + ) + + def _check_readonly_fields_item(self, obj, field_name, label): + if callable(field_name): + return [] + elif hasattr(obj, field_name): + return [] + elif hasattr(obj.model, field_name): + return [] + else: + try: + obj.model._meta.get_field(field_name) + except FieldDoesNotExist: + return [ + checks.Error( + "The value of '%s' refers to '%s', which is not a callable, " + "an attribute of '%s', or an attribute of '%s'." + % ( + label, + field_name, + obj.__class__.__name__, + obj.model._meta.label, + ), + obj=obj.__class__, + id="admin.E035", + ) + ] + else: + return [] + + +class ModelAdminChecks(BaseModelAdminChecks): + def check(self, admin_obj, **kwargs): + return [ + *super().check(admin_obj), + *self._check_save_as(admin_obj), + *self._check_save_on_top(admin_obj), + *self._check_inlines(admin_obj), + *self._check_list_display(admin_obj), + *self._check_list_display_links(admin_obj), + *self._check_list_filter(admin_obj), + *self._check_list_select_related(admin_obj), + *self._check_list_per_page(admin_obj), + *self._check_list_max_show_all(admin_obj), + *self._check_list_editable(admin_obj), + *self._check_search_fields(admin_obj), + *self._check_date_hierarchy(admin_obj), + *self._check_actions(admin_obj), + ] + + def _check_save_as(self, obj): + """Check save_as is a boolean.""" + + if not isinstance(obj.save_as, bool): + return must_be("a boolean", option="save_as", obj=obj, id="admin.E101") + else: + return [] + + def _check_save_on_top(self, obj): + """Check save_on_top is a boolean.""" + + if not isinstance(obj.save_on_top, bool): + return must_be("a boolean", option="save_on_top", obj=obj, id="admin.E102") + else: + return [] + + def _check_inlines(self, obj): + """Check all inline model admin classes.""" + + if not isinstance(obj.inlines, (list, tuple)): + return must_be( + "a list or tuple", option="inlines", obj=obj, id="admin.E103" + ) + else: + return list( + chain.from_iterable( + self._check_inlines_item(obj, item, "inlines[%d]" % index) + for index, item in enumerate(obj.inlines) + ) + ) + + def _check_inlines_item(self, obj, inline, label): + """Check one inline model admin.""" + try: + inline_label = inline.__module__ + "." + inline.__name__ + except AttributeError: + return [ + checks.Error( + "'%s' must inherit from 'InlineModelAdmin'." % obj, + obj=obj.__class__, + id="admin.E104", + ) + ] + + from django.contrib.admin.options import InlineModelAdmin + + if not _issubclass(inline, InlineModelAdmin): + return [ + checks.Error( + "'%s' must inherit from 'InlineModelAdmin'." % inline_label, + obj=obj.__class__, + id="admin.E104", + ) + ] + elif not inline.model: + return [ + checks.Error( + "'%s' must have a 'model' attribute." % inline_label, + obj=obj.__class__, + id="admin.E105", + ) + ] + elif not _issubclass(inline.model, models.Model): + return must_be( + "a Model", option="%s.model" % inline_label, obj=obj, id="admin.E106" + ) + else: + return inline(obj.model, obj.admin_site).check() + + def _check_list_display(self, obj): + """Check that list_display only contains fields or usable attributes.""" + + if not isinstance(obj.list_display, (list, tuple)): + return must_be( + "a list or tuple", option="list_display", obj=obj, id="admin.E107" + ) + else: + return list( + chain.from_iterable( + self._check_list_display_item(obj, item, "list_display[%d]" % index) + for index, item in enumerate(obj.list_display) + ) + ) + + def _check_list_display_item(self, obj, item, label): + if callable(item): + return [] + elif hasattr(obj, item): + return [] + try: + field = obj.model._meta.get_field(item) + except FieldDoesNotExist: + try: + field = getattr(obj.model, item) + except AttributeError: + try: + field = get_fields_from_path(obj.model, item)[-1] + except (FieldDoesNotExist, NotRelationField): + return [ + checks.Error( + f"The value of '{label}' refers to '{item}', which is not " + f"a callable or attribute of '{obj.__class__.__name__}', " + "or an attribute, method, or field on " + f"'{obj.model._meta.label}'.", + obj=obj.__class__, + id="admin.E108", + ) + ] + if ( + getattr(field, "is_relation", False) + and (field.many_to_many or field.one_to_many) + ) or (getattr(field, "rel", None) and field.rel.field.many_to_one): + return [ + checks.Error( + f"The value of '{label}' must not be a many-to-many field or a " + f"reverse foreign key.", + obj=obj.__class__, + id="admin.E109", + ) + ] + return [] + + def _check_list_display_links(self, obj): + """Check that list_display_links is a unique subset of list_display.""" + from django.contrib.admin.options import ModelAdmin + + if obj.list_display_links is None: + return [] + elif not isinstance(obj.list_display_links, (list, tuple)): + return must_be( + "a list, a tuple, or None", + option="list_display_links", + obj=obj, + id="admin.E110", + ) + # Check only if ModelAdmin.get_list_display() isn't overridden. + elif obj.get_list_display.__func__ is ModelAdmin.get_list_display: + return list( + chain.from_iterable( + self._check_list_display_links_item( + obj, field_name, "list_display_links[%d]" % index + ) + for index, field_name in enumerate(obj.list_display_links) + ) + ) + return [] + + def _check_list_display_links_item(self, obj, field_name, label): + if field_name not in obj.list_display: + return [ + checks.Error( + "The value of '%s' refers to '%s', which is not defined in " + "'list_display'." % (label, field_name), + obj=obj.__class__, + id="admin.E111", + ) + ] + else: + return [] + + def _check_list_filter(self, obj): + if not isinstance(obj.list_filter, (list, tuple)): + return must_be( + "a list or tuple", option="list_filter", obj=obj, id="admin.E112" + ) + else: + return list( + chain.from_iterable( + self._check_list_filter_item(obj, item, "list_filter[%d]" % index) + for index, item in enumerate(obj.list_filter) + ) + ) + + def _check_list_filter_item(self, obj, item, label): + """ + Check one item of `list_filter`, i.e. check if it is one of three options: + 1. 'field' -- a basic field filter, possibly w/ relationships (e.g. + 'field__rel') + 2. ('field', SomeFieldListFilter) - a field-based list filter class + 3. SomeListFilter - a non-field list filter class + """ + from django.contrib.admin import FieldListFilter, ListFilter + + if callable(item) and not isinstance(item, models.Field): + # If item is option 3, it should be a ListFilter... + if not _issubclass(item, ListFilter): + return must_inherit_from( + parent="ListFilter", option=label, obj=obj, id="admin.E113" + ) + # ... but not a FieldListFilter. + elif issubclass(item, FieldListFilter): + return [ + checks.Error( + "The value of '%s' must not inherit from 'FieldListFilter'." + % label, + obj=obj.__class__, + id="admin.E114", + ) + ] + else: + return [] + elif isinstance(item, (tuple, list)): + # item is option #2 + field, list_filter_class = item + if not _issubclass(list_filter_class, FieldListFilter): + return must_inherit_from( + parent="FieldListFilter", + option="%s[1]" % label, + obj=obj, + id="admin.E115", + ) + else: + return [] + else: + # item is option #1 + field = item + + # Validate the field string + try: + get_fields_from_path(obj.model, field) + except (NotRelationField, FieldDoesNotExist): + return [ + checks.Error( + "The value of '%s' refers to '%s', which does not refer to a " + "Field." % (label, field), + obj=obj.__class__, + id="admin.E116", + ) + ] + else: + return [] + + def _check_list_select_related(self, obj): + """Check that list_select_related is a boolean, a list or a tuple.""" + + if not isinstance(obj.list_select_related, (bool, list, tuple)): + return must_be( + "a boolean, tuple or list", + option="list_select_related", + obj=obj, + id="admin.E117", + ) + else: + return [] + + def _check_list_per_page(self, obj): + """Check that list_per_page is an integer.""" + + if not isinstance(obj.list_per_page, int): + return must_be( + "an integer", option="list_per_page", obj=obj, id="admin.E118" + ) + else: + return [] + + def _check_list_max_show_all(self, obj): + """Check that list_max_show_all is an integer.""" + + if not isinstance(obj.list_max_show_all, int): + return must_be( + "an integer", option="list_max_show_all", obj=obj, id="admin.E119" + ) + else: + return [] + + def _check_list_editable(self, obj): + """Check that list_editable is a sequence of editable fields from + list_display without first element.""" + + if not isinstance(obj.list_editable, (list, tuple)): + return must_be( + "a list or tuple", option="list_editable", obj=obj, id="admin.E120" + ) + else: + return list( + chain.from_iterable( + self._check_list_editable_item( + obj, item, "list_editable[%d]" % index + ) + for index, item in enumerate(obj.list_editable) + ) + ) + + def _check_list_editable_item(self, obj, field_name, label): + try: + field = obj.model._meta.get_field(field_name) + except FieldDoesNotExist: + return refer_to_missing_field( + field=field_name, option=label, obj=obj, id="admin.E121" + ) + else: + if field_name not in obj.list_display: + return [ + checks.Error( + "The value of '%s' refers to '%s', which is not " + "contained in 'list_display'." % (label, field_name), + obj=obj.__class__, + id="admin.E122", + ) + ] + elif obj.list_display_links and field_name in obj.list_display_links: + return [ + checks.Error( + "The value of '%s' cannot be in both 'list_editable' and " + "'list_display_links'." % field_name, + obj=obj.__class__, + id="admin.E123", + ) + ] + # If list_display[0] is in list_editable, check that + # list_display_links is set. See #22792 and #26229 for use cases. + elif ( + obj.list_display[0] == field_name + and not obj.list_display_links + and obj.list_display_links is not None + ): + return [ + checks.Error( + "The value of '%s' refers to the first field in 'list_display' " + "('%s'), which cannot be used unless 'list_display_links' is " + "set." % (label, obj.list_display[0]), + obj=obj.__class__, + id="admin.E124", + ) + ] + elif not field.editable or field.primary_key: + return [ + checks.Error( + "The value of '%s' refers to '%s', which is not editable " + "through the admin." % (label, field_name), + obj=obj.__class__, + id="admin.E125", + ) + ] + else: + return [] + + def _check_search_fields(self, obj): + """Check search_fields is a sequence.""" + + if not isinstance(obj.search_fields, (list, tuple)): + return must_be( + "a list or tuple", option="search_fields", obj=obj, id="admin.E126" + ) + else: + return [] + + def _check_date_hierarchy(self, obj): + """Check that date_hierarchy refers to DateField or DateTimeField.""" + + if obj.date_hierarchy is None: + return [] + else: + try: + field = get_fields_from_path(obj.model, obj.date_hierarchy)[-1] + except (NotRelationField, FieldDoesNotExist): + return [ + checks.Error( + "The value of 'date_hierarchy' refers to '%s', which " + "does not refer to a Field." % obj.date_hierarchy, + obj=obj.__class__, + id="admin.E127", + ) + ] + else: + if field.get_internal_type() not in {"DateField", "DateTimeField"}: + return must_be( + "a DateField or DateTimeField", + option="date_hierarchy", + obj=obj, + id="admin.E128", + ) + else: + return [] + + def _check_actions(self, obj): + errors = [] + actions = obj._get_base_actions() + + # Actions with an allowed_permission attribute require the ModelAdmin + # to implement a has__permission() method for each permission. + for func, name, _ in actions: + if not hasattr(func, "allowed_permissions"): + continue + for permission in func.allowed_permissions: + method_name = "has_%s_permission" % permission + if not hasattr(obj, method_name): + errors.append( + checks.Error( + "%s must define a %s() method for the %s action." + % ( + obj.__class__.__name__, + method_name, + func.__name__, + ), + obj=obj.__class__, + id="admin.E129", + ) + ) + # Names need to be unique. + names = collections.Counter(name for _, name, _ in actions) + for name, count in names.items(): + if count > 1: + errors.append( + checks.Error( + "__name__ attributes of actions defined in %s must be " + "unique. Name %r is not unique." + % ( + obj.__class__.__name__, + name, + ), + obj=obj.__class__, + id="admin.E130", + ) + ) + return errors + + +class InlineModelAdminChecks(BaseModelAdminChecks): + def check(self, inline_obj, **kwargs): + parent_model = inline_obj.parent_model + return [ + *super().check(inline_obj), + *self._check_relation(inline_obj, parent_model), + *self._check_exclude_of_parent_model(inline_obj, parent_model), + *self._check_extra(inline_obj), + *self._check_max_num(inline_obj), + *self._check_min_num(inline_obj), + *self._check_formset(inline_obj), + ] + + def _check_exclude_of_parent_model(self, obj, parent_model): + # Do not perform more specific checks if the base checks result in an + # error. + errors = super()._check_exclude(obj) + if errors: + return [] + + # Skip if `fk_name` is invalid. + if self._check_relation(obj, parent_model): + return [] + + if obj.exclude is None: + return [] + + fk = _get_foreign_key(parent_model, obj.model, fk_name=obj.fk_name) + if fk.name in obj.exclude: + return [ + checks.Error( + "Cannot exclude the field '%s', because it is the foreign key " + "to the parent model '%s'." + % ( + fk.name, + parent_model._meta.label, + ), + obj=obj.__class__, + id="admin.E201", + ) + ] + else: + return [] + + def _check_relation(self, obj, parent_model): + try: + _get_foreign_key(parent_model, obj.model, fk_name=obj.fk_name) + except ValueError as e: + return [checks.Error(e.args[0], obj=obj.__class__, id="admin.E202")] + else: + return [] + + def _check_extra(self, obj): + """Check that extra is an integer.""" + + if not isinstance(obj.extra, int): + return must_be("an integer", option="extra", obj=obj, id="admin.E203") + else: + return [] + + def _check_max_num(self, obj): + """Check that max_num is an integer.""" + + if obj.max_num is None: + return [] + elif not isinstance(obj.max_num, int): + return must_be("an integer", option="max_num", obj=obj, id="admin.E204") + else: + return [] + + def _check_min_num(self, obj): + """Check that min_num is an integer.""" + + if obj.min_num is None: + return [] + elif not isinstance(obj.min_num, int): + return must_be("an integer", option="min_num", obj=obj, id="admin.E205") + else: + return [] + + def _check_formset(self, obj): + """Check formset is a subclass of BaseModelFormSet.""" + + if not _issubclass(obj.formset, BaseModelFormSet): + return must_inherit_from( + parent="BaseModelFormSet", option="formset", obj=obj, id="admin.E206" + ) + else: + return [] + + +def must_be(type, option, obj, id): + return [ + checks.Error( + "The value of '%s' must be %s." % (option, type), + obj=obj.__class__, + id=id, + ), + ] + + +def must_inherit_from(parent, option, obj, id): + return [ + checks.Error( + "The value of '%s' must inherit from '%s'." % (option, parent), + obj=obj.__class__, + id=id, + ), + ] + + +def refer_to_missing_field(field, option, obj, id): + return [ + checks.Error( + "The value of '%s' refers to '%s', which is not a field of '%s'." + % (option, field, obj.model._meta.label), + obj=obj.__class__, + id=id, + ), + ] diff --git a/external_sources/django/django/contrib/admin/decorators.py b/external_sources/django/django/contrib/admin/decorators.py new file mode 100644 index 0000000..d3ff56a --- /dev/null +++ b/external_sources/django/django/contrib/admin/decorators.py @@ -0,0 +1,111 @@ +def action(function=None, *, permissions=None, description=None): + """ + Conveniently add attributes to an action function:: + + @admin.action( + permissions=['publish'], + description='Mark selected stories as published', + ) + def make_published(self, request, queryset): + queryset.update(status='p') + + This is equivalent to setting some attributes (with the original, longer + names) on the function directly:: + + def make_published(self, request, queryset): + queryset.update(status='p') + make_published.allowed_permissions = ['publish'] + make_published.short_description = 'Mark selected stories as published' + """ + + def decorator(func): + if permissions is not None: + func.allowed_permissions = permissions + if description is not None: + func.short_description = description + return func + + if function is None: + return decorator + else: + return decorator(function) + + +def display( + function=None, *, boolean=None, ordering=None, description=None, empty_value=None +): + """ + Conveniently add attributes to a display function:: + + @admin.display( + boolean=True, + ordering='-publish_date', + description='Is Published?', + ) + def is_published(self, obj): + return obj.publish_date is not None + + This is equivalent to setting some attributes (with the original, longer + names) on the function directly:: + + def is_published(self, obj): + return obj.publish_date is not None + is_published.boolean = True + is_published.admin_order_field = '-publish_date' + is_published.short_description = 'Is Published?' + """ + + def decorator(func): + if boolean is not None and empty_value is not None: + raise ValueError( + "The boolean and empty_value arguments to the @display " + "decorator are mutually exclusive." + ) + if boolean is not None: + func.boolean = boolean + if ordering is not None: + func.admin_order_field = ordering + if description is not None: + func.short_description = description + if empty_value is not None: + func.empty_value_display = empty_value + return func + + if function is None: + return decorator + else: + return decorator(function) + + +def register(*models, site=None): + """ + Register the given model(s) classes and wrapped ModelAdmin class with + admin site: + + @register(Author) + class AuthorAdmin(admin.ModelAdmin): + pass + + The `site` kwarg is an admin site to use instead of the default admin site. + """ + from django.contrib.admin import ModelAdmin + from django.contrib.admin.sites import AdminSite + from django.contrib.admin.sites import site as default_site + + def _model_admin_wrapper(admin_class): + if not models: + raise ValueError("At least one model must be passed to register.") + + admin_site = site or default_site + + if not isinstance(admin_site, AdminSite): + raise ValueError("site must subclass AdminSite") + + if not issubclass(admin_class, ModelAdmin): + raise ValueError("Wrapped class must subclass ModelAdmin.") + + admin_site.register(models, admin_class=admin_class) + + return admin_class + + return _model_admin_wrapper diff --git a/external_sources/django/django/contrib/admin/exceptions.py b/external_sources/django/django/contrib/admin/exceptions.py new file mode 100644 index 0000000..6105eef --- /dev/null +++ b/external_sources/django/django/contrib/admin/exceptions.py @@ -0,0 +1,25 @@ +from django.core.exceptions import SuspiciousOperation + + +class DisallowedModelAdminLookup(SuspiciousOperation): + """Invalid filter was passed to admin view via URL querystring""" + + pass + + +class DisallowedModelAdminToField(SuspiciousOperation): + """Invalid to_field was passed to admin view via URL query string""" + + pass + + +class AlreadyRegistered(Exception): + """The model is already registered.""" + + pass + + +class NotRegistered(Exception): + """The model is not registered.""" + + pass diff --git a/external_sources/django/django/contrib/admin/filters.py b/external_sources/django/django/contrib/admin/filters.py new file mode 100644 index 0000000..10a039a --- /dev/null +++ b/external_sources/django/django/contrib/admin/filters.py @@ -0,0 +1,716 @@ +""" +This encapsulates the logic for displaying filters in the Django admin. +Filters are specified in models with the "list_filter" option. + +Each filter subclass knows how to display a filter for a field that passes a +certain test -- e.g. being a DateField or ForeignKey. +""" + +import datetime + +from django.contrib.admin.exceptions import NotRegistered +from django.contrib.admin.options import IncorrectLookupParameters +from django.contrib.admin.utils import ( + build_q_object_from_lookup_parameters, + get_last_value_from_parameters, + get_model_from_relation, + prepare_lookup_value, + reverse_field_path, +) +from django.core.exceptions import ImproperlyConfigured, ValidationError +from django.db import models +from django.utils import timezone +from django.utils.translation import gettext_lazy as _ + + +class ListFilter: + title = None # Human-readable title to appear in the right sidebar. + template = "admin/filter.html" + + def __init__(self, request, params, model, model_admin): + self.request = request + # This dictionary will eventually contain the request's query string + # parameters actually used by this filter. + self.used_parameters = {} + if self.title is None: + raise ImproperlyConfigured( + "The list filter '%s' does not specify a 'title'." + % self.__class__.__name__ + ) + + def has_output(self): + """ + Return True if some choices would be output for this filter. + """ + raise NotImplementedError( + "subclasses of ListFilter must provide a has_output() method" + ) + + def choices(self, changelist): + """ + Return choices ready to be output in the template. + + `changelist` is the ChangeList to be displayed. + """ + raise NotImplementedError( + "subclasses of ListFilter must provide a choices() method" + ) + + def queryset(self, request, queryset): + """ + Return the filtered queryset. + """ + raise NotImplementedError( + "subclasses of ListFilter must provide a queryset() method" + ) + + def expected_parameters(self): + """ + Return the list of parameter names that are expected from the + request's query string and that will be used by this filter. + """ + raise NotImplementedError( + "subclasses of ListFilter must provide an expected_parameters() method" + ) + + +class FacetsMixin: + def get_facet_counts(self, pk_attname, filtered_qs): + raise NotImplementedError( + "subclasses of FacetsMixin must provide a get_facet_counts() method." + ) + + def get_facet_queryset(self, changelist): + filtered_qs = changelist.get_queryset( + self.request, exclude_parameters=self.expected_parameters() + ) + return filtered_qs.aggregate( + **self.get_facet_counts(changelist.pk_attname, filtered_qs) + ) + + +class SimpleListFilter(FacetsMixin, ListFilter): + # The parameter that should be used in the query string for that filter. + parameter_name = None + + def __init__(self, request, params, model, model_admin): + super().__init__(request, params, model, model_admin) + if self.parameter_name is None: + raise ImproperlyConfigured( + "The list filter '%s' does not specify a 'parameter_name'." + % self.__class__.__name__ + ) + if self.parameter_name in params: + value = params.pop(self.parameter_name) + self.used_parameters[self.parameter_name] = value[-1] + lookup_choices = self.lookups(request, model_admin) + if lookup_choices is None: + lookup_choices = () + self.lookup_choices = list(lookup_choices) + + def has_output(self): + return len(self.lookup_choices) > 0 + + def value(self): + """ + Return the value (in string format) provided in the request's + query string for this filter, if any, or None if the value wasn't + provided. + """ + return self.used_parameters.get(self.parameter_name) + + def lookups(self, request, model_admin): + """ + Must be overridden to return a list of tuples (value, verbose value) + """ + raise NotImplementedError( + "The SimpleListFilter.lookups() method must be overridden to " + "return a list of tuples (value, verbose value)." + ) + + def expected_parameters(self): + return [self.parameter_name] + + def get_facet_counts(self, pk_attname, filtered_qs): + original_value = self.used_parameters.get(self.parameter_name) + counts = {} + for i, choice in enumerate(self.lookup_choices): + self.used_parameters[self.parameter_name] = choice[0] + lookup_qs = self.queryset(self.request, filtered_qs) + if lookup_qs is not None: + counts[f"{i}__c"] = models.Count( + pk_attname, + filter=models.Q(pk__in=lookup_qs), + ) + self.used_parameters[self.parameter_name] = original_value + return counts + + def choices(self, changelist): + add_facets = changelist.add_facets + facet_counts = self.get_facet_queryset(changelist) if add_facets else None + yield { + "selected": self.value() is None, + "query_string": changelist.get_query_string(remove=[self.parameter_name]), + "display": _("All"), + } + for i, (lookup, title) in enumerate(self.lookup_choices): + if add_facets: + if (count := facet_counts.get(f"{i}__c", -1)) != -1: + title = f"{title} ({count})" + else: + title = f"{title} (-)" + yield { + "selected": self.value() == str(lookup), + "query_string": changelist.get_query_string( + {self.parameter_name: lookup} + ), + "display": title, + } + + +class FieldListFilter(FacetsMixin, ListFilter): + _field_list_filters = [] + _take_priority_index = 0 + list_separator = "," + + def __init__(self, field, request, params, model, model_admin, field_path): + self.field = field + self.field_path = field_path + self.title = getattr(field, "verbose_name", field_path) + super().__init__(request, params, model, model_admin) + for p in self.expected_parameters(): + if p in params: + value = params.pop(p) + self.used_parameters[p] = prepare_lookup_value( + p, value, self.list_separator + ) + + def has_output(self): + return True + + def queryset(self, request, queryset): + try: + q_object = build_q_object_from_lookup_parameters(self.used_parameters) + return queryset.filter(q_object) + except (ValueError, ValidationError) as e: + # Fields may raise a ValueError or ValidationError when converting + # the parameters to the correct type. + raise IncorrectLookupParameters(e) + + @classmethod + def register(cls, test, list_filter_class, take_priority=False): + if take_priority: + # This is to allow overriding the default filters for certain types + # of fields with some custom filters. The first found in the list + # is used in priority. + cls._field_list_filters.insert( + cls._take_priority_index, (test, list_filter_class) + ) + cls._take_priority_index += 1 + else: + cls._field_list_filters.append((test, list_filter_class)) + + @classmethod + def create(cls, field, request, params, model, model_admin, field_path): + for test, list_filter_class in cls._field_list_filters: + if test(field): + return list_filter_class( + field, request, params, model, model_admin, field_path=field_path + ) + + +class RelatedFieldListFilter(FieldListFilter): + def __init__(self, field, request, params, model, model_admin, field_path): + other_model = get_model_from_relation(field) + self.lookup_kwarg = "%s__%s__exact" % (field_path, field.target_field.name) + self.lookup_kwarg_isnull = "%s__isnull" % field_path + self.lookup_val = params.get(self.lookup_kwarg) + self.lookup_val_isnull = get_last_value_from_parameters( + params, self.lookup_kwarg_isnull + ) + super().__init__(field, request, params, model, model_admin, field_path) + self.lookup_choices = self.field_choices(field, request, model_admin) + if hasattr(field, "verbose_name"): + self.lookup_title = field.verbose_name + else: + self.lookup_title = other_model._meta.verbose_name + self.title = self.lookup_title + self.empty_value_display = model_admin.get_empty_value_display() + + @property + def include_empty_choice(self): + """ + Return True if a "(None)" choice should be included, which filters + out everything except empty relationships. + """ + return self.field.null or (self.field.is_relation and self.field.many_to_many) + + def has_output(self): + if self.include_empty_choice: + extra = 1 + else: + extra = 0 + return len(self.lookup_choices) + extra > 1 + + def expected_parameters(self): + return [self.lookup_kwarg, self.lookup_kwarg_isnull] + + def field_admin_ordering(self, field, request, model_admin): + """ + Return the model admin's ordering for related field, if provided. + """ + try: + related_admin = model_admin.admin_site.get_model_admin( + field.remote_field.model + ) + except NotRegistered: + return () + else: + return related_admin.get_ordering(request) + + def field_choices(self, field, request, model_admin): + ordering = self.field_admin_ordering(field, request, model_admin) + return field.get_choices(include_blank=False, ordering=ordering) + + def get_facet_counts(self, pk_attname, filtered_qs): + counts = { + f"{pk_val}__c": models.Count( + pk_attname, filter=models.Q(**{self.lookup_kwarg: pk_val}) + ) + for pk_val, _ in self.lookup_choices + } + if self.include_empty_choice: + counts["__c"] = models.Count( + pk_attname, filter=models.Q(**{self.lookup_kwarg_isnull: True}) + ) + return counts + + def choices(self, changelist): + add_facets = changelist.add_facets + facet_counts = self.get_facet_queryset(changelist) if add_facets else None + yield { + "selected": self.lookup_val is None and not self.lookup_val_isnull, + "query_string": changelist.get_query_string( + remove=[self.lookup_kwarg, self.lookup_kwarg_isnull] + ), + "display": _("All"), + } + count = None + for pk_val, val in self.lookup_choices: + if add_facets: + count = facet_counts[f"{pk_val}__c"] + val = f"{val} ({count})" + yield { + "selected": self.lookup_val is not None + and str(pk_val) in self.lookup_val, + "query_string": changelist.get_query_string( + {self.lookup_kwarg: pk_val}, [self.lookup_kwarg_isnull] + ), + "display": val, + } + empty_title = self.empty_value_display + if self.include_empty_choice: + if add_facets: + count = facet_counts["__c"] + empty_title = f"{empty_title} ({count})" + yield { + "selected": bool(self.lookup_val_isnull), + "query_string": changelist.get_query_string( + {self.lookup_kwarg_isnull: "True"}, [self.lookup_kwarg] + ), + "display": empty_title, + } + + +FieldListFilter.register(lambda f: f.remote_field, RelatedFieldListFilter) + + +class BooleanFieldListFilter(FieldListFilter): + def __init__(self, field, request, params, model, model_admin, field_path): + self.lookup_kwarg = "%s__exact" % field_path + self.lookup_kwarg2 = "%s__isnull" % field_path + self.lookup_val = get_last_value_from_parameters(params, self.lookup_kwarg) + self.lookup_val2 = get_last_value_from_parameters(params, self.lookup_kwarg2) + super().__init__(field, request, params, model, model_admin, field_path) + if ( + self.used_parameters + and self.lookup_kwarg in self.used_parameters + and self.used_parameters[self.lookup_kwarg] in ("1", "0") + ): + self.used_parameters[self.lookup_kwarg] = bool( + int(self.used_parameters[self.lookup_kwarg]) + ) + + def expected_parameters(self): + return [self.lookup_kwarg, self.lookup_kwarg2] + + def get_facet_counts(self, pk_attname, filtered_qs): + return { + "true__c": models.Count( + pk_attname, filter=models.Q(**{self.field_path: True}) + ), + "false__c": models.Count( + pk_attname, filter=models.Q(**{self.field_path: False}) + ), + "null__c": models.Count( + pk_attname, filter=models.Q(**{self.lookup_kwarg2: True}) + ), + } + + def choices(self, changelist): + field_choices = dict(self.field.flatchoices) + add_facets = changelist.add_facets + facet_counts = self.get_facet_queryset(changelist) if add_facets else None + for lookup, title, count_field in ( + (None, _("All"), None), + ("1", field_choices.get(True, _("Yes")), "true__c"), + ("0", field_choices.get(False, _("No")), "false__c"), + ): + if add_facets: + if count_field is not None: + count = facet_counts[count_field] + title = f"{title} ({count})" + yield { + "selected": self.lookup_val == lookup and not self.lookup_val2, + "query_string": changelist.get_query_string( + {self.lookup_kwarg: lookup}, [self.lookup_kwarg2] + ), + "display": title, + } + if self.field.null: + display = field_choices.get(None, _("Unknown")) + if add_facets: + count = facet_counts["null__c"] + display = f"{display} ({count})" + yield { + "selected": self.lookup_val2 == "True", + "query_string": changelist.get_query_string( + {self.lookup_kwarg2: "True"}, [self.lookup_kwarg] + ), + "display": display, + } + + +FieldListFilter.register( + lambda f: isinstance(f, models.BooleanField), BooleanFieldListFilter +) + + +class ChoicesFieldListFilter(FieldListFilter): + def __init__(self, field, request, params, model, model_admin, field_path): + self.lookup_kwarg = "%s__exact" % field_path + self.lookup_kwarg_isnull = "%s__isnull" % field_path + self.lookup_val = params.get(self.lookup_kwarg) + self.lookup_val_isnull = get_last_value_from_parameters( + params, self.lookup_kwarg_isnull + ) + super().__init__(field, request, params, model, model_admin, field_path) + + def expected_parameters(self): + return [self.lookup_kwarg, self.lookup_kwarg_isnull] + + def get_facet_counts(self, pk_attname, filtered_qs): + return { + f"{i}__c": models.Count( + pk_attname, + filter=models.Q( + (self.lookup_kwarg, value) + if value is not None + else (self.lookup_kwarg_isnull, True) + ), + ) + for i, (value, _) in enumerate(self.field.flatchoices) + } + + def choices(self, changelist): + add_facets = changelist.add_facets + facet_counts = self.get_facet_queryset(changelist) if add_facets else None + yield { + "selected": self.lookup_val is None, + "query_string": changelist.get_query_string( + remove=[self.lookup_kwarg, self.lookup_kwarg_isnull] + ), + "display": _("All"), + } + none_title = "" + for i, (lookup, title) in enumerate(self.field.flatchoices): + if add_facets: + count = facet_counts[f"{i}__c"] + title = f"{title} ({count})" + if lookup is None: + none_title = title + continue + yield { + "selected": self.lookup_val is not None + and str(lookup) in self.lookup_val, + "query_string": changelist.get_query_string( + {self.lookup_kwarg: lookup}, [self.lookup_kwarg_isnull] + ), + "display": title, + } + if none_title: + yield { + "selected": bool(self.lookup_val_isnull), + "query_string": changelist.get_query_string( + {self.lookup_kwarg_isnull: "True"}, [self.lookup_kwarg] + ), + "display": none_title, + } + + +FieldListFilter.register(lambda f: bool(f.choices), ChoicesFieldListFilter) + + +class DateFieldListFilter(FieldListFilter): + def __init__(self, field, request, params, model, model_admin, field_path): + self.field_generic = "%s__" % field_path + self.date_params = { + k: v[-1] for k, v in params.items() if k.startswith(self.field_generic) + } + + now = timezone.now() + # When time zone support is enabled, convert "now" to the user's time + # zone so Django's definition of "Today" matches what the user expects. + if timezone.is_aware(now): + now = timezone.localtime(now) + + if isinstance(field, models.DateTimeField): + today = now.replace(hour=0, minute=0, second=0, microsecond=0) + else: # field is a models.DateField + today = now.date() + tomorrow = today + datetime.timedelta(days=1) + if today.month == 12: + next_month = today.replace(year=today.year + 1, month=1, day=1) + else: + next_month = today.replace(month=today.month + 1, day=1) + next_year = today.replace(year=today.year + 1, month=1, day=1) + + self.lookup_kwarg_since = "%s__gte" % field_path + self.lookup_kwarg_until = "%s__lt" % field_path + self.links = ( + (_("Any date"), {}), + ( + _("Today"), + { + self.lookup_kwarg_since: today, + self.lookup_kwarg_until: tomorrow, + }, + ), + ( + _("Past 7 days"), + { + self.lookup_kwarg_since: today - datetime.timedelta(days=7), + self.lookup_kwarg_until: tomorrow, + }, + ), + ( + _("This month"), + { + self.lookup_kwarg_since: today.replace(day=1), + self.lookup_kwarg_until: next_month, + }, + ), + ( + _("This year"), + { + self.lookup_kwarg_since: today.replace(month=1, day=1), + self.lookup_kwarg_until: next_year, + }, + ), + ) + if field.null: + self.lookup_kwarg_isnull = "%s__isnull" % field_path + self.links += ( + (_("No date"), {self.field_generic + "isnull": True}), + (_("Has date"), {self.field_generic + "isnull": False}), + ) + super().__init__(field, request, params, model, model_admin, field_path) + + def expected_parameters(self): + params = [self.lookup_kwarg_since, self.lookup_kwarg_until] + if self.field.null: + params.append(self.lookup_kwarg_isnull) + return params + + def get_facet_counts(self, pk_attname, filtered_qs): + return { + f"{i}__c": models.Count(pk_attname, filter=models.Q(**param_dict)) + for i, (_, param_dict) in enumerate(self.links) + } + + def choices(self, changelist): + add_facets = changelist.add_facets + facet_counts = self.get_facet_queryset(changelist) if add_facets else None + for i, (title, param_dict) in enumerate(self.links): + param_dict_str = {key: str(value) for key, value in param_dict.items()} + if add_facets: + count = facet_counts[f"{i}__c"] + title = f"{title} ({count})" + yield { + "selected": self.date_params == param_dict_str, + "query_string": changelist.get_query_string( + param_dict_str, [self.field_generic] + ), + "display": title, + } + + +FieldListFilter.register(lambda f: isinstance(f, models.DateField), DateFieldListFilter) + + +# This should be registered last, because it's a last resort. For example, +# if a field is eligible to use the BooleanFieldListFilter, that'd be much +# more appropriate, and the AllValuesFieldListFilter won't get used for it. +class AllValuesFieldListFilter(FieldListFilter): + def __init__(self, field, request, params, model, model_admin, field_path): + self.lookup_kwarg = field_path + self.lookup_kwarg_isnull = "%s__isnull" % field_path + self.lookup_val = params.get(self.lookup_kwarg) + self.lookup_val_isnull = get_last_value_from_parameters( + params, self.lookup_kwarg_isnull + ) + self.empty_value_display = model_admin.get_empty_value_display() + parent_model, reverse_path = reverse_field_path(model, field_path) + # Obey parent ModelAdmin queryset when deciding which options to show + if model == parent_model: + queryset = model_admin.get_queryset(request) + else: + queryset = parent_model._default_manager.all() + self.lookup_choices = ( + queryset.distinct().order_by(field.name).values_list(field.name, flat=True) + ) + super().__init__(field, request, params, model, model_admin, field_path) + + def expected_parameters(self): + return [self.lookup_kwarg, self.lookup_kwarg_isnull] + + def get_facet_counts(self, pk_attname, filtered_qs): + return { + f"{i}__c": models.Count( + pk_attname, + filter=models.Q( + (self.lookup_kwarg, value) + if value is not None + else (self.lookup_kwarg_isnull, True) + ), + ) + for i, value in enumerate(self.lookup_choices) + } + + def choices(self, changelist): + add_facets = changelist.add_facets + facet_counts = self.get_facet_queryset(changelist) if add_facets else None + yield { + "selected": self.lookup_val is None and self.lookup_val_isnull is None, + "query_string": changelist.get_query_string( + remove=[self.lookup_kwarg, self.lookup_kwarg_isnull] + ), + "display": _("All"), + } + include_none = False + count = None + empty_title = self.empty_value_display + for i, val in enumerate(self.lookup_choices): + if add_facets: + count = facet_counts[f"{i}__c"] + if val is None: + include_none = True + empty_title = f"{empty_title} ({count})" if add_facets else empty_title + continue + val = str(val) + yield { + "selected": self.lookup_val is not None and val in self.lookup_val, + "query_string": changelist.get_query_string( + {self.lookup_kwarg: val}, [self.lookup_kwarg_isnull] + ), + "display": f"{val} ({count})" if add_facets else val, + } + if include_none: + yield { + "selected": bool(self.lookup_val_isnull), + "query_string": changelist.get_query_string( + {self.lookup_kwarg_isnull: "True"}, [self.lookup_kwarg] + ), + "display": empty_title, + } + + +FieldListFilter.register(lambda f: True, AllValuesFieldListFilter) + + +class RelatedOnlyFieldListFilter(RelatedFieldListFilter): + def field_choices(self, field, request, model_admin): + pk_qs = ( + model_admin.get_queryset(request) + .distinct() + .values_list("%s__pk" % self.field_path, flat=True) + ) + ordering = self.field_admin_ordering(field, request, model_admin) + return field.get_choices( + include_blank=False, limit_choices_to={"pk__in": pk_qs}, ordering=ordering + ) + + +class EmptyFieldListFilter(FieldListFilter): + def __init__(self, field, request, params, model, model_admin, field_path): + if not field.empty_strings_allowed and not field.null: + raise ImproperlyConfigured( + "The list filter '%s' cannot be used with field '%s' which " + "doesn't allow empty strings and nulls." + % ( + self.__class__.__name__, + field.name, + ) + ) + self.lookup_kwarg = "%s__isempty" % field_path + self.lookup_val = get_last_value_from_parameters(params, self.lookup_kwarg) + super().__init__(field, request, params, model, model_admin, field_path) + + def get_lookup_condition(self): + lookup_conditions = [] + if self.field.empty_strings_allowed: + lookup_conditions.append((self.field_path, "")) + if self.field.null: + lookup_conditions.append((f"{self.field_path}__isnull", True)) + return models.Q.create(lookup_conditions, connector=models.Q.OR) + + def queryset(self, request, queryset): + if self.lookup_kwarg not in self.used_parameters: + return queryset + if self.lookup_val not in ("0", "1"): + raise IncorrectLookupParameters + + lookup_condition = self.get_lookup_condition() + if self.lookup_val == "1": + return queryset.filter(lookup_condition) + return queryset.exclude(lookup_condition) + + def expected_parameters(self): + return [self.lookup_kwarg] + + def get_facet_counts(self, pk_attname, filtered_qs): + lookup_condition = self.get_lookup_condition() + return { + "empty__c": models.Count(pk_attname, filter=lookup_condition), + "not_empty__c": models.Count(pk_attname, filter=~lookup_condition), + } + + def choices(self, changelist): + add_facets = changelist.add_facets + facet_counts = self.get_facet_queryset(changelist) if add_facets else None + for lookup, title, count_field in ( + (None, _("All"), None), + ("1", _("Empty"), "empty__c"), + ("0", _("Not empty"), "not_empty__c"), + ): + if add_facets: + if count_field is not None: + count = facet_counts[count_field] + title = f"{title} ({count})" + yield { + "selected": self.lookup_val == lookup, + "query_string": changelist.get_query_string( + {self.lookup_kwarg: lookup} + ), + "display": title, + } diff --git a/external_sources/django/django/contrib/admin/forms.py b/external_sources/django/django/contrib/admin/forms.py new file mode 100644 index 0000000..bbb072b --- /dev/null +++ b/external_sources/django/django/contrib/admin/forms.py @@ -0,0 +1,31 @@ +from django.contrib.auth.forms import AuthenticationForm, PasswordChangeForm +from django.core.exceptions import ValidationError +from django.utils.translation import gettext_lazy as _ + + +class AdminAuthenticationForm(AuthenticationForm): + """ + A custom authentication form used in the admin app. + """ + + error_messages = { + **AuthenticationForm.error_messages, + "invalid_login": _( + "Please enter the correct %(username)s and password for a staff " + "account. Note that both fields may be case-sensitive." + ), + } + required_css_class = "required" + + def confirm_login_allowed(self, user): + super().confirm_login_allowed(user) + if not user.is_staff: + raise ValidationError( + self.error_messages["invalid_login"], + code="invalid_login", + params={"username": self.username_field.verbose_name}, + ) + + +class AdminPasswordChangeForm(PasswordChangeForm): + required_css_class = "required" diff --git a/external_sources/django/django/contrib/admin/helpers.py b/external_sources/django/django/contrib/admin/helpers.py new file mode 100644 index 0000000..d28a382 --- /dev/null +++ b/external_sources/django/django/contrib/admin/helpers.py @@ -0,0 +1,568 @@ +import json + +from django import forms +from django.contrib.admin.utils import ( + display_for_field, + flatten_fieldsets, + help_text_for_field, + label_for_field, + lookup_field, + quote, +) +from django.core.exceptions import ObjectDoesNotExist +from django.db.models.fields.related import ( + ForeignObjectRel, + ManyToManyRel, + OneToOneField, +) +from django.forms.utils import flatatt +from django.template.defaultfilters import capfirst, linebreaksbr +from django.urls import NoReverseMatch, reverse +from django.utils.functional import cached_property +from django.utils.html import conditional_escape, format_html +from django.utils.safestring import mark_safe +from django.utils.translation import gettext +from django.utils.translation import gettext_lazy as _ + +ACTION_CHECKBOX_NAME = "_selected_action" + + +class ActionForm(forms.Form): + action = forms.ChoiceField(label=_("Action:")) + select_across = forms.BooleanField( + label="", + required=False, + initial=0, + widget=forms.HiddenInput({"class": "select-across"}), + ) + + +class AdminForm: + def __init__( + self, + form, + fieldsets, + prepopulated_fields, + readonly_fields=None, + model_admin=None, + ): + self.form, self.fieldsets = form, fieldsets + self.prepopulated_fields = [ + {"field": form[field_name], "dependencies": [form[f] for f in dependencies]} + for field_name, dependencies in prepopulated_fields.items() + ] + self.model_admin = model_admin + if readonly_fields is None: + readonly_fields = () + self.readonly_fields = readonly_fields + + def __repr__(self): + return ( + f"<{self.__class__.__qualname__}: " + f"form={self.form.__class__.__qualname__} " + f"fieldsets={self.fieldsets!r}>" + ) + + def __iter__(self): + for name, options in self.fieldsets: + yield Fieldset( + self.form, + name, + readonly_fields=self.readonly_fields, + model_admin=self.model_admin, + **options, + ) + + @property + def errors(self): + return self.form.errors + + @property + def non_field_errors(self): + return self.form.non_field_errors + + @property + def fields(self): + return self.form.fields + + @property + def is_bound(self): + return self.form.is_bound + + @property + def media(self): + media = self.form.media + for fs in self: + media += fs.media + return media + + +class Fieldset: + def __init__( + self, + form, + name=None, + readonly_fields=(), + fields=(), + classes=(), + description=None, + model_admin=None, + ): + self.form = form + self.name, self.fields = name, fields + self.classes = " ".join(classes) + self.description = description + self.model_admin = model_admin + self.readonly_fields = readonly_fields + + @property + def media(self): + return forms.Media() + + @cached_property + def is_collapsible(self): + if any([field in self.fields for field in self.form.errors]): + return False + return "collapse" in self.classes + + def __iter__(self): + for field in self.fields: + yield Fieldline( + self.form, field, self.readonly_fields, model_admin=self.model_admin + ) + + +class Fieldline: + def __init__(self, form, field, readonly_fields=None, model_admin=None): + self.form = form # A django.forms.Form instance + if not hasattr(field, "__iter__") or isinstance(field, str): + self.fields = [field] + else: + self.fields = field + self.has_visible_field = not all( + field in self.form.fields and self.form.fields[field].widget.is_hidden + for field in self.fields + ) + self.model_admin = model_admin + if readonly_fields is None: + readonly_fields = () + self.readonly_fields = readonly_fields + + def __iter__(self): + for i, field in enumerate(self.fields): + if field in self.readonly_fields: + yield AdminReadonlyField( + self.form, field, is_first=(i == 0), model_admin=self.model_admin + ) + else: + yield AdminField(self.form, field, is_first=(i == 0)) + + def errors(self): + return mark_safe( + "\n".join( + self.form[f].errors.as_ul() + for f in self.fields + if f not in self.readonly_fields + ).strip("\n") + ) + + +class AdminField: + def __init__(self, form, field, is_first): + self.field = form[field] # A django.forms.BoundField instance + self.is_first = is_first # Whether this field is first on the line + self.is_checkbox = isinstance(self.field.field.widget, forms.CheckboxInput) + self.is_readonly = False + + def label_tag(self): + classes = [] + contents = conditional_escape(self.field.label) + if self.is_checkbox: + classes.append("vCheckboxLabel") + + if self.field.field.required: + classes.append("required") + if not self.is_first: + classes.append("inline") + attrs = {"class": " ".join(classes)} if classes else {} + # checkboxes should not have a label suffix as the checkbox appears + # to the left of the label. + return self.field.label_tag( + contents=mark_safe(contents), + attrs=attrs, + label_suffix="" if self.is_checkbox else None, + ) + + def errors(self): + return mark_safe(self.field.errors.as_ul()) + + +class AdminReadonlyField: + def __init__(self, form, field, is_first, model_admin=None): + # Make self.field look a little bit like a field. This means that + # {{ field.name }} must be a useful class name to identify the field. + # For convenience, store other field-related data here too. + if callable(field): + class_name = field.__name__ if field.__name__ != "" else "" + else: + class_name = field + + if form._meta.labels and class_name in form._meta.labels: + label = form._meta.labels[class_name] + else: + label = label_for_field(field, form._meta.model, model_admin, form=form) + + if form._meta.help_texts and class_name in form._meta.help_texts: + help_text = form._meta.help_texts[class_name] + else: + help_text = help_text_for_field(class_name, form._meta.model) + + if field in form.fields: + is_hidden = form.fields[field].widget.is_hidden + else: + is_hidden = False + + self.field = { + "name": class_name, + "label": label, + "help_text": help_text, + "field": field, + "is_hidden": is_hidden, + } + self.form = form + self.model_admin = model_admin + self.is_first = is_first + self.is_checkbox = False + self.is_readonly = True + self.empty_value_display = model_admin.get_empty_value_display() + + def label_tag(self): + attrs = {} + if not self.is_first: + attrs["class"] = "inline" + label = self.field["label"] + return format_html( + "{}{}", + flatatt(attrs), + capfirst(label), + self.form.label_suffix, + ) + + def get_admin_url(self, remote_field, remote_obj): + url_name = "admin:%s_%s_change" % ( + remote_field.model._meta.app_label, + remote_field.model._meta.model_name, + ) + try: + url = reverse( + url_name, + args=[quote(remote_obj.pk)], + current_app=self.model_admin.admin_site.name, + ) + return format_html('{}', url, remote_obj) + except NoReverseMatch: + return str(remote_obj) + + def contents(self): + from django.contrib.admin.templatetags.admin_list import _boolean_icon + + field, obj, model_admin = ( + self.field["field"], + self.form.instance, + self.model_admin, + ) + try: + f, attr, value = lookup_field(field, obj, model_admin) + except (AttributeError, ValueError, ObjectDoesNotExist): + result_repr = self.empty_value_display + else: + if field in self.form.fields: + widget = self.form[field].field.widget + # This isn't elegant but suffices for contrib.auth's + # ReadOnlyPasswordHashWidget. + if getattr(widget, "read_only", False): + return widget.render(field, value) + if f is None: + if getattr(attr, "boolean", False): + result_repr = _boolean_icon(value) + else: + if hasattr(value, "__html__"): + result_repr = value + else: + result_repr = linebreaksbr(value) + else: + if isinstance(f.remote_field, ManyToManyRel) and value is not None: + result_repr = ", ".join(map(str, value.all())) + elif ( + isinstance(f.remote_field, (ForeignObjectRel, OneToOneField)) + and value is not None + ): + result_repr = self.get_admin_url(f.remote_field, value) + else: + result_repr = display_for_field(value, f, self.empty_value_display) + result_repr = linebreaksbr(result_repr) + return conditional_escape(result_repr) + + +class InlineAdminFormSet: + """ + A wrapper around an inline formset for use in the admin system. + """ + + def __init__( + self, + inline, + formset, + fieldsets, + prepopulated_fields=None, + readonly_fields=None, + model_admin=None, + has_add_permission=True, + has_change_permission=True, + has_delete_permission=True, + has_view_permission=True, + ): + self.opts = inline + self.formset = formset + self.fieldsets = fieldsets + self.model_admin = model_admin + if readonly_fields is None: + readonly_fields = () + self.readonly_fields = readonly_fields + if prepopulated_fields is None: + prepopulated_fields = {} + self.prepopulated_fields = prepopulated_fields + self.classes = " ".join(inline.classes) if inline.classes else "" + self.has_add_permission = has_add_permission + self.has_change_permission = has_change_permission + self.has_delete_permission = has_delete_permission + self.has_view_permission = has_view_permission + + def __iter__(self): + if self.has_change_permission: + readonly_fields_for_editing = self.readonly_fields + else: + readonly_fields_for_editing = self.readonly_fields + flatten_fieldsets( + self.fieldsets + ) + + for form, original in zip( + self.formset.initial_forms, self.formset.get_queryset() + ): + view_on_site_url = self.opts.get_view_on_site_url(original) + yield InlineAdminForm( + self.formset, + form, + self.fieldsets, + self.prepopulated_fields, + original, + readonly_fields_for_editing, + model_admin=self.opts, + view_on_site_url=view_on_site_url, + ) + for form in self.formset.extra_forms: + yield InlineAdminForm( + self.formset, + form, + self.fieldsets, + self.prepopulated_fields, + None, + self.readonly_fields, + model_admin=self.opts, + ) + if self.has_add_permission: + yield InlineAdminForm( + self.formset, + self.formset.empty_form, + self.fieldsets, + self.prepopulated_fields, + None, + self.readonly_fields, + model_admin=self.opts, + ) + + def fields(self): + fk = getattr(self.formset, "fk", None) + empty_form = self.formset.empty_form + meta_labels = empty_form._meta.labels or {} + meta_help_texts = empty_form._meta.help_texts or {} + for i, field_name in enumerate(flatten_fieldsets(self.fieldsets)): + if fk and fk.name == field_name: + continue + if not self.has_change_permission or field_name in self.readonly_fields: + form_field = empty_form.fields.get(field_name) + widget_is_hidden = False + if form_field is not None: + widget_is_hidden = form_field.widget.is_hidden + yield { + "name": field_name, + "label": meta_labels.get(field_name) + or label_for_field( + field_name, + self.opts.model, + self.opts, + form=empty_form, + ), + "widget": {"is_hidden": widget_is_hidden}, + "required": False, + "help_text": meta_help_texts.get(field_name) + or help_text_for_field(field_name, self.opts.model), + } + else: + form_field = empty_form.fields[field_name] + label = form_field.label + if label is None: + label = label_for_field( + field_name, self.opts.model, self.opts, form=empty_form + ) + yield { + "name": field_name, + "label": label, + "widget": form_field.widget, + "required": form_field.required, + "help_text": form_field.help_text, + } + + def inline_formset_data(self): + verbose_name = self.opts.verbose_name + return json.dumps( + { + "name": "#%s" % self.formset.prefix, + "options": { + "prefix": self.formset.prefix, + "addText": gettext("Add another %(verbose_name)s") + % { + "verbose_name": capfirst(verbose_name), + }, + "deleteText": gettext("Remove"), + }, + } + ) + + @property + def forms(self): + return self.formset.forms + + @cached_property + def is_collapsible(self): + if any(self.formset.errors): + return False + return "collapse" in self.classes + + def non_form_errors(self): + return self.formset.non_form_errors() + + @property + def is_bound(self): + return self.formset.is_bound + + @property + def total_form_count(self): + return self.formset.total_form_count + + @property + def media(self): + media = self.opts.media + self.formset.media + for fs in self: + media += fs.media + return media + + +class InlineAdminForm(AdminForm): + """ + A wrapper around an inline form for use in the admin system. + """ + + def __init__( + self, + formset, + form, + fieldsets, + prepopulated_fields, + original, + readonly_fields=None, + model_admin=None, + view_on_site_url=None, + ): + self.formset = formset + self.model_admin = model_admin + self.original = original + self.show_url = original and view_on_site_url is not None + self.absolute_url = view_on_site_url + super().__init__( + form, fieldsets, prepopulated_fields, readonly_fields, model_admin + ) + + def __iter__(self): + for name, options in self.fieldsets: + yield InlineFieldset( + self.formset, + self.form, + name, + self.readonly_fields, + model_admin=self.model_admin, + **options, + ) + + def needs_explicit_pk_field(self): + return ( + # Auto fields are editable, so check for auto or non-editable pk. + self.form._meta.model._meta.auto_field + or not self.form._meta.model._meta.pk.editable + # The pk can be editable, but excluded from the inline. + or ( + self.form._meta.exclude + and self.form._meta.model._meta.pk.name in self.form._meta.exclude + ) + or + # Also search any parents for an auto field. (The pk info is + # propagated to child models so that does not need to be checked + # in parents.) + any( + parent._meta.auto_field or not parent._meta.model._meta.pk.editable + for parent in self.form._meta.model._meta.all_parents + ) + ) + + def pk_field(self): + return AdminField(self.form, self.formset._pk_field.name, False) + + def fk_field(self): + fk = getattr(self.formset, "fk", None) + if fk: + return AdminField(self.form, fk.name, False) + else: + return "" + + def deletion_field(self): + from django.forms.formsets import DELETION_FIELD_NAME + + return AdminField(self.form, DELETION_FIELD_NAME, False) + + +class InlineFieldset(Fieldset): + def __init__(self, formset, *args, **kwargs): + self.formset = formset + super().__init__(*args, **kwargs) + + def __iter__(self): + fk = getattr(self.formset, "fk", None) + for field in self.fields: + if not fk or fk.name != field: + yield Fieldline( + self.form, field, self.readonly_fields, model_admin=self.model_admin + ) + + +class AdminErrorList(forms.utils.ErrorList): + """Store errors for the form/formsets in an add/change view.""" + + def __init__(self, form, inline_formsets): + super().__init__() + + if form.is_bound: + self.extend(form.errors.values()) + for inline_formset in inline_formsets: + self.extend(inline_formset.non_form_errors()) + for errors_in_inline_form in inline_formset.errors: + self.extend(errors_in_inline_form.values()) diff --git a/external_sources/django/django/contrib/admin/locale/af/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/af/LC_MESSAGES/django.po new file mode 100644 index 0000000..ff97eae --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/af/LC_MESSAGES/django.po @@ -0,0 +1,774 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Christopher Penkin, 2012 +# Christopher Penkin, 2012 +# F Wolff , 2019-2020,2023 +# Pi Delport , 2012 +# Pi Delport , 2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 11:41-0300\n" +"PO-Revision-Date: 2023-12-04 07:05+0000\n" +"Last-Translator: F Wolff , 2019-2020,2023\n" +"Language-Team: Afrikaans (http://app.transifex.com/django/django/language/" +"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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Skrap gekose %(verbose_name_plural)s" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Het %(count)d %(items)s suksesvol geskrap." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Kan %(name)s nie skrap nie" + +msgid "Are you sure?" +msgstr "Is u seker?" + +msgid "Administration" +msgstr "Administrasie" + +msgid "All" +msgstr "Almal" + +msgid "Yes" +msgstr "Ja" + +msgid "No" +msgstr "Nee" + +msgid "Unknown" +msgstr "Onbekend" + +msgid "Any date" +msgstr "Enige datum" + +msgid "Today" +msgstr "Vandag" + +msgid "Past 7 days" +msgstr "Vorige 7 dae" + +msgid "This month" +msgstr "Hierdie maand" + +msgid "This year" +msgstr "Hierdie jaar" + +msgid "No date" +msgstr "Geen datum" + +msgid "Has date" +msgstr "Het datum" + +msgid "Empty" +msgstr "Leeg" + +msgid "Not empty" +msgstr "Nie leeg nie" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Gee die korrekte %(username)s en wagwoord vir ’n personeelrekening. Let op " +"dat altwee velde dalk hooflettersensitief is." + +msgid "Action:" +msgstr "Aksie:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Voeg nog ’n %(verbose_name)s by" + +msgid "Remove" +msgstr "Verwyder" + +msgid "Addition" +msgstr "Byvoeging" + +msgid "Change" +msgstr "" + +msgid "Deletion" +msgstr "Verwydering" + +msgid "action time" +msgstr "aksietyd" + +msgid "user" +msgstr "gebruiker" + +msgid "content type" +msgstr "inhoudtipe" + +msgid "object id" +msgstr "objek-ID" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "objek-repr" + +msgid "action flag" +msgstr "aksievlag" + +msgid "change message" +msgstr "veranderingboodskap" + +msgid "log entry" +msgstr "log-inskrywing" + +msgid "log entries" +msgstr "log-inskrywingings" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Het “%(object)s” bygevoeg." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Het “%(object)s” gewysig — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Het “%(object)s” geskrap." + +msgid "LogEntry Object" +msgstr "LogEntry-objek" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Het {name} “{object}” bygevoeg." + +msgid "Added." +msgstr "Bygevoeg." + +msgid "and" +msgstr "en" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Het {fields} vir {name} “{object}” bygevoeg." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Het {fields} verander." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Het {name} “{object}” geskrap." + +msgid "No fields changed." +msgstr "Geen velde het verander nie." + +msgid "None" +msgstr "Geen" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "Hou “Control” in (of “Command” op ’n Mac) om meer as een te kies." + +msgid "Select this object for an action - {}" +msgstr "Kies dié objek vir ’n aksie - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "Die {name} “{obj}” is suksesvol bygevoeg." + +msgid "You may edit it again below." +msgstr "Dit kan weer hieronder gewysig word." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"Die {name} “{obj}” is suksesvol bygevoeg. Voeg gerus nog ’n {name} onder by." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"Die {name} “{obj}” is suksesvol gewysig. Redigeer dit gerus weer onder." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "" +"Die {name} “{obj}” is suksesvol bygevoeg. Redigeer dit gerus weer onder." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"Die {name} “{obj}” is suksesvol bygevoeg. Voeg gerus nog ’n {name} onder by." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "Die {name} “{obj}” is suksesvol gewysig." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Items moet gekies word om aksies op hulle uit te voer. Geen items is " +"verander nie." + +msgid "No action selected." +msgstr "Geen aksie gekies nie." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "Die %(name)s “%(obj)s” is suksesvol geskrap." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "%(name)s met ID “%(key)s” bestaan nie. Is dit dalk geskrap?" + +#, python-format +msgid "Add %s" +msgstr "Voeg %s by" + +#, python-format +msgid "Change %s" +msgstr "Wysig %s" + +#, python-format +msgid "View %s" +msgstr "Beskou %s" + +msgid "Database error" +msgstr "Databasisfout" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s is suksesvol verander." +msgstr[1] "%(count)s %(name)s is suksesvol verander." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s gekies" +msgstr[1] "Al %(total_count)s gekies" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 uit %(cnt)s gekies" + +#, python-format +msgid "Change history: %s" +msgstr "Verander geskiedenis: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Om %(class_name)s %(instance)s te skrap sal vereis dat die volgende " +"beskermde verwante objekte geskrap word: %(related_objects)s" + +msgid "Django site admin" +msgstr "Django-werfadmin" + +msgid "Django administration" +msgstr "Django-administrasie" + +msgid "Site administration" +msgstr "Werfadministrasie" + +msgid "Log in" +msgstr "Meld aan" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s-administrasie" + +msgid "Page not found" +msgstr "Bladsy nie gevind nie" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Jammer! Die aangevraagde bladsy kon nie gevind word nie." + +msgid "Home" +msgstr "Tuis" + +msgid "Server error" +msgstr "Bedienerfout" + +msgid "Server error (500)" +msgstr "Bedienerfout (500)" + +msgid "Server Error (500)" +msgstr "Bedienerfout (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"’n Fout het voorgekom Dit is via e-pos aan die werfadministrateurs " +"gerapporteer en behoort binnekort reggestel te word. Dankie vir u geduld." + +msgid "Run the selected action" +msgstr "Voer die gekose aksie uit" + +msgid "Go" +msgstr "Gaan" + +msgid "Click here to select the objects across all pages" +msgstr "Kliek hier om die objekte oor alle bladsye te kies." + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Kies al %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Verwyder keuses" + +msgid "Breadcrumbs" +msgstr "Broodkrummels" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Modelle in die %(name)s-toepassing" + +msgid "Add" +msgstr "Voeg by" + +msgid "View" +msgstr "Bekyk" + +msgid "You don’t have permission to view or edit anything." +msgstr "U het nie regte om enigiets te sien of te redigeer nie." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Gee eerstens ’n gebruikernaam en wagwoord. Daarna kan meer gebruikervelde " +"geredigeer word." + +msgid "Enter a username and password." +msgstr "Vul ’n gebruikersnaam en wagwoord in." + +msgid "Change password" +msgstr "Verander wagwoord" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Korrigeer asb. die fout hier onder." +msgstr[1] "Korrigeer asb. die foute hier onder." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Vul ’n nuwe wagwoord vir gebruiker %(username)s in." + +msgid "Skip to main content" +msgstr "Gaan direk na hoofinhoud" + +msgid "Welcome," +msgstr "Welkom," + +msgid "View site" +msgstr "Besoek werf" + +msgid "Documentation" +msgstr "Dokumentasie" + +msgid "Log out" +msgstr "Meld af" + +#, python-format +msgid "Add %(name)s" +msgstr "Voeg %(name)s by" + +msgid "History" +msgstr "Geskiedenis" + +msgid "View on site" +msgstr "Bekyk op werf" + +msgid "Filter" +msgstr "Filtreer" + +msgid "Hide counts" +msgstr "Versteek tellings" + +msgid "Show counts" +msgstr "Wys tellings" + +msgid "Clear all filters" +msgstr "Verwyder alle filters" + +msgid "Remove from sorting" +msgstr "Verwyder uit sortering" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Sorteerprioriteit: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Wissel sortering" + +msgid "Toggle theme (current theme: auto)" +msgstr "Wissel tema (tans: outomaties)" + +msgid "Toggle theme (current theme: light)" +msgstr "Wissel tema (tans: lig)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Wissel tema (tans: donker)" + +msgid "Delete" +msgstr "Skrap" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Om die %(object_name)s %(escaped_object)s te skrap sou verwante objekte " +"skrap, maar jou rekening het nie toestemming om die volgende tipes objekte " +"te skrap nie:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Om die %(object_name)s “%(escaped_object)s” te skrap vereis dat die volgende " +"beskermde verwante objekte geskrap word:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Wil u definitief die %(object_name)s “%(escaped_object)s” skrap? Al die " +"volgende verwante items sal geskrap word:" + +msgid "Objects" +msgstr "Objekte" + +msgid "Yes, I’m sure" +msgstr "Ja, ek is seker" + +msgid "No, take me back" +msgstr "Nee, ek wil teruggaan" + +msgid "Delete multiple objects" +msgstr "Skrap meerdere objekte" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Om die gekose %(objects_name)s te skrap sou verwante objekte skrap, maar u " +"rekening het nie toestemming om die volgende tipes objekte te skrap nie:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Om die gekose %(objects_name)s te skrap vereis dat die volgende beskermde " +"verwante objekte geskrap word:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Wil u definitief die gekose %(objects_name)s skrap? Al die volgende objekte " +"en hul verwante items sal geskrap word:" + +msgid "Delete?" +msgstr "Skrap?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " Volgens %(filter_title)s " + +msgid "Summary" +msgstr "Opsomming" + +msgid "Recent actions" +msgstr "Onlangse aksies" + +msgid "My actions" +msgstr "My aksies" + +msgid "None available" +msgstr "Niks beskikbaar nie" + +msgid "Added:" +msgstr "Bygevoeg:" + +msgid "Changed:" +msgstr "Gewysig:" + +msgid "Deleted:" +msgstr "Geskrap:" + +msgid "Unknown content" +msgstr "Onbekende inhoud" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Iets is fout met die databasisinstallasie. Maak seker die gepaste " +"databasistabelle is geskep en maak seker die databasis is leesbaar deur die " +"gepaste gebruiker." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"U is aangemeld as %(username)s, maar het nie toegang tot hierdie bladsy nie. " +"Wil u met ’n ander rekening aanmeld?" + +msgid "Forgotten your password or username?" +msgstr "Wagwoord of gebruikersnaam vergeet?" + +msgid "Toggle navigation" +msgstr "" + +msgid "Sidebar" +msgstr "Kantbalk" + +msgid "Start typing to filter…" +msgstr "Tik om te filtreer..." + +msgid "Filter navigation items" +msgstr "" + +msgid "Date/time" +msgstr "Datum/tyd" + +msgid "User" +msgstr "Gebruiker" + +msgid "Action" +msgstr "Aksie" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "inskrywing" +msgstr[1] "inskrywings" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Dié objek het nie 'n wysigingsgeskiedenis. Dit is waarskynlik nie deur dié " +"adminwerf bygevoeg nie." + +msgid "Show all" +msgstr "Wys almal" + +msgid "Save" +msgstr "Stoor" + +msgid "Popup closing…" +msgstr "Opspringer sluit tans…" + +msgid "Search" +msgstr "Soek" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s resultaat" +msgstr[1] "%(counter)s resultate" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s in totaal" + +msgid "Save as new" +msgstr "Stoor as nuwe" + +msgid "Save and add another" +msgstr "Stoor en voeg ’n ander by" + +msgid "Save and continue editing" +msgstr "Stoor en wysig verder" + +msgid "Save and view" +msgstr "Stoor en bekyk" + +msgid "Close" +msgstr "Sluit" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Wysig gekose %(model)s" + +#, python-format +msgid "Add another %(model)s" +msgstr "Voeg nog ’n %(model)s by" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Skrap gekose %(model)s" + +#, python-format +msgid "View selected %(model)s" +msgstr "Wys gekose %(model)s" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "" +"Dankie vir die kwaliteittyd wat u met die webwerf deurgebring het vandag." + +msgid "Log in again" +msgstr "Meld weer aan" + +msgid "Password change" +msgstr "Wagwoordverandering" + +msgid "Your password was changed." +msgstr "Die wagwoord is verander." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Gee asb. die ou wagwoord t.w.v. sekuriteit, en gee dan die nuwe wagwoord " +"twee keer sodat ons kan verifieer dat dit korrek getik is." + +msgid "Change my password" +msgstr "Verander my wagwoord" + +msgid "Password reset" +msgstr "Wagwoordherstel" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Jou wagwoord is gestel. Jy kan nou voortgaan en aanmeld." + +msgid "Password reset confirmation" +msgstr "Bevestig wagwoordherstel" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Tik die nuwe wagwoord twee keer in so ons kan seker wees dat dit korrek " +"ingetik is." + +msgid "New password:" +msgstr "Nuwe wagwoord:" + +msgid "Confirm password:" +msgstr "Bevestig wagwoord:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Die skakel vir wagwoordherstel was ongeldig, dalk omdat dit reeds gebruik " +"is. Vra gerus ’n nuwe een aan." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Ons het instruksies gestuur om ’n wagwoord in te stel as ’n rekening bestaan " +"met die gegewe e-posadres. Dit behoort binnekort afgelewer te word." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"As u geen e-pos ontvang nie, kontroleer dat die e-posadres waarmee " +"geregistreer is, gegee is, en kontroleer die gemorspos." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"U ontvang hierdie e-pos omdat u ’n wagwoordherstel vir u rekening by " +"%(site_name)s aangevra het." + +msgid "Please go to the following page and choose a new password:" +msgstr "Gaan asseblief na die volgende bladsy en kies ’n nuwe wagwoord:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "U gebruikernaam vir ingeval u vergeet het:" + +msgid "Thanks for using our site!" +msgstr "Dankie vir die gebruik van ons webwerf!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Die %(site_name)s span" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Die wagwoord vergeet? Tik u e-posadres hieronder en ons sal instruksies vir " +"die instel van ’n nuwe wagwoord stuur." + +msgid "Email address:" +msgstr "E-posadres:" + +msgid "Reset my password" +msgstr "Herstel my wagwoord" + +msgid "Select all objects on this page for an action" +msgstr "Kies alle objekte op dié bladsy vir ’n aksie" + +msgid "All dates" +msgstr "Alle datums" + +#, python-format +msgid "Select %s" +msgstr "Kies %s" + +#, python-format +msgid "Select %s to change" +msgstr "Kies %s om te verander" + +#, python-format +msgid "Select %s to view" +msgstr "Kies %s om te bekyk" + +msgid "Date:" +msgstr "Datum:" + +msgid "Time:" +msgstr "Tyd:" + +msgid "Lookup" +msgstr "Soek" + +msgid "Currently:" +msgstr "Tans:" + +msgid "Change:" +msgstr "Wysig:" diff --git a/external_sources/django/django/contrib/admin/locale/af/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/af/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..de1f88c --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/af/LC_MESSAGES/djangojs.po @@ -0,0 +1,324 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# F Wolff , 2019,2023 +# Pi Delport , 2013 +# Pi Delport , 2013 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 15:04-0300\n" +"PO-Revision-Date: 2023-12-04 07:59+0000\n" +"Last-Translator: F Wolff , 2019,2023\n" +"Language-Team: Afrikaans (http://app.transifex.com/django/django/language/" +"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" + +#, javascript-format +msgid "Available %s" +msgstr "Beskikbare %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Hierdie is die lys beskikbare %s. Kies gerus deur hulle in die boksie " +"hieronder te merk en dan die “Kies”-knoppie tussen die boksies te klik." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Tik in hierdie blokkie om die lys beskikbare %s te filtreer." + +msgid "Filter" +msgstr "Filteer" + +msgid "Choose all" +msgstr "Kies almal" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Klik om al die %s gelyktydig te kies." + +msgid "Choose" +msgstr "Kies" + +msgid "Remove" +msgstr "Verwyder" + +#, javascript-format +msgid "Chosen %s" +msgstr "Gekose %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Hierdie is die lys gekose %s. Verwyder gerus deur hulle in die boksie " +"hieronder te merk en dan die “Verwyder”-knoppie tussen die boksies te klik." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "Tik in hierdie blokkie om die lys gekose %s te filtreer." + +msgid "Remove all" +msgstr "Verwyder almal" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Klik om al die %s gelyktydig te verwyder." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "" +msgstr[1] "" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s van %(cnt)s gekies" +msgstr[1] "%(sel)s van %(cnt)s gekies" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Daar is ongestoorde veranderinge op individuele redigeerbare velde. Deur nou " +"’n aksie uit te voer, sal ongestoorde veranderinge verlore gaan." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"’n Aksie is gekies, maar die veranderinge aan individuele velde is nog nie " +"gestoor nie. Klik OK om te stoor. Die aksie sal weer uitgevoer moet word." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"’n Aksie is gekies en geen veranderinge aan individuele velde is gemaak nie. " +"Dalk op soek na die Gaan-knoppie in plaas van die Stoor-knoppie?" + +msgid "Now" +msgstr "Nou" + +msgid "Midnight" +msgstr "Middernag" + +msgid "6 a.m." +msgstr "06:00" + +msgid "Noon" +msgstr "Middag" + +msgid "6 p.m." +msgstr "18:00" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Let wel: U is %s uur voor die bedienertyd." +msgstr[1] "Let wel: U is %s ure voor die bedienertyd." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Let wel: U is %s uur agter die bedienertyd." +msgstr[1] "Let wel: U is %s ure agter die bedienertyd." + +msgid "Choose a Time" +msgstr "Kies ’n tyd" + +msgid "Choose a time" +msgstr "Kies ‘n tyd" + +msgid "Cancel" +msgstr "Kanselleer" + +msgid "Today" +msgstr "Vandag" + +msgid "Choose a Date" +msgstr "Kies ’n datum" + +msgid "Yesterday" +msgstr "Gister" + +msgid "Tomorrow" +msgstr "Môre" + +msgid "January" +msgstr "Januarie" + +msgid "February" +msgstr "Februarie" + +msgid "March" +msgstr "Maart" + +msgid "April" +msgstr "April" + +msgid "May" +msgstr "Mei" + +msgid "June" +msgstr "Junie" + +msgid "July" +msgstr "Julie" + +msgid "August" +msgstr "Augustus" + +msgid "September" +msgstr "September" + +msgid "October" +msgstr "Oktober" + +msgid "November" +msgstr "November" + +msgid "December" +msgstr "Desember" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Jan" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Feb" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Mrt" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Apr" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "Mei" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Jun" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Jul" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Aug" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Sep" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Okt" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Nov" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Des" + +msgid "Sunday" +msgstr "Sondag" + +msgid "Monday" +msgstr "Maandag" + +msgid "Tuesday" +msgstr "Dinsdag" + +msgid "Wednesday" +msgstr "Woensdag" + +msgid "Thursday" +msgstr "Donderdag" + +msgid "Friday" +msgstr "Vrydag" + +msgid "Saturday" +msgstr "Saterdag" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "Son" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "Ma" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "Di" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "Wo" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "Do" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "Vr" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "Sa" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "S" + +msgctxt "one letter Monday" +msgid "M" +msgstr "M" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "D" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "W" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "D" + +msgctxt "one letter Friday" +msgid "F" +msgstr "V" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "S" + +msgid "Show" +msgstr "Wys" + +msgid "Hide" +msgstr "Versteek" diff --git a/external_sources/django/django/contrib/admin/locale/am/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/am/LC_MESSAGES/django.po new file mode 100644 index 0000000..b42fc41 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/am/LC_MESSAGES/django.po @@ -0,0 +1,636 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-19 16:49+0100\n" +"PO-Revision-Date: 2017-09-19 17:44+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Amharic (http://www.transifex.com/django/django/language/" +"am/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: am\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d %(items)s በተሳካ ሁኔታ ተወግድዋል:: " + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "%(name)s ማስወገድ አይቻልም" + +msgid "Are you sure?" +msgstr "እርግጠኛ ነህ?" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "የተመረጡትን %(verbose_name_plural)s አስወግድ" + +msgid "Administration" +msgstr "" + +msgid "All" +msgstr "ሁሉም" + +msgid "Yes" +msgstr "አዎ" + +msgid "No" +msgstr "አይደለም" + +msgid "Unknown" +msgstr "ያልታወቀ" + +msgid "Any date" +msgstr "ማንኛውም ቀን" + +msgid "Today" +msgstr "ዛሬ" + +msgid "Past 7 days" +msgstr "ያለፉት 7 ቀናት" + +msgid "This month" +msgstr "በዚህ ወር" + +msgid "This year" +msgstr "በዚህ አመት" + +msgid "No date" +msgstr "" + +msgid "Has date" +msgstr "" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" + +msgid "Action:" +msgstr "ተግባር:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "ሌላ %(verbose_name)s ጨምር" + +msgid "Remove" +msgstr "አጥፋ" + +msgid "action time" +msgstr "ተግባሩ የተፈፀመበት ጊዜ" + +msgid "user" +msgstr "" + +msgid "content type" +msgstr "" + +msgid "object id" +msgstr "" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/3/library/functions.html#repr) +msgid "object repr" +msgstr "" + +msgid "action flag" +msgstr "" + +msgid "change message" +msgstr "መልዕክት ለውጥ" + +msgid "log entry" +msgstr "" + +msgid "log entries" +msgstr "" + +#, python-format +msgid "Added \"%(object)s\"." +msgstr "\"%(object)s\" ተጨምሯል::" + +#, python-format +msgid "Changed \"%(object)s\" - %(changes)s" +msgstr "\"%(object)s\" - %(changes)s ተቀይሯል" + +#, python-format +msgid "Deleted \"%(object)s.\"" +msgstr "\"%(object)s.\" ተወግድዋል" + +msgid "LogEntry Object" +msgstr "" + +#, python-brace-format +msgid "Added {name} \"{object}\"." +msgstr "" + +msgid "Added." +msgstr "" + +msgid "and" +msgstr "እና" + +#, python-brace-format +msgid "Changed {fields} for {name} \"{object}\"." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "" + +#, python-brace-format +msgid "Deleted {name} \"{object}\"." +msgstr "" + +msgid "No fields changed." +msgstr "ምንም \"ፊልድ\" አልተቀየረም::" + +msgid "None" +msgstr "ምንም" + +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was added successfully." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" + +msgid "No action selected." +msgstr "ምንም ተግባር አልተመረጠም::" + +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "%(name)s \"%(obj)s\" በተሳካ ሁኔታ ተወግድዋል:: " + +#, python-format +msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "%s ጨምር" + +#, python-format +msgid "Change %s" +msgstr "%s ቀይር" + +msgid "Database error" +msgstr "የ(ዳታቤዝ) ችግር" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s በተሳካ ሁኔታ ተቀይሯል::" +msgstr[1] "%(count)s %(name)s በተሳካ ሁኔታ ተቀይረዋል::" + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s ተመርጠዋል" +msgstr[1] "ሁሉም %(total_count)s ተመርጠዋል" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 of %(cnt)s ተመርጠዋል" + +#, python-format +msgid "Change history: %s" +msgstr "ታሪኩን ቀይር: %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" + +msgid "Django site admin" +msgstr "ጃንጎ ድህረ-ገጽ አስተዳዳሪ" + +msgid "Django administration" +msgstr "ጃንጎ አስተዳደር" + +msgid "Site administration" +msgstr "ድህረ-ገጽ አስተዳደር" + +msgid "Log in" +msgstr "" + +#, python-format +msgid "%(app)s administration" +msgstr "" + +msgid "Page not found" +msgstr "ድህረ-ገጹ የለም" + +msgid "We're sorry, but the requested page could not be found." +msgstr "ይቅርታ! የፈለጉት ድህረ-ገጽ የለም::" + +msgid "Home" +msgstr "ሆም" + +msgid "Server error" +msgstr "የሰርቨር ችግር" + +msgid "Server error (500)" +msgstr "የሰርቨር ችግር (500)" + +msgid "Server Error (500)" +msgstr "የሰርቨር ችግር (500)" + +msgid "" +"There's been an error. It's been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +msgid "Run the selected action" +msgstr "የተመረጡትን ተግባሮች አስጀምር" + +msgid "Go" +msgstr "ስራ" + +msgid "Click here to select the objects across all pages" +msgstr "" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "ሁሉንም %(total_count)s %(module_name)s ምረጥ" + +msgid "Clear selection" +msgstr "የተመረጡትን ባዶ ኣድርግ" + +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" + +msgid "Enter a username and password." +msgstr "መለያስም(ዩዘርኔም) እና የይለፍቃል(ፓስወርድ) ይስገቡ::" + +msgid "Change password" +msgstr "የይለፍቃል(ፓስወርድ) ቅየር" + +msgid "Please correct the error below." +msgstr "ከታች ያሉትን ችግሮች ያስተካክሉ::" + +msgid "Please correct the errors below." +msgstr "" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "ለ %(username)s መለያ አዲስ የይለፍቃል(ፓስወርድ) ያስገቡ::" + +msgid "Welcome," +msgstr "እንኳን በደህና መጡ," + +msgid "View site" +msgstr "" + +msgid "Documentation" +msgstr "መረጃ" + +msgid "Log out" +msgstr "ጨርሰህ ውጣ" + +#, python-format +msgid "Add %(name)s" +msgstr "%(name)s ጨምር" + +msgid "History" +msgstr "ታሪክ" + +msgid "View on site" +msgstr "ድህረ-ገጹ ላይ ይመልከቱ" + +msgid "Filter" +msgstr "አጣራ" + +msgid "Remove from sorting" +msgstr "" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "" + +msgid "Toggle sorting" +msgstr "" + +msgid "Delete" +msgstr "" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" + +msgid "Objects" +msgstr "" + +msgid "Yes, I'm sure" +msgstr "አዎ,እርግጠኛ ነኝ" + +msgid "No, take me back" +msgstr "" + +msgid "Delete multiple objects" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" + +msgid "Change" +msgstr "ቀይር" + +msgid "Delete?" +msgstr "ላስወግድ?" + +#, python-format +msgid " By %(filter_title)s " +msgstr "በ %(filter_title)s" + +msgid "Summary" +msgstr "" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "" + +msgid "Add" +msgstr "ጨምር" + +msgid "You don't have permission to edit anything." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "My actions" +msgstr "" + +msgid "None available" +msgstr "ምንም የለም" + +msgid "Unknown content" +msgstr "" + +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" + +msgid "Forgotten your password or username?" +msgstr "የእርሶን መለያስም (ዩዘርኔም) ወይም የይለፍቃል(ፓስወርድ)ዘነጉት?" + +msgid "Date/time" +msgstr "ቀን/ጊዜ" + +msgid "User" +msgstr "" + +msgid "Action" +msgstr "" + +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" + +msgid "Show all" +msgstr "ሁሉንም አሳይ" + +msgid "Save" +msgstr "" + +msgid "Popup closing..." +msgstr "" + +#, python-format +msgid "Change selected %(model)s" +msgstr "" + +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "" + +msgid "Search" +msgstr "ፈልግ" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] " %(counter)s ውጤት" +msgstr[1] "%(counter)s ውጤቶች" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "በአጠቃላይ %(full_result_count)s" + +msgid "Save as new" +msgstr "" + +msgid "Save and add another" +msgstr "" + +msgid "Save and continue editing" +msgstr "" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "ዛሬ ድህረ-ገዓችንን ላይ ጥሩ ጊዜ ስላሳለፉ እናመሰግናለን::" + +msgid "Log in again" +msgstr "በድጋሜ ይግቡ" + +msgid "Password change" +msgstr "የይለፍቃል(ፓስወርድ) ቅየራ" + +msgid "Your password was changed." +msgstr "የይለፍቃልዎን(ፓስወርድ) ተቀይሯል::" + +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" + +msgid "Change my password" +msgstr "የይለፍቃል(ፓስወርድ) ቀይር" + +msgid "Password reset" +msgstr "" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "" + +msgid "Password reset confirmation" +msgstr "" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" + +msgid "New password:" +msgstr "አዲስ የይለፍቃል(ፓስወርድ):" + +msgid "Confirm password:" +msgstr "የይለፍቃልዎን(ፓስወርድ) በድጋሜ በማስገባት ያረጋግጡ:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" + +msgid "" +"We've emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don't receive an email, please make sure you've entered the address " +"you registered with, and check your spam folder." +msgstr "" +"ኢ-ሜል ካልደረስዎት እባክዎን የተመዘገቡበትን የኢ-ሜል አድራሻ ትክክለኛነት ይረጋግጡእንዲሁም ኢ-ሜል (ስፓም) ማህደር " +"ውስጥ ይመልከቱ::" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"ይህ ኢ-ሜል የደረስዎት %(site_name)s ላይ እንደ አዲስ የይለፍቃል(ፓስወርድ) ለ ለመቀየር ስለጠየቁ ነው::" + +msgid "Please go to the following page and choose a new password:" +msgstr "እባክዎን ወደሚከተለው ድህረ-ገዕ በመሄድ አዲስ የይለፍቃል(ፓስወርድ) ያውጡ:" + +msgid "Your username, in case you've forgotten:" +msgstr "ድንገት ከዘነጉት ይኌው የእርሶ መለያስም (ዩዘርኔም):" + +msgid "Thanks for using our site!" +msgstr "ድህረ-ገዓችንን ስለተጠቀሙ እናመሰግናለን!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s ቡድን" + +msgid "" +"Forgotten your password? Enter your email address below, and we'll email " +"instructions for setting a new one." +msgstr "" +"የይለፍቃልዎን(ፓስወርድ)ረሱት? ከታች የኢ-ሜል አድራሻዎን ይስገቡ እና አዲስ ፓስወርድ ለማውጣት የሚያስችል መረጃ " +"እንልክልዎታለን::" + +msgid "Email address:" +msgstr "ኢ-ሜል አድራሻ:" + +msgid "Reset my password" +msgstr "" + +msgid "All dates" +msgstr "ሁሉም ቀናት" + +#, python-format +msgid "Select %s" +msgstr "%sን ምረጥ" + +#, python-format +msgid "Select %s to change" +msgstr "ለመቀየር %sን ምረጥ" + +msgid "Date:" +msgstr "ቀን:" + +msgid "Time:" +msgstr "ጊዜ" + +msgid "Lookup" +msgstr "አፈላልግ" + +msgid "Currently:" +msgstr "በዚህ ጊዜ:" + +msgid "Change:" +msgstr "ቀይር:" diff --git a/external_sources/django/django/contrib/admin/locale/ar/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/ar/LC_MESSAGES/django.po new file mode 100644 index 0000000..f1b1725 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ar/LC_MESSAGES/django.po @@ -0,0 +1,731 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Bashar Al-Abdulhadi, 2015-2016,2018,2020-2021 +# Bashar Al-Abdulhadi, 2014 +# Eyad Toma , 2013 +# Jannis Leidel , 2011 +# Muaaz Alsaied, 2020 +# Tony xD , 2020 +# صفا الفليج , 2020 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-09-21 10:22+0200\n" +"PO-Revision-Date: 2021-10-15 21:11+0000\n" +"Last-Translator: Bashar Al-Abdulhadi\n" +"Language-Team: Arabic (http://www.transifex.com/django/django/language/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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "احذف %(verbose_name_plural)s المحدّدة" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "نجح حذف %(count)d من %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "تعذّر حذف %(name)s" + +msgid "Are you sure?" +msgstr "هل أنت متأكد؟" + +msgid "Administration" +msgstr "الإدارة" + +msgid "All" +msgstr "الكل" + +msgid "Yes" +msgstr "نعم" + +msgid "No" +msgstr "لا" + +msgid "Unknown" +msgstr "مجهول" + +msgid "Any date" +msgstr "أي تاريخ" + +msgid "Today" +msgstr "اليوم" + +msgid "Past 7 days" +msgstr "الأيام السبعة الماضية" + +msgid "This month" +msgstr "هذا الشهر" + +msgid "This year" +msgstr "هذه السنة" + +msgid "No date" +msgstr "لا يوجد أي تاريخ" + +msgid "Has date" +msgstr "به تاريخ" + +msgid "Empty" +msgstr "فارغ" + +msgid "Not empty" +msgstr "غير فارغ" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"من فضلك أدخِل قيمة %(username)s الصحيحة وكلمة السر لحساب الطاقم الإداري. " +"الحقلين حسّاسين لحالة الأحرف." + +msgid "Action:" +msgstr "الإجراء:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "أضِف %(verbose_name)s آخر" + +msgid "Remove" +msgstr "أزِل" + +msgid "Addition" +msgstr "إضافة" + +msgid "Change" +msgstr "تعديل" + +msgid "Deletion" +msgstr "حذف" + +msgid "action time" +msgstr "وقت الإجراء" + +msgid "user" +msgstr "المستخدم" + +msgid "content type" +msgstr "نوع المحتوى" + +msgid "object id" +msgstr "معرّف الكائن" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "التمثيل البصري للكائن" + +msgid "action flag" +msgstr "راية الإجراء" + +msgid "change message" +msgstr "رسالة التغيير" + +msgid "log entry" +msgstr "مدخلة سجلات" + +msgid "log entries" +msgstr "مدخلات السجلات" + +#, python-format +msgid "Added “%(object)s”." +msgstr "أُضيف ”%(object)s“." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "عُدّل ”%(object)s“ — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "حُذف ”%(object)s“." + +msgid "LogEntry Object" +msgstr "كائن LogEntry" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "أُضيف {name} ‏”{object}“." + +msgid "Added." +msgstr "أُضيف." + +msgid "and" +msgstr "و" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "تغيّرت {fields} ‏{name} ‏”{object}“." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "تغيّرت {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "حُذف {name} ‏”{object}“." + +msgid "No fields changed." +msgstr "لم يتغيّر أي حقل." + +msgid "None" +msgstr "بلا" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"اضغط مفتاح ”Contrl“ (أو ”Command“ على أجهزة ماك) مطوّلًا لتحديد أكثر من عنصر." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "نجحت إضافة {name} ‏”{obj}“." + +msgid "You may edit it again below." +msgstr "يمكنك تعديله ثانيةً أسفله." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "نجحت إضافة {name} ‏”{obj}“. يمكنك إضافة {name} آخر أسفله." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "نجح تعديل {name} ‏”{obj}“. يمكنك تعديله ثانيةً أسفله." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "نجحت إضافة {name} ‏”{obj}“. يمكنك تعديله ثانيةً أسفله." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "تمت إضافة {name} “{obj}” بنجاح، يمكنك إضافة {name} أخر بالأسفل." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "نجحت إضافة {name} ‏”{obj}“." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "عليك تحديد العناصر لتطبيق الإجراءات عليها. لم يتغيّر أيّ عنصر." + +msgid "No action selected." +msgstr "لا إجراء محدّد." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "نجح حذف %(name)s ‏”%(obj)s“." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "ما من %(name)s له المعرّف ”%(key)s“. لربّما حُذف أساسًا؟" + +#, python-format +msgid "Add %s" +msgstr "إضافة %s" + +#, python-format +msgid "Change %s" +msgstr "تعديل %s" + +#, python-format +msgid "View %s" +msgstr "عرض %s" + +msgid "Database error" +msgstr "خطـأ في قاعدة البيانات" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "لم يتم تغيير أي شيء" +msgstr[1] "تم تغيير %(count)s %(name)s بنجاح." +msgstr[2] "تم تغيير %(count)s %(name)s بنجاح." +msgstr[3] "تم تغيير %(count)s %(name)s بنجاح." +msgstr[4] "تم تغيير %(count)s %(name)s بنجاح." +msgstr[5] "تم تغيير %(count)s %(name)s بنجاح." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "لم يتم تحديد أي شيء" +msgstr[1] "تم تحديد %(total_count)s" +msgstr[2] "تم تحديد %(total_count)s" +msgstr[3] "تم تحديد %(total_count)s" +msgstr[4] "تم تحديد %(total_count)s" +msgstr[5] "تم تحديد %(total_count)s" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "لا شيء محدد من %(cnt)s" + +#, python-format +msgid "Change history: %s" +msgstr "تاريخ التغيير: %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"حذف %(class_name)s %(instance)s سيتسبب أيضاً بحذف العناصر المرتبطة التالية: " +"%(related_objects)s" + +msgid "Django site admin" +msgstr "إدارة موقع جانغو" + +msgid "Django administration" +msgstr "إدارة جانغو" + +msgid "Site administration" +msgstr "إدارة الموقع" + +msgid "Log in" +msgstr "ادخل" + +#, python-format +msgid "%(app)s administration" +msgstr "إدارة %(app)s " + +msgid "Page not found" +msgstr "تعذر العثور على الصفحة" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "نحن آسفون، لكننا لم نعثر على الصفحة المطلوبة." + +msgid "Home" +msgstr "الرئيسية" + +msgid "Server error" +msgstr "خطأ في المزود" + +msgid "Server error (500)" +msgstr "خطأ في المزود (500)" + +msgid "Server Error (500)" +msgstr "خطأ في المزود (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"لقد حدث خطأ. تم إبلاغ مسؤولي الموقع عبر البريد الإلكتروني وسيتم إصلاحه " +"قريبًا. شكرا لصبرك." + +msgid "Run the selected action" +msgstr "نفذ الإجراء المحدّد" + +msgid "Go" +msgstr "نفّذ" + +msgid "Click here to select the objects across all pages" +msgstr "اضغط هنا لتحديد جميع العناصر في جميع الصفحات" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "اختيار %(total_count)s %(module_name)s جميعها" + +msgid "Clear selection" +msgstr "إزالة الاختيار" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "النماذج في تطبيق %(name)s" + +msgid "Add" +msgstr "أضف" + +msgid "View" +msgstr "استعراض" + +msgid "You don’t have permission to view or edit anything." +msgstr "ليست لديك الصلاحية لاستعراض أو لتعديل أي شيء." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"أولاً ، أدخل اسم المستخدم وكلمة المرور. بعد ذلك ، ستتمكن من تعديل المزيد من " +"خيارات المستخدم." + +msgid "Enter a username and password." +msgstr "أدخل اسم مستخدم وكلمة مرور." + +msgid "Change password" +msgstr "غيّر كلمة المرور" + +msgid "Please correct the error below." +msgstr "الرجاء تصحيح الأخطاء أدناه." + +msgid "Please correct the errors below." +msgstr "الرجاء تصحيح الأخطاء أدناه." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "أدخل كلمة مرور جديدة للمستخدم %(username)s." + +msgid "Welcome," +msgstr "أهلا، " + +msgid "View site" +msgstr "عرض الموقع" + +msgid "Documentation" +msgstr "الوثائق" + +msgid "Log out" +msgstr "تسجيل الخروج" + +#, python-format +msgid "Add %(name)s" +msgstr "أضف %(name)s" + +msgid "History" +msgstr "تاريخ" + +msgid "View on site" +msgstr "مشاهدة على الموقع" + +msgid "Filter" +msgstr "مرشّح" + +msgid "Clear all filters" +msgstr "مسح جميع المرشحات" + +msgid "Remove from sorting" +msgstr "إزالة من الترتيب" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "أولوية الترتيب: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "عكس الترتيب" + +msgid "Delete" +msgstr "احذف" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"حذف العنصر %(object_name)s '%(escaped_object)s' سيتسبب بحذف العناصر المرتبطة " +"به، إلا أنك لا تملك صلاحية حذف العناصر التالية:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"حذف %(object_name)s '%(escaped_object)s' سيتسبب أيضاً بحذف العناصر المرتبطة، " +"إلا أن حسابك ليس لديه صلاحية حذف أنواع العناصر التالية:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"متأكد أنك تريد حذف العنصر %(object_name)s \"%(escaped_object)s\"؟ سيتم حذف " +"جميع العناصر التالية المرتبطة به:" + +msgid "Objects" +msgstr "عناصر" + +msgid "Yes, I’m sure" +msgstr "نعم، أنا متأكد" + +msgid "No, take me back" +msgstr "لا, تراجع للخلف" + +msgid "Delete multiple objects" +msgstr "حذف عدّة عناصر" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"حذف عناصر %(objects_name)s المُحدّدة سيتسبب بحذف العناصر المرتبطة، إلا أن " +"حسابك ليس له صلاحية حذف أنواع العناصر التالية:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"حذف عناصر %(objects_name)s المحدّدة قد يتطلب حذف العناصر المحميّة المرتبطة " +"التالية:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"أأنت متأكد أنك تريد حذف عناصر %(objects_name)s المحددة؟ جميع العناصر التالية " +"والعناصر المرتبطة بها سيتم حذفها:" + +msgid "Delete?" +msgstr "احذفه؟" + +#, python-format +msgid " By %(filter_title)s " +msgstr " حسب %(filter_title)s " + +msgid "Summary" +msgstr "ملخص" + +msgid "Recent actions" +msgstr "آخر الإجراءات" + +msgid "My actions" +msgstr "إجراءاتي" + +msgid "None available" +msgstr "لا يوجد" + +msgid "Unknown content" +msgstr "مُحتوى مجهول" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"هنالك أمر خاطئ في تركيب قاعدة بياناتك، تأكد من أنه تم انشاء جداول قاعدة " +"البيانات الملائمة، وأن قاعدة البيانات قابلة للقراءة من قبل المستخدم الملائم." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"أنت مسجل الدخول بإسم المستخدم %(username)s, ولكنك غير مخول للوصول لهذه " +"الصفحة. هل ترغب بتسجيل الدخول بحساب آخر؟" + +msgid "Forgotten your password or username?" +msgstr "نسيت كلمة المرور أو اسم المستخدم الخاص بك؟" + +msgid "Toggle navigation" +msgstr "تغيير التصفّح" + +msgid "Start typing to filter…" +msgstr "ابدأ الكتابة للتصفية ..." + +msgid "Filter navigation items" +msgstr "تصفية عناصر التصفح" + +msgid "Date/time" +msgstr "التاريخ/الوقت" + +msgid "User" +msgstr "المستخدم" + +msgid "Action" +msgstr "إجراء" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"ليس لهذا العنصر سجلّ تغييرات، على الأغلب أنه لم يُنشأ من خلال نظام إدارة " +"الموقع." + +msgid "Show all" +msgstr "أظهر الكل" + +msgid "Save" +msgstr "احفظ" + +msgid "Popup closing…" +msgstr "جاري إغلاق النافذة المنبثقة..." + +msgid "Search" +msgstr "ابحث" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "لا نتائج" +msgstr[1] "نتيجة واحدة" +msgstr[2] "نتيجتان" +msgstr[3] "%(counter)s نتائج" +msgstr[4] "%(counter)s نتيجة" +msgstr[5] "%(counter)s نتيجة" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "المجموع %(full_result_count)s" + +msgid "Save as new" +msgstr "احفظ كجديد" + +msgid "Save and add another" +msgstr "احفظ وأضف آخر" + +msgid "Save and continue editing" +msgstr "احفظ واستمر بالتعديل" + +msgid "Save and view" +msgstr "احفظ واستعرض" + +msgid "Close" +msgstr "إغلاق" + +#, python-format +msgid "Change selected %(model)s" +msgstr "تغيير %(model)s المختارة" + +#, python-format +msgid "Add another %(model)s" +msgstr "أضف %(model)s آخر" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "حذف %(model)s المختارة" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "شكرا لقضاء بعض الوقت الجيد في الموقع اليوم." + +msgid "Log in again" +msgstr "ادخل مجدداً" + +msgid "Password change" +msgstr "غيّر كلمة مرورك" + +msgid "Your password was changed." +msgstr "تمّ تغيير كلمة مرورك." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"رجاءً أدخل كلمة المرور القديمة، للأمان، ثم أدخل كلمة المرور الجديدة مرتين " +"لنتأكد بأنك قمت بإدخالها بشكل صحيح." + +msgid "Change my password" +msgstr "غيّر كلمة مروري" + +msgid "Password reset" +msgstr "استعادة كلمة المرور" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "تم تعيين كلمة مرورك. يمكن الاستمرار وتسجيل دخولك الآن." + +msgid "Password reset confirmation" +msgstr "تأكيد استعادة كلمة المرور" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "رجاءً أدخل كلمة مرورك الجديدة مرتين كي تتأكّد من كتابتها بشكل صحيح." + +msgid "New password:" +msgstr "كلمة المرور الجديدة:" + +msgid "Confirm password:" +msgstr "أكّد كلمة المرور:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"رابط استعادة كلمة المرور غير صحيح، ربما لأنه استُخدم من قبل. رجاءً اطلب " +"استعادة كلمة المرور مرة أخرى." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"تم إرسال بريد إلكتروني بالتعليمات لضبط كلمة المرور الخاصة بك، وذلك في حال " +"تواجد حساب بنفس البريد الإلكتروني الذي أدخلته. سوف تستقبل البريد الإلكتروني " +"قريباً" + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"في حال عدم إستقبال البريد الإلكتروني، الرجاء التأكد من إدخال عنوان بريدك " +"الإلكتروني الخاص بحسابك ومراجعة مجلد الرسائل غير المرغوب بها." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"لقد قمت بتلقى هذه الرسالة لطلبك بإعادة تعين كلمة المرور لحسابك الشخصي على " +"%(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "رجاءً اذهب إلى الصفحة التالية واختر كلمة مرور جديدة:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "اسم المستخدم الخاص بك، في حال كنت قد نسيته:" + +msgid "Thanks for using our site!" +msgstr "شكراً لاستخدامك موقعنا!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "فريق %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"هل نسيت كلمة المرور؟ أدخل عنوان بريدك الإلكتروني أدناه وسوف نقوم بإرسال " +"تعليمات للحصول على كلمة مرور جديدة." + +msgid "Email address:" +msgstr "عنوان البريد الإلكتروني:" + +msgid "Reset my password" +msgstr "استعد كلمة مروري" + +msgid "All dates" +msgstr "كافة التواريخ" + +#, python-format +msgid "Select %s" +msgstr "اختر %s" + +#, python-format +msgid "Select %s to change" +msgstr "اختر %s لتغييره" + +#, python-format +msgid "Select %s to view" +msgstr "اختر %s للاستعراض" + +msgid "Date:" +msgstr "التاريخ:" + +msgid "Time:" +msgstr "الوقت:" + +msgid "Lookup" +msgstr "ابحث" + +msgid "Currently:" +msgstr "حالياً:" + +msgid "Change:" +msgstr "تغيير:" diff --git a/external_sources/django/django/contrib/admin/locale/ar/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/ar/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..f7570b5 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ar/LC_MESSAGES/djangojs.po @@ -0,0 +1,278 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Bashar Al-Abdulhadi, 2015,2020-2021 +# Bashar Al-Abdulhadi, 2014 +# Jannis Leidel , 2011 +# Omar Lajam, 2020 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-15 09:00+0100\n" +"PO-Revision-Date: 2021-10-15 21:27+0000\n" +"Last-Translator: Bashar Al-Abdulhadi\n" +"Language-Team: Arabic (http://www.transifex.com/django/django/language/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" + +#, javascript-format +msgid "Available %s" +msgstr "%s المتوفرة" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"هذه قائمة %s المتوفرة. يمكنك اختيار بعضها بانتقائها في الصندوق أدناه ثم " +"الضغط على سهم الـ\"اختيار\" بين الصندوقين." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "اكتب في هذا الصندوق لتصفية قائمة %s المتوفرة." + +msgid "Filter" +msgstr "تصفية" + +msgid "Choose all" +msgstr "اختر الكل" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "اضغط لاختيار جميع %s جملة واحدة." + +msgid "Choose" +msgstr "اختيار" + +msgid "Remove" +msgstr "احذف" + +#, javascript-format +msgid "Chosen %s" +msgstr "%s المُختارة" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"هذه قائمة %s المحددة. يمكنك إزالة بعضها باختيارها في الصندوق أدناه ثم اضغط " +"على سهم الـ\"إزالة\" بين الصندوقين." + +msgid "Remove all" +msgstr "إزالة الكل" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "اضغط لإزالة جميع %s المحددة جملة واحدة." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "لا شي محدد" +msgstr[1] "%(sel)s من %(cnt)s محدد" +msgstr[2] "%(sel)s من %(cnt)s محدد" +msgstr[3] "%(sel)s من %(cnt)s محددة" +msgstr[4] "%(sel)s من %(cnt)s محدد" +msgstr[5] "%(sel)s من %(cnt)s محدد" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"لديك تعديلات غير محفوظة على بعض الحقول القابلة للتعديل. إن نفذت أي إجراء " +"فسوف تخسر تعديلاتك." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"لقد حددت إجراءً ، لكنك لم تحفظ تغييراتك في الحقول الفردية حتى الآن. يرجى " +"النقر فوق موافق للحفظ. ستحتاج إلى إعادة تشغيل الإجراء." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"لقد حددت إجراء ، ولم تقم بإجراء أي تغييرات على الحقول الفردية. من المحتمل " +"أنك تبحث عن الزر أذهب بدلاً من الزر حفظ." + +msgid "Now" +msgstr "الآن" + +msgid "Midnight" +msgstr "منتصف الليل" + +msgid "6 a.m." +msgstr "6 ص." + +msgid "Noon" +msgstr "الظهر" + +msgid "6 p.m." +msgstr "6 مساءً" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "ملاحظة: أنت متقدم بـ %s ساعة من وقت الخادم." +msgstr[1] "ملاحظة: أنت متقدم بـ %s ساعة من وقت الخادم." +msgstr[2] "ملاحظة: أنت متقدم بـ %s ساعة من وقت الخادم." +msgstr[3] "ملاحظة: أنت متقدم بـ %s ساعة من وقت الخادم." +msgstr[4] "ملاحظة: أنت متقدم بـ %s ساعة من وقت الخادم." +msgstr[5] "ملاحظة: أنت متقدم بـ %s ساعة من وقت الخادم." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "ملاحظة: أنت متأخر بـ %s ساعة من وقت الخادم." +msgstr[1] "ملاحظة: أنت متأخر بـ %s ساعة من وقت الخادم." +msgstr[2] "ملاحظة: أنت متأخر بـ %s ساعة من وقت الخادم." +msgstr[3] "ملاحظة: أنت متأخر بـ %s ساعة من وقت الخادم." +msgstr[4] "ملاحظة: أنت متأخر بـ %s ساعة من وقت الخادم." +msgstr[5] "ملاحظة: أنت متأخر بـ %s ساعة من وقت الخادم." + +msgid "Choose a Time" +msgstr "إختر وقت" + +msgid "Choose a time" +msgstr "اختر وقتاً" + +msgid "Cancel" +msgstr "ألغ" + +msgid "Today" +msgstr "اليوم" + +msgid "Choose a Date" +msgstr "إختر تاريخ " + +msgid "Yesterday" +msgstr "أمس" + +msgid "Tomorrow" +msgstr "غداً" + +msgid "January" +msgstr "يناير" + +msgid "February" +msgstr "فبراير" + +msgid "March" +msgstr "مارس" + +msgid "April" +msgstr "أبريل" + +msgid "May" +msgstr "مايو" + +msgid "June" +msgstr "يونيو" + +msgid "July" +msgstr "يوليو" + +msgid "August" +msgstr "أغسطس" + +msgid "September" +msgstr "سبتمبر" + +msgid "October" +msgstr "أكتوبر" + +msgid "November" +msgstr "نوفمبر" + +msgid "December" +msgstr "ديسمبر" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "يناير" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "فبراير" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "مارس" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "إبريل" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "مايو" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "يونيو" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "يوليو" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "أغسطس" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "سبتمبر" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "أكتوبر" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "نوفمبر" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "ديسمبر" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "أحد" + +msgctxt "one letter Monday" +msgid "M" +msgstr "إثنين" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "ثلاثاء" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "أربعاء" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "خميس" + +msgctxt "one letter Friday" +msgid "F" +msgstr "جمعة" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "سبت" + +msgid "Show" +msgstr "أظهر" + +msgid "Hide" +msgstr "اخف" diff --git a/external_sources/django/django/contrib/admin/locale/ar_DZ/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/ar_DZ/LC_MESSAGES/django.po new file mode 100644 index 0000000..8608584 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ar_DZ/LC_MESSAGES/django.po @@ -0,0 +1,738 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jihad Bahmaid Al-Halki, 2022 +# Riterix , 2019-2020 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-05-17 05:10-0500\n" +"PO-Revision-Date: 2022-07-25 07:05+0000\n" +"Last-Translator: Jihad Bahmaid Al-Halki\n" +"Language-Team: Arabic (Algeria) (http://www.transifex.com/django/django/" +"language/ar_DZ/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar_DZ\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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "حذف سجلات %(verbose_name_plural)s المحددة" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "تم حذف %(count)d %(items)s بنجاح." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "لا يمكن حذف %(name)s" + +msgid "Are you sure?" +msgstr "هل أنت متأكد؟" + +msgid "Administration" +msgstr "الإدارة" + +msgid "All" +msgstr "الكل" + +msgid "Yes" +msgstr "نعم" + +msgid "No" +msgstr "لا" + +msgid "Unknown" +msgstr "مجهول" + +msgid "Any date" +msgstr "أي تاريخ" + +msgid "Today" +msgstr "اليوم" + +msgid "Past 7 days" +msgstr "الأيام السبعة الماضية" + +msgid "This month" +msgstr "هذا الشهر" + +msgid "This year" +msgstr "هذه السنة" + +msgid "No date" +msgstr "لا يوجد أي تاريخ" + +msgid "Has date" +msgstr "به تاريخ" + +msgid "Empty" +msgstr "فارغة" + +msgid "Not empty" +msgstr "ليست فارغة" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"الرجاء إدخال ال%(username)s و كلمة المرور الصحيحين لحساب الطاقم. الحقلين " +"حساسين وضعية الاحرف." + +msgid "Action:" +msgstr "إجراء:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "إضافة سجل %(verbose_name)s آخر" + +msgid "Remove" +msgstr "أزل" + +msgid "Addition" +msgstr "إضافة" + +msgid "Change" +msgstr "عدّل" + +msgid "Deletion" +msgstr "حذف" + +msgid "action time" +msgstr "وقت الإجراء" + +msgid "user" +msgstr "المستخدم" + +msgid "content type" +msgstr "نوع المحتوى" + +msgid "object id" +msgstr "معرف العنصر" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "ممثل العنصر" + +msgid "action flag" +msgstr "علامة الإجراء" + +msgid "change message" +msgstr "غيّر الرسالة" + +msgid "log entry" +msgstr "مُدخل السجل" + +msgid "log entries" +msgstr "مُدخلات السجل" + +#, python-format +msgid "Added “%(object)s”." +msgstr "تم إضافة العناصر \\\"%(object)s\\\"." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "تم تعديل العناصر \\\"%(object)s\\\" - %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "تم حذف العناصر \\\"%(object)s.\\\"" + +msgid "LogEntry Object" +msgstr "كائن LogEntry" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "تم إضافة {name} \\\"{object}\\\"." + +msgid "Added." +msgstr "تمت الإضافة." + +msgid "and" +msgstr "و" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "تم تغيير {fields} لـ {name} \\\"{object}\\\"." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "تم تغيير {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "تم حذف {name} \\\"{object}\\\"." + +msgid "No fields changed." +msgstr "لم يتم تغيير أية حقول." + +msgid "None" +msgstr "لاشيء" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"استمر بالضغط على مفتاح \\\"Control\\\", او \\\"Command\\\" على أجهزة الماك, " +"لإختيار أكثر من أختيار واحد." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "تمت إضافة {name} \\\"{obj}\\\" بنجاح." + +msgid "You may edit it again below." +msgstr "يمكن تعديله مرة أخرى أدناه." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "تمت إضافة {name} \\\"{obj}\\\" بنجاح. يمكنك إضافة {name} آخر أدناه." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "تم تغيير {name} \\\"{obj}\\\" بنجاح. يمكنك تعديله مرة أخرى أدناه." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "تمت إضافة {name} \\\"{obj}\\\" بنجاح. يمكنك تعديله مرة أخرى أدناه." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "تم تغيير {name} \\\"{obj}\\\" بنجاح. يمكنك إضافة {name} آخر أدناه." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "تم تغيير {name} \\\"{obj}\\\" بنجاح." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "يجب تحديد العناصر لتطبيق الإجراءات عليها. لم يتم تغيير أية عناصر." + +msgid "No action selected." +msgstr "لم يحدد أي إجراء." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "تم حذف %(name)s \\\"%(obj)s\\\" بنجاح." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "%(name)s ب ID \\\"%(key)s\\\" غير موجود. ربما تم حذفه؟" + +#, python-format +msgid "Add %s" +msgstr "أضف %s" + +#, python-format +msgid "Change %s" +msgstr "عدّل %s" + +#, python-format +msgid "View %s" +msgstr "عرض %s" + +msgid "Database error" +msgstr "خطـأ في قاعدة البيانات" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "تم تغيير %(count)s %(name)s بنجاح." +msgstr[1] "تم تغيير %(count)s %(name)s بنجاح." +msgstr[2] "تم تغيير %(count)s %(name)s بنجاح." +msgstr[3] "تم تغيير %(count)s %(name)s بنجاح." +msgstr[4] "تم تغيير %(count)s %(name)s بنجاح." +msgstr[5] "تم تغيير %(count)s %(name)s بنجاح." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "تم تحديد %(total_count)s" +msgstr[1] "تم تحديد %(total_count)s" +msgstr[2] "تم تحديد %(total_count)s" +msgstr[3] "تم تحديد %(total_count)s" +msgstr[4] "تم تحديد %(total_count)s" +msgstr[5] "تم تحديد %(total_count)s" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "لا شيء محدد من %(cnt)s" + +#, python-format +msgid "Change history: %s" +msgstr "تاريخ التغيير: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"حذف %(class_name)s %(instance)s سيتسبب أيضاً بحذف العناصر المرتبطة التالية: " +"%(related_objects)s" + +msgid "Django site admin" +msgstr "إدارة موقع جانغو" + +msgid "Django administration" +msgstr "إدارة جانغو" + +msgid "Site administration" +msgstr "إدارة الموقع" + +msgid "Log in" +msgstr "ادخل" + +#, python-format +msgid "%(app)s administration" +msgstr "إدارة %(app)s " + +msgid "Page not found" +msgstr "تعذر العثور على الصفحة" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "نحن آسفون، لكننا لم نعثر على الصفحة المطلوبة.\"" + +msgid "Home" +msgstr "الرئيسية" + +msgid "Server error" +msgstr "خطأ في المزود" + +msgid "Server error (500)" +msgstr "خطأ في المزود (500)" + +msgid "Server Error (500)" +msgstr "خطأ في المزود (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"كان هناك خطأ. تم إعلام المسؤولين عن الموقع عبر البريد الإلكتروني وسوف يتم " +"إصلاح الخطأ قريباً. شكراً على صبركم." + +msgid "Run the selected action" +msgstr "نفذ الإجراء المحدّد" + +msgid "Go" +msgstr "نفّذ" + +msgid "Click here to select the objects across all pages" +msgstr "اضغط هنا لتحديد جميع العناصر في جميع الصفحات" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "اختيار %(total_count)s %(module_name)s جميعها" + +msgid "Clear selection" +msgstr "إزالة الاختيار" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "النماذج في تطبيق %(name)s" + +msgid "Add" +msgstr "أضف" + +msgid "View" +msgstr "عرض" + +msgid "You don’t have permission to view or edit anything." +msgstr "ليس لديك الصلاحية لعرض أو تعديل أي شيء." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"أولاً، أدخل اسم مستخدم وكلمة مرور. ومن ثم تستطيع تعديل المزيد من خيارات " +"المستخدم." + +msgid "Enter a username and password." +msgstr "أدخل اسم مستخدم وكلمة مرور." + +msgid "Change password" +msgstr "غيّر كلمة المرور" + +msgid "Please correct the error below." +msgstr "يرجى تصحيح الخطأ أدناه." + +msgid "Please correct the errors below." +msgstr "الرجاء تصحيح الأخطاء أدناه." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "أدخل كلمة مرور جديدة للمستخدم %(username)s." + +msgid "Welcome," +msgstr "أهلا، " + +msgid "View site" +msgstr "عرض الموقع" + +msgid "Documentation" +msgstr "الوثائق" + +msgid "Log out" +msgstr "اخرج" + +#, python-format +msgid "Add %(name)s" +msgstr "أضف %(name)s" + +msgid "History" +msgstr "تاريخ" + +msgid "View on site" +msgstr "مشاهدة على الموقع" + +msgid "Filter" +msgstr "مرشّح" + +msgid "Clear all filters" +msgstr "مسح جميع المرشحات" + +msgid "Remove from sorting" +msgstr "إزالة من الترتيب" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "أولوية الترتيب: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "عكس الترتيب" + +msgid "Delete" +msgstr "احذف" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"حذف العنصر %(object_name)s '%(escaped_object)s' سيتسبب بحذف العناصر المرتبطة " +"به، إلا أنك لا تملك صلاحية حذف العناصر التالية:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"حذف %(object_name)s '%(escaped_object)s' سيتسبب أيضاً بحذف العناصر المرتبطة، " +"إلا أن حسابك ليس لديه صلاحية حذف أنواع العناصر التالية:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"متأكد أنك تريد حذف العنصر %(object_name)s \\\"%(escaped_object)s\\\"؟ سيتم " +"حذف جميع العناصر التالية المرتبطة به:" + +msgid "Objects" +msgstr "عناصر" + +msgid "Yes, I’m sure" +msgstr "نعم، أنا متأكد" + +msgid "No, take me back" +msgstr "لا, تراجع للخلف" + +msgid "Delete multiple objects" +msgstr "حذف عدّة عناصر" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"حذف عناصر %(objects_name)s المُحدّدة سيتسبب بحذف العناصر المرتبطة، إلا أن " +"حسابك ليس له صلاحية حذف أنواع العناصر التالية:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"حذف عناصر %(objects_name)s المحدّدة قد يتطلب حذف العناصر المحميّة المرتبطة " +"التالية:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"أأنت متأكد أنك تريد حذف عناصر %(objects_name)s المحددة؟ جميع العناصر التالية " +"والعناصر المرتبطة بها سيتم حذفها:" + +msgid "Delete?" +msgstr "احذفه؟" + +#, python-format +msgid " By %(filter_title)s " +msgstr " حسب %(filter_title)s " + +msgid "Summary" +msgstr "ملخص" + +msgid "Recent actions" +msgstr "آخر الإجراءات" + +msgid "My actions" +msgstr "إجراءاتي" + +msgid "None available" +msgstr "لا يوجد" + +msgid "Unknown content" +msgstr "مُحتوى مجهول" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"هنالك أمر خاطئ في تركيب قاعدة بياناتك، تأكد من أنه تم انشاء جداول قاعدة " +"البيانات الملائمة، وأن قاعدة البيانات قابلة للقراءة من قبل المستخدم الملائم." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"أنت مسجل الدخول بإسم المستخدم %(username)s, ولكنك غير مخول للوصول لهذه " +"الصفحة. هل ترغب بتسجيل الدخول بحساب آخر؟" + +msgid "Forgotten your password or username?" +msgstr "نسيت كلمة المرور أو اسم المستخدم الخاص بك؟" + +msgid "Toggle navigation" +msgstr "تغيير التنقل" + +msgid "Start typing to filter…" +msgstr "ابدأ بالكتابة لبدء التصفية(الفلترة)..." + +msgid "Filter navigation items" +msgstr "تصفية عناصر التنقل" + +msgid "Date/time" +msgstr "التاريخ/الوقت" + +msgid "User" +msgstr "المستخدم" + +msgid "Action" +msgstr "إجراء" + +msgid "entry" +msgstr "" + +msgid "entries" +msgstr "" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"ليس لهذا العنصر سجلّ تغييرات، على الأغلب أنه لم يُنشأ من خلال نظام إدارة " +"الموقع." + +msgid "Show all" +msgstr "أظهر الكل" + +msgid "Save" +msgstr "احفظ" + +msgid "Popup closing…" +msgstr "إغلاق المنبثقة ..." + +msgid "Search" +msgstr "ابحث" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s نتيجة" +msgstr[1] "%(counter)s نتيجة" +msgstr[2] "%(counter)s نتيجة" +msgstr[3] "%(counter)s نتائج" +msgstr[4] "%(counter)s نتيجة" +msgstr[5] "%(counter)s نتيجة" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "المجموع %(full_result_count)s" + +msgid "Save as new" +msgstr "احفظ كجديد" + +msgid "Save and add another" +msgstr "احفظ وأضف آخر" + +msgid "Save and continue editing" +msgstr "احفظ واستمر بالتعديل" + +msgid "Save and view" +msgstr "احفظ ثم اعرض" + +msgid "Close" +msgstr "أغلق" + +#, python-format +msgid "Change selected %(model)s" +msgstr "تغيير %(model)s المختارة" + +#, python-format +msgid "Add another %(model)s" +msgstr "أضف %(model)s آخر" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "حذف %(model)s المختارة" + +#, python-format +msgid "View selected %(model)s" +msgstr "" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "شكرا لأخذك بعض الوقت في الموقع اليوم." + +msgid "Log in again" +msgstr "ادخل مجدداً" + +msgid "Password change" +msgstr "غيّر كلمة مرورك" + +msgid "Your password was changed." +msgstr "تمّ تغيير كلمة مرورك." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"رجاءً أدخل كلمة مرورك القديمة، للأمان، ثم أدخل كلمة مرور الجديدة مرتين كي " +"تتأكّد من كتابتها بشكل صحيح." + +msgid "Change my password" +msgstr "غيّر كلمة مروري" + +msgid "Password reset" +msgstr "استعادة كلمة المرور" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "تم تعيين كلمة مرورك. يمكن الاستمرار وتسجيل دخولك الآن." + +msgid "Password reset confirmation" +msgstr "تأكيد استعادة كلمة المرور" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "رجاءً أدخل كلمة مرورك الجديدة مرتين كي تتأكّد من كتابتها بشكل صحيح." + +msgid "New password:" +msgstr "كلمة المرور الجديدة:" + +msgid "Confirm password:" +msgstr "أكّد كلمة المرور:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"رابط استعادة كلمة المرور غير صحيح، ربما لأنه استُخدم من قبل. رجاءً اطلب " +"استعادة كلمة المرور مرة أخرى." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"تم إرسال بريد إلكتروني بالتعليمات لضبط كلمة المرور الخاصة بك, في حال تواجد " +"حساب بنفس البريد الإلكتروني الذي ادخلته. سوف تستقبل البريد الإلكتروني قريباً" + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"في حال عدم إستقبال البريد الإلكتروني، الرجاء التأكد من إدخال عنوان بريدك " +"الإلكتروني بشكل صحيح ومراجعة مجلد الرسائل غير المرغوب فيها." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"لقد قمت بتلقى هذه الرسالة لطلبك بإعادة تعين كلمة المرور لحسابك الشخصي على " +"%(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "رجاءً اذهب إلى الصفحة التالية واختر كلمة مرور جديدة:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "اسم المستخدم الخاص بك، في حال كنت قد نسيته:" + +msgid "Thanks for using our site!" +msgstr "شكراً لاستخدامك موقعنا!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "فريق %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"هل فقدت كلمة المرور؟ أدخل عنوان بريدك الإلكتروني أدناه وسوف نقوم بإرسال " +"تعليمات للحصول على كلمة مرور جديدة." + +msgid "Email address:" +msgstr "عنوان البريد الإلكتروني:" + +msgid "Reset my password" +msgstr "استعد كلمة مروري" + +msgid "All dates" +msgstr "كافة التواريخ" + +#, python-format +msgid "Select %s" +msgstr "اختر %s" + +#, python-format +msgid "Select %s to change" +msgstr "اختر %s لتغييره" + +#, python-format +msgid "Select %s to view" +msgstr "حدد %s للعرض" + +msgid "Date:" +msgstr "التاريخ:" + +msgid "Time:" +msgstr "الوقت:" + +msgid "Lookup" +msgstr "ابحث" + +msgid "Currently:" +msgstr "حالياً:" + +msgid "Change:" +msgstr "تغيير:" diff --git a/external_sources/django/django/contrib/admin/locale/ar_DZ/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/ar_DZ/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..9e8a4ad --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ar_DZ/LC_MESSAGES/djangojs.po @@ -0,0 +1,280 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jihad Bahmaid Al-Halki, 2022 +# Riterix , 2019-2020 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-05-17 05:26-0500\n" +"PO-Revision-Date: 2022-07-25 07:59+0000\n" +"Last-Translator: Jihad Bahmaid Al-Halki\n" +"Language-Team: Arabic (Algeria) (http://www.transifex.com/django/django/" +"language/ar_DZ/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar_DZ\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" + +#, javascript-format +msgid "Available %s" +msgstr "%s المتوفرة" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"هذه قائمة %s المتوفرة. يمكنك اختيار بعضها بانتقائها في الصندوق أدناه ثم " +"الضغط على سهم الـ\\\"اختيار\\\" بين الصندوقين." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "اكتب في هذا الصندوق لتصفية قائمة %s المتوفرة." + +msgid "Filter" +msgstr "انتقاء" + +msgid "Choose all" +msgstr "اختر الكل" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "اضغط لاختيار جميع %s جملة واحدة." + +msgid "Choose" +msgstr "اختيار" + +msgid "Remove" +msgstr "احذف" + +#, javascript-format +msgid "Chosen %s" +msgstr "%s المختارة" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"هذه قائمة %s المحددة. يمكنك إزالة بعضها باختيارها في الصندوق أدناه ثم اضغط " +"على سهم الـ\\\"إزالة\\\" بين الصندوقين." + +msgid "Remove all" +msgstr "إزالة الكل" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "اضغط لإزالة جميع %s المحددة جملة واحدة." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "لا شي محدد" +msgstr[1] "%(sel)s من %(cnt)s محدد" +msgstr[2] "%(sel)s من %(cnt)s محدد" +msgstr[3] "%(sel)s من %(cnt)s محددة" +msgstr[4] "%(sel)s من %(cnt)s محدد" +msgstr[5] "%(sel)s من %(cnt)s محدد" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"لديك تعديلات غير محفوظة على بعض الحقول القابلة للتعديل. إن نفذت أي إجراء " +"فسوف تخسر تعديلاتك." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"اخترت إجراءً لكن دون أن تحفظ تغييرات التي قمت بها. رجاء اضغط زر الموافقة " +"لتحفظ تعديلاتك. ستحتاج إلى إعادة تنفيذ الإجراء." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "اخترت إجراءً دون تغيير أي حقل. لعلك تريد زر التنفيذ بدلاً من زر الحفظ." + +msgid "Now" +msgstr "الآن" + +msgid "Midnight" +msgstr "منتصف الليل" + +msgid "6 a.m." +msgstr "6 ص." + +msgid "Noon" +msgstr "الظهر" + +msgid "6 p.m." +msgstr "6 مساء" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "ملاحظة: أنت متقدم بـ %s ساعة من وقت الخادم." +msgstr[1] "ملاحظة: أنت متقدم بـ %s ساعة من وقت الخادم." +msgstr[2] "ملاحظة: أنت متقدم بـ %s ساعة من وقت الخادم." +msgstr[3] "ملاحظة: أنت متقدم بـ %s ساعة من وقت الخادم." +msgstr[4] "ملاحظة: أنت متقدم بـ %s ساعة من وقت الخادم." +msgstr[5] "ملاحظة: أنت متقدم بـ %s ساعة من وقت الخادم." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "ملاحظة: أنت متأخر بـ %s ساعة من وقت الخادم." +msgstr[1] "ملاحظة: أنت متأخر بـ %s ساعة من وقت الخادم." +msgstr[2] "ملاحظة: أنت متأخر بـ %s ساعة من وقت الخادم." +msgstr[3] "ملاحظة: أنت متأخر بـ %s ساعة من وقت الخادم." +msgstr[4] "ملاحظة: أنت متأخر بـ %s ساعة من وقت الخادم." +msgstr[5] "ملاحظة: أنت متأخر بـ %s ساعة من وقت الخادم." + +msgid "Choose a Time" +msgstr "إختر وقت " + +msgid "Choose a time" +msgstr "إختر وقت " + +msgid "Cancel" +msgstr "ألغ" + +msgid "Today" +msgstr "اليوم" + +msgid "Choose a Date" +msgstr "إختر تاريخ " + +msgid "Yesterday" +msgstr "أمس" + +msgid "Tomorrow" +msgstr "غداً" + +msgid "January" +msgstr "جانفي" + +msgid "February" +msgstr "فيفري" + +msgid "March" +msgstr "مارس" + +msgid "April" +msgstr "أفريل" + +msgid "May" +msgstr "ماي" + +msgid "June" +msgstr "جوان" + +msgid "July" +msgstr "جويليه" + +msgid "August" +msgstr "أوت" + +msgid "September" +msgstr "سبتمبر" + +msgid "October" +msgstr "أكتوبر" + +msgid "November" +msgstr "نوفمبر" + +msgid "December" +msgstr "ديسمبر" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "يناير" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "فبراير" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "مارس" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "أبريل" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "مايو" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "يونيو" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "يوليو" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "أغسطس" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "سبتمبر" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "أكتوبر" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "نوفمبر" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "ديسمبر" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "ح" + +msgctxt "one letter Monday" +msgid "M" +msgstr "ن" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "ث" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "ع" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "خ" + +msgctxt "one letter Friday" +msgid "F" +msgstr "ج" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "س" + +msgid "" +"You have already submitted this form. Are you sure you want to submit it " +"again?" +msgstr "" + +msgid "Show" +msgstr "أظهر" + +msgid "Hide" +msgstr "اخف" diff --git a/external_sources/django/django/contrib/admin/locale/ast/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/ast/LC_MESSAGES/django.po new file mode 100644 index 0000000..437b080 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ast/LC_MESSAGES/django.po @@ -0,0 +1,636 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Ḷḷumex03 , 2014 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-19 16:49+0100\n" +"PO-Revision-Date: 2017-09-23 19:51+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Asturian (http://www.transifex.com/django/django/language/" +"ast/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ast\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "desanciáu con ésitu %(count)d %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Nun pue desaniciase %(name)s" + +msgid "Are you sure?" +msgstr "¿De xuru?" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "" + +msgid "Administration" +msgstr "" + +msgid "All" +msgstr "Too" + +msgid "Yes" +msgstr "Sí" + +msgid "No" +msgstr "Non" + +msgid "Unknown" +msgstr "Desconocíu" + +msgid "Any date" +msgstr "Cualaquier data" + +msgid "Today" +msgstr "Güei" + +msgid "Past 7 days" +msgstr "" + +msgid "This month" +msgstr "Esti mes" + +msgid "This year" +msgstr "Esi añu" + +msgid "No date" +msgstr "" + +msgid "Has date" +msgstr "" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" + +msgid "Action:" +msgstr "Aición:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "" + +msgid "Remove" +msgstr "" + +msgid "action time" +msgstr "" + +msgid "user" +msgstr "" + +msgid "content type" +msgstr "" + +msgid "object id" +msgstr "" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/3/library/functions.html#repr) +msgid "object repr" +msgstr "" + +msgid "action flag" +msgstr "" + +msgid "change message" +msgstr "" + +msgid "log entry" +msgstr "" + +msgid "log entries" +msgstr "" + +#, python-format +msgid "Added \"%(object)s\"." +msgstr "Amestáu \"%(object)s\"." + +#, python-format +msgid "Changed \"%(object)s\" - %(changes)s" +msgstr "" + +#, python-format +msgid "Deleted \"%(object)s.\"" +msgstr "" + +msgid "LogEntry Object" +msgstr "" + +#, python-brace-format +msgid "Added {name} \"{object}\"." +msgstr "" + +msgid "Added." +msgstr "" + +msgid "and" +msgstr "y" + +#, python-brace-format +msgid "Changed {fields} for {name} \"{object}\"." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "" + +#, python-brace-format +msgid "Deleted {name} \"{object}\"." +msgstr "" + +msgid "No fields changed." +msgstr "" + +msgid "None" +msgstr "" + +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was added successfully." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Los oxetos tienen d'usase pa faer aiciones con ellos. Nun se camudó dengún " +"oxetu." + +msgid "No action selected." +msgstr "Nun s'esbilló denguna aición." + +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "" + +#, python-format +msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "Amestar %s" + +#, python-format +msgid "Change %s" +msgstr "" + +msgid "Database error" +msgstr "" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "Esbillaos 0 de %(cnt)s" + +#, python-format +msgid "Change history: %s" +msgstr "" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" + +msgid "Django site admin" +msgstr "" + +msgid "Django administration" +msgstr "" + +msgid "Site administration" +msgstr "" + +msgid "Log in" +msgstr "Aniciar sesión" + +#, python-format +msgid "%(app)s administration" +msgstr "" + +msgid "Page not found" +msgstr "Nun s'alcontró la páxina" + +msgid "We're sorry, but the requested page could not be found." +msgstr "Sentímoslo, pero nun s'alcuentra la páxina solicitada." + +msgid "Home" +msgstr "" + +msgid "Server error" +msgstr "" + +msgid "Server error (500)" +msgstr "" + +msgid "Server Error (500)" +msgstr "" + +msgid "" +"There's been an error. It's been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Hebo un erru. Repotóse al sitiu d'alministradores per corréu y debería " +"d'iguase en pocu tiempu. Gracies pola to paciencia." + +msgid "Run the selected action" +msgstr "Executar l'aición esbillada" + +msgid "Go" +msgstr "Dir" + +msgid "Click here to select the objects across all pages" +msgstr "" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Esbillar too %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Llimpiar esbilla" + +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" + +msgid "Enter a username and password." +msgstr "" + +msgid "Change password" +msgstr "" + +msgid "Please correct the error below." +msgstr "" + +msgid "Please correct the errors below." +msgstr "" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" + +msgid "Welcome," +msgstr "Bienllegáu/ada," + +msgid "View site" +msgstr "" + +msgid "Documentation" +msgstr "Documentación" + +msgid "Log out" +msgstr "" + +#, python-format +msgid "Add %(name)s" +msgstr "" + +msgid "History" +msgstr "" + +msgid "View on site" +msgstr "" + +msgid "Filter" +msgstr "" + +msgid "Remove from sorting" +msgstr "" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "" + +msgid "Toggle sorting" +msgstr "" + +msgid "Delete" +msgstr "" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" + +msgid "Objects" +msgstr "" + +msgid "Yes, I'm sure" +msgstr "" + +msgid "No, take me back" +msgstr "" + +msgid "Delete multiple objects" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" + +msgid "Change" +msgstr "" + +msgid "Delete?" +msgstr "" + +#, python-format +msgid " By %(filter_title)s " +msgstr "" + +msgid "Summary" +msgstr "" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "" + +msgid "Add" +msgstr "" + +msgid "You don't have permission to edit anything." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "My actions" +msgstr "" + +msgid "None available" +msgstr "" + +msgid "Unknown content" +msgstr "" + +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" + +msgid "Forgotten your password or username?" +msgstr "" + +msgid "Date/time" +msgstr "" + +msgid "User" +msgstr "" + +msgid "Action" +msgstr "" + +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" + +msgid "Show all" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Popup closing..." +msgstr "" + +#, python-format +msgid "Change selected %(model)s" +msgstr "" + +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "" + +msgid "Search" +msgstr "" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "" + +msgid "Save as new" +msgstr "" + +msgid "Save and add another" +msgstr "" + +msgid "Save and continue editing" +msgstr "" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "" + +msgid "Log in again" +msgstr "" + +msgid "Password change" +msgstr "" + +msgid "Your password was changed." +msgstr "" + +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" + +msgid "Change my password" +msgstr "" + +msgid "Password reset" +msgstr "" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "" + +msgid "Password reset confirmation" +msgstr "" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" + +msgid "New password:" +msgstr "" + +msgid "Confirm password:" +msgstr "" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" + +msgid "" +"We've emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don't receive an email, please make sure you've entered the address " +"you registered with, and check your spam folder." +msgstr "" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" + +msgid "Please go to the following page and choose a new password:" +msgstr "" + +msgid "Your username, in case you've forgotten:" +msgstr "" + +msgid "Thanks for using our site!" +msgstr "" + +#, python-format +msgid "The %(site_name)s team" +msgstr "" + +msgid "" +"Forgotten your password? Enter your email address below, and we'll email " +"instructions for setting a new one." +msgstr "" + +msgid "Email address:" +msgstr "" + +msgid "Reset my password" +msgstr "" + +msgid "All dates" +msgstr "" + +#, python-format +msgid "Select %s" +msgstr "" + +#, python-format +msgid "Select %s to change" +msgstr "" + +msgid "Date:" +msgstr "Data:" + +msgid "Time:" +msgstr "Hora:" + +msgid "Lookup" +msgstr "" + +msgid "Currently:" +msgstr "Anguaño:" + +msgid "Change:" +msgstr "" diff --git a/external_sources/django/django/contrib/admin/locale/ast/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/ast/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..53705c7 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ast/LC_MESSAGES/djangojs.po @@ -0,0 +1,211 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Ḷḷumex03 , 2014 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"PO-Revision-Date: 2017-09-20 02:41+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Asturian (http://www.transifex.com/django/django/language/" +"ast/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ast\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "Disponible %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" + +msgid "Filter" +msgstr "Filtrar" + +msgid "Choose all" +msgstr "Escoyer too" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Primi pa escoyer too %s d'una vegada" + +msgid "Choose" +msgstr "Escoyer" + +msgid "Remove" +msgstr "Desaniciar" + +#, javascript-format +msgid "Chosen %s" +msgstr "Escoyíu %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" + +msgid "Remove all" +msgstr "Desaniciar too" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Primi pa desaniciar tolo escoyío %s d'una vegada" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s de %(cnt)s esbilláu" +msgstr[1] "%(sel)s de %(cnt)s esbillaos" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"Esbillesti una aición, pero entá nun guardesti les tos camudancies nos " +"campos individuales. Por favor, primi Aceutar pa guardar. Necesitarás " +"executar de nueves la aición" + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Esbillesti una aición, y nun fixesti camudancia dala nos campos " +"individuales. Quiciabes teas guetando'l botón Dir en cuantes del botón " +"Guardar." + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" +msgstr[1] "" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +msgstr[1] "" + +msgid "Now" +msgstr "Agora" + +msgid "Choose a Time" +msgstr "" + +msgid "Choose a time" +msgstr "Escueyi una hora" + +msgid "Midnight" +msgstr "Media nueche" + +msgid "6 a.m." +msgstr "" + +msgid "Noon" +msgstr "Meudía" + +msgid "6 p.m." +msgstr "" + +msgid "Cancel" +msgstr "Encaboxar" + +msgid "Today" +msgstr "Güei" + +msgid "Choose a Date" +msgstr "" + +msgid "Yesterday" +msgstr "Ayeri" + +msgid "Tomorrow" +msgstr "Mañana" + +msgid "January" +msgstr "" + +msgid "February" +msgstr "" + +msgid "March" +msgstr "" + +msgid "April" +msgstr "" + +msgid "May" +msgstr "" + +msgid "June" +msgstr "" + +msgid "July" +msgstr "" + +msgid "August" +msgstr "" + +msgid "September" +msgstr "" + +msgid "October" +msgstr "" + +msgid "November" +msgstr "" + +msgid "December" +msgstr "" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "" + +msgctxt "one letter Monday" +msgid "M" +msgstr "" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "" + +msgctxt "one letter Friday" +msgid "F" +msgstr "" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "" + +msgid "Show" +msgstr "Amosar" + +msgid "Hide" +msgstr "Anubrir" diff --git a/external_sources/django/django/contrib/admin/locale/az/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/az/LC_MESSAGES/django.po new file mode 100644 index 0000000..929b294 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/az/LC_MESSAGES/django.po @@ -0,0 +1,791 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Emin Mastizada , 2018,2020 +# Emin Mastizada , 2016 +# Konul Allahverdiyeva , 2016 +# Nicat Məmmədov , 2022 +# Nijat Mammadov, 2024 +# Sevdimali , 2024 +# Zulfugar Ismayilzadeh , 2017 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 07:05+0000\n" +"Last-Translator: Sevdimali , 2024\n" +"Language-Team: Azerbaijani (http://app.transifex.com/django/django/language/" +"az/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: az\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Seçilmiş \"%(verbose_name_plural)s\"ləri/ları sil" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d %(items)s uğurla silindi." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "%(name)s silinə bilməz" + +msgid "Are you sure?" +msgstr "Əminsinizmi?" + +msgid "Administration" +msgstr "Administrasiya" + +msgid "All" +msgstr "Hamısı" + +msgid "Yes" +msgstr "Hə" + +msgid "No" +msgstr "Yox" + +msgid "Unknown" +msgstr "Naməlum" + +msgid "Any date" +msgstr "İstənilən tarix" + +msgid "Today" +msgstr "Bu gün" + +msgid "Past 7 days" +msgstr "Son 7 gündə" + +msgid "This month" +msgstr "Bu ay" + +msgid "This year" +msgstr "Bu il" + +msgid "No date" +msgstr "Tarixi yoxdur" + +msgid "Has date" +msgstr "Tarixi mövcuddur" + +msgid "Empty" +msgstr "Boş" + +msgid "Not empty" +msgstr "Boş deyil" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Lütfən, istifadəçi hesabı üçün doğru %(username)s və şifrə daxil edin. " +"Nəzərə alın ki, hər iki xana böyük-kiçik hərflərə həssasdırlar." + +msgid "Action:" +msgstr "Əməliyyat:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Daha bir %(verbose_name)s əlavə et" + +msgid "Remove" +msgstr "Yığışdır" + +msgid "Addition" +msgstr "Əlavə" + +msgid "Change" +msgstr "Dəyiş" + +msgid "Deletion" +msgstr "Silmə" + +msgid "action time" +msgstr "əməliyyat vaxtı" + +msgid "user" +msgstr "istifadəçi" + +msgid "content type" +msgstr "məzmun növü" + +msgid "object id" +msgstr "obyekt id" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "obyekt repr" + +msgid "action flag" +msgstr "əməliyyat bayrağı" + +msgid "change message" +msgstr "dəyişmə mesajı" + +msgid "log entry" +msgstr "loq yazısı" + +msgid "log entries" +msgstr "loq yazıları" + +#, python-format +msgid "Added “%(object)s”." +msgstr "“%(object)s” əlavə edildi." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "“%(object)s” dəyişdirildi — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "“%(object)s” silindi." + +msgid "LogEntry Object" +msgstr "LogEntry obyekti" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "{name} “{object}” əlavə edildi." + +msgid "Added." +msgstr "Əlavə edildi." + +msgid "and" +msgstr "və" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "{name} “{object}” üçün {fields} dəyişdirildi." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "{fields} dəyişdirildi." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "{name} “{object}” silindi." + +msgid "No fields changed." +msgstr "Heç bir sahə dəyişmədi." + +msgid "None" +msgstr "Heç biri" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Birdən çox seçmək üçün “Control” və ya Mac üçün “Command” düyməsini basılı " +"tutun." + +msgid "Select this object for an action - {}" +msgstr "Əməliyyat üçün bu obyekti seçin - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "{name} “{obj}” uğurla əlavə edildi." + +msgid "You may edit it again below." +msgstr "Bunu aşağıda təkrar redaktə edə bilərsiz." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"{name} “{obj}” uğurla əlavə edildi. Aşağıdan başqa bir {name} əlavə edə " +"bilərsiz." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"{name} “{obj}” uğurla dəyişdirildi. Təkrar aşağıdan dəyişdirə bilərsiz." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"{name} “{obj}” uğurla dəyişdirildi. Aşağıdan başqa bir {name} əlavə edə " +"bilərsiz." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "{name} “{obj}” uğurla dəyişdirildi." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Elementlər üzərində əməliyyat aparmaq üçün, siz onları seçməlisiniz. Heç bir " +"element dəyişmədi." + +msgid "No action selected." +msgstr "Heç bir əməliyyat seçilmədi." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s “%(obj)s” uğurla silindi." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "“%(key)s” ID nömrəli %(name)s mövcud deyil. Bəlkə silinib?" + +#, python-format +msgid "Add %s" +msgstr "%s əlavə et" + +#, python-format +msgid "Change %s" +msgstr "%s dəyiş" + +#, python-format +msgid "View %s" +msgstr "%s gör" + +msgid "Database error" +msgstr "Verilənlər bazası xətası" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s uğurlu dəyişdirildi." +msgstr[1] "%(count)s %(name)s uğurla dəyişdirildi." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s seçili" +msgstr[1] "Bütün %(total_count)s seçildi" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "%(cnt)s-dan/dən 0 seçilib" + +#, python-format +msgid "Change history: %s" +msgstr "Dəyişmə tarixi: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"%(class_name)s %(instance)s silinməsi %(related_objects)s obyektlərinin də " +"silinməsinə gətirib çıxaracaq" + +msgid "Django site admin" +msgstr "Django sayt administratoru" + +msgid "Django administration" +msgstr "Django administrasiya" + +msgid "Site administration" +msgstr "Sayt administrasiyası" + +msgid "Log in" +msgstr "Daxil ol" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s administrasiyası" + +msgid "Page not found" +msgstr "Səhifə tapılmadı" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Üzr istəyirik, amma sorğulanan səhifə tapılmadı." + +msgid "Home" +msgstr "Ev" + +msgid "Server error" +msgstr "Serverdə xəta" + +msgid "Server error (500)" +msgstr "Serverdə xəta (500)" + +msgid "Server Error (500)" +msgstr "Serverdə xəta (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Xəta baş verdi. Problem sayt administratorlarına e-poçt vasitəsi ilə " +"bildirildi və qısa bir zamanda həll olunacaq. Anlayışınız üçün təşəkkür " +"edirik." + +msgid "Run the selected action" +msgstr "Seçilən əməliyyatı yerinə yetir" + +msgid "Go" +msgstr "İrəli" + +msgid "Click here to select the objects across all pages" +msgstr "Bütün səhifələr üzrə obyektləri seçmək üçün bura klikləyin" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Hamısını seç (%(total_count)s %(module_name)s) " + +msgid "Clear selection" +msgstr "Seçimi təmizlə" + +msgid "Breadcrumbs" +msgstr "Menyu sətri" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "%(name)s tətbiqetməsindəki modellər" + +msgid "Add" +msgstr "Əlavə et" + +msgid "View" +msgstr "Bax" + +msgid "You don’t have permission to view or edit anything." +msgstr "Heç nəyə baxmağa və ya dəyişməyə icazəniz yoxdur." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Əvvəlcə istifacəçi adı və şifrəni daxil edin. Daha sonra siz daha çox " +"istifadəçi seçimlərinə düzəliş edə biləcəksiniz." + +msgid "Enter a username and password." +msgstr "İstifadəçi adını və şifrəni daxil edin." + +msgid "Change password" +msgstr "Şifrəni dəyiş" + +msgid "Set password" +msgstr "Şifrə təyin et" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Lütfən, aşağıdakı xətanı düzəldin." +msgstr[1] "Lütfən, aşağıdakı xətaları düzəldin." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "%(username)s istifadəçisi üçün yeni şifrə daxil edin." + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "" +"Bu əməliyyat bu istifadəçi üçün şifrə əsaslı autentifikasiyanı aktiv " +"edəcək." + +msgid "Disable password-based authentication" +msgstr "Şifrə əsaslı autentifikasiyanı ləğv elə." + +msgid "Enable password-based authentication" +msgstr "Şifrə əsaslı autentifikasiyanı aktivləşdir." + +msgid "Skip to main content" +msgstr "Əsas məzmuna keç" + +msgid "Welcome," +msgstr "Xoş gördük," + +msgid "View site" +msgstr "Sayta bax" + +msgid "Documentation" +msgstr "Dokumentasiya" + +msgid "Log out" +msgstr "Çıx" + +#, python-format +msgid "Add %(name)s" +msgstr "%(name)s əlavə et" + +msgid "History" +msgstr "Tarix" + +msgid "View on site" +msgstr "Saytda bax" + +msgid "Filter" +msgstr "Süzgəc" + +msgid "Hide counts" +msgstr "Sayı gizlət" + +msgid "Show counts" +msgstr "Sayı göstər" + +msgid "Clear all filters" +msgstr "Bütün filterləri təmizlə" + +msgid "Remove from sorting" +msgstr "Sıralamadan çıxar" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Sıralama prioriteti: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Sıralamanı çevir" + +msgid "Toggle theme (current theme: auto)" +msgstr "Görünüşü dəyiş (halhazırkı: avtomatik)" + +msgid "Toggle theme (current theme: light)" +msgstr "Görünüşü dəyiş (halhazırkı: aydın)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Görünüşü dəyiş (halhazırkı: qaranlıq)" + +msgid "Delete" +msgstr "Sil" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"%(object_name)s \"%(escaped_object)s\" obyektini sildikdə onun bağlı olduğu " +"obyektlər də silinməlidir. Ancaq sizin hesabın aşağıdakı tip obyektləri " +"silməyə səlahiyyəti çatmır:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"%(object_name)s \"%(escaped_object)s\" obyektini silmək üçün aşağıdakı " +"qorunan obyektlər də silinməlidir:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"%(object_name)s \"%(escaped_object)s\" obyektini silməkdə əminsiniz? Ona " +"bağlı olan aşağıdakı obyektlər də silinəcək:" + +msgid "Objects" +msgstr "Obyektlər" + +msgid "Yes, I’m sure" +msgstr "Bəli, əminəm" + +msgid "No, take me back" +msgstr "Xeyr, geri qayıt" + +msgid "Delete multiple objects" +msgstr "Bir neçə obyekt sil" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"%(objects_name)s obyektini silmək üçün ona bağlı obyektlər də silinməlidir. " +"Ancaq sizin hesabınızın aşağıdakı tip obyektləri silmək səlahiyyətinə malik " +"deyil:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"%(objects_name)s obyektini silmək üçün aşağıdakı qorunan obyektlər də " +"silinməlidir:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Seçdiyiniz %(objects_name)s obyektini silməkdə əminsiniz? Aşağıdakı bütün " +"obyektlər və ona bağlı digər obyektlər də silinəcək:" + +msgid "Delete?" +msgstr "Silinsin?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " %(filter_title)s görə " + +msgid "Summary" +msgstr "İcmal" + +msgid "Recent actions" +msgstr "Son əməliyyatlar" + +msgid "My actions" +msgstr "Mənim əməliyyatlarım" + +msgid "None available" +msgstr "Heç nə yoxdur" + +msgid "Added:" +msgstr "Əlavə olunub:" + +msgid "Changed:" +msgstr "Dəyişdirilib:" + +msgid "Deleted:" +msgstr "Silinib:" + +msgid "Unknown content" +msgstr "Naməlum məzmun" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Verilənlər bazanızın quraşdırılması ilə bağlı problem var. Müvafiq " +"cədvəllərinin yaradıldığından və verilənlər bazasının müvafiq istifadəçi " +"tərəfindən oxuna biləcəyindən əmin olun." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"%(username)s olaraq daxil olmusunuz, amma bu səhifəyə icazəniz yoxdur. Başqa " +"bir hesaba daxil olmaq istərdiniz?" + +msgid "Forgotten your password or username?" +msgstr "Şifrə və ya istifadəçi adını unutmusuz?" + +msgid "Toggle navigation" +msgstr "Naviqasiyanı dəyiş" + +msgid "Sidebar" +msgstr "Yan panel" + +msgid "Start typing to filter…" +msgstr "Filterləmək üçün yazın..." + +msgid "Filter navigation items" +msgstr "Naviqasiya elementlərini filterlə" + +msgid "Date/time" +msgstr "Tarix/vaxt" + +msgid "User" +msgstr "İstifadəçi" + +msgid "Action" +msgstr "Əməliyyat" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "daxiletmə" +msgstr[1] "daxiletmələr" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Bu obyektin dəyişiklik tarixçəsi yoxdur. Yəqin ki, bu admin saytı vasitəsilə " +"əlavə olunmayıb." + +msgid "Show all" +msgstr "Hamısını göstər" + +msgid "Save" +msgstr "Yadda saxla" + +msgid "Popup closing…" +msgstr "Qəfil pəncərə qapadılır…" + +msgid "Search" +msgstr "Axtar" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s nəticə" +msgstr[1] "%(counter)s nəticə" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "Hamısı birlikdə %(full_result_count)s" + +msgid "Save as new" +msgstr "Yenisi kimi yadda saxla" + +msgid "Save and add another" +msgstr "Yadda saxla və yenisini əlavə et" + +msgid "Save and continue editing" +msgstr "Yadda saxla və redaktəyə davam et" + +msgid "Save and view" +msgstr "Yadda saxla və bax" + +msgid "Close" +msgstr "Bağla" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Seçilmiş %(model)s dəyişdir" + +#, python-format +msgid "Add another %(model)s" +msgstr "Başqa %(model)s əlavə et" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Seçilmiş %(model)s sil" + +#, python-format +msgid "View selected %(model)s" +msgstr "Bax: seçilmiş %(model)s " + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Bu gün veb saytla keyfiyyətli vaxt keçirdiyiniz üçün təşəkkür edirik." + +msgid "Log in again" +msgstr "Yenidən daxil ol" + +msgid "Password change" +msgstr "Şifrəni dəyişmək" + +msgid "Your password was changed." +msgstr "Sizin şifrəniz dəyişdirildi." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Zəhmət olmasa təhlükəsizlik naminə köhnə şifrənizi daxil edin və sonra yeni " +"şifrənizi iki dəfə daxil edin ki, düzgün daxil yazdığınızı yoxlaya bilək." + +msgid "Change my password" +msgstr "Şifrəmi dəyiş" + +msgid "Password reset" +msgstr "Şifrənin sıfırlanması" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Yeni şifrə artıq qüvvədədir. Yenidən daxil ola bilərsiniz." + +msgid "Password reset confirmation" +msgstr "Şifrə sıfırlanmasının təsdiqi" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "Yeni şifrəni iki dəfə daxil edin ki, səhv etmədiyinizə əmin olaq." + +msgid "New password:" +msgstr "Yeni şifrə:" + +msgid "Confirm password:" +msgstr "Yeni şifrə (bir daha):" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Şifrənin sıfırlanması üçün olan keçid, yəqin ki, artıq istifadə olunub. " +"Şifrəni sıfırlamaq üçün yenə müraciət edin." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Şifrəni təyin etmək üçün lazım olan addımlar sizə göndərildi (əgər bu e-poçt " +"ünvanı ilə hesab varsa təbii ki). Elektron məktub qısa bir müddət ərzində " +"sizə çatacaq." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"E-poçt gəlməsə, qeydiyyatdan keçdiyiniz e-poçt ünvanını doğru daxil " +"etdiyinizə əmin olun və spam qovluğunuzu yoxlayın." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"%(site_name)s saytında şifrəni yeniləmək istədiyinizə görə bu məktubu " +"göndərdik." + +msgid "Please go to the following page and choose a new password:" +msgstr "Növbəti səhifəyə keçid alın və yeni şifrəni seçin:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "İstifadəçi adınız, əgər unutmusunuzsa:" + +msgid "Thanks for using our site!" +msgstr "Bizim saytdan istifadə etdiyiniz üçün təşəkkür edirik!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s komandası" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Şifrəni unutmusuz? Epoçt ünvanınızı daxil edin və biz sizə yeni şifrə təyin " +"etmək üçün nə etmək lazım olduğunu göndərəcəyik." + +msgid "Email address:" +msgstr "E-poçt:" + +msgid "Reset my password" +msgstr "Şifrəmi sıfırla" + +msgid "Select all objects on this page for an action" +msgstr "Əməliyyat üçün bu səhifədəki bütün obyektləri seçin" + +msgid "All dates" +msgstr "Bütün tarixlərdə" + +#, python-format +msgid "Select %s" +msgstr "%s seç" + +#, python-format +msgid "Select %s to change" +msgstr "%s dəyişmək üçün seç" + +#, python-format +msgid "Select %s to view" +msgstr "Görmək üçün %s seçin" + +msgid "Date:" +msgstr "Tarix:" + +msgid "Time:" +msgstr "Vaxt:" + +msgid "Lookup" +msgstr "Sorğu" + +msgid "Currently:" +msgstr "Hazırda:" + +msgid "Change:" +msgstr "Dəyişdir:" diff --git a/external_sources/django/django/contrib/admin/locale/az/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/az/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..78bafce --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/az/LC_MESSAGES/djangojs.po @@ -0,0 +1,272 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Ali Ismayilov , 2011-2012 +# Emin Mastizada , 2016,2020 +# Emin Mastizada , 2016 +# Nicat Məmmədov , 2022 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-05-17 05:26-0500\n" +"PO-Revision-Date: 2022-07-25 07:59+0000\n" +"Last-Translator: Nicat Məmmədov \n" +"Language-Team: Azerbaijani (http://www.transifex.com/django/django/language/" +"az/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: az\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "Mümkün %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Bu, mümkün %s siyahısıdır. Onlardan bir neçəsini qarşısındakı xanaya işarə " +"qoymaq və iki xana arasındakı \"Seç\"i tıqlamaqla seçmək olar." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Bu xanaya yazmaqla mümkün %s siyahısını filtrləyə bilərsiniz." + +msgid "Filter" +msgstr "Süzgəc" + +msgid "Choose all" +msgstr "Hamısını seç" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Bütün %s siyahısını seçmək üçün tıqlayın." + +msgid "Choose" +msgstr "Seç" + +msgid "Remove" +msgstr "Yığışdır" + +#, javascript-format +msgid "Chosen %s" +msgstr "Seçilmiş %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Bu, seçilmiş %s siyahısıdır. Onlardan bir neçəsini aşağıdakı xanaya işarə " +"qoymaq və iki xana arasındakı \"Sil\"i tıqlamaqla silmək olar." + +msgid "Remove all" +msgstr "Hamısını sil" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Seçilmiş %s siyahısının hamısını silmək üçün tıqlayın." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s / %(cnt)s seçilib" +msgstr[1] "%(sel)s / %(cnt)s seçilib" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Bəzi sahələrdə etdiyiniz dəyişiklikləri hələ yadda saxlamamışıq. Əgər " +"əməliyyatı işə salsanız, dəyişikliklər əldən gedəcək." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Əməliyyat seçmisiniz, amma fərdi sahələrdəki dəyişiklikləriniz hələ də yadda " +"saxlanılmayıb. Saxlamaq üçün lütfən Tamam düyməsinə klikləyin. Əməliyyatı " +"təkrar işlətməli olacaqsınız." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Əməliyyat seçmisiniz və fərdi sahələrdə dəyişiklər etməmisiniz. Böyük " +"ehtimal Saxla düyməsi yerinə Get düyməsinə ehtiyyacınız var." + +msgid "Now" +msgstr "İndi" + +msgid "Midnight" +msgstr "Gecə yarısı" + +msgid "6 a.m." +msgstr "6 a.m." + +msgid "Noon" +msgstr "Günorta" + +msgid "6 p.m." +msgstr "6 p.m." + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Diqqət: Server vaxtından %s saat irəlidəsiniz." +msgstr[1] "Diqqət: Server vaxtından %s saat irəlidəsiniz." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Diqqət: Server vaxtından %s saat geridəsiniz." +msgstr[1] "Diqqət: Server vaxtından %s saat geridəsiniz." + +msgid "Choose a Time" +msgstr "Vaxt Seçin" + +msgid "Choose a time" +msgstr "Vaxtı seçin" + +msgid "Cancel" +msgstr "Ləğv et" + +msgid "Today" +msgstr "Bu gün" + +msgid "Choose a Date" +msgstr "Tarix Seçin" + +msgid "Yesterday" +msgstr "Dünən" + +msgid "Tomorrow" +msgstr "Sabah" + +msgid "January" +msgstr "Yanvar" + +msgid "February" +msgstr "Fevral" + +msgid "March" +msgstr "Mart" + +msgid "April" +msgstr "Aprel" + +msgid "May" +msgstr "May" + +msgid "June" +msgstr "İyun" + +msgid "July" +msgstr "İyul" + +msgid "August" +msgstr "Avqust" + +msgid "September" +msgstr "Sentyabr" + +msgid "October" +msgstr "Oktyabr" + +msgid "November" +msgstr "Noyabr" + +msgid "December" +msgstr "Dekabr" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Yan" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Fev" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Mar" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Apr" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "May" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "İyn" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "İyl" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Avq" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Sen" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Okt" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Noy" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Dek" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "B" + +msgctxt "one letter Monday" +msgid "M" +msgstr "B" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "Ç" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "Ç" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "C" + +msgctxt "one letter Friday" +msgid "F" +msgstr "C" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "Ş" + +msgid "" +"You have already submitted this form. Are you sure you want to submit it " +"again?" +msgstr "" + +msgid "Show" +msgstr "Göstər" + +msgid "Hide" +msgstr "Gizlət" diff --git a/external_sources/django/django/contrib/admin/locale/be/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/be/LC_MESSAGES/django.po new file mode 100644 index 0000000..4904d35 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/be/LC_MESSAGES/django.po @@ -0,0 +1,791 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Viktar Palstsiuk , 2015 +# znotdead , 2016-2017,2019-2021,2023-2024 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 07:05+0000\n" +"Last-Translator: znotdead , " +"2016-2017,2019-2021,2023-2024\n" +"Language-Team: Belarusian (http://app.transifex.com/django/django/language/" +"be/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: be\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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Выдаліць абраныя %(verbose_name_plural)s" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Выдалілі %(count)d %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Не ўдаецца выдаліць %(name)s" + +msgid "Are you sure?" +msgstr "Ці ўпэўненыя вы?" + +msgid "Administration" +msgstr "Адміністрацыя" + +msgid "All" +msgstr "Усе" + +msgid "Yes" +msgstr "Так" + +msgid "No" +msgstr "Не" + +msgid "Unknown" +msgstr "Невядома" + +msgid "Any date" +msgstr "Хоць-якая дата" + +msgid "Today" +msgstr "Сёньня" + +msgid "Past 7 days" +msgstr "Апошні тыдзень" + +msgid "This month" +msgstr "Гэты месяц" + +msgid "This year" +msgstr "Гэты год" + +msgid "No date" +msgstr "Няма даты" + +msgid "Has date" +msgstr "Мае дату" + +msgid "Empty" +msgstr "Пусты" + +msgid "Not empty" +msgstr "Не пусты" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Калі ласка, увядзіце правільны %(username)s і пароль для службовага рахунку. " +"Адзначым, што абодва палі могуць быць адчувальныя да рэгістра." + +msgid "Action:" +msgstr "Дзеяньне:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Дадаць яшчэ %(verbose_name)s" + +msgid "Remove" +msgstr "Прыбраць" + +msgid "Addition" +msgstr "Дапаўненьне" + +msgid "Change" +msgstr "Зьмяніць" + +msgid "Deletion" +msgstr "Выдалленне" + +msgid "action time" +msgstr "час дзеяньня" + +msgid "user" +msgstr "карыстальнік" + +msgid "content type" +msgstr "від змесціва" + +msgid "object id" +msgstr "нумар аб’екта" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "прадстаўленьне аб’екта" + +msgid "action flag" +msgstr "від дзеяньня" + +msgid "change message" +msgstr "паведамленьне пра зьмену" + +msgid "log entry" +msgstr "запіс у справаздачы" + +msgid "log entries" +msgstr "запісы ў справаздачы" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Дадалі “%(object)s”." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Зьмянілі «%(object)s» — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Выдалілі «%(object)s»." + +msgid "LogEntry Object" +msgstr "Запіс у справаздачы" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Дадалі {name} “{object}”." + +msgid "Added." +msgstr "Дадалі." + +msgid "and" +msgstr "і" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Змянілі {fields} для {name} “{object}”." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Зьмянілі {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Выдалілі {name} “{object}”." + +msgid "No fields changed." +msgstr "Палі не зьмяняліся." + +msgid "None" +msgstr "Няма" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Утрымлівайце націснутай кнопку“Control”, або “Command” на Mac, каб вылучыць " +"больш за адзін." + +msgid "Select this object for an action - {}" +msgstr "Абярыце гэты аб'ект для дзеяньня - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "Пасьпяхова дадалі {name} “{obj}”." + +msgid "You may edit it again below." +msgstr "Вы можаце зноўку правіць гэта ніжэй." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "Пасьпяхова дадалі {name} \"{obj}\". Ніжэй можна дадаць іншы {name}." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "Пасьпяхова зьмянілі {name} \"{obj}\". Ніжэй яго можна зноўку правіць." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "Пасьпяхова зьмянілі {name} \"{obj}\". Ніжэй можна дадаць іншы {name}." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "Пасьпяхова зьмянілі {name} \"{obj}\"." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Каб нешта рабіць, трэба спачатку абраць, з чым гэта рабіць. Нічога не " +"зьмянілася." + +msgid "No action selected." +msgstr "Не абралі дзеяньняў." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "Пасьпяхова выдалілі %(name)s «%(obj)s»." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "%(name)s з ID \"%(key)s\" не існуе. Магчыма гэта было выдалена раней?" + +#, python-format +msgid "Add %s" +msgstr "Дадаць %s" + +#, python-format +msgid "Change %s" +msgstr "Зьмяніць %s" + +#, python-format +msgid "View %s" +msgstr "Праглядзець %s" + +msgid "Database error" +msgstr "База зьвестак дала хібу" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "Зьмянілі %(count)s %(name)s." +msgstr[1] "Зьмянілі %(count)s %(name)s." +msgstr[2] "Зьмянілі %(count)s %(name)s." +msgstr[3] "Зьмянілі %(count)s %(name)s." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "Абралі %(total_count)s" +msgstr[1] "Абралі ўсе %(total_count)s" +msgstr[2] "Абралі ўсе %(total_count)s" +msgstr[3] "Абралі ўсе %(total_count)s" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "Абралі 0 аб’ектаў з %(cnt)s" + +#, python-format +msgid "Change history: %s" +msgstr "Гісторыя зьменаў: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Каб выдаліць %(class_name)s %(instance)s, трэба выдаліць і зьвязаныя " +"абароненыя аб’екты: %(related_objects)s" + +msgid "Django site admin" +msgstr "Кіраўнічая пляцоўка «Джэнґа»" + +msgid "Django administration" +msgstr "Кіраваць «Джэнґаю»" + +msgid "Site administration" +msgstr "Кіраваць пляцоўкаю" + +msgid "Log in" +msgstr "Увайсьці" + +#, python-format +msgid "%(app)s administration" +msgstr "Адміністрацыя %(app)s" + +msgid "Page not found" +msgstr "Бачыну не знайшлі" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "На жаль, запытаную бачыну немагчыма знайсьці." + +msgid "Home" +msgstr "Пачатак" + +msgid "Server error" +msgstr "Паслужнік даў хібу" + +msgid "Server error (500)" +msgstr "Паслужнік даў хібу (памылка 500)" + +msgid "Server Error (500)" +msgstr "Паслужнік даў хібу (памылка 500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Адбылася памылка. Паведамленне пра памылку было адаслана адміністратарам " +"сайту па электроннай пошце і яна павінна быць выпраўлена ў бліжэйшы час. " +"Дзякуй за ваша цярпенне." + +msgid "Run the selected action" +msgstr "Выканаць абранае дзеяньне" + +msgid "Go" +msgstr "Выканаць" + +msgid "Click here to select the objects across all pages" +msgstr "Каб абраць аб’екты на ўсіх бачынах, націсьніце сюды" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Абраць усе %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Не абіраць нічога" + +msgid "Breadcrumbs" +msgstr "Навігацыйны ланцужок" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Мадэлі ў %(name)s праграме" + +msgid "Add" +msgstr "Дадаць" + +msgid "View" +msgstr "Праглядзець" + +msgid "You don’t have permission to view or edit anything." +msgstr "Вы ня маеце дазволу праглядаць ці нешта зьмяняць." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Спачатку пазначце імя карыстальніка ды пароль. Потым можна будзе наставіць " +"іншыя можнасьці." + +msgid "Enter a username and password." +msgstr "Пазначце імя карыстальніка ды пароль." + +msgid "Change password" +msgstr "Зьмяніць пароль" + +msgid "Set password" +msgstr "Усталяваць пароль" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Калі ласка, выпраўце памылкy, адзначаную ніжэй." +msgstr[1] "Калі ласка, выпраўце памылкі, адзначаныя ніжэй." +msgstr[2] "Калі ласка, выпраўце памылкі, адзначаныя ніжэй." +msgstr[3] "Калі ласка, выпраўце памылкі, адзначаныя ніжэй." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Пазначце пароль для карыстальніка «%(username)s»." + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "" +"Гэта дзеянне ўключыць аўтэнтыфікацыю на аснове пароля для " +"гэтага карыстальніка." + +msgid "Disable password-based authentication" +msgstr "Адключыць аўтэнтыфікацыю на аснове пароля" + +msgid "Enable password-based authentication" +msgstr "Уключыць аўтэнтыфікацыю на аснове пароля" + +msgid "Skip to main content" +msgstr "Перайсці да асноўнага зместу" + +msgid "Welcome," +msgstr "Вітаем," + +msgid "View site" +msgstr "Адкрыць сайт" + +msgid "Documentation" +msgstr "Дакумэнтацыя" + +msgid "Log out" +msgstr "Выйсьці" + +#, python-format +msgid "Add %(name)s" +msgstr "Дадаць %(name)s" + +msgid "History" +msgstr "Гісторыя" + +msgid "View on site" +msgstr "Зірнуць на пляцоўцы" + +msgid "Filter" +msgstr "Прасеяць" + +msgid "Hide counts" +msgstr "Схаваць падлік" + +msgid "Show counts" +msgstr "Паказаць падлік" + +msgid "Clear all filters" +msgstr "Ачысьціць усе фільтры" + +msgid "Remove from sorting" +msgstr "Прыбраць з упарадкаванага" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Парадак: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Парадкаваць наадварот" + +msgid "Toggle theme (current theme: auto)" +msgstr "Пераключыць тэму (бягучая тэма: аўтаматычная)" + +msgid "Toggle theme (current theme: light)" +msgstr "Пераключыць тэму (бягучая тэма: светлая)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Пераключыць тэму (бягучая тэма: цёмная)" + +msgid "Delete" +msgstr "Выдаліць" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Калі выдаліць %(object_name)s «%(escaped_object)s», выдаляцца зьвязаныя " +"аб’екты, але ваш рахунак ня мае дазволу выдаляць наступныя віды аб’ектаў:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Каб выдаліць %(object_name)s «%(escaped_object)s», трэба выдаліць і " +"зьвязаныя абароненыя аб’екты:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Ці выдаліць %(object_name)s «%(escaped_object)s»? Усе наступныя зьвязаныя " +"складнікі выдаляцца:" + +msgid "Objects" +msgstr "Аб'екты" + +msgid "Yes, I’m sure" +msgstr "Так, я ўпэўнены" + +msgid "No, take me back" +msgstr "Не, вярнуцца назад" + +msgid "Delete multiple objects" +msgstr "Выдаліць некалькі аб’ектаў" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Калі выдаліць абранае (%(objects_name)s), выдаляцца зьвязаныя аб’екты, але " +"ваш рахунак ня мае дазволу выдаляць наступныя віды аб’ектаў:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Каб выдаліць абранае (%(objects_name)s), трэба выдаліць і зьвязаныя " +"абароненыя аб’екты:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Ці выдаліць абранае (%(objects_name)s)? Усе наступныя аб’екты ды зьвязаныя " +"зь імі складнікі выдаляцца:" + +msgid "Delete?" +msgstr "Ці выдаліць?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " %(filter_title)s " + +msgid "Summary" +msgstr "Рэзюмэ" + +msgid "Recent actions" +msgstr "Нядаўнія дзеянні" + +msgid "My actions" +msgstr "Мае дзеяньні" + +msgid "None available" +msgstr "Недаступнае" + +msgid "Added:" +msgstr "Дадалі:" + +msgid "Changed:" +msgstr "Зьмянілі:" + +msgid "Deleted:" +msgstr "Выдалены:" + +msgid "Unknown content" +msgstr "Невядомае зьмесьціва" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Нешта ня так з усталяванаю базаю зьвестак. Упэўніцеся, што ў базе стварылі " +"патрэбныя табліцы, і што базу можа чытаць адпаведны карыстальнік." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Вы апазнаны як %(username)s але не аўтарызаваны для доступу гэтай бачыны. Не " +"жадаеце лі вы ўвайсці пад іншым карыстальнікам?" + +msgid "Forgotten your password or username?" +msgstr "Забыліся на імя ці пароль?" + +msgid "Toggle navigation" +msgstr "Пераключыць навігацыю" + +msgid "Sidebar" +msgstr "бакавая панэль" + +msgid "Start typing to filter…" +msgstr "Пачніце ўводзіць, каб адфільтраваць..." + +msgid "Filter navigation items" +msgstr "Фільтраваць элементы навігацыі" + +msgid "Date/time" +msgstr "Час, дата" + +msgid "User" +msgstr "Карыстальнік" + +msgid "Action" +msgstr "Дзеяньне" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "запіс" +msgstr[1] "запісы" +msgstr[2] "запісы" +msgstr[3] "запісы" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Аб’ект ня мае гісторыі зьменаў. Мажліва, яго дадавалі не праз кіраўнічую " +"пляцоўку." + +msgid "Show all" +msgstr "Паказаць усё" + +msgid "Save" +msgstr "Захаваць" + +msgid "Popup closing…" +msgstr "Усплывальнае акно зачыняецца..." + +msgid "Search" +msgstr "Шукаць" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s вынік" +msgstr[1] "%(counter)s вынікі" +msgstr[2] "%(counter)s вынікаў" +msgstr[3] "%(counter)s вынікаў" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "Разам %(full_result_count)s" + +msgid "Save as new" +msgstr "Захаваць як новы" + +msgid "Save and add another" +msgstr "Захаваць і дадаць іншы" + +msgid "Save and continue editing" +msgstr "Захаваць і працягваць правіць" + +msgid "Save and view" +msgstr "Захаваць і праглядзець" + +msgid "Close" +msgstr "Закрыць" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Змяніць абраныя %(model)s" + +#, python-format +msgid "Add another %(model)s" +msgstr "Дадаць яшчэ %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Выдаліць абраныя %(model)s" + +#, python-format +msgid "View selected %(model)s" +msgstr "Праглядзець абраныя %(model)s" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Дзякуем за час, які вы сёньня правялі на гэтай пляцоўцы." + +msgid "Log in again" +msgstr "Увайсьці зноўку" + +msgid "Password change" +msgstr "Зьмяніць пароль" + +msgid "Your password was changed." +msgstr "Ваш пароль зьмяніўся." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Дзеля бясьпекі пазначце стары пароль, а потым набярыце новы пароль двойчы — " +"каб упэўніцца, што набралі без памылак." + +msgid "Change my password" +msgstr "Зьмяніць пароль" + +msgid "Password reset" +msgstr "Узнавіць пароль" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Вам усталявалі пароль. Можаце вярнуцца ды ўвайсьці зноўку." + +msgid "Password reset confirmation" +msgstr "Пацьвердзіце, што трэба ўзнавіць пароль" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "Набярыце новы пароль двойчы — каб упэўніцца, што набралі без памылак." + +msgid "New password:" +msgstr "Новы пароль:" + +msgid "Confirm password:" +msgstr "Пацьвердзіце пароль:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Спасылка ўзнавіць пароль хібная: мажліва таму, што ёю ўжо скарысталіся. " +"Запытайцеся ўзнавіць пароль яшчэ раз." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Мы адаслалі па электроннай пошце інструкцыі па ўстаноўцы пароля. Калі існуе " +"рахунак з электроннай поштай, што вы ўвялі, то Вы павінны атрымаць іх у " +"бліжэйшы час." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Калі вы не атрымліваеце электронную пошту, калі ласка, пераканайцеся, што вы " +"ўвялі адрас з якім вы зарэгістраваліся, а таксама праверце тэчку са спамам." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Вы атрымалі гэты ліст, таму што вы прасілі скінуць пароль для ўліковага " +"запісу карыстальніка на %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Перайдзіце да наступнае бачыны ды абярыце новы пароль:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Імя карыстальніка, калі раптам вы забыліся:" + +msgid "Thanks for using our site!" +msgstr "Дзякуем, што карыстаецеся нашаю пляцоўкаю!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Каманда «%(site_name)s»" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Забыліся пароль? Калі ласка, увядзіце свой адрас электроннай пошты ніжэй, і " +"мы вышлем інструкцыі па электроннай пошце для ўстаноўкі новага." + +msgid "Email address:" +msgstr "Адрас электроннай пошты:" + +msgid "Reset my password" +msgstr "Узнавіць пароль" + +msgid "Select all objects on this page for an action" +msgstr "Абяраць усе аб'екты на гэтай старонцы для дзеяньня" + +msgid "All dates" +msgstr "Усе даты" + +#, python-format +msgid "Select %s" +msgstr "Абраць %s" + +#, python-format +msgid "Select %s to change" +msgstr "Абярыце %s, каб зьмяніць" + +#, python-format +msgid "Select %s to view" +msgstr "Абярыце %s, каб праглядзець" + +msgid "Date:" +msgstr "Дата:" + +msgid "Time:" +msgstr "Час:" + +msgid "Lookup" +msgstr "Шукаць" + +msgid "Currently:" +msgstr "У цяперашні час:" + +msgid "Change:" +msgstr "Зьмяніць:" diff --git a/external_sources/django/django/contrib/admin/locale/be/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/be/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..484af85 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/be/LC_MESSAGES/djangojs.po @@ -0,0 +1,333 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Viktar Palstsiuk , 2015 +# znotdead , 2016,2020-2021,2023 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 15:04-0300\n" +"PO-Revision-Date: 2023-12-04 07:59+0000\n" +"Last-Translator: znotdead , 2016,2020-2021,2023\n" +"Language-Team: Belarusian (http://app.transifex.com/django/django/language/" +"be/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: be\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" + +#, javascript-format +msgid "Available %s" +msgstr "Даступныя %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Сьпіс даступных %s. Каб нешта абраць, пазначце патрэбнае ў полі ніжэй і " +"пстрыкніце па стрэлцы «Абраць» між двума палямі." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Каб прасеяць даступныя %s, друкуйце ў гэтым полі." + +msgid "Filter" +msgstr "Прасеяць" + +msgid "Choose all" +msgstr "Абраць усе" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Каб абраць усе %s, пстрыкніце тут." + +msgid "Choose" +msgstr "Абраць" + +msgid "Remove" +msgstr "Прыбраць" + +#, javascript-format +msgid "Chosen %s" +msgstr "Абралі %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Сьпіс абраных %s. Каб нешта прыбраць, пазначце патрэбнае ў полі ніжэй і " +"пстрыкніце па стрэлцы «Прыбраць» між двума палямі." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "Друкуйце ў гэтым полі, каб прасеяць спіс выбраных %s." + +msgid "Remove all" +msgstr "Прыбраць усё" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Каб прыбраць усе %s, пстрыкніце тут." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%s абраная можнасьць нябачна" +msgstr[1] "%s абраныя можнасьці нябачны" +msgstr[2] "%s абраныя можнасьці нябачны" +msgstr[3] "%s абраныя можнасьці нябачны" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "Абралі %(sel)s з %(cnt)s" +msgstr[1] "Абралі %(sel)s з %(cnt)s" +msgstr[2] "Абралі %(sel)s з %(cnt)s" +msgstr[3] "Абралі %(sel)s з %(cnt)s" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"У пэўных палях засталіся незахаваныя зьмены. Калі выканаць дзеяньне, " +"незахаванае страціцца." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Абралі дзеяньне, але не захавалі зьмены ў пэўных палях. Каб захаваць, " +"націсьніце «Добра». Дзеяньне потым трэба будзе запусьціць нанова." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Абралі дзеяньне, а ў палях нічога не зьмянялі. Мажліва, вы хацелі націснуць " +"кнопку «Выканаць», а ня кнопку «Захаваць»." + +msgid "Now" +msgstr "Цяпер" + +msgid "Midnight" +msgstr "Поўнач" + +msgid "6 a.m." +msgstr "6 папоўначы" + +msgid "Noon" +msgstr "Поўдзень" + +msgid "6 p.m." +msgstr "6 папаўдні" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Заўвага: Ваш час спяшаецца на %s г адносна часу на серверы." +msgstr[1] "Заўвага: Ваш час спяшаецца на %s г адносна часу на серверы." +msgstr[2] "Заўвага: Ваш час спяшаецца на %s г адносна часу на серверы." +msgstr[3] "Заўвага: Ваш час спяшаецца на %s г адносна часу на серверы." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Заўвага: Ваш час адстае на %s г ад часу на серверы." +msgstr[1] "Заўвага: Ваш час адстае на %s г ад часу на серверы." +msgstr[2] "Заўвага: Ваш час адстае на %s г ад часу на серверы." +msgstr[3] "Заўвага: Ваш час адстае на %s г ад часу на серверы." + +msgid "Choose a Time" +msgstr "Абярыце час" + +msgid "Choose a time" +msgstr "Абярыце час" + +msgid "Cancel" +msgstr "Скасаваць" + +msgid "Today" +msgstr "Сёньня" + +msgid "Choose a Date" +msgstr "Абярыце дату" + +msgid "Yesterday" +msgstr "Учора" + +msgid "Tomorrow" +msgstr "Заўтра" + +msgid "January" +msgstr "Студзень" + +msgid "February" +msgstr "Люты" + +msgid "March" +msgstr "Сакавік" + +msgid "April" +msgstr "Красавік" + +msgid "May" +msgstr "Травень" + +msgid "June" +msgstr "Чэрвень" + +msgid "July" +msgstr "Ліпень" + +msgid "August" +msgstr "Жнівень" + +msgid "September" +msgstr "Верасень" + +msgid "October" +msgstr "Кастрычнік" + +msgid "November" +msgstr "Лістапад" + +msgid "December" +msgstr "Снежань" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Сту" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Лют" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Сак" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Кра" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "Май" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Чэр" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Ліп" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Жні" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Вер" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Кас" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Ліс" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Сне" + +msgid "Sunday" +msgstr "Нядзеля" + +msgid "Monday" +msgstr "Панядзелак" + +msgid "Tuesday" +msgstr "Аўторак" + +msgid "Wednesday" +msgstr "Серада" + +msgid "Thursday" +msgstr "Чацьвер" + +msgid "Friday" +msgstr "Пятніца" + +msgid "Saturday" +msgstr "Субота" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "Нд" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "Пн" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "Аўт" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "Ср" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "Чц" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "Пт" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "Сб" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "Н" + +msgctxt "one letter Monday" +msgid "M" +msgstr "П" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "А" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "С" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "Ч" + +msgctxt "one letter Friday" +msgid "F" +msgstr "П" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "С" + +msgid "Show" +msgstr "Паказаць" + +msgid "Hide" +msgstr "Схаваць" diff --git a/external_sources/django/django/contrib/admin/locale/bg/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/bg/LC_MESSAGES/django.po new file mode 100644 index 0000000..d8e8dc8 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/bg/LC_MESSAGES/django.po @@ -0,0 +1,791 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# arneatec , 2022-2024 +# Boris Chervenkov , 2012 +# Claude Paroz , 2014 +# Jannis Leidel , 2011 +# Lyuboslav Petrov , 2014 +# Todor Lubenov , 2020 +# Todor Lubenov , 2014-2015 +# Venelin Stoykov , 2015-2017 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 07:05+0000\n" +"Last-Translator: arneatec , 2022-2024\n" +"Language-Team: Bulgarian (http://app.transifex.com/django/django/language/" +"bg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Изтриване на избраните %(verbose_name_plural)s" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Успешно изтрити %(count)d %(items)s ." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Не можете да изтриете %(name)s" + +msgid "Are you sure?" +msgstr "Сигурни ли сте?" + +msgid "Administration" +msgstr "Администрация" + +msgid "All" +msgstr "Всички" + +msgid "Yes" +msgstr "Да" + +msgid "No" +msgstr "Не" + +msgid "Unknown" +msgstr "Неизвестно" + +msgid "Any date" +msgstr "Коя-да-е дата" + +msgid "Today" +msgstr "Днес" + +msgid "Past 7 days" +msgstr "Последните 7 дни" + +msgid "This month" +msgstr "Този месец" + +msgid "This year" +msgstr "Тази година" + +msgid "No date" +msgstr "Няма дата" + +msgid "Has date" +msgstr "Има дата" + +msgid "Empty" +msgstr "Празно" + +msgid "Not empty" +msgstr "Не е празно" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Моля въведете правилния %(username)s и парола за администраторски акаунт. " +"Моля забележете, че и двете полета могат да са с главни и малки букви." + +msgid "Action:" +msgstr "Действие:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Добави друг %(verbose_name)s" + +msgid "Remove" +msgstr "Премахване" + +msgid "Addition" +msgstr "Добавка" + +msgid "Change" +msgstr "Промени" + +msgid "Deletion" +msgstr "Изтриване" + +msgid "action time" +msgstr "време на действие" + +msgid "user" +msgstr "потребител" + +msgid "content type" +msgstr "тип на съдържанието" + +msgid "object id" +msgstr "id на обекта" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "repr на обекта" + +msgid "action flag" +msgstr "флаг за действие" + +msgid "change message" +msgstr "промени съобщение" + +msgid "log entry" +msgstr "записка в журнала" + +msgid "log entries" +msgstr "записки в журнала" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Добавен “%(object)s”." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Променени “%(object)s” — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Изтрити “%(object)s.”" + +msgid "LogEntry Object" +msgstr "LogEntry обект" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Добавен {name} “{object}”." + +msgid "Added." +msgstr "Добавено." + +msgid "and" +msgstr "и" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Променени {fields} за {name} “{object}”." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Променени {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Изтрит {name} “{object}”." + +msgid "No fields changed." +msgstr "Няма променени полета." + +msgid "None" +msgstr "Празно" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Задръжте “Control”, или “Command” на Mac, за да изберете повече от едно." + +msgid "Select this object for an action - {}" +msgstr "Изберете този обект за действие - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "Обектът {name} “{obj}” бе успешно добавен." + +msgid "You may edit it again below." +msgstr "Можете отново да го промените по-долу." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"Обектът {name} “{obj}” бе успешно добавен. Можете да добавите друг {name} по-" +"долу." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"Обектът {name} “{obj}” бе успешно променен. Можете да го промените отново по-" +"долу." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"Обектът {name} “{obj}” бе успешно променен. Можете да добавите друг {name} " +"по-долу." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "Обектът {name} “{obj}” бе успешно променен." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Елементите трябва да бъдат избрани, за да се извършат действия по тях. Няма " +"променени елементи." + +msgid "No action selected." +msgstr "Няма избрано действие." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s “%(obj)s” беше успешно изтрит." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "%(name)s с ID “%(key)s” не съществува. Може би е изтрит?" + +#, python-format +msgid "Add %s" +msgstr "Добави %s" + +#, python-format +msgid "Change %s" +msgstr "Промени %s" + +#, python-format +msgid "View %s" +msgstr "Изглед %s" + +msgid "Database error" +msgstr "Грешка в базата данни" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s беше променено успешно." +msgstr[1] "%(count)s %(name)s бяха успешно променени." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s е избран" +msgstr[1] "Избрани са всички %(total_count)s" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "Избрани са 0 от %(cnt)s" + +#, python-format +msgid "Change history: %s" +msgstr "История на промените: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Изтриването на избраните %(class_name)s %(instance)s ще наложи изтриването " +"на следните защитени и свързани обекти: %(related_objects)s" + +msgid "Django site admin" +msgstr "Django административен сайт" + +msgid "Django administration" +msgstr "Django администрация" + +msgid "Site administration" +msgstr "Администрация на сайта" + +msgid "Log in" +msgstr "Вход" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s администрация" + +msgid "Page not found" +msgstr "Страница не е намерена" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Съжаляваме, но поисканата страница не може да бъде намерена." + +msgid "Home" +msgstr "Начало" + +msgid "Server error" +msgstr "Сървърна грешка" + +msgid "Server error (500)" +msgstr "Сървърна грешка (500)" + +msgid "Server Error (500)" +msgstr "Сървърна грешка (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Получи се грешка. Администраторите на сайта са уведомени за това чрез " +"електронна поща и грешката трябва да бъде поправена скоро. Благодарим ви за " +"търпението." + +msgid "Run the selected action" +msgstr "Изпълни избраното действие" + +msgid "Go" +msgstr "Напред" + +msgid "Click here to select the objects across all pages" +msgstr "Щракнете тук, за да изберете обектите във всички страници" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Избери всички %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Изчисти избраното" + +msgid "Breadcrumbs" +msgstr "Трохи" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Модели в приложението %(name)s " + +msgid "Add" +msgstr "Добави" + +msgid "View" +msgstr "Изглед" + +msgid "You don’t have permission to view or edit anything." +msgstr "Нямате права да разглеждате или редактирате каквото и да е." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Първо въведете потребител и парола. След това ще можете да редактирате " +"повече детайли. " + +msgid "Enter a username and password." +msgstr "Въведете потребителско име и парола." + +msgid "Change password" +msgstr "Промени парола" + +msgid "Set password" +msgstr "Задайте парола" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Моля, поправете грешката по-долу." +msgstr[1] "Моля, поправете грешките по-долу." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Въведете нова парола за потребител %(username)s." + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "" +"Това действие ще включи автентикация чрез парола за този " +"потребител." + +msgid "Disable password-based authentication" +msgstr "Деактивиране на автентикация чрез парола." + +msgid "Enable password-based authentication" +msgstr "Разрешаване на автентикация чрез парола." + +msgid "Skip to main content" +msgstr "Пропуснете към основното съдържание" + +msgid "Welcome," +msgstr "Добре дошли," + +msgid "View site" +msgstr "Виж сайта" + +msgid "Documentation" +msgstr "Документация" + +msgid "Log out" +msgstr "Изход" + +#, python-format +msgid "Add %(name)s" +msgstr "Добави %(name)s" + +msgid "History" +msgstr "История" + +msgid "View on site" +msgstr "Разгледай в сайта" + +msgid "Filter" +msgstr "Филтър" + +msgid "Hide counts" +msgstr "Скрий брояча" + +msgid "Show counts" +msgstr "Покажи брояча" + +msgid "Clear all filters" +msgstr "Изчисти всички филтри" + +msgid "Remove from sorting" +msgstr "Премахни от подреждането" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Ред на подреждане: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Превключи подреждането" + +msgid "Toggle theme (current theme: auto)" +msgstr "Смени темата (настояща тема: автоматична)" + +msgid "Toggle theme (current theme: light)" +msgstr "Смени темата (настояща тема: светла)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Смени темата (настояща тема: тъмна)" + +msgid "Delete" +msgstr "Изтрий" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Изтриването на %(object_name)s '%(escaped_object)s' би причинило изтриване " +"на свързани обекти, но вашият потребител няма право да изтрива следните " +"видове обекти:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Изтриването на %(object_name)s '%(escaped_object)s' изисква изтриването на " +"следните защитени свързани обекти:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Наистина ли искате да изтриете %(object_name)s \"%(escaped_object)s\"? " +"Следните свързани елементи също ще бъдат изтрити:" + +msgid "Objects" +msgstr "Обекти" + +msgid "Yes, I’m sure" +msgstr "Да, сигурен съм" + +msgid "No, take me back" +msgstr "Не, върни ме обратно" + +msgid "Delete multiple objects" +msgstr "Изтриване на множество обекти" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Изтриването на избраните %(objects_name)s ще доведе до изтриване на свързани " +"обекти, но вашият потребител няма право да изтрива следните типове обекти:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Изтриването на избраните %(objects_name)s изисква изтриването на следните " +"защитени свързани обекти:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Наистина ли искате да изтриете избраните %(objects_name)s? Всички изброени " +"обекти и свързаните с тях ще бъдат изтрити:" + +msgid "Delete?" +msgstr "Изтриване?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " По %(filter_title)s " + +msgid "Summary" +msgstr "Резюме" + +msgid "Recent actions" +msgstr "Последни действия" + +msgid "My actions" +msgstr "Моите действия" + +msgid "None available" +msgstr "Няма налични" + +msgid "Added:" +msgstr "Добавени:" + +msgid "Changed:" +msgstr "Променени:" + +msgid "Deleted:" +msgstr "Изтрити:" + +msgid "Unknown content" +msgstr "Неизвестно съдържание" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Проблем с вашата база данни. Убедете се, че необходимите таблици в базата са " +"създадени и че съответния потребител има необходимите права за достъп. " + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Вие сте се удостоверен като %(username)s, но не сте оторизиран да достъпите " +"тази страница. Бихте ли желали да влезе с друг профил?" + +msgid "Forgotten your password or username?" +msgstr "Забравена парола или потребителско име?" + +msgid "Toggle navigation" +msgstr "Превключи навигацията" + +msgid "Sidebar" +msgstr "Страничната лента" + +msgid "Start typing to filter…" +msgstr "Започнете да пишете за филтър..." + +msgid "Filter navigation items" +msgstr "Филтриране на навигационните елементи" + +msgid "Date/time" +msgstr "Дата/час" + +msgid "User" +msgstr "Потребител" + +msgid "Action" +msgstr "Действие" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "запис" +msgstr[1] "записа" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Този обект няма история на промените. Вероятно не е бил добавен чрез този " +"административен сайт." + +msgid "Show all" +msgstr "Покажи всички" + +msgid "Save" +msgstr "Запис" + +msgid "Popup closing…" +msgstr "Изскачащият прозорец се затваря..." + +msgid "Search" +msgstr "Търсене" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s резултат" +msgstr[1] "%(counter)s резултати" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s общо" + +msgid "Save as new" +msgstr "Запиши като нов" + +msgid "Save and add another" +msgstr "Запиши и добави нов" + +msgid "Save and continue editing" +msgstr "Запиши и продължи" + +msgid "Save and view" +msgstr "Запиши и прегледай" + +msgid "Close" +msgstr "Затвори" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Променете избрания %(model)s" + +#, python-format +msgid "Add another %(model)s" +msgstr "Добавяне на друг %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Изтриване на избрания %(model)s" + +#, python-format +msgid "View selected %(model)s" +msgstr "Виж избраните %(model)s" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Благодарим ви за добре прекараното време с този сайт днес." + +msgid "Log in again" +msgstr "Влез пак" + +msgid "Password change" +msgstr "Промяна на парола" + +msgid "Your password was changed." +msgstr "Паролата ви е променена." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Въведете старата си парола /от съображения за сигурност/. След това въведете " +"желаната нова парола два пъти, за да сверим дали е написана правилно." + +msgid "Change my password" +msgstr "Промяна на паролата ми" + +msgid "Password reset" +msgstr "Нова парола" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Паролата е променена. Вече можете да се впишете." + +msgid "Password reset confirmation" +msgstr "Потвърждение за смяна на паролата" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Моля, въведете новата парола два пъти, за да се уверим, че сте я написали " +"правилно." + +msgid "New password:" +msgstr "Нова парола:" + +msgid "Confirm password:" +msgstr "Потвърдете паролата:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Връзката за възстановяване на паролата е невалидна, може би защото вече е " +"използвана. Моля, поискайте нова промяна на паролата." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"По имейл изпратихме инструкции за смяна на паролата, ако съществува профил с " +"въведения от вас адрес. Би трябвало скоро да ги получите. " + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Ако не получите имейл, моля уверете се, че сте попълнили правилно адреса, с " +"който сте се регистрирали, също проверете спам папката във вашата поща." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Вие получавати този имейл, защото сте поискали да промените паролата за " +"вашия потребителски акаунт в %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Моля, отидете на следната страница и изберете нова парола:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Вашето потребителско име, в случай че сте го забравили:" + +msgid "Thanks for using our site!" +msgstr "Благодарим, че ползвате сайта ни!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Екипът на %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Забравили сте си паролата? Въведете своя имейл адрес по-долу, и ние ще ви " +"изпратим инструкции как да я смените с нова." + +msgid "Email address:" +msgstr "Имейл адреси:" + +msgid "Reset my password" +msgstr "Задай новата ми парола" + +msgid "Select all objects on this page for an action" +msgstr "Изберете всички обекти на този страница за действие" + +msgid "All dates" +msgstr "Всички дати" + +#, python-format +msgid "Select %s" +msgstr "Изберете %s" + +#, python-format +msgid "Select %s to change" +msgstr "Изберете %s за промяна" + +#, python-format +msgid "Select %s to view" +msgstr "Избери %s за преглед" + +msgid "Date:" +msgstr "Дата:" + +msgid "Time:" +msgstr "Час:" + +msgid "Lookup" +msgstr "Търсене" + +msgid "Currently:" +msgstr "Сега:" + +msgid "Change:" +msgstr "Промяна:" diff --git a/external_sources/django/django/contrib/admin/locale/bg/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/bg/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..4ec3a50 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/bg/LC_MESSAGES/djangojs.po @@ -0,0 +1,320 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# arneatec , 2022-2024 +# Jannis Leidel , 2011 +# Venelin Stoykov , 2015-2016 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 07:59+0000\n" +"Last-Translator: arneatec , 2022-2024\n" +"Language-Team: Bulgarian (http://app.transifex.com/django/django/language/" +"bg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "Налични %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Това е списък на наличните %s . Можете да изберете някои, като ги изберете в " +"полето по-долу и след това кликнете върху стрелката \"Избери\" между двете " +"полета." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Въведете в това поле, за да филтрирате списъка на наличните %s." + +msgid "Filter" +msgstr "Филтър" + +msgid "Choose all" +msgstr "Избери всички" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Кликнете, за да изберете всички %s наведнъж." + +msgid "Choose" +msgstr "Избери" + +msgid "Remove" +msgstr "Премахни" + +#, javascript-format +msgid "Chosen %s" +msgstr "Избрахме %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Това е списък на избраните %s. Можете да премахнете някои, като ги изберете " +"в полето по-долу и след това щракнете върху стрелката \"Премахни\" между " +"двете полета." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "Въведете в това поле, за да филтрирате списъка на избраните %s." + +msgid "Remove all" +msgstr "Премахване на всички" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Кликнете, за да премахнете всички избрани %s наведнъж." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%s избрана опция не е видима" +msgstr[1] "%s selected options not visible" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s на %(cnt)s е избран" +msgstr[1] "%(sel)s на %(cnt)s са избрани" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Имате незапазени промени по отделни полета за редактиране. Ако изпълните " +"действие, незаписаните промени ще бъдат загубени." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Вие сте избрали действие, но не сте записали промените по полета. Моля, " +"кликнете ОК, за да се запишат. Трябва отново да изпълните действието." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Вие сте избрали действие, но не сте направили промени по полетата. Вероятно " +"търсите Изпълни бутона, а не бутона Запис." + +msgid "Now" +msgstr "Сега" + +msgid "Midnight" +msgstr "Полунощ" + +msgid "6 a.m." +msgstr "6 сутринта" + +msgid "Noon" +msgstr "По обяд" + +msgid "6 p.m." +msgstr "6 след обяд" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Бележка: Вие сте %s час напред от времето на сървъра." +msgstr[1] "Бележка: Вие сте с %s часа напред от времето на сървъра" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Внимание: Вие сте %s час назад от времето на сървъра." +msgstr[1] "Внимание: Вие сте с %s часа назад от времето на сървъра." + +msgid "Choose a Time" +msgstr "Изберете време" + +msgid "Choose a time" +msgstr "Изберете време" + +msgid "Cancel" +msgstr "Отказ" + +msgid "Today" +msgstr "Днес" + +msgid "Choose a Date" +msgstr "Изберете дата" + +msgid "Yesterday" +msgstr "Вчера" + +msgid "Tomorrow" +msgstr "Утре" + +msgid "January" +msgstr "Януари" + +msgid "February" +msgstr "Февруари" + +msgid "March" +msgstr "Март" + +msgid "April" +msgstr "Април" + +msgid "May" +msgstr "Май" + +msgid "June" +msgstr "Юни" + +msgid "July" +msgstr "Юли" + +msgid "August" +msgstr "Август" + +msgid "September" +msgstr "Септември" + +msgid "October" +msgstr "Октомври" + +msgid "November" +msgstr "Ноември" + +msgid "December" +msgstr "Декември" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "ян." + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "февр." + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "март" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "апр." + +msgctxt "abbrev. month May" +msgid "May" +msgstr "май" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "юни" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "юли" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "авг." + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "септ." + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "окт." + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "ноем." + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "дек." + +msgid "Sunday" +msgstr "неделя" + +msgid "Monday" +msgstr "понеделник" + +msgid "Tuesday" +msgstr "вторник" + +msgid "Wednesday" +msgstr "сряда" + +msgid "Thursday" +msgstr "четвъртък" + +msgid "Friday" +msgstr "петък" + +msgid "Saturday" +msgstr "събота" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "нед" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "пон" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "вт" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "ср" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "чет" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "пет" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "съб" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "Н" + +msgctxt "one letter Monday" +msgid "M" +msgstr "П" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "В" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "С" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "Ч" + +msgctxt "one letter Friday" +msgid "F" +msgstr "П" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "С" diff --git a/external_sources/django/django/contrib/admin/locale/bn/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/bn/LC_MESSAGES/django.po new file mode 100644 index 0000000..ef7e14b --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/bn/LC_MESSAGES/django.po @@ -0,0 +1,713 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Anubhab Baksi, 2013 +# Jannis Leidel , 2011 +# Md Arshad Hussain, 2022 +# Tahmid Rafi , 2012-2013 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-05-17 05:10-0500\n" +"PO-Revision-Date: 2022-07-25 07:05+0000\n" +"Last-Translator: Md Arshad Hussain\n" +"Language-Team: Bengali (http://www.transifex.com/django/django/language/" +"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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "চিহ্নিত অংশটি %(verbose_name_plural)s মুছে ফেলুন" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d টি %(items)s সফলভাবে মুছে ফেলা হয়েছে" + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "%(name)s ডিলিট করা সম্ভব নয়" + +msgid "Are you sure?" +msgstr "আপনি কি নিশ্চিত?" + +msgid "Administration" +msgstr "প্রয়োগ" + +msgid "All" +msgstr "সকল" + +msgid "Yes" +msgstr "হ্যাঁ" + +msgid "No" +msgstr "না" + +msgid "Unknown" +msgstr "অজানা" + +msgid "Any date" +msgstr "যে কোন তারিখ" + +msgid "Today" +msgstr "‍আজ" + +msgid "Past 7 days" +msgstr "শেষ ৭ দিন" + +msgid "This month" +msgstr "এ মাসে" + +msgid "This year" +msgstr "এ বছরে" + +msgid "No date" +msgstr "কোন তারিখ নেই" + +msgid "Has date" +msgstr "তারিখ আছে" + +msgid "Empty" +msgstr "খালি" + +msgid "Not empty" +msgstr "খালি নেই" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" + +msgid "Action:" +msgstr "কাজ:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "আরো একটি %(verbose_name)s যোগ করুন" + +msgid "Remove" +msgstr "মুছে ফেলুন" + +msgid "Addition" +msgstr "" + +msgid "Change" +msgstr "পরিবর্তন" + +msgid "Deletion" +msgstr "" + +msgid "action time" +msgstr "কার্য সময়" + +msgid "user" +msgstr "ব্যবহারকারী" + +msgid "content type" +msgstr "" + +msgid "object id" +msgstr "অবজেক্ট আইডি" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "অবজেক্ট উপস্থাপক" + +msgid "action flag" +msgstr "কার্যচিহ্ন" + +msgid "change message" +msgstr "বার্তা পরিবর্তন করুন" + +msgid "log entry" +msgstr "লগ এন্ট্রি" + +msgid "log entries" +msgstr "লগ এন্ট্রিসমূহ" + +#, python-format +msgid "Added “%(object)s”." +msgstr "“%(object)s” যোগ করা হয়েছে। " + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "“%(object)s” — %(changes)s পরিবর্তন করা হয়েছে" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "“%(object)s.” মুছে ফেলা হয়েছে" + +msgid "LogEntry Object" +msgstr "লগ-এন্ট্রি দ্রব্য" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "" + +msgid "Added." +msgstr "যুক্ত করা হয়েছে" + +msgid "and" +msgstr "এবং" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "" + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "" + +msgid "No fields changed." +msgstr "কোন ফিল্ড পরিবর্তন হয়নি।" + +msgid "None" +msgstr "কিছু না" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "" + +msgid "You may edit it again below." +msgstr "নিম্নে আপনি আবার তা সম্পাদনা/পরিবর্তন করতে পারেন।" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"{name} \"{obj}\" সফলভাবে যুক্ত হয়েছে৷ নিম্নে আপনি আরেকটি {name} যুক্ত করতে পারেন।" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "কাজ করার আগে বস্তুগুলিকে অবশ্যই চিহ্নিত করতে হবে। কোনো বস্তু পরিবর্তিত হয়নি।" + +msgid "No action selected." +msgstr "কোনো কাজ " + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "" + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "%s যোগ করুন" + +#, python-format +msgid "Change %s" +msgstr "%s পরিবর্তন করুন" + +#, python-format +msgid "View %s" +msgstr "" + +msgid "Database error" +msgstr "ডাটাবেস সমস্যা" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "%(cnt)s টি থেকে ০ টি সিলেক্ট করা হয়েছে" + +#, python-format +msgid "Change history: %s" +msgstr "ইতিহাস পরিবর্তনঃ %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" + +msgid "Django site admin" +msgstr "জ্যাঙ্গো সাইট প্রশাসক" + +msgid "Django administration" +msgstr "জ্যাঙ্গো প্রশাসন" + +msgid "Site administration" +msgstr "সাইট প্রশাসন" + +msgid "Log in" +msgstr "প্রবেশ করুন" + +#, python-format +msgid "%(app)s administration" +msgstr "" + +msgid "Page not found" +msgstr "পৃষ্ঠা পাওয়া যায়নি" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "আমরা দুঃখিত, কিন্তু অনুরোধকৃত পাতা খুঁজে পাওয়া যায়নি।" + +msgid "Home" +msgstr "নীড়পাতা" + +msgid "Server error" +msgstr "সার্ভার সমস্যা" + +msgid "Server error (500)" +msgstr "সার্ভার সমস্যা (৫০০)" + +msgid "Server Error (500)" +msgstr "সার্ভার সমস্যা (৫০০)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +msgid "Run the selected action" +msgstr "চিহ্নিত কাজটি শুরু করুন" + +msgid "Go" +msgstr "যান" + +msgid "Click here to select the objects across all pages" +msgstr "সকল পৃষ্ঠার দ্রব্য পছন্দ করতে এখানে ক্লিক করুন" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "%(total_count)s টি %(module_name)s এর সবগুলোই সিলেক্ট করুন" + +msgid "Clear selection" +msgstr "চিহ্নিত অংশের চিহ্ন মুছে ফেলুন" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "%(name)s এপ্লিকেশন এর মডেল গুলো" + +msgid "Add" +msgstr "যোগ করুন" + +msgid "View" +msgstr "দেখুন" + +msgid "You don’t have permission to view or edit anything." +msgstr "কোন কিছু দেখার বা সম্পাদনা/পরিবর্তন করার আপনার কোন অনুমতি নেই।" + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"প্রথমে, একজন ব্যবহারকারীর নাম এবং পাসওয়ার্ড লিখুন। তাহলে, আপনি ব্যবহারকারীর " +"অন্যান্য অনেক অপশনগুলো পরিবর্তন করতে সক্ষম হবেন। " + +msgid "Enter a username and password." +msgstr "ইউজার নেইম এবং পাসওয়ার্ড টাইপ করুন।" + +msgid "Change password" +msgstr "পাসওয়ার্ড বদলান" + +msgid "Please correct the error below." +msgstr "দয়া করে নিম্নবর্ণিত ভুলটি সংশোধন করুন।" + +msgid "Please correct the errors below." +msgstr "দয়া করে নিম্নবর্ণিত ভুলগুলো সংশোধন করুন।" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "%(username)s সদস্যের জন্য নতুন পাসওয়ার্ড দিন।" + +msgid "Welcome," +msgstr "স্বাগতম," + +msgid "View site" +msgstr "" + +msgid "Documentation" +msgstr "সহায়িকা" + +msgid "Log out" +msgstr "প্রস্থান" + +#, python-format +msgid "Add %(name)s" +msgstr "%(name)s যোগ করুন" + +msgid "History" +msgstr "ইতিহাস" + +msgid "View on site" +msgstr "সাইটে দেখুন" + +msgid "Filter" +msgstr "ফিল্টার" + +msgid "Clear all filters" +msgstr "" + +msgid "Remove from sorting" +msgstr "ক্রমানুসারে সাজানো থেকে বিরত হোন" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "সাজানোর ক্রম: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "ক্রমানুসারে সাজানো চালু করুন/ বন্ধ করুন" + +msgid "Delete" +msgstr "মুছুন" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"%(object_name)s '%(escaped_object)s' মুছে ফেললে এর সম্পর্কিত অবজেক্টগুলোও মুছে " +"যাবে, কিন্তু আপনার নিম্নবর্ণিত অবজেক্টগুলো মোছার অধিকার নেইঃ" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"আপনি কি %(object_name)s \"%(escaped_object)s\" মুছে ফেলার ব্যাপারে নিশ্চিত? " +"নিম্নে বর্ণিত সকল আইটেম মুছে যাবেঃ" + +msgid "Objects" +msgstr "" + +msgid "Yes, I’m sure" +msgstr "হ্যাঁ, আমি নিশ্চিত" + +msgid "No, take me back" +msgstr "না, আমাক পূর্বের জায়গায় ফিরিয়ে নাও" + +msgid "Delete multiple objects" +msgstr "একাধিক জিনিস মুছে ফেলুন" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" + +msgid "Delete?" +msgstr "মুছে ফেলুন?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " %(filter_title)s অনুযায়ী " + +msgid "Summary" +msgstr "সারসংক্ষেপ" + +msgid "Recent actions" +msgstr "" + +msgid "My actions" +msgstr "আমার করনীয়" + +msgid "None available" +msgstr "কিছুই পাওয়া যায়নি" + +msgid "Unknown content" +msgstr "অজানা বিষয়" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"আপনার ড্যাটাবেস ইন্সটলেশন করার ক্ষেত্রে কিছু সমস্যা রয়েছে। নিশ্চিত করুন যে আপনি " +"যথাযথ ড্যাটাবেস টেবিলগুলো তৈরী করেছেন এবং নিশ্চিত করুন যে উক্ত ড্যাটাবেসটি অন্যান্য " +"ব্যবহারকারী দ্বারা ব্যবহারযোগ্য হবে। " + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" + +msgid "Forgotten your password or username?" +msgstr "ইউজার নেইম অথবা পাসওয়ার্ড ভুলে গেছেন?" + +msgid "Toggle navigation" +msgstr "" + +msgid "Start typing to filter…" +msgstr "" + +msgid "Filter navigation items" +msgstr "" + +msgid "Date/time" +msgstr "তারিখ/সময়" + +msgid "User" +msgstr "সদস্য" + +msgid "Action" +msgstr "কার্য" + +msgid "entry" +msgstr "" + +msgid "entries" +msgstr "" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" + +msgid "Show all" +msgstr "সব দেখান" + +msgid "Save" +msgstr "সংরক্ষণ করুন" + +msgid "Popup closing…" +msgstr "" + +msgid "Search" +msgstr "সার্চ" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "মোট %(full_result_count)s" + +msgid "Save as new" +msgstr "নতুনভাবে সংরক্ষণ করুন" + +msgid "Save and add another" +msgstr "সংরক্ষণ করুন এবং আরেকটি যোগ করুন" + +msgid "Save and continue editing" +msgstr "সংরক্ষণ করুন এবং সম্পাদনা চালিয়ে যান" + +msgid "Save and view" +msgstr "সংরক্ষণ করুন এবং দেখুন" + +msgid "Close" +msgstr "বন্ধ করুন" + +#, python-format +msgid "Change selected %(model)s" +msgstr "%(model)s নির্বাচিত অংশটি পরিবর্তন করুন" + +#, python-format +msgid "Add another %(model)s" +msgstr "আরো একটি%(model)s যুক্ত করুন" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "%(model)s নির্বাচিত অংশটি মুছুন " + +#, python-format +msgid "View selected %(model)s" +msgstr "" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "আজকে ওয়েব সাইট আপনার গুনগত সময় দেয়ার জন্য আপনাকে ধন্যবাদ।" + +msgid "Log in again" +msgstr "পুনরায় প্রবেশ করুন" + +msgid "Password change" +msgstr "পাসওয়ার্ড বদলান" + +msgid "Your password was changed." +msgstr "আপনার পাসওয়ার্ড বদলানো হয়েছে।" + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"দয়া করে নিরাপত্তার জন্য আপনার পুরানো পাসওয়ার্ডটি লিখুন, এবং তারপর নতুন পাসওয়ার্ডটি " +"দুইবার লিখুন যাতে করে আপনি সঠিক পাসওয়ার্ডটি লিখেছেন কি না তা আমরা যাচাই করতে " +"পারি। " + +msgid "Change my password" +msgstr "আমার পাসওয়ার্ড পরিবর্তন করুন" + +msgid "Password reset" +msgstr "পাসওয়ার্ড রিসেট করুন" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "আপনার পাসওয়ার্ড দেয়া হয়েছে। আপনি এখন প্রবেশ (লগইন) করতে পারেন।" + +msgid "Password reset confirmation" +msgstr "পাসওয়ার্ড রিসেট নিশ্চিত করুন" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"অনুগ্রহ করে আপনার পাসওয়ার্ড দুবার প্রবেশ করান, যাতে আমরা যাচাই করতে পারি আপনি " +"সঠিকভাবে টাইপ করেছেন।" + +msgid "New password:" +msgstr "নতুন পাসওয়ার্ডঃ" + +msgid "Confirm password:" +msgstr "পাসওয়ার্ড নিশ্চিতকরণঃ" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"পাসওয়ার্ড রিসেট লিঙ্কটি ঠিক নয়, হয়তো এটা ইতোমধ্যে ব্যবহৃত হয়েছে। পাসওয়ার্ড " +"রিসেটের জন্য অনুগ্রহ করে নতুনভাবে আবেদন করুন।" + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"আপনার পাসওয়ার্ড সংযোজন করার জন্য আমরা আপনাকে নির্দেশাবলী সম্বলিত একটি ই-মেইল " +"পাঠাবো, যদি আপনার দেয়া ই-মেইলে আইডিটি এখানে বিদ্যমান থাকে। আপনি খুব দ্রুত তা " +"পেয়ে যাবেন। " + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"আপনি যদি কোন ই-মেইল না পেয়ে থাকে, তবে দয়া করে নিশ্চিত করুন আপনি যে ই-মেইল আইডি " +"দিয়ে নিবন্ধন করেছিলেন তা এখানে লিখেছেন, এবং আপনার স্পাম ফোল্ডার চেক করুন। " + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"আপনি এই ই-মেইলটি পেয়েছেন কারন আপনি %(site_name)s এ আপনার ইউজার একাউন্টের " +"পাসওয়ার্ড রিসেট এর জন্য অনুরোধ করেছেন।" + +msgid "Please go to the following page and choose a new password:" +msgstr "অনুগ্রহ করে নিচের পাতাটিতে যান এবং নতুন পাসওয়ার্ড বাছাই করুনঃ" + +msgid "Your username, in case you’ve forgotten:" +msgstr "আপনার ব্যবহারকারীর নাম, যদি আপনি ভুলে গিয়ে থাকেন:" + +msgid "Thanks for using our site!" +msgstr "আমাদের সাইট ব্যবহারের জন্য ধন্যবাদ!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s দল" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"আপনার পাসওয়ার্ড ভুলে গিয়েছেন? নিম্নে আপনার ই-মেইল আইডি লিখুন, এবং আমরা আপনাকে " +"নতুন পাসওয়ার্ড সংযোজন করার জন্য নির্দেশাবলী সম্বলিত ই-মেইল পাঠাবো।" + +msgid "Email address:" +msgstr "ইমেইল ঠিকানা:" + +msgid "Reset my password" +msgstr "আমার পাসওয়ার্ড রিসেট করুন" + +msgid "All dates" +msgstr "সকল তারিখ" + +#, python-format +msgid "Select %s" +msgstr "%s বাছাই করুন" + +#, python-format +msgid "Select %s to change" +msgstr "%s পরিবর্তনের জন্য বাছাই করুন" + +#, python-format +msgid "Select %s to view" +msgstr "দেখার জন্য %s নির্বাচন করুন" + +msgid "Date:" +msgstr "তারিখঃ" + +msgid "Time:" +msgstr "সময়ঃ" + +msgid "Lookup" +msgstr "খুঁজুন" + +msgid "Currently:" +msgstr "বর্তমান অবস্থা:" + +msgid "Change:" +msgstr "পরিবর্তন:" diff --git a/external_sources/django/django/contrib/admin/locale/bn/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/bn/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..139d81c --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/bn/LC_MESSAGES/djangojs.po @@ -0,0 +1,207 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel , 2011 +# Tahmid Rafi , 2013 +# Tahmid Rafi , 2014 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"PO-Revision-Date: 2017-09-19 16:41+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Bengali (http://www.transifex.com/django/django/language/" +"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" + +#, javascript-format +msgid "Available %s" +msgstr "%s বিদ্যমান" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" + +msgid "Filter" +msgstr "ফিল্টার" + +msgid "Choose all" +msgstr "সব বাছাই করুন" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "সব %s একবারে বাছাই করার জন্য ক্লিক করুন।" + +msgid "Choose" +msgstr "বাছাই করুন" + +msgid "Remove" +msgstr "মুছে ফেলুন" + +#, javascript-format +msgid "Chosen %s" +msgstr "%s বাছাই করা হয়েছে" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" + +msgid "Remove all" +msgstr "সব মুছে ফেলুন" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "" +msgstr[1] "" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "নোট: আপনি সার্ভার সময়ের চেয়ে %s ঘন্টা সামনে আছেন।" +msgstr[1] "নোট: আপনি সার্ভার সময়ের চেয়ে %s ঘন্টা সামনে আছেন।" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "নোট: আপনি সার্ভার সময়ের চেয়ে %s ঘন্টা পেছনে আছেন।" +msgstr[1] "নোট: আপনি সার্ভার সময়ের চেয়ে %s ঘন্টা পেছনে আছেন।" + +msgid "Now" +msgstr "এখন" + +msgid "Choose a Time" +msgstr "" + +msgid "Choose a time" +msgstr "সময় নির্বাচন করুন" + +msgid "Midnight" +msgstr "মধ্যরাত" + +msgid "6 a.m." +msgstr "৬ পূর্বাহ্ন" + +msgid "Noon" +msgstr "দুপুর" + +msgid "6 p.m." +msgstr "" + +msgid "Cancel" +msgstr "বাতিল" + +msgid "Today" +msgstr "আজ" + +msgid "Choose a Date" +msgstr "" + +msgid "Yesterday" +msgstr "গতকাল" + +msgid "Tomorrow" +msgstr "আগামীকাল" + +msgid "January" +msgstr "" + +msgid "February" +msgstr "" + +msgid "March" +msgstr "" + +msgid "April" +msgstr "" + +msgid "May" +msgstr "" + +msgid "June" +msgstr "" + +msgid "July" +msgstr "" + +msgid "August" +msgstr "" + +msgid "September" +msgstr "" + +msgid "October" +msgstr "" + +msgid "November" +msgstr "" + +msgid "December" +msgstr "" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "" + +msgctxt "one letter Monday" +msgid "M" +msgstr "" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "" + +msgctxt "one letter Friday" +msgid "F" +msgstr "" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "" + +msgid "Show" +msgstr "দেখান" + +msgid "Hide" +msgstr "লুকান" diff --git a/external_sources/django/django/contrib/admin/locale/br/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/br/LC_MESSAGES/django.po new file mode 100644 index 0000000..cbdc359 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/br/LC_MESSAGES/django.po @@ -0,0 +1,671 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Fulup , 2012 +# Irriep Nala Novram , 2018 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-01-16 20:42+0100\n" +"PO-Revision-Date: 2019-01-18 00:36+0000\n" +"Last-Translator: Ramiro Morales\n" +"Language-Team: Breton (http://www.transifex.com/django/django/language/br/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: br\n" +"Plural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !" +"=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n" +"%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > " +"19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 " +"&& n % 1000000 == 0) ? 3 : 4);\n" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "" + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "" + +msgid "Are you sure?" +msgstr "Ha sur oc'h?" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Dilemel %(verbose_name_plural)s diuzet" + +msgid "Administration" +msgstr "Melestradurezh" + +msgid "All" +msgstr "An holl" + +msgid "Yes" +msgstr "Ya" + +msgid "No" +msgstr "Ket" + +msgid "Unknown" +msgstr "Dianav" + +msgid "Any date" +msgstr "Forzh pegoulz" + +msgid "Today" +msgstr "Hiziv" + +msgid "Past 7 days" +msgstr "Er 7 devezh diwezhañ" + +msgid "This month" +msgstr "Ar miz-mañ" + +msgid "This year" +msgstr "Ar bloaz-mañ" + +msgid "No date" +msgstr "Deiziad ebet" + +msgid "Has date" +msgstr "D'an deiziad" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" + +msgid "Action:" +msgstr "Ober:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Ouzhpennañ %(verbose_name)s all" + +msgid "Remove" +msgstr "Lemel kuit" + +msgid "Addition" +msgstr "Sammañ" + +msgid "Change" +msgstr "Cheñch" + +msgid "Deletion" +msgstr "Diverkadur" + +msgid "action time" +msgstr "eur an ober" + +msgid "user" +msgstr "implijer" + +msgid "content type" +msgstr "doare endalc'had" + +msgid "object id" +msgstr "id an objed" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "" + +msgid "action flag" +msgstr "ober banniel" + +msgid "change message" +msgstr "Kemennadenn cheñchamant" + +msgid "log entry" +msgstr "" + +msgid "log entries" +msgstr "" + +#, python-format +msgid "Added \"%(object)s\"." +msgstr "Ouzhpennet \"%(object)s\"." + +#, python-format +msgid "Changed \"%(object)s\" - %(changes)s" +msgstr "Cheñchet \"%(object)s\" - %(changes)s" + +#, python-format +msgid "Deleted \"%(object)s.\"" +msgstr "Dilamet \"%(object)s.\"" + +msgid "LogEntry Object" +msgstr "" + +#, python-brace-format +msgid "Added {name} \"{object}\"." +msgstr "Ouzhpennet {name} \"{object}\"." + +msgid "Added." +msgstr "Ouzhpennet." + +msgid "and" +msgstr "ha" + +#, python-brace-format +msgid "Changed {fields} for {name} \"{object}\"." +msgstr "Cheñchet {fields} evit {name} \"{object}\"." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Cheñchet {fields}." + +#, python-brace-format +msgid "Deleted {name} \"{object}\"." +msgstr "Dilamet {name} \"{object}\"." + +msgid "No fields changed." +msgstr "Maezienn ebet cheñchet." + +msgid "None" +msgstr "Hini ebet" + +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was added successfully." +msgstr "" + +msgid "You may edit it again below." +msgstr "Rankout a rit ec'h aozañ adarre dindan." + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" + +msgid "No action selected." +msgstr "Ober ebet diuzet." + +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "" + +#, python-format +msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "Ouzhpennañ %s" + +#, python-format +msgid "Change %s" +msgstr "Cheñch %s" + +#, python-format +msgid "View %s" +msgstr "Gwelet %s" + +msgid "Database error" +msgstr "Fazi diaz-roadennoù" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s a zo bet cheñchet mat." +msgstr[1] "%(count)s %(name)s a zo bet cheñchet mat. " +msgstr[2] "%(count)s %(name)s a zo bet cheñchet mat. " +msgstr[3] "%(count)s %(name)s a zo bet cheñchet mat." +msgstr[4] "%(count)s %(name)s a zo bet cheñchet mat." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s diuzet" +msgstr[1] "%(total_count)s diuzet" +msgstr[2] "%(total_count)s diuzet" +msgstr[3] "%(total_count)s diuzet" +msgstr[4] "Pep %(total_count)s diuzet" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 diwar %(cnt)s diuzet" + +#, python-format +msgid "Change history: %s" +msgstr "Istor ar cheñchadurioù: %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" + +msgid "Django site admin" +msgstr "Lec'hienn verañ Django" + +msgid "Django administration" +msgstr "Merañ Django" + +msgid "Site administration" +msgstr "Merañ al lec'hienn" + +msgid "Log in" +msgstr "Kevreañ" + +#, python-format +msgid "%(app)s administration" +msgstr "" + +msgid "Page not found" +msgstr "N'eo ket bet kavet ar bajenn" + +msgid "We're sorry, but the requested page could not be found." +msgstr "" + +msgid "Home" +msgstr "Degemer" + +msgid "Server error" +msgstr "Fazi servijer" + +msgid "Server error (500)" +msgstr "Fazi servijer (500)" + +msgid "Server Error (500)" +msgstr "Fazi servijer (500)" + +msgid "" +"There's been an error. It's been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +msgid "Run the selected action" +msgstr "" + +msgid "Go" +msgstr "Mont" + +msgid "Click here to select the objects across all pages" +msgstr "" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "" + +msgid "Clear selection" +msgstr "Riñsañ an diuzadenn" + +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" + +msgid "Enter a username and password." +msgstr "Merkit un anv implijer hag ur ger-tremen." + +msgid "Change password" +msgstr "Cheñch ger-tremen" + +msgid "Please correct the error below." +msgstr "" + +msgid "Please correct the errors below." +msgstr "" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" + +msgid "Welcome," +msgstr "Degemer mat," + +msgid "View site" +msgstr "" + +msgid "Documentation" +msgstr "Teulioù" + +msgid "Log out" +msgstr "Digevreañ" + +#, python-format +msgid "Add %(name)s" +msgstr "Ouzhpennañ %(name)s" + +msgid "History" +msgstr "Istor" + +msgid "View on site" +msgstr "Gwelet war al lec'hienn" + +msgid "Filter" +msgstr "Sil" + +msgid "Remove from sorting" +msgstr "" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "" + +msgid "Toggle sorting" +msgstr "Eilpennañ an diuzadenn" + +msgid "Delete" +msgstr "Diverkañ" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" + +msgid "Objects" +msgstr "" + +msgid "Yes, I'm sure" +msgstr "Ya, sur on" + +msgid "No, take me back" +msgstr "" + +msgid "Delete multiple objects" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" + +msgid "View" +msgstr "" + +msgid "Delete?" +msgstr "Diverkañ ?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " dre %(filter_title)s " + +msgid "Summary" +msgstr "" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "" + +msgid "Add" +msgstr "Ouzhpennañ" + +msgid "You don't have permission to view or edit anything." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "My actions" +msgstr "" + +msgid "None available" +msgstr "" + +msgid "Unknown content" +msgstr "Endalc'had dianav" + +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" + +msgid "Forgotten your password or username?" +msgstr "Disoñjet ho ker-tremen pe hoc'h anv implijer ganeoc'h ?" + +msgid "Date/time" +msgstr "Deiziad/eur" + +msgid "User" +msgstr "Implijer" + +msgid "Action" +msgstr "Ober" + +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" + +msgid "Show all" +msgstr "Diskouez pep tra" + +msgid "Save" +msgstr "Enrollañ" + +msgid "Popup closing…" +msgstr "" + +msgid "Search" +msgstr "Klask" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "" + +msgid "Save as new" +msgstr "Enrollañ evel nevez" + +msgid "Save and add another" +msgstr "Enrollañ hag ouzhpennañ unan all" + +msgid "Save and continue editing" +msgstr "Enrollañ ha derc'hel da gemmañ" + +msgid "Save and view" +msgstr "" + +msgid "Close" +msgstr "" + +#, python-format +msgid "Change selected %(model)s" +msgstr "" + +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "" + +msgid "Log in again" +msgstr "Kevreañ en-dro" + +msgid "Password change" +msgstr "Cheñch ho ker-tremen" + +msgid "Your password was changed." +msgstr "Cheñchet eo bet ho ker-tremen." + +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" + +msgid "Change my password" +msgstr "Cheñch ma ger-tremen" + +msgid "Password reset" +msgstr "Adderaouekaat ar ger-tremen" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "" + +msgid "Password reset confirmation" +msgstr "Kadarnaat eo bet cheñchet ar ger-tremen" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" + +msgid "New password:" +msgstr "Ger-tremen nevez :" + +msgid "Confirm password:" +msgstr "Kadarnaat ar ger-tremen :" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" + +msgid "" +"We've emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don't receive an email, please make sure you've entered the address " +"you registered with, and check your spam folder." +msgstr "" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" + +msgid "Please go to the following page and choose a new password:" +msgstr "" + +msgid "Your username, in case you've forgotten:" +msgstr "" + +msgid "Thanks for using our site!" +msgstr "Ho trugarekaat da ober gant hol lec'hienn !" + +#, python-format +msgid "The %(site_name)s team" +msgstr "" + +msgid "" +"Forgotten your password? Enter your email address below, and we'll email " +"instructions for setting a new one." +msgstr "" + +msgid "Email address:" +msgstr "" + +msgid "Reset my password" +msgstr "" + +msgid "All dates" +msgstr "An holl zeiziadoù" + +#, python-format +msgid "Select %s" +msgstr "Diuzañ %s" + +#, python-format +msgid "Select %s to change" +msgstr "" + +#, python-format +msgid "Select %s to view" +msgstr "" + +msgid "Date:" +msgstr "Deiziad :" + +msgid "Time:" +msgstr "Eur :" + +msgid "Lookup" +msgstr "Klask" + +msgid "Currently:" +msgstr "" + +msgid "Change:" +msgstr "" diff --git a/external_sources/django/django/contrib/admin/locale/br/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/br/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..3f81956 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/br/LC_MESSAGES/djangojs.po @@ -0,0 +1,217 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Fulup , 2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" +"PO-Revision-Date: 2017-09-19 16:41+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Breton (http://www.transifex.com/django/django/language/br/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: br\n" +"Plural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !" +"=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n" +"%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > " +"19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 " +"&& n % 1000000 == 0) ? 3 : 4);\n" + +#, javascript-format +msgid "Available %s" +msgstr "Hegerz %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" + +msgid "Filter" +msgstr "Sil" + +msgid "Choose all" +msgstr "Dibab an holl" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Klikañ evit dibab an holl %s war un dro." + +msgid "Choose" +msgstr "Dibab" + +msgid "Remove" +msgstr "Lemel kuit" + +#, javascript-format +msgid "Chosen %s" +msgstr "Dibabet %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" + +msgid "Remove all" +msgstr "Lemel kuit pep tra" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Klikañ evit dilemel an holl %s dibabet war un dro." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" + +msgid "Now" +msgstr "Bremañ" + +msgid "Midnight" +msgstr "Hanternoz" + +msgid "6 a.m." +msgstr "6e00" + +msgid "Noon" +msgstr "Kreisteiz" + +msgid "6 p.m." +msgstr "" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" + +msgid "Choose a Time" +msgstr "" + +msgid "Choose a time" +msgstr "Dibab un eur" + +msgid "Cancel" +msgstr "Nullañ" + +msgid "Today" +msgstr "Hiziv" + +msgid "Choose a Date" +msgstr "" + +msgid "Yesterday" +msgstr "Dec'h" + +msgid "Tomorrow" +msgstr "Warc'hoazh" + +msgid "January" +msgstr "" + +msgid "February" +msgstr "" + +msgid "March" +msgstr "" + +msgid "April" +msgstr "" + +msgid "May" +msgstr "" + +msgid "June" +msgstr "" + +msgid "July" +msgstr "" + +msgid "August" +msgstr "" + +msgid "September" +msgstr "" + +msgid "October" +msgstr "" + +msgid "November" +msgstr "" + +msgid "December" +msgstr "" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "" + +msgctxt "one letter Monday" +msgid "M" +msgstr "" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "" + +msgctxt "one letter Friday" +msgid "F" +msgstr "" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "" + +msgid "Show" +msgstr "Diskouez" + +msgid "Hide" +msgstr "Kuzhat" diff --git a/external_sources/django/django/contrib/admin/locale/bs/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/bs/LC_MESSAGES/django.po new file mode 100644 index 0000000..1d7eb6e --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/bs/LC_MESSAGES/django.po @@ -0,0 +1,657 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Filip Dupanović , 2011 +# Jannis Leidel , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-19 16:49+0100\n" +"PO-Revision-Date: 2017-09-19 16:41+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Bosnian (http://www.transifex.com/django/django/language/" +"bs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bs\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" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Uspješno izbrisano %(count)d %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "" + +msgid "Are you sure?" +msgstr "Da li ste sigurni?" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Izbriši odabrane %(verbose_name_plural)s" + +msgid "Administration" +msgstr "" + +msgid "All" +msgstr "Svi" + +msgid "Yes" +msgstr "Da" + +msgid "No" +msgstr "Ne" + +msgid "Unknown" +msgstr "Nepoznato" + +msgid "Any date" +msgstr "Svi datumi" + +msgid "Today" +msgstr "Danas" + +msgid "Past 7 days" +msgstr "Poslednjih 7 dana" + +msgid "This month" +msgstr "Ovaj mesec" + +msgid "This year" +msgstr "Ova godina" + +msgid "No date" +msgstr "" + +msgid "Has date" +msgstr "" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" + +msgid "Action:" +msgstr "Radnja:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Dodaj još jedan %(verbose_name)s" + +msgid "Remove" +msgstr "Obriši" + +msgid "action time" +msgstr "vrijeme radnje" + +msgid "user" +msgstr "" + +msgid "content type" +msgstr "" + +msgid "object id" +msgstr "id objekta" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/3/library/functions.html#repr) +msgid "object repr" +msgstr "repr objekta" + +msgid "action flag" +msgstr "oznaka radnje" + +msgid "change message" +msgstr "opis izmjene" + +msgid "log entry" +msgstr "zapis u logovima" + +msgid "log entries" +msgstr "zapisi u logovima" + +#, python-format +msgid "Added \"%(object)s\"." +msgstr "" + +#, python-format +msgid "Changed \"%(object)s\" - %(changes)s" +msgstr "" + +#, python-format +msgid "Deleted \"%(object)s.\"" +msgstr "" + +msgid "LogEntry Object" +msgstr "" + +#, python-brace-format +msgid "Added {name} \"{object}\"." +msgstr "" + +msgid "Added." +msgstr "" + +msgid "and" +msgstr "i" + +#, python-brace-format +msgid "Changed {fields} for {name} \"{object}\"." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "" + +#, python-brace-format +msgid "Deleted {name} \"{object}\"." +msgstr "" + +msgid "No fields changed." +msgstr "Nije bilo izmjena polja." + +msgid "None" +msgstr "Nijedan" + +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was added successfully." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Predmeti moraju biti izabrani da bi se mogla obaviti akcija nad njima. " +"Nijedan predmet nije bio izmjenjen." + +msgid "No action selected." +msgstr "Nijedna akcija nije izabrana." + +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "Objekat „%(obj)s“ klase %(name)s obrisan je uspješno." + +#, python-format +msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "Dodaj objekat klase %s" + +#, python-format +msgid "Change %s" +msgstr "Izmjeni objekat klase %s" + +msgid "Database error" +msgstr "Greška u bazi podataka" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 od %(cnt)s izabrani" + +#, python-format +msgid "Change history: %s" +msgstr "Historijat izmjena: %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" + +msgid "Django site admin" +msgstr "Django administracija sajta" + +msgid "Django administration" +msgstr "Django administracija" + +msgid "Site administration" +msgstr "Administracija sistema" + +msgid "Log in" +msgstr "Prijava" + +#, python-format +msgid "%(app)s administration" +msgstr "" + +msgid "Page not found" +msgstr "Stranica nije pronađena" + +msgid "We're sorry, but the requested page could not be found." +msgstr "Žao nam je, tražena stranica nije pronađena." + +msgid "Home" +msgstr "Početna" + +msgid "Server error" +msgstr "Greška na serveru" + +msgid "Server error (500)" +msgstr "Greška na serveru (500)" + +msgid "Server Error (500)" +msgstr "Greška na serveru (500)" + +msgid "" +"There's been an error. It's been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +msgid "Run the selected action" +msgstr "Pokreni odabranu radnju" + +msgid "Go" +msgstr "Počni" + +msgid "Click here to select the objects across all pages" +msgstr "Kliknite ovdje da izaberete objekte preko svih stranica" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Izaberite svih %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Izbrišite izbor" + +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"Prvo unesite korisničko ime i lozinku. Potom ćete moći da mijenjate još " +"korisničkih podešavanja." + +msgid "Enter a username and password." +msgstr "" + +msgid "Change password" +msgstr "Promjena lozinke" + +msgid "Please correct the error below." +msgstr "" + +msgid "Please correct the errors below." +msgstr "" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Unesite novu lozinku za korisnika %(username)s." + +msgid "Welcome," +msgstr "Dobrodošli," + +msgid "View site" +msgstr "" + +msgid "Documentation" +msgstr "Dokumentacija" + +msgid "Log out" +msgstr "Odjava" + +#, python-format +msgid "Add %(name)s" +msgstr "Dodaj objekat klase %(name)s" + +msgid "History" +msgstr "Historijat" + +msgid "View on site" +msgstr "Pregled na sajtu" + +msgid "Filter" +msgstr "Filter" + +msgid "Remove from sorting" +msgstr "" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "" + +msgid "Toggle sorting" +msgstr "" + +msgid "Delete" +msgstr "Obriši" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Uklanjanje %(object_name)s „%(escaped_object)s“ povlači uklanjanje svih " +"objekata koji su povezani sa ovim objektom, ali vaš nalog nema dozvole za " +"brisanje slijedećih tipova objekata:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Da li ste sigurni da želite da obrišete %(object_name)s " +"„%(escaped_object)s“? Slijedeći objekti koji su u vezi sa ovim objektom će " +"također biti obrisani:" + +msgid "Objects" +msgstr "" + +msgid "Yes, I'm sure" +msgstr "Da, siguran sam" + +msgid "No, take me back" +msgstr "" + +msgid "Delete multiple objects" +msgstr "Brisanje više objekata" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" + +msgid "Change" +msgstr "Izmjeni" + +msgid "Delete?" +msgstr "Brisanje?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " %(filter_title)s " + +msgid "Summary" +msgstr "" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "" + +msgid "Add" +msgstr "Dodaj" + +msgid "You don't have permission to edit anything." +msgstr "Nemate dozvole da unosite bilo kakve izmjene." + +msgid "Recent actions" +msgstr "" + +msgid "My actions" +msgstr "" + +msgid "None available" +msgstr "Nema podataka" + +msgid "Unknown content" +msgstr "Nepoznat sadržaj" + +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Nešto nije uredu sa vašom bazom podataka. Provjerite da li postoje " +"odgovarajuće tabele i da li odgovarajući korisnik ima pristup bazi." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" + +msgid "Forgotten your password or username?" +msgstr "" + +msgid "Date/time" +msgstr "Datum/vrijeme" + +msgid "User" +msgstr "Korisnik" + +msgid "Action" +msgstr "Radnja" + +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"Ovaj objekat nema zabilježen historijat izmjena. Vjerovatno nije dodan kroz " +"ovaj sajt za administraciju." + +msgid "Show all" +msgstr "Prikaži sve" + +msgid "Save" +msgstr "Sačuvaj" + +msgid "Popup closing..." +msgstr "" + +#, python-format +msgid "Change selected %(model)s" +msgstr "" + +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "" + +msgid "Search" +msgstr "Pretraga" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "ukupno %(full_result_count)s" + +msgid "Save as new" +msgstr "Sačuvaj kao novi" + +msgid "Save and add another" +msgstr "Sačuvaj i dodaj slijedeći" + +msgid "Save and continue editing" +msgstr "Sačuvaj i nastavi sa izmjenama" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Hvala što ste danas proveli vrijeme na ovom sajtu." + +msgid "Log in again" +msgstr "Ponovna prijava" + +msgid "Password change" +msgstr "Izmjena lozinke" + +msgid "Your password was changed." +msgstr "Vaša lozinka je izmjenjena." + +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Iz bezbjednosnih razloga prvo unesite svoju staru lozinku, a novu zatim " +"unesite dva puta da bismo mogli da provjerimo da li ste je pravilno unijeli." + +msgid "Change my password" +msgstr "Izmijeni moju lozinku" + +msgid "Password reset" +msgstr "Resetovanje lozinke" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Vaša lozinka je postavljena. Možete se prijaviti." + +msgid "Password reset confirmation" +msgstr "Potvrda resetovanja lozinke" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Unesite novu lozinku dva puta kako bismo mogli da provjerimo da li ste je " +"pravilno unijeli." + +msgid "New password:" +msgstr "Nova lozinka:" + +msgid "Confirm password:" +msgstr "Potvrda lozinke:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Link za resetovanje lozinke nije važeći, vjerovatno zato što je već " +"iskorišćen. Ponovo zatražite resetovanje lozinke." + +msgid "" +"We've emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don't receive an email, please make sure you've entered the address " +"you registered with, and check your spam folder." +msgstr "" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" + +msgid "Please go to the following page and choose a new password:" +msgstr "Idite na slijedeću stranicu i postavite novu lozinku." + +msgid "Your username, in case you've forgotten:" +msgstr "Ukoliko ste zaboravili, vaše korisničko ime:" + +msgid "Thanks for using our site!" +msgstr "Hvala što koristite naš sajt!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Uredništvo sajta %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we'll email " +"instructions for setting a new one." +msgstr "" + +msgid "Email address:" +msgstr "" + +msgid "Reset my password" +msgstr "Resetuj moju lozinku" + +msgid "All dates" +msgstr "Svi datumi" + +#, python-format +msgid "Select %s" +msgstr "Odaberi objekat klase %s" + +#, python-format +msgid "Select %s to change" +msgstr "Odaberi objekat klase %s za izmjenu" + +msgid "Date:" +msgstr "Datum:" + +msgid "Time:" +msgstr "Vrijeme:" + +msgid "Lookup" +msgstr "Pretraži" + +msgid "Currently:" +msgstr "" + +msgid "Change:" +msgstr "" diff --git a/external_sources/django/django/contrib/admin/locale/bs/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/bs/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..4866fd3 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/bs/LC_MESSAGES/djangojs.po @@ -0,0 +1,211 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Filip Dupanović , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"PO-Revision-Date: 2017-09-19 16:41+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Bosnian (http://www.transifex.com/django/django/language/" +"bs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bs\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" + +#, javascript-format +msgid "Available %s" +msgstr "Dostupno %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" + +msgid "Filter" +msgstr "Filter" + +msgid "Choose all" +msgstr "Odaberi sve" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "" + +msgid "Choose" +msgstr "" + +msgid "Remove" +msgstr "Ukloni" + +#, javascript-format +msgid "Chosen %s" +msgstr "Odabrani %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" + +msgid "Remove all" +msgstr "" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "Izabran %(sel)s od %(cnt)s" +msgstr[1] "Izabrano %(sel)s od %(cnt)s" +msgstr[2] "Izabrano %(sel)s od %(cnt)s" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Imate nespašene izmjene na pojedinim uređenim poljima. Ako pokrenete ovu " +"akciju, te izmjene će biti izgubljene." + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +msgid "Now" +msgstr "" + +msgid "Choose a Time" +msgstr "" + +msgid "Choose a time" +msgstr "" + +msgid "Midnight" +msgstr "" + +msgid "6 a.m." +msgstr "" + +msgid "Noon" +msgstr "" + +msgid "6 p.m." +msgstr "" + +msgid "Cancel" +msgstr "" + +msgid "Today" +msgstr "Danas" + +msgid "Choose a Date" +msgstr "" + +msgid "Yesterday" +msgstr "" + +msgid "Tomorrow" +msgstr "" + +msgid "January" +msgstr "" + +msgid "February" +msgstr "" + +msgid "March" +msgstr "" + +msgid "April" +msgstr "" + +msgid "May" +msgstr "" + +msgid "June" +msgstr "" + +msgid "July" +msgstr "" + +msgid "August" +msgstr "" + +msgid "September" +msgstr "" + +msgid "October" +msgstr "" + +msgid "November" +msgstr "" + +msgid "December" +msgstr "" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "" + +msgctxt "one letter Monday" +msgid "M" +msgstr "" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "" + +msgctxt "one letter Friday" +msgid "F" +msgstr "" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "" + +msgid "Show" +msgstr "" + +msgid "Hide" +msgstr "" diff --git a/external_sources/django/django/contrib/admin/locale/ca/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/ca/LC_MESSAGES/django.po new file mode 100644 index 0000000..c89550d --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ca/LC_MESSAGES/django.po @@ -0,0 +1,750 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Antoni Aloy , 2014-2015,2017,2021 +# Carles Barrobés , 2011-2012,2014 +# duub qnnp, 2015 +# Emilio Carrion, 2022 +# GerardoGa , 2018 +# Gil Obradors Via , 2019 +# Gil Obradors Via , 2019 +# Jannis Leidel , 2011 +# Manel Clos , 2020 +# Marc Compte , 2021 +# Roger Pons , 2015 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-05-17 05:10-0500\n" +"PO-Revision-Date: 2022-07-25 07:05+0000\n" +"Last-Translator: Emilio Carrion\n" +"Language-Team: Catalan (http://www.transifex.com/django/django/language/" +"ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Eliminar els %(verbose_name_plural)s seleccionats" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Eliminat/s %(count)d %(items)s satisfactòriament." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "No es pot esborrar %(name)s" + +msgid "Are you sure?" +msgstr "N'esteu segur?" + +msgid "Administration" +msgstr "Administració" + +msgid "All" +msgstr "Tots" + +msgid "Yes" +msgstr "Sí" + +msgid "No" +msgstr "No" + +msgid "Unknown" +msgstr "Desconegut" + +msgid "Any date" +msgstr "Qualsevol data" + +msgid "Today" +msgstr "Avui" + +msgid "Past 7 days" +msgstr "Últims 7 dies" + +msgid "This month" +msgstr "Aquest mes" + +msgid "This year" +msgstr "Aquest any" + +msgid "No date" +msgstr "Sense data" + +msgid "Has date" +msgstr "Té data" + +msgid "Empty" +msgstr "Buit" + +msgid "Not empty" +msgstr "No buit" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Si us plau, introduïu un %(username)s i contrasenya correctes per un compte " +"de personal. Observeu que ambdós camps són sensibles a majúscules." + +msgid "Action:" +msgstr "Acció:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Afegir un/a altre/a %(verbose_name)s." + +msgid "Remove" +msgstr "Eliminar" + +msgid "Addition" +msgstr "Afegeix" + +msgid "Change" +msgstr "Modificar" + +msgid "Deletion" +msgstr "Supressió" + +msgid "action time" +msgstr "moment de l'acció" + +msgid "user" +msgstr "usuari" + +msgid "content type" +msgstr "tipus de contingut" + +msgid "object id" +msgstr "id de l'objecte" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "'repr' de l'objecte" + +msgid "action flag" +msgstr "indicador de l'acció" + +msgid "change message" +msgstr "missatge del canvi" + +msgid "log entry" +msgstr "entrada del registre" + +msgid "log entries" +msgstr "entrades del registre" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Afegit \"1%(object)s\"." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Modificat \"%(object)s\" - %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Eliminat \"%(object)s.\"" + +msgid "LogEntry Object" +msgstr "Objecte entrada del registre" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Afegit {name} \"{object}\"." + +msgid "Added." +msgstr "Afegit." + +msgid "and" +msgstr "i" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Canviat {fields} per {name} \"{object}\"." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Canviats {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Eliminat {name} \"{object}\"." + +msgid "No fields changed." +msgstr "Cap camp modificat." + +msgid "None" +msgstr "cap" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Premeu la tecla \"Control\", o \"Command\" en un Mac, per seleccionar més " +"d'un valor." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "El {name} \"{obj}\" fou afegit amb èxit." + +msgid "You may edit it again below." +msgstr "Podeu editar-lo de nou a sota." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"El {name} \"{obj}\" s'ha afegit amb èxit. Podeu afegir un altre {name} a " +"sota." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"El {name} \"{obj}\" fou canviat amb èxit. Podeu editar-lo de nou a sota." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "" +"El {name} \"{obj}\" s'ha afegit amb èxit. Podeu editar-lo de nou a sota." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"El {name} \"{obj}\" fou canviat amb èxit. Podeu afegir un altre {name} a " +"sota." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "El {name} \"{obj}\" fou canviat amb èxit." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Heu de seleccionar els elements per poder realitzar-hi accions. No heu " +"seleccionat cap element." + +msgid "No action selected." +msgstr "No heu seleccionat cap acció." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "El/la %(name)s \"%(obj)s\" s'ha eliminat amb èxit." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "%(name)s amb ID \"%(key)s\" no existeix. Potser va ser eliminat?" + +#, python-format +msgid "Add %s" +msgstr "Afegir %s" + +#, python-format +msgid "Change %s" +msgstr "Modificar %s" + +#, python-format +msgid "View %s" +msgstr "Visualitza %s" + +msgid "Database error" +msgstr "Error de base de dades" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s s'ha modificat amb èxit." +msgstr[1] "%(count)s %(name)s s'han modificat amb èxit." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s seleccionat(s)" +msgstr[1] "Tots %(total_count)s seleccionat(s)" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 de %(cnt)s seleccionats" + +#, python-format +msgid "Change history: %s" +msgstr "Modificar històric: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Esborrar %(class_name)s %(instance)s requeriria esborrar els següents " +"objectes relacionats protegits: %(related_objects)s" + +msgid "Django site admin" +msgstr "Lloc administratiu de Django" + +msgid "Django administration" +msgstr "Administració de Django" + +msgid "Site administration" +msgstr "Administració del lloc" + +msgid "Log in" +msgstr "Iniciar sessió" + +#, python-format +msgid "%(app)s administration" +msgstr "Administració de %(app)s" + +msgid "Page not found" +msgstr "No s'ha pogut trobar la pàgina" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Ho sentim, però no s'ha pogut trobar la pàgina sol·licitada" + +msgid "Home" +msgstr "Inici" + +msgid "Server error" +msgstr "Error del servidor" + +msgid "Server error (500)" +msgstr "Error del servidor (500)" + +msgid "Server Error (500)" +msgstr "Error del servidor (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"S'ha produït un error. Se n'ha informat els administradors del lloc per " +"correu electrònic, i hauria d'arreglar-se en breu. Gràcies per la vostra " +"paciència." + +msgid "Run the selected action" +msgstr "Executar l'acció seleccionada" + +msgid "Go" +msgstr "Anar" + +msgid "Click here to select the objects across all pages" +msgstr "Feu clic aquí per seleccionar els objectes a totes les pàgines" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Seleccioneu tots %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Netejar la selecció" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Models en l'aplicació %(name)s" + +msgid "Add" +msgstr "Afegir" + +msgid "View" +msgstr "Visualitza" + +msgid "You don’t have permission to view or edit anything." +msgstr "No teniu permisos per veure o editar" + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Primer, entreu un nom d'usuari i una contrasenya. Després podreu editar més " +"opcions de l'usuari." + +msgid "Enter a username and password." +msgstr "Introduïu un nom d'usuari i contrasenya." + +msgid "Change password" +msgstr "Canviar contrasenya" + +msgid "Please correct the error below." +msgstr "Si us plau, corregiu l'error de sota." + +msgid "Please correct the errors below." +msgstr "Si us plau, corregiu els errors mostrats a sota." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Introduïu una contrasenya per l'usuari %(username)s" + +msgid "Welcome," +msgstr "Benvingut/da," + +msgid "View site" +msgstr "Veure lloc" + +msgid "Documentation" +msgstr "Documentació" + +msgid "Log out" +msgstr "Finalitzar sessió" + +#, python-format +msgid "Add %(name)s" +msgstr "Afegir %(name)s" + +msgid "History" +msgstr "Històric" + +msgid "View on site" +msgstr "Veure al lloc" + +msgid "Filter" +msgstr "Filtre" + +msgid "Clear all filters" +msgstr "Netejar tots els filtres" + +msgid "Remove from sorting" +msgstr "Treure de la ordenació" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Prioritat d'ordenació: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Commutar ordenació" + +msgid "Delete" +msgstr "Eliminar" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Eliminar el/la %(object_name)s '%(escaped_object)s' provocaria l'eliminació " +"d'objectes relacionats, però el vostre compte no te permisos per esborrar " +"els tipus d'objecte següents:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Esborrar %(object_name)s '%(escaped_object)s' requeriria esborrar els " +"següents objectes relacionats protegits:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Esteu segurs de voler esborrar els/les %(object_name)s \"%(escaped_object)s" +"\"? S'esborraran els següents elements relacionats:" + +msgid "Objects" +msgstr "Objectes" + +msgid "Yes, I’m sure" +msgstr "Sí, n'estic segur" + +msgid "No, take me back" +msgstr "No, torna endarrere" + +msgid "Delete multiple objects" +msgstr "Eliminar múltiples objectes" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Esborrar els %(objects_name)s seleccionats faria que s'esborréssin objectes " +"relacionats, però el vostre compte no té permisos per esborrar els següents " +"tipus d'objectes:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Esborrar els %(objects_name)s seleccionats requeriria esborrar els següents " +"objectes relacionats protegits:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"N'esteu segur de voler esborrar els %(objects_name)s seleccionats? " +"S'esborraran tots els objects següents i els seus elements relacionats:" + +msgid "Delete?" +msgstr "Eliminar?" + +#, python-format +msgid " By %(filter_title)s " +msgstr "Per %(filter_title)s " + +msgid "Summary" +msgstr "Resum" + +msgid "Recent actions" +msgstr "Accions recents" + +msgid "My actions" +msgstr "Les meves accions" + +msgid "None available" +msgstr "Cap disponible" + +msgid "Unknown content" +msgstr "Contingut desconegut" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Hi ha algun problema a la instal·lació de la vostra base de dades. Assegureu-" +"vos que s'han creat les taules adients, i que la base de dades és llegible " +"per l'usuari apropiat." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Esteu identificats com a %(username)s, però no esteu autoritzats a accedir a " +"aquesta pàgina. Voleu identificar-vos amb un compte d'usuari diferent?" + +msgid "Forgotten your password or username?" +msgstr "Heu oblidat la vostra contrasenya o nom d'usuari?" + +msgid "Toggle navigation" +msgstr "Canviar mode de navegació" + +msgid "Start typing to filter…" +msgstr "Comença a teclejar per filtrar ..." + +msgid "Filter navigation items" +msgstr "Filtrar els items de navegació" + +msgid "Date/time" +msgstr "Data/hora" + +msgid "User" +msgstr "Usuari" + +msgid "Action" +msgstr "Acció" + +msgid "entry" +msgstr "entrada" + +msgid "entries" +msgstr "entrades" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Aquest objecte no té historial de canvis. Probablement no es va afegir " +"utilitzant aquest lloc administratiu." + +msgid "Show all" +msgstr "Mostrar tots" + +msgid "Save" +msgstr "Desar" + +msgid "Popup closing…" +msgstr "Tancant finestra emergent..." + +msgid "Search" +msgstr "Cerca" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s resultat" +msgstr[1] "%(counter)s resultats" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s en total" + +msgid "Save as new" +msgstr "Desar com a nou" + +msgid "Save and add another" +msgstr "Desar i afegir-ne un de nou" + +msgid "Save and continue editing" +msgstr "Desar i continuar editant" + +msgid "Save and view" +msgstr "Desa i visualitza" + +msgid "Close" +msgstr "Tanca" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Canvieu el %(model)s seleccionat" + +#, python-format +msgid "Add another %(model)s" +msgstr "Afegeix un altre %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Esborra el %(model)s seleccionat" + +#, python-format +msgid "View selected %(model)s" +msgstr "Vista seleccionada %(model)s" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Gràcies per dedicar temps de qualitat avui a aquesta web." + +msgid "Log in again" +msgstr "Iniciar sessió de nou" + +msgid "Password change" +msgstr "Canvi de contrasenya" + +msgid "Your password was changed." +msgstr "La seva contrasenya ha estat canviada." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Si us plau, introduïu la vostra contrasenya antiga, per seguretat, i tot " +"seguit introduïu la vostra contrasenya nova dues vegades per verificar que " +"l'heu escrita correctament." + +msgid "Change my password" +msgstr "Canviar la meva contrasenya:" + +msgid "Password reset" +msgstr "Restablir contrasenya" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "" +"S'ha canviat la vostra contrasenya. Ara podeu continuar i iniciar sessió." + +msgid "Password reset confirmation" +msgstr "Confirmació de restabliment de contrasenya" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Si us plau, introduïu la vostra nova contrasenya dues vegades, per verificar " +"que l'heu escrita correctament." + +msgid "New password:" +msgstr "Contrasenya nova:" + +msgid "Confirm password:" +msgstr "Confirmar contrasenya:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"L'enllaç de restabliment de contrasenya era invàlid, potser perquè ja s'ha " +"utilitzat. Si us plau, sol·liciteu un nou reestabliment de contrasenya." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Li hem enviat instruccions per establir la seva contrasenya, donat que hi " +"hagi un compte associat al correu introduït. L'hauríeu de rebre en breu." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Si no rebeu un correu, assegureu-vos que heu introduït l'adreça amb la que " +"us vau registrar, i comproveu la vostra carpeta de \"spam\"." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Heu rebut aquest correu perquè vau sol·licitar restablir la contrasenya per " +"al vostre compte d'usuari a %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Si us plau, aneu a la pàgina següent i escolliu una nova contrasenya:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "El vostre nom d'usuari, en cas que l'hagueu oblidat:" + +msgid "Thanks for using our site!" +msgstr "Gràcies per fer ús del nostre lloc!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "L'equip de %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Heu oblidat la vostra contrasenya? Introduïu la vostra adreça de correu " +"electrònic a sota, i us enviarem instruccions per canviar-la." + +msgid "Email address:" +msgstr "Adreça de correu electrònic:" + +msgid "Reset my password" +msgstr "Restablir la meva contrasenya" + +msgid "All dates" +msgstr "Totes les dates" + +#, python-format +msgid "Select %s" +msgstr "Seleccioneu %s" + +#, python-format +msgid "Select %s to change" +msgstr "Seleccioneu %s per modificar" + +#, python-format +msgid "Select %s to view" +msgstr "Selecciona %s per a veure" + +msgid "Date:" +msgstr "Data:" + +msgid "Time:" +msgstr "Hora:" + +msgid "Lookup" +msgstr "Cercar" + +msgid "Currently:" +msgstr "Actualment:" + +msgid "Change:" +msgstr "Canviar:" diff --git a/external_sources/django/django/contrib/admin/locale/ca/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/ca/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..29795f2 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ca/LC_MESSAGES/djangojs.po @@ -0,0 +1,330 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Antoni Aloy , 2017,2021 +# Carles Barrobés , 2011-2012,2014 +# Carlton Gibson , 2023 +# Emilio Carrion, 2022 +# Jannis Leidel , 2011 +# Roger Pons , 2015 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 15:04-0300\n" +"PO-Revision-Date: 2023-12-04 07:59+0000\n" +"Last-Translator: Carlton Gibson , 2023\n" +"Language-Team: Catalan (http://app.transifex.com/django/django/language/" +"ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "%s Disponibles" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Aquesta és la llista de %s disponibles. En podeu escollir alguns " +"seleccionant-los a la caixa de sota i fent clic a la fletxa \"Escollir\" " +"entre les dues caixes." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Escriviu en aquesta caixa per a filtrar la llista de %s disponibles." + +msgid "Filter" +msgstr "Filtre" + +msgid "Choose all" +msgstr "Escollir-los tots" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Feu clic per escollir tots els %s d'un cop." + +msgid "Choose" +msgstr "Escollir" + +msgid "Remove" +msgstr "Eliminar" + +#, javascript-format +msgid "Chosen %s" +msgstr "Escollit %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Aquesta és la llista de %s escollits. En podeu eliminar alguns seleccionant-" +"los a la caixa de sota i fent clic a la fletxa \"Eliminar\" entre les dues " +"caixes." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "Escriviu en aquesta caixa per a filtrar la llista de %s seleccionats." + +msgid "Remove all" +msgstr "Esborrar-los tots" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Feu clic per eliminar tots els %s escollits d'un cop." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%s opcion seleccionada no visible" +msgstr[1] "%s opcions seleccionades no visibles" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s de %(cnt)s seleccionat" +msgstr[1] "%(sel)s of %(cnt)s seleccionats" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Teniu canvis sense desar a camps editables individuals. Si executeu una " +"acció, es perdran aquests canvis no desats." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Has seleccionat una acció, però encara no l'has desat els canvis dels camps " +"individuals. Si us plau clica OK per desar. Necessitaràs tornar a executar " +"l'acció." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Has seleccionat una acció i no has fet cap canvi als camps individuals. " +"Probablement estàs cercant el botó Anar enlloc del botó de Desar." + +msgid "Now" +msgstr "Ara" + +msgid "Midnight" +msgstr "Mitjanit" + +msgid "6 a.m." +msgstr "6 a.m." + +msgid "Noon" +msgstr "Migdia" + +msgid "6 p.m." +msgstr "6 p.m." + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Nota: Aneu %s hora avançats respecte la hora del servidor." +msgstr[1] "Nota: Aneu %s hores avançats respecte la hora del servidor." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Nota: Aneu %s hora endarrerits respecte la hora del servidor." +msgstr[1] "Nota: Aneu %s hores endarrerits respecte la hora del servidor." + +msgid "Choose a Time" +msgstr "Escolliu una hora" + +msgid "Choose a time" +msgstr "Escolliu una hora" + +msgid "Cancel" +msgstr "Cancel·lar" + +msgid "Today" +msgstr "Avui" + +msgid "Choose a Date" +msgstr "Escolliu una data" + +msgid "Yesterday" +msgstr "Ahir" + +msgid "Tomorrow" +msgstr "Demà" + +msgid "January" +msgstr "Gener" + +msgid "February" +msgstr "Febrer" + +msgid "March" +msgstr "Març" + +msgid "April" +msgstr "Abril" + +msgid "May" +msgstr "Maig" + +msgid "June" +msgstr "Juny" + +msgid "July" +msgstr "Juliol" + +msgid "August" +msgstr "Agost" + +msgid "September" +msgstr "Setembre" + +msgid "October" +msgstr "Octubre" + +msgid "November" +msgstr "Novembre" + +msgid "December" +msgstr "Desembre" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Gen" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Feb" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Mar" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Abr" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "Mai" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Jun" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Jul" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Ago" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Sep" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Oct" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Nov" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Des" + +msgid "Sunday" +msgstr "Diumenge" + +msgid "Monday" +msgstr "Dilluns" + +msgid "Tuesday" +msgstr "Dimarts" + +msgid "Wednesday" +msgstr "Dimecres" + +msgid "Thursday" +msgstr "Dijous" + +msgid "Friday" +msgstr "Divendres" + +msgid "Saturday" +msgstr "Dissabte" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "dg." + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "dl." + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "dt." + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "dc." + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "dj." + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "dv." + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "ds." + +msgctxt "one letter Sunday" +msgid "S" +msgstr "D" + +msgctxt "one letter Monday" +msgid "M" +msgstr "L" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "M" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "X" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "J" + +msgctxt "one letter Friday" +msgid "F" +msgstr "V" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "S" + +msgid "Show" +msgstr "Mostrar" + +msgid "Hide" +msgstr "Ocultar" diff --git a/external_sources/django/django/contrib/admin/locale/ckb/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/ckb/LC_MESSAGES/django.po new file mode 100644 index 0000000..b3157f5 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ckb/LC_MESSAGES/django.po @@ -0,0 +1,792 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Abdulla Dlshad, 2023 +# Bakhtawar Barzan, 2021 +# Bakhtawar Barzan, 2021 +# Kosar Tofiq Saeed , 2020 +# pejar hewrami , 2020 +# Swara , 2022,2024 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 07:05+0000\n" +"Last-Translator: Swara , 2022,2024\n" +"Language-Team: Central Kurdish (http://app.transifex.com/django/django/" +"language/ckb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ckb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "%(verbose_name_plural)sە هەڵبژێردراوەکان بسڕەوە" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "سەرکەوتووانە %(count)d %(items)sی سڕییەوە." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "ناتوانرێت %(name)s بسڕێتەوە" + +msgid "Are you sure?" +msgstr "ئایا تۆ دڵنیایت؟" + +msgid "Administration" +msgstr "بەڕێوەبەرایەتی" + +msgid "All" +msgstr "هەمووی" + +msgid "Yes" +msgstr "بەڵێ" + +msgid "No" +msgstr "نەخێر" + +msgid "Unknown" +msgstr "نەزانراو" + +msgid "Any date" +msgstr "هەر بەروارێک" + +msgid "Today" +msgstr "ئەمڕۆ" + +msgid "Past 7 days" +msgstr "7 ڕۆژی ڕابردوو" + +msgid "This month" +msgstr "ئەم مانگە" + +msgid "This year" +msgstr "ئەمساڵ" + +msgid "No date" +msgstr "بەروار نییە" + +msgid "Has date" +msgstr "بەرواری هەیە" + +msgid "Empty" +msgstr "بەتاڵ" + +msgid "Not empty" +msgstr "بەتاڵ نییە" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"تکایە %(username)s و تێپەڕەوشە دروستەکە بنوسە بۆ هەژمارێکی ستاف. تێبینی بکە " +"لەوانەیە هەردوو خانەکە دۆخی هەستیار بێت بۆ پیتەکان." + +msgid "Action:" +msgstr "کردار:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "زیادکردنی %(verbose_name)sی تر" + +msgid "Remove" +msgstr "لابردن" + +msgid "Addition" +msgstr "خستنەسەر" + +msgid "Change" +msgstr "گۆڕین" + +msgid "Deletion" +msgstr "سڕینەوە" + +msgid "action time" +msgstr "کاتی کردار" + +msgid "user" +msgstr "بەکارهێنەر" + +msgid "content type" +msgstr "جۆری ناوەڕۆک" + +msgid "object id" +msgstr "ناسنامەی ئۆبجێکت" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "نوێنەرایەتی ئۆبجێکت" + +msgid "action flag" +msgstr "ئاڵای کردار" + +msgid "change message" +msgstr "گۆڕینی پەیام" + +msgid "log entry" +msgstr "ڕاپۆرتی تۆمار" + +msgid "log entries" +msgstr "ڕاپۆرتی تۆمارەکان" + +#, python-format +msgid "Added “%(object)s”." +msgstr "\"%(object)s\"ی زیادکرد." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "\"%(object)s\"— %(changes)s گۆڕدرا" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "\"%(object)s\" سڕایەوە." + +msgid "LogEntry Object" +msgstr "ئۆبجێکتی ڕاپۆرتی تۆمار" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "{name} \"{object}\" زیادکرا." + +msgid "Added." +msgstr "زیادکرا." + +msgid "and" +msgstr "و" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "{fields} بۆ {name} “{object}” گۆڕدرا." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "{fields} گۆڕدرا." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "{name} “{object}” سڕایەوە." + +msgid "No fields changed." +msgstr "هیچ خانەیەک نەگۆڕاوە." + +msgid "None" +msgstr "هیچ" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"پەنجە داگرە لەسەر “Control”، یاخود “Command” لەسەر ماک، بۆ هەڵبژاردنی " +"دانەیەک زیاتر." + +msgid "Select this object for an action - {}" +msgstr "ئەم تەنە هەڵبژێرە بۆ کردارێک - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "{name} “{obj}” بەسەرکەوتوویی زیادکرا." + +msgid "You may edit it again below." +msgstr "دەگونجێت تۆ دووبارە لەخوارەوە دەستکاری بکەیت." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"{name} “{obj}” بەسەرکەوتوویی زیادکرا. دەگونجێت تۆ لە خوارەوە {name}یەکی تر " +"زیادبکەیت." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"{name} “{obj}” بەسەرکەوتوویی گۆڕدرا. دەگونجێت تۆ لە خوارەوە دووبارە دەستکاری " +"بکەیتەوە." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"{name} “{obj}” بەسەرکەوتوویی گۆڕدرا. دەگونجێت تۆ لە خوارەوە {name}یەکی تر " +"زیاد بکەیت." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "{name}ی “{obj}” بەسەرکەوتوویی گۆڕدرا." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"دەبێت بڕگەکان هەڵبژێردرابن تاوەکو کرداریان لەسەر ئەنجام بدەیت. هیچ بڕگەیەک " +"نەگۆڕدراوە." + +msgid "No action selected." +msgstr "هیچ کردارێک هەڵنەبژێردراوە." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s\"%(obj)s\" بەسەرکەوتوویی سڕدرایەوە." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "%(name)s بە ناسنامەی \"%(key)s\" بوونی نییە. لەوانەیە سڕدرابێتەوە؟" + +#, python-format +msgid "Add %s" +msgstr "زیادکردنی %s" + +#, python-format +msgid "Change %s" +msgstr "گۆڕینی %s" + +#, python-format +msgid "View %s" +msgstr "بینینی %s" + +msgid "Database error" +msgstr "هەڵەی بنکەدراوە" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s بەسەرکەوتوویی گۆڕدرا." +msgstr[1] "%(count)s %(name)s بەسەرکەوتوویی گۆڕدران." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s هەڵبژێردراوە" +msgstr[1] "هەمووی %(total_count)s هەڵبژێردراون" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 لە %(cnt)s هەڵبژێردراوە" + +#, python-format +msgid "Change history: %s" +msgstr "مێژووی گۆڕین: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(instance)sی %(class_name)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"سڕینەوەی %(instance)sی %(class_name)s پێویستی بە سڕینەوەی ئەم ئۆبجێکتە " +"پەیوەندیدارە پارێزراوانەیە: %(related_objects)s" + +msgid "Django site admin" +msgstr "بەڕێوەبەری پێگەی جەنگۆ" + +msgid "Django administration" +msgstr "بەڕێوەبەرایەتی جەنگۆ" + +msgid "Site administration" +msgstr "بەڕێوەبەرایەتی پێگە" + +msgid "Log in" +msgstr "چوونەژوورەوە" + +#, python-format +msgid "%(app)s administration" +msgstr "بەڕێوەبەرایەتی %(app)s" + +msgid "Page not found" +msgstr "پەڕە نەدۆزرایەوە" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "داوای لێبوردن ئەکەین، بەڵام ناتوانرێت پەڕەی داواکراو بدۆزرێتەوە." + +msgid "Home" +msgstr "ماڵەوە" + +msgid "Server error" +msgstr "هەڵەی ڕاژەکار" + +msgid "Server error (500)" +msgstr "هەڵەی ڕاژەکار (500)" + +msgid "Server Error (500)" +msgstr "هەڵەی ڕاژەکار (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"هەڵەیەک بوونی هەبووە. ڕاپۆرت دراوە بە پێگەی بەڕێوەبەرایەتی لەڕێی ئیمەیڵەوە و " +"دەبێت بەزوویی چاکبکرێت. سوپاس بۆ ئارامگرتنت." + +msgid "Run the selected action" +msgstr "کرداری هەڵبژێردراو جێبەجێ بکە" + +msgid "Go" +msgstr "بڕۆ" + +msgid "Click here to select the objects across all pages" +msgstr "کرتە لێرە بکە بۆ هەڵبژاردنی ئۆبجێکتەکان لە تەواوی هەموو پەڕەکان" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "هەموو %(total_count)s %(module_name)s هەڵبژێرە" + +msgid "Clear selection" +msgstr "پاککردنەوەی هەڵبژاردن" + +msgid "Breadcrumbs" +msgstr "وردەنان" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "مۆدێلەکان لە بەرنامەی %(name)s" + +msgid "Add" +msgstr "زیادکردن" + +msgid "View" +msgstr "بینین" + +msgid "You don’t have permission to view or edit anything." +msgstr "تۆ ڕێگەپێدراو نیت بۆ بینین یان دەستکاری هیچ شتێک." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"سەرەتا، ناوی بەکارهێنەر و تێپەڕەوشە بنوسە. پاشان دەتوانیت دەستکاری زیاتری " +"هەڵبژاردنەکانی بەکارهێنەر بکەیت." + +msgid "Enter a username and password." +msgstr "ناوی بەکارهێنەر و تێپەڕەوشە بنوسە" + +msgid "Change password" +msgstr "گۆڕینی تێپەڕەوشە" + +msgid "Set password" +msgstr "دانانی تێپەڕەوشە" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "تکایە ئەم هەڵەیەی خوارەوە ڕاست بکەرەوە." +msgstr[1] "تکایە هەڵەکانی خوارەوە ڕاست بکەرەوە." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "تێپەڕەوشەی نوێ بۆ بەکارهێنەری %(username)s بنوسە" + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "" +"ئەم کردارە چالاک دەکات لەسەر بنەمای تێپەڕەوشەی ئەم " +"بەکارهێنەرە." + +msgid "Disable password-based authentication" +msgstr "ناچالاککردنی ڕەسەنایەتی لەسەر بنەمای تێپەڕەوشە" + +msgid "Enable password-based authentication" +msgstr "چالاککردنی ڕەسەنایەتی لەسەر بنەمای تێپەڕەوشە" + +msgid "Skip to main content" +msgstr "تێیپەڕێنە بۆ ناوەڕۆکی سەرەکی" + +msgid "Welcome," +msgstr "بەخێربێیت،" + +msgid "View site" +msgstr "بینینی پێگە" + +msgid "Documentation" +msgstr "بەڵگەنامە" + +msgid "Log out" +msgstr "چوونەدەرەوە" + +#, python-format +msgid "Add %(name)s" +msgstr "زیادکردنی %(name)s" + +msgid "History" +msgstr "مێژوو" + +msgid "View on site" +msgstr "بینین لەسەر پێگە" + +msgid "Filter" +msgstr "پاڵاوتن" + +msgid "Hide counts" +msgstr "ژماردن بشارەوە" + +msgid "Show counts" +msgstr "ژماردن پیشانبدە" + +msgid "Clear all filters" +msgstr "پاکردنەوەی هەموو پاڵاوتنەکان" + +msgid "Remove from sorting" +msgstr "لابردن لە ڕیزکردن" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "ڕیزکردنی لە پێشینە: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "ڕیزکردنی پێچەوانە" + +msgid "Toggle theme (current theme: auto)" +msgstr "گۆڕینی ڕووکار (ڕووکاری ئێستا: خۆکار)" + +msgid "Toggle theme (current theme: light)" +msgstr "گۆڕینی ڕووکار (ڕووکاری ئێستا: ڕووناک)" + +msgid "Toggle theme (current theme: dark)" +msgstr "گۆڕینی ڕووکار (ڕووکاری ئێستا: تاریک)" + +msgid "Delete" +msgstr "سڕینەوە" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"سڕینەوەی %(object_name)s ‘%(escaped_object)s‘ دەبێتە هۆی سڕینەوەی ئۆبجێکتی " +"پەیوەندیدار، بەڵام هەژمارەکەت ڕێگەپێدراو نییە بۆ سڕینەوەی ئەم جۆرە " +"ئۆبجێکتانەی تر:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"سڕینەوەی %(object_name)sی ‘%(escaped_object)s‘ پێویستیی بە سڕینەوەی ئەم " +"ئۆبجێکتە پەیوەندیدارە پارێزراوانەیە:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"ئایا تۆ دڵنیایت کە دەتەوێت %(object_name)sی \"%(escaped_object)s\" بسڕیتەوە؟ " +"هەموو ئەم ئۆبجێکتە پەیوەندیدارانەش دەسڕێتەوە:" + +msgid "Objects" +msgstr "ئۆبجێکتەکان" + +msgid "Yes, I’m sure" +msgstr "بەڵێ، من دڵنیام" + +msgid "No, take me back" +msgstr "نەخێر، من بگەڕێنەرەوە دواوە" + +msgid "Delete multiple objects" +msgstr "سڕینەوەی چەندین ئۆبجێکت" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"سڕینەوەی %(objects_name)sی هەڵبژێردراو دەبێتە هۆی سڕینەوەی ئۆبجێکتی " +"پەیوەندیدار، بەڵام هەژمارەکەت ڕێگەپێدراو نییە بۆ سڕینەوەی ئەم جۆرە " +"ئۆبجێکتانەی تر:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"سڕینەوەی %(objects_name)sی هەڵبژێردراو پێویستیی بە سڕینەوەی ئەم ئۆبجێکتە " +"پەیوەندیدارە پارێزراوانەیە:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"ئایا تۆ دڵنیایت دەتەوێت %(objects_name)sی هەڵبژێردراو بسڕیتەوە؟ هەموو ئەم " +"ئۆبجێکت و بڕگە پەیوەندیدارەکانیان دەسڕێنەوە:" + +msgid "Delete?" +msgstr "سڕینەوە؟" + +#, python-format +msgid " By %(filter_title)s " +msgstr "بەپێی %(filter_title)s" + +msgid "Summary" +msgstr "پوختە" + +msgid "Recent actions" +msgstr "کردارە نوێیەکان" + +msgid "My actions" +msgstr "کردارەکانم" + +msgid "None available" +msgstr "هیچ شتيک بەردەست نییە" + +msgid "Added:" +msgstr "زیادکرا:" + +msgid "Changed:" +msgstr "گۆڕدرا:" + +msgid "Deleted:" +msgstr "سڕایەوە:" + +msgid "Unknown content" +msgstr "ناوەڕۆکی نەزانراو" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"هەڵەیەک هەیە لە دامەزراندنی بنکەدراوەکەت. دڵنیاببەرەوە لەوەی خشتە گونجاوەکان " +"دروستکراون، دڵنیاببەرەوە بنکەدراوەکە ئەخوێندرێتەوە لەلایەن بەکارهێنەری " +"گونجاوەوە." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"تۆ ڕەسەنایەتیت هەیە وەکو %(username)s, بەڵام ڕێگەپێدراو نیت بۆ ئەم لاپەڕەیە. " +"دەتەوێت بە هەژمارێکی تر بچیتەژوورەوە؟" + +msgid "Forgotten your password or username?" +msgstr "تێپەڕەوشە یان ناوی بەکارهێنەرەکەت بیرچۆتەوە؟" + +msgid "Toggle navigation" +msgstr "کردنەوەو داخستنی ڕێنیشاندەر" + +msgid "Sidebar" +msgstr "شریتی لاتەنیشت" + +msgid "Start typing to filter…" +msgstr "دەست بکە بە نوسین بۆ پاڵاوتن..." + +msgid "Filter navigation items" +msgstr "بڕگەکانی ڕێنیشاندەر بپاڵێوە" + +msgid "Date/time" +msgstr "بەروار/کات" + +msgid "User" +msgstr "بەکارهێنەر" + +msgid "Action" +msgstr "کردار" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "تۆمار" +msgstr[1] "تۆمارەکان" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"ئەم ئۆبجێکتە مێژووی گۆڕانکاری نییە. ڕەنگە لە ڕێگەی بەڕێەوەبەری ئەم پێگەیەوە " +"زیادنەکرابێت." + +msgid "Show all" +msgstr "پیشاندانی هەمووی" + +msgid "Save" +msgstr "پاشەکەوتکردن" + +msgid "Popup closing…" +msgstr "پەنجەرەکە دادەخرێت..." + +msgid "Search" +msgstr "گەڕان" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s ئەنجام" +msgstr[1] "%(counter)s ئەنجام" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)sگشتی" + +msgid "Save as new" +msgstr "پاشەکەوتکردن وەک نوێ" + +msgid "Save and add another" +msgstr "پاشەکەوتی بکەو دانەیەکی تر زیاد بکە" + +msgid "Save and continue editing" +msgstr "پاشەکەوتی بکەو بەردەوامبە لە گۆڕنکاری" + +msgid "Save and view" +msgstr "پاشەکەوتی بکەو پیشانی بدە" + +msgid "Close" +msgstr "داخستن" + +#, python-format +msgid "Change selected %(model)s" +msgstr "هەڵبژێردراوەکان بگۆڕە %(model)s" + +#, python-format +msgid "Add another %(model)s" +msgstr "زیادکردنی %(model)sی تر" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "هەڵبژێردراوەکان بسڕەوە %(model)s" + +#, python-format +msgid "View selected %(model)s" +msgstr "سەیری %(model)s هەڵبژێردراوەکان بکە" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "سوپاس بۆ بەسەربردنی هەندێک کاتێکی ئەمڕۆ لەگەڵ ماڵپەڕەکەدا." + +msgid "Log in again" +msgstr "دووبارە چوونەژوورەوە" + +msgid "Password change" +msgstr "گۆڕینی تێپەڕەوشە" + +msgid "Your password was changed." +msgstr "تێپەڕەوشەت گۆڕدرا." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"لەپێناو پاراستندا تکایە تێپەڕەوشە کۆنەکەت بنووسە، پاشان دووجار تێپەڕەوشە " +"نوێیەکەت بنووسە بۆ ئەوەی بتوانین پشتڕاستی بکەینەوە کە بە دروستی نووسیوتە." + +msgid "Change my password" +msgstr "گۆڕینی تێپەڕەوشەکەم" + +msgid "Password reset" +msgstr "دانانەوەی تێپەڕەوشە" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "تێپەڕەوشەکەت دانرایەوە. لەوانەیە ئێستا بچیتە سەرەوە و بچیتەژوورەوە." + +msgid "Password reset confirmation" +msgstr "دووپاتکردنەوەی دانانەوەی تێپەڕەوشە" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"تکایە دووجار تێپەڕەوشە نوێیەکەت بنوسە، پاشان دەتوانین دڵنیابین کە بە دروستی " +"نوسراوە." + +msgid "New password:" +msgstr "تێپەڕەوشەی نوێ:" + +msgid "Confirm password:" +msgstr "دووپاتکردنەوەی تێپەڕەوشە:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"بەستەری دانانەوەی تێپەڕەوشە نادروست بوو، لەوانەیە لەبەر ئەوەی پێشتر " +"بەکارهاتووە. تکایە داوای دانانەوەی تێپەڕەوشەی نوێ بکە." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"ئێمە ڕێنماییەکانمان بۆ دانانی تێپەڕەوشەکەت ئیمەیڵ بۆت ناردووە، ئەگەر " +"هەژمارێک هەبێت لەگەڵ ئەو ئیمەیڵەی کە نوسیوتە. پێویستە بەم زووانە بەدەستت " +"بگات." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"ئەگەر تۆ نامەی ئەلیکترۆنیت بەدەست نەگەیشت، ئەوا دڵنیا ببەرەوە کە تۆ ئەو " +"ناونیشانەت داخڵکردووە کە پێی تۆمار بوویت، وە فۆڵدەری سپامەکەت بپشکنە." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"تۆ ئەم نامە ئەلیکترۆنیەت بەدەست گەیشتووە لەبەرئەوەی داواکاری دوبارە " +"دانانەوەی تێپەڕە ووشەت کردبوو بۆ هەژماری بەکارهێنەرەکەت لە %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "تکایە بڕۆ بۆ پەڕەی دیاریکراو و تێپەڕەوشەیەکی نوێ هەڵبژێرە:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "ناوی بەکارهێنەری تۆ، لە کاتێکدا بیرت چووبێتەوە:" + +msgid "Thanks for using our site!" +msgstr "سوپاس بۆ بەکارهێنانی پێگەکەمان!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "دەستەی %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"تێپەڕەوشەکەت بیرچووەتەوە؟ ئیمەیڵەکەت لەخوارەوە بنوسە، پاشان ئێمە ئێمەیڵی " +"ڕێنمایت بۆ دەنێرین بۆ دانانی دانەیەکی نوێ." + +msgid "Email address:" +msgstr "ناونیشانی ئیمەیڵ:" + +msgid "Reset my password" +msgstr "دانانەوەی تێپەڕەوشەکەم" + +msgid "Select all objects on this page for an action" +msgstr "هەموو تەنەکان لەم لاپەڕەیە بۆ کردارێک هەڵبژێرە" + +msgid "All dates" +msgstr "هەموو بەروارەکان" + +#, python-format +msgid "Select %s" +msgstr "%s هەڵبژێرە" + +#, python-format +msgid "Select %s to change" +msgstr "%s هەڵبژێرە بۆ گۆڕین" + +#, python-format +msgid "Select %s to view" +msgstr "%s هەڵبژێرە بۆ بینین" + +msgid "Date:" +msgstr "بەروار:" + +msgid "Time:" +msgstr "کات:" + +msgid "Lookup" +msgstr "گەڕان" + +msgid "Currently:" +msgstr "ئێستاکە:" + +msgid "Change:" +msgstr "گۆڕین:" diff --git a/external_sources/django/django/contrib/admin/locale/ckb/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/ckb/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..23b1fd0 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ckb/LC_MESSAGES/djangojs.po @@ -0,0 +1,329 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Bakhtawar Barzan, 2021 +# Bakhtawar Barzan, 2021 +# Mariusz Felisiak , 2023 +# Swara , 2022-2024 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 15:04-0300\n" +"PO-Revision-Date: 2024-01-20 07:59+0000\n" +"Last-Translator: Swara , 2022-2024\n" +"Language-Team: Central Kurdish (http://app.transifex.com/django/django/" +"language/ckb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ckb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "%sە بەردەستەکان" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"ئەمە لیستی بەردەستی %s . دەتوانیت هەندێکیان هەڵبژێریت بە هەڵبژاردنییان لەم " +"بوخچەی خوارەوە و پاشان کرتەکردن لەسەر ئاراستەی \"هەڵبژێرە\" لە نێوان هەردوو " +"بوخچەکەدا." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "لەم بوخچەدا بنووسە بۆ ئەوەی لیستی بەردەستەکان بپاڵێویت %s." + +msgid "Filter" +msgstr "پاڵاوتن" + +msgid "Choose all" +msgstr "هەمووی هەڵبژێرە" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "کرتە بکە بۆ هەڵبژاردنی هەموو %s بەیەکجار." + +msgid "Choose" +msgstr "‌هەڵبژاردن" + +msgid "Remove" +msgstr "لابردن" + +#, javascript-format +msgid "Chosen %s" +msgstr "%s هەڵبژێردراوەکان" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"ئەمە لیستی هەڵبژێردراوی %s. دەتوانیت هەندێکیان لاببەیت بە هەڵبژاردنییان لەم " +"بوخچەی خوارەوە و پاشان کرتەکردن لەسەر ئاراستەی \"لابردن\" لە نێوان هەردوو " +"بوخچەکەدا." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "لەم بوخچەدا بنووسە بۆ ئەوەی لیستی هەڵبژێردراوەکان بپاڵێویت %s." + +msgid "Remove all" +msgstr "لابردنی هەمووی" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "کرتە بکە بۆ لابردنی هەموو ئەوانەی هەڵبژێردراون %sبە یەکجار." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%sبژاردەی هەڵبژێردراو نابینرێت" +msgstr[1] "%s هەڵبژاردە هەڵبژێردراوەکان نابینرێن" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "‫%(sel)s لە %(cnt)s هەڵبژێردراوە" +msgstr[1] "‫%(sel)s لە %(cnt)s هەڵبژێردراوە" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"گۆڕانکاریی پاشەکەوتنەکراوت هەیە لەسەر خانەی یەکلایەنەی شیاوی دەستکاریی. " +"ئەگەر کردارێک ئەنجام بدەیت، گۆڕانکارییە پاشەکەوتنەکراوەکانت لەدەست دەچن." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"چالاکییەکی هەڵبژێردراوت هەیە، بەڵام خانە تاکلایەنەکانت تا ئێستا پاشەکەوت " +"نەکردووە. تکایە کردتە لەسەر باشە بکە بۆ پاشەکەوتکردن. پێویستە دووبارە " +"چالاکییەکە ئەنجام بدەیتەوە." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"چالاکییەکی هەڵبژێردراوت هەیە، هەروەها هیچ گۆڕانکارییەکت لەسەر خانە " +"تاکلایەنەکانت نیە. ڕەنگە تۆ بەدوای دوگمەی بڕۆدا بگەڕێیت نەک دوگمەی " +"پاشەکەوتکردن." + +msgid "Now" +msgstr "ئێستا" + +msgid "Midnight" +msgstr "نیوەشەو" + +msgid "6 a.m." +msgstr "6ی بەیانی" + +msgid "Noon" +msgstr "نیوەڕۆ" + +msgid "6 p.m." +msgstr "6ی ئێوارە." + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "تێبینی: تۆ %s کاتژمێر لەپێش کاتی ڕاژەوەیت." +msgstr[1] "تێبینی: تۆ %s کاتژمێر لەپێش کاتی ڕاژەوەیت." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "تێبینی: تۆ %s کاتژمێر لەدوای کاتی ڕاژەوەیت." +msgstr[1] "تێبینی: تۆ %s کاتژمێر لەدوای کاتی ڕاژەوەیت." + +msgid "Choose a Time" +msgstr "کاتێک دیاریبکە" + +msgid "Choose a time" +msgstr "کاتێک دیاریبکە" + +msgid "Cancel" +msgstr "پاشگەزبوونەوە" + +msgid "Today" +msgstr "ئەمڕۆ" + +msgid "Choose a Date" +msgstr "ڕۆژێک دیاریبکە" + +msgid "Yesterday" +msgstr "دوێنێ" + +msgid "Tomorrow" +msgstr "سبەینێ" + +msgid "January" +msgstr "‎ڕێبەندان" + +msgid "February" +msgstr "‎ڕەشەمە" + +msgid "March" +msgstr "نەورۆز" + +msgid "April" +msgstr "‎گوڵان" + +msgid "May" +msgstr "جۆزەردان" + +msgid "June" +msgstr "‎پوشپەڕ" + +msgid "July" +msgstr "گەلاوێژ " + +msgid "August" +msgstr "‎خەرمانان" + +msgid "September" +msgstr "‎ڕەزبەر" + +msgid "October" +msgstr "‎گەڵاڕێزان" + +msgid "November" +msgstr "‎سەرماوەرز" + +msgid "December" +msgstr "‎بەفرانبار" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "‎ڕێبەندان" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "ڕەشەمە" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "نەورۆز" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "گوڵان" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "‎جۆزەردان" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "پوشپەڕ" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "‎گەلاوێژ" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "خەرمانان" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "‎ڕەزبەر" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "‎گەڵاڕێزان" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "‎سەرماوەرز" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "‎بەفرانبار" + +msgid "Sunday" +msgstr "یەکشەممە" + +msgid "Monday" +msgstr "دووشەممە" + +msgid "Tuesday" +msgstr "سێشەممە" + +msgid "Wednesday" +msgstr "چوارشەممە" + +msgid "Thursday" +msgstr "پێنجشەممە" + +msgid "Friday" +msgstr "هەینی" + +msgid "Saturday" +msgstr "شەممە" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "یەک" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "دوو" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "سێ" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "چوار" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "پێنج" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "هەینی" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "شەم" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "ی" + +msgctxt "one letter Monday" +msgid "M" +msgstr "د" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "س" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "چ" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "پ" + +msgctxt "one letter Friday" +msgid "F" +msgstr "هە" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "ش" + +msgid "Show" +msgstr "پیشاندان" + +msgid "Hide" +msgstr "شاردنەوە" diff --git a/external_sources/django/django/contrib/admin/locale/cs/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/cs/LC_MESSAGES/django.po new file mode 100644 index 0000000..39c3679 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/cs/LC_MESSAGES/django.po @@ -0,0 +1,803 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel , 2011 +# Jan Papež , 2024 +# Jiří Podhorecký , 2024 +# Jiří Podhorecký , 2022 +# Jirka Vejrazka , 2011 +# Tomáš Ehrlich , 2015 +# Vláďa Macek , 2013-2014 +# Vláďa Macek , 2015-2020,2022 +# yedpodtrzitko , 2016 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-10-07 07:05+0000\n" +"Last-Translator: Jan Papež , 2024\n" +"Language-Team: Czech (http://app.transifex.com/django/django/language/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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Odstranit vybrané položky typu %(verbose_name_plural)s" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Úspěšně odstraněno: %(count)d %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Nelze smazat %(name)s" + +msgid "Are you sure?" +msgstr "Jste si jisti?" + +msgid "Administration" +msgstr "Správa" + +msgid "All" +msgstr "Vše" + +msgid "Yes" +msgstr "Ano" + +msgid "No" +msgstr "Ne" + +msgid "Unknown" +msgstr "Neznámé" + +msgid "Any date" +msgstr "Libovolné datum" + +msgid "Today" +msgstr "Dnes" + +msgid "Past 7 days" +msgstr "Posledních 7 dní" + +msgid "This month" +msgstr "Tento měsíc" + +msgid "This year" +msgstr "Tento rok" + +msgid "No date" +msgstr "Bez data" + +msgid "Has date" +msgstr "Má datum" + +msgid "Empty" +msgstr "Prázdná hodnota" + +msgid "Not empty" +msgstr "Neprázdná hodnota" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Zadejte správné %(username)s a heslo pro personál. Obě pole mohou rozlišovat " +"velká a malá písmena." + +msgid "Action:" +msgstr "Operace:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Přidat %(verbose_name)s" + +msgid "Remove" +msgstr "Odebrat" + +msgid "Addition" +msgstr "Přidání" + +msgid "Change" +msgstr "Změnit" + +msgid "Deletion" +msgstr "Odstranění" + +msgid "action time" +msgstr "čas operace" + +msgid "user" +msgstr "uživatel" + +msgid "content type" +msgstr "typ obsahu" + +msgid "object id" +msgstr "id položky" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "reprez. položky" + +msgid "action flag" +msgstr "příznak operace" + +msgid "change message" +msgstr "zpráva o změně" + +msgid "log entry" +msgstr "položka protokolu" + +msgid "log entries" +msgstr "položky protokolu" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Přidán objekt \"%(object)s\"." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Změněn objekt \"%(object)s\" — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Odstraněna položka \"%(object)s\"." + +msgid "LogEntry Object" +msgstr "Objekt záznam v protokolu" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Přidáno: {name} \"{object}\"." + +msgid "Added." +msgstr "Přidáno." + +msgid "and" +msgstr "a" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Změněno: {fields} pro {name} \"{object}\"." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Změněno: {fields}" + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Odstraněno: {name} \"{object}\"." + +msgid "No fields changed." +msgstr "Nebyla změněna žádná pole." + +msgid "None" +msgstr "Žádný" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Výběr více než jedné položky je možný přidržením klávesy \"Control\", na " +"Macu \"Command\"." + +msgid "Select this object for an action - {}" +msgstr "Vyberte tento objekt pro akci - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "Položka typu {name} \"{obj}\" byla úspěšně přidána." + +msgid "You may edit it again below." +msgstr "Níže můžete údaje znovu upravovat." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"Položka typu {name} \"{obj}\" byla úspěšně přidána. Níže můžete přidat další " +"položku {name}." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"Položka typu {name} \"{obj}\" byla úspěšně změněna. Níže ji můžete dále " +"upravovat." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"Položka \"{obj}\" typu {name} byla úspěšně změněna. Níže můžete přidat další " +"položku {name}." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "Položka \"{obj}\" typu {name} byla úspěšně změněna." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"K provedení hromadných operací je třeba vybrat nějaké položky. Nedošlo k " +"žádným změnám." + +msgid "No action selected." +msgstr "Nebyla vybrána žádná operace." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "Položka \"%(obj)s\" typu %(name)s byla úspěšně odstraněna." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "Objekt %(name)s s klíčem \"%(key)s\" neexistuje. Možná byl odstraněn." + +#, python-format +msgid "Add %s" +msgstr "%s: přidat" + +#, python-format +msgid "Change %s" +msgstr "%s: změnit" + +#, python-format +msgid "View %s" +msgstr "Zobrazit %s" + +msgid "Database error" +msgstr "Chyba databáze" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "Položka %(name)s byla úspěšně změněna." +msgstr[1] "%(count)s položky %(name)s byly úspěšně změněny." +msgstr[2] "%(count)s položek %(name)s bylo úspěšně změněno." +msgstr[3] "%(count)s položek %(name)s bylo úspěšně změněno." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s položka vybrána." +msgstr[1] "Všechny %(total_count)s položky vybrány." +msgstr[2] "Vybráno všech %(total_count)s položek." +msgstr[3] "Vybráno všech %(total_count)s položek." + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "Vybraných je 0 položek z celkem %(cnt)s." + +#, python-format +msgid "Change history: %s" +msgstr "Historie změn: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s: %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Odstranění položky \"%(instance)s\" typu %(class_name)s by vyžadovalo " +"odstranění těchto souvisejících chráněných položek: %(related_objects)s" + +msgid "Django site admin" +msgstr "Správa webu Django" + +msgid "Django administration" +msgstr "Správa systému Django" + +msgid "Site administration" +msgstr "Správa webu" + +msgid "Log in" +msgstr "Přihlášení" + +#, python-format +msgid "%(app)s administration" +msgstr "Správa aplikace %(app)s" + +msgid "Page not found" +msgstr "Stránka nenalezena" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Požadovaná stránka nebyla bohužel nalezena." + +msgid "Home" +msgstr "Domů" + +msgid "Server error" +msgstr "Chyba serveru" + +msgid "Server error (500)" +msgstr "Chyba serveru (500)" + +msgid "Server Error (500)" +msgstr "Chyba serveru (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"V systému došlo k chybě. Byla e-mailem nahlášena správcům, kteří by ji měli " +"v krátké době opravit. Děkujeme za trpělivost." + +msgid "Run the selected action" +msgstr "Provést vybranou operaci" + +msgid "Go" +msgstr "Provést" + +msgid "Click here to select the objects across all pages" +msgstr "Klepnutím zde vyberete položky ze všech stránek." + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Vybrat všechny položky typu %(module_name)s, celkem %(total_count)s." + +msgid "Clear selection" +msgstr "Zrušit výběr" + +msgid "Breadcrumbs" +msgstr "Drobečky" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Modely v aplikaci %(name)s" + +msgid "Add" +msgstr "Přidat" + +msgid "View" +msgstr "Zobrazit" + +msgid "You don’t have permission to view or edit anything." +msgstr "Nemáte oprávnění k zobrazení ani úpravám." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Nejdříve zadejte uživatelské jméno a heslo. Poté budete moci upravovat více " +"uživatelských nastavení." + +msgid "Enter a username and password." +msgstr "Zadejte uživatelské jméno a heslo." + +msgid "Change password" +msgstr "Změnit heslo" + +msgid "Set password" +msgstr "Nastavit heslo" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Opravte prosím níže uvedenou chybu." +msgstr[1] "Opravte prosím níže uvedené chyby." +msgstr[2] "Opravte prosím níže uvedené chyby." +msgstr[3] "Opravte prosím níže uvedené chyby." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Zadejte nové heslo pro uživatele %(username)s." + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "" +"Tato akce povolí pro tohoto uživatele ověřování na základě " +"hesla." + +msgid "Disable password-based authentication" +msgstr "Zakázat ověřování pomocí hesla" + +msgid "Enable password-based authentication" +msgstr "Povolit ověřování pomocí hesla" + +msgid "Skip to main content" +msgstr "Přeskočit na hlavní obsah" + +msgid "Welcome," +msgstr "Vítejte, uživateli" + +msgid "View site" +msgstr "Zobrazení webu" + +msgid "Documentation" +msgstr "Dokumentace" + +msgid "Log out" +msgstr "Odhlásit se" + +#, python-format +msgid "Add %(name)s" +msgstr "%(name)s: přidat" + +msgid "History" +msgstr "Historie" + +msgid "View on site" +msgstr "Zobrazení na webu" + +msgid "Filter" +msgstr "Filtr" + +msgid "Hide counts" +msgstr "Skrýt počty" + +msgid "Show counts" +msgstr "Zobrazit počty" + +msgid "Clear all filters" +msgstr "Zrušit všechny filtry" + +msgid "Remove from sorting" +msgstr "Přestat řadit" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Priorita řazení: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Přehodit řazení" + +msgid "Toggle theme (current theme: auto)" +msgstr "Přepnout motiv (aktuální motiv: auto)" + +msgid "Toggle theme (current theme: light)" +msgstr "Přepnout motiv (aktuální motiv: světlý)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Přepnout motiv (aktuální motiv: tmavý)" + +msgid "Delete" +msgstr "Odstranit" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Odstranění položky \"%(escaped_object)s\" typu %(object_name)s by vyústilo v " +"odstranění souvisejících položek. Nemáte však oprávnění k odstranění položek " +"následujících typů:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Odstranění položky '%(escaped_object)s' typu %(object_name)s by vyžadovalo " +"odstranění souvisejících chráněných položek:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Opravdu má být odstraněna položka \"%(escaped_object)s\" typu " +"%(object_name)s? Následující související položky budou všechny odstraněny:" + +msgid "Objects" +msgstr "Objekty" + +msgid "Yes, I’m sure" +msgstr "Ano, jsem si jist(a)" + +msgid "No, take me back" +msgstr "Ne, beru zpět" + +msgid "Delete multiple objects" +msgstr "Odstranit vybrané položky" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Odstranění položky typu %(objects_name)s by vyústilo v odstranění " +"souvisejících položek. Nemáte však oprávnění k odstranění položek " +"následujících typů:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Odstranění vybrané položky typu %(objects_name)s by vyžadovalo odstranění " +"následujících souvisejících chráněných položek:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Opravdu má být odstraněny vybrané položky typu %(objects_name)s? Všechny " +"vybrané a s nimi související položky budou odstraněny:" + +msgid "Delete?" +msgstr "Odstranit?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " Dle: %(filter_title)s " + +msgid "Summary" +msgstr "Shrnutí" + +msgid "Recent actions" +msgstr "Nedávné akce" + +msgid "My actions" +msgstr "Moje akce" + +msgid "None available" +msgstr "Nic" + +msgid "Added:" +msgstr "Přidáno:" + +msgid "Changed:" +msgstr "Změněno:" + +msgid "Deleted:" +msgstr "Smazáno:" + +msgid "Unknown content" +msgstr "Neznámý obsah" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Potíže s nainstalovanou databází. Ujistěte se, že byly vytvořeny " +"odpovídající tabulky a že databáze je přístupná pro čtení příslušným " +"uživatelem." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Jste přihlášeni jako uživatel %(username)s, ale k této stránce nemáte " +"oprávnění. Chcete se přihlásit k jinému účtu?" + +msgid "Forgotten your password or username?" +msgstr "Zapomněli jste heslo nebo uživatelské jméno?" + +msgid "Toggle navigation" +msgstr "Přehodit navigaci" + +msgid "Sidebar" +msgstr "Boční panel" + +msgid "Start typing to filter…" +msgstr "Filtrovat začnete vepsáním textu..." + +msgid "Filter navigation items" +msgstr "Filtrace položek navigace" + +msgid "Date/time" +msgstr "Datum a čas" + +msgid "User" +msgstr "Uživatel" + +msgid "Action" +msgstr "Operace" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "položka" +msgstr[1] "položky" +msgstr[2] "položek" +msgstr[3] "položek" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Tato položka nemá historii změn. Pravděpodobně nebyla přidána tímto " +"administračním rozhraním." + +msgid "Show all" +msgstr "Zobrazit vše" + +msgid "Save" +msgstr "Uložit" + +msgid "Popup closing…" +msgstr "Vyskakovací okno se zavírá..." + +msgid "Search" +msgstr "Hledat" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s výsledek" +msgstr[1] "%(counter)s výsledky" +msgstr[2] "%(counter)s výsledků" +msgstr[3] "%(counter)s výsledků" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "Celkem %(full_result_count)s" + +msgid "Save as new" +msgstr "Uložit jako novou položku" + +msgid "Save and add another" +msgstr "Uložit a přidat další položku" + +msgid "Save and continue editing" +msgstr "Uložit a pokračovat v úpravách" + +msgid "Save and view" +msgstr "Uložit a zobrazit" + +msgid "Close" +msgstr "Zavřít" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Změnit vybrané položky typu %(model)s" + +#, python-format +msgid "Add another %(model)s" +msgstr "Přidat další %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Odstranit vybrané položky typu %(model)s" + +#, python-format +msgid "View selected %(model)s" +msgstr "Zobrazení vybraných %(model)s" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Děkujeme za dnešní čas strávený s tímto neobyčejným webem." + +msgid "Log in again" +msgstr "Přihlaste se znovu" + +msgid "Password change" +msgstr "Změna hesla" + +msgid "Your password was changed." +msgstr "Vaše heslo bylo změněno." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Zadejte svoje současné heslo a poté dvakrát heslo nové. Omezíme tak možnost " +"překlepu." + +msgid "Change my password" +msgstr "Změnit heslo" + +msgid "Password reset" +msgstr "Obnovení hesla" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Vaše heslo bylo nastaveno. Nyní se můžete přihlásit." + +msgid "Password reset confirmation" +msgstr "Potvrzení obnovy hesla" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "Zadejte dvakrát nové heslo. Tak ověříme, že bylo zadáno správně." + +msgid "New password:" +msgstr "Nové heslo:" + +msgid "Confirm password:" +msgstr "Potvrdit heslo:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Odkaz pro obnovení hesla byl neplatný, možná již byl použit. Požádejte o " +"obnovení hesla znovu." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Návod na nastavení hesla byl odeslán na zadanou e-mailovou adresu, pokud " +"účet s takovou adresou existuje. Měl by za okamžik dorazit." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Pokud e-mail neobdržíte, ujistěte se, že zadaná e-mailová adresa je stejná " +"jako ta registrovaná u vašeho účtu a zkontrolujte složku nevyžádané pošty, " +"tzv. spamu." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Tento e-mail vám byl zaslán na základě vyžádání obnovy hesla vašeho " +"uživatelskému účtu na systému %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Přejděte na následující stránku a zadejte nové heslo:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Pro jistotu vaše uživatelské jméno:" + +msgid "Thanks for using our site!" +msgstr "Děkujeme za používání našeho webu!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Tým aplikace %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Zapomněli jste heslo? Zadejte níže e-mailovou adresu a systém vám odešle " +"postup k nastavení nového." + +msgid "Email address:" +msgstr "E-mailová adresa:" + +msgid "Reset my password" +msgstr "Obnovit heslo" + +msgid "Select all objects on this page for an action" +msgstr "Vyberte všechny objekty na této stránce pro akci" + +msgid "All dates" +msgstr "Všechna data" + +#, python-format +msgid "Select %s" +msgstr "%s: vybrat" + +#, python-format +msgid "Select %s to change" +msgstr "Vyberte položku %s ke změně" + +#, python-format +msgid "Select %s to view" +msgstr "Vyberte položku %s k zobrazení" + +msgid "Date:" +msgstr "Datum:" + +msgid "Time:" +msgstr "Čas:" + +msgid "Lookup" +msgstr "Hledat" + +msgid "Currently:" +msgstr "Aktuálně:" + +msgid "Change:" +msgstr "Změna:" diff --git a/external_sources/django/django/contrib/admin/locale/cs/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/cs/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..1e8fa73 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/cs/LC_MESSAGES/djangojs.po @@ -0,0 +1,332 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel , 2011 +# Jan Papež , 2024 +# Jiří Podhorecký , 2024 +# Jiří Podhorecký , 2022 +# Jirka Vejrazka , 2011 +# Vláďa Macek , 2012,2014 +# Vláďa Macek , 2015-2016,2020-2021 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-10-07 07:59+0000\n" +"Last-Translator: Jan Papež , 2024\n" +"Language-Team: Czech (http://app.transifex.com/django/django/language/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" + +#, javascript-format +msgid "Available %s" +msgstr "Dostupné položky: %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Seznam dostupných položek %s. Jednotlivě je lze vybrat tak, že na ně v " +"rámečku klepnete a pak klepnete na šipku \"Vybrat\" mezi rámečky." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" +"Chcete-li filtrovat ze seznamu dostupných položek %s, začněte psát do tohoto " +"pole." + +msgid "Filter" +msgstr "Filtr" + +msgid "Choose all" +msgstr "Vybrat vše" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Chcete-li najednou vybrat všechny položky %s, klepněte sem." + +msgid "Choose" +msgstr "Vybrat" + +msgid "Remove" +msgstr "Odebrat" + +#, javascript-format +msgid "Chosen %s" +msgstr "Vybrané položky %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Seznam vybraných položek %s. Jednotlivě je lze odebrat tak, že na ně v " +"rámečku klepnete a pak klepnete na šipku \"Odebrat mezi rámečky." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "Zadáním do tohoto pole vyfiltrujete seznam vybraných %s." + +msgid "Remove all" +msgstr "Odebrat vše" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Chcete-li najednou odebrat všechny vybrané položky %s, klepněte sem." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%s vybraná volba není viditelná" +msgstr[1] "%s vybrané volby nejsou viditelné" +msgstr[2] "%s vybrané volby nejsou viditelné" +msgstr[3] "%s vybrané volby nejsou viditelné" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "Vybrána je %(sel)s položka z celkem %(cnt)s." +msgstr[1] "Vybrány jsou %(sel)s položky z celkem %(cnt)s." +msgstr[2] "Vybraných je %(sel)s položek z celkem %(cnt)s." +msgstr[3] "Vybraných je %(sel)s položek z celkem %(cnt)s." + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"V jednotlivých polích jsou neuložené změny, které budou ztraceny, pokud " +"operaci provedete." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Byla vybrána operace, ale dosud nedošlo k uložení změn jednotlivých polí. " +"Uložíte klepnutím na tlačítko OK. Pak bude třeba operaci spustit znovu." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Byla vybrána operace, ale dosud nedošlo k uložení změn jednotlivých polí. " +"Patrně využijete tlačítko Provést spíše než tlačítko Uložit." + +msgid "Now" +msgstr "Nyní" + +msgid "Midnight" +msgstr "Půlnoc" + +msgid "6 a.m." +msgstr "6h ráno" + +msgid "Noon" +msgstr "Poledne" + +msgid "6 p.m." +msgstr "6h večer" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Poznámka: Váš čas o %s hodinu předstihuje čas na serveru." +msgstr[1] "Poznámka: Váš čas o %s hodiny předstihuje čas na serveru." +msgstr[2] "Poznámka: Váš čas o %s hodiny předstihuje čas na serveru." +msgstr[3] "Poznámka: Váš čas o %s hodin předstihuje čas na serveru." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Poznámka: Váš čas se o %s hodinu zpožďuje za časem na serveru." +msgstr[1] "Poznámka: Váš čas se o %s hodiny zpožďuje za časem na serveru." +msgstr[2] "Poznámka: Váš čas se o %s hodiny zpožďuje za časem na serveru." +msgstr[3] "Poznámka: Váš čas se o %s hodin zpožďuje za časem na serveru." + +msgid "Choose a Time" +msgstr "Vyberte čas" + +msgid "Choose a time" +msgstr "Vyberte čas" + +msgid "Cancel" +msgstr "Storno" + +msgid "Today" +msgstr "Dnes" + +msgid "Choose a Date" +msgstr "Vyberte datum" + +msgid "Yesterday" +msgstr "Včera" + +msgid "Tomorrow" +msgstr "Zítra" + +msgid "January" +msgstr "leden" + +msgid "February" +msgstr "únor" + +msgid "March" +msgstr "březen" + +msgid "April" +msgstr "duben" + +msgid "May" +msgstr "květen" + +msgid "June" +msgstr "červen" + +msgid "July" +msgstr "červenec" + +msgid "August" +msgstr "srpen" + +msgid "September" +msgstr "září" + +msgid "October" +msgstr "říjen" + +msgid "November" +msgstr "listopad" + +msgid "December" +msgstr "prosinec" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Led" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Úno" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Bře" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Dub" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "Kvě" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Čvn" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Čvc" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Srp" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Zář" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Říj" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Lis" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Pro" + +msgid "Sunday" +msgstr "Neděle" + +msgid "Monday" +msgstr "Pondělí" + +msgid "Tuesday" +msgstr "Úterý" + +msgid "Wednesday" +msgstr "Středa" + +msgid "Thursday" +msgstr "Čtvrtek" + +msgid "Friday" +msgstr "Pátek" + +msgid "Saturday" +msgstr "Sobota" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "Ned" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "Pon" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "Úte" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "Stř" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "Čtv" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "Pát" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "Sob" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "N" + +msgctxt "one letter Monday" +msgid "M" +msgstr "P" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "Ú" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "S" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "Č" + +msgctxt "one letter Friday" +msgid "F" +msgstr "P" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "S" diff --git a/external_sources/django/django/contrib/admin/locale/cy/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/cy/LC_MESSAGES/django.po new file mode 100644 index 0000000..82e82f7 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/cy/LC_MESSAGES/django.po @@ -0,0 +1,675 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel , 2011 +# Maredudd ap Gwyndaf , 2014 +# pjrobertson, 2014 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-19 16:49+0100\n" +"PO-Revision-Date: 2017-09-23 18:54+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Welsh (http://www.transifex.com/django/django/language/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" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Dilëwyd %(count)d %(items)s yn llwyddiannus." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Ni ellir dileu %(name)s" + +msgid "Are you sure?" +msgstr "Ydych yn sicr?" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Dileu y %(verbose_name_plural)s â ddewiswyd" + +msgid "Administration" +msgstr "Gweinyddu" + +msgid "All" +msgstr "Pob un" + +msgid "Yes" +msgstr "Ie" + +msgid "No" +msgstr "Na" + +msgid "Unknown" +msgstr "Anhysybys" + +msgid "Any date" +msgstr "Unrhyw ddyddiad" + +msgid "Today" +msgstr "Heddiw" + +msgid "Past 7 days" +msgstr "7 diwrnod diwethaf" + +msgid "This month" +msgstr "Mis yma" + +msgid "This year" +msgstr "Eleni" + +msgid "No date" +msgstr "" + +msgid "Has date" +msgstr "" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Teipiwch yr %(username)s a chyfrinair cywir ar gyfer cyfrif staff. Noder y " +"gall y ddau faes fod yn sensitif i lythrennau bach a llythrennau bras." + +msgid "Action:" +msgstr "Gweithred:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Ychwanegu %(verbose_name)s arall" + +msgid "Remove" +msgstr "Gwaredu" + +msgid "action time" +msgstr "amser y weithred" + +msgid "user" +msgstr "" + +msgid "content type" +msgstr "" + +msgid "object id" +msgstr "id gwrthrych" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/3/library/functions.html#repr) +msgid "object repr" +msgstr "repr gwrthrych" + +msgid "action flag" +msgstr "fflag gweithred" + +msgid "change message" +msgstr "neges y newid" + +msgid "log entry" +msgstr "cofnod" + +msgid "log entries" +msgstr "cofnodion" + +#, python-format +msgid "Added \"%(object)s\"." +msgstr "Ychwanegwyd \"%(object)s\"." + +#, python-format +msgid "Changed \"%(object)s\" - %(changes)s" +msgstr "Newidwyd \"%(object)s\" - %(changes)s" + +#, python-format +msgid "Deleted \"%(object)s.\"" +msgstr "Dilëwyd \"%(object)s.\"" + +msgid "LogEntry Object" +msgstr "Gwrthrych LogEntry" + +#, python-brace-format +msgid "Added {name} \"{object}\"." +msgstr "" + +msgid "Added." +msgstr "" + +msgid "and" +msgstr "a" + +#, python-brace-format +msgid "Changed {fields} for {name} \"{object}\"." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "" + +#, python-brace-format +msgid "Deleted {name} \"{object}\"." +msgstr "" + +msgid "No fields changed." +msgstr "Ni newidwyd unrhwy feysydd." + +msgid "None" +msgstr "Dim" + +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was added successfully." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Rhaid dewis eitemau er mwyn gweithredu arnynt. Ni ddewiswyd unrhyw eitemau." + +msgid "No action selected." +msgstr "Ni ddewiswyd gweithred." + +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "Dilëwyd %(name)s \"%(obj)s\" yn llwyddiannus." + +#, python-format +msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "Ychwanegu %s" + +#, python-format +msgid "Change %s" +msgstr "Newid %s" + +msgid "Database error" +msgstr "Gwall cronfa ddata" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "Newidwyd %(count)s %(name)s yn llwyddiannus" +msgstr[1] "Newidwyd %(count)s %(name)s yn llwyddiannus" +msgstr[2] "Newidwyd %(count)s %(name)s yn llwyddiannus" +msgstr[3] "Newidwyd %(count)s %(name)s yn llwyddiannus" + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "Dewiswyd %(total_count)s" +msgstr[1] "Dewiswyd %(total_count)s" +msgstr[2] "Dewiswyd %(total_count)s" +msgstr[3] "Dewiswyd %(total_count)s" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "Dewiswyd 0 o %(cnt)s" + +#, python-format +msgid "Change history: %s" +msgstr "Hanes newid: %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Byddai dileu %(class_name)s %(instance)s yn golygu dileu'r gwrthrychau " +"gwarchodedig canlynol sy'n perthyn: %(related_objects)s" + +msgid "Django site admin" +msgstr "Adran weinyddol safle Django" + +msgid "Django administration" +msgstr "Gweinyddu Django" + +msgid "Site administration" +msgstr "Gweinyddu'r safle" + +msgid "Log in" +msgstr "Mewngofnodi" + +#, python-format +msgid "%(app)s administration" +msgstr "Gweinyddu %(app)s" + +msgid "Page not found" +msgstr "Ni ddarganfyddwyd y dudalen" + +msgid "We're sorry, but the requested page could not be found." +msgstr "Mae'n ddrwg gennym, ond ni ddarganfuwyd y dudalen" + +msgid "Home" +msgstr "Hafan" + +msgid "Server error" +msgstr "Gwall gweinydd" + +msgid "Server error (500)" +msgstr "Gwall gweinydd (500)" + +msgid "Server Error (500)" +msgstr "Gwall Gweinydd (500)" + +msgid "" +"There's been an error. It's been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Mae gwall ac gyrrwyd adroddiad ohono i weinyddwyr y wefan drwy ebost a dylai " +"gael ei drwsio yn fuan. Diolch am fod yn amyneddgar." + +msgid "Run the selected action" +msgstr "Rhedeg y weithred a ddewiswyd" + +msgid "Go" +msgstr "Ffwrdd â ni" + +msgid "Click here to select the objects across all pages" +msgstr "" +"Cliciwch fan hyn i ddewis yr holl wrthrychau ar draws yr holl dudalennau" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Dewis y %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Clirio'r dewis" + +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"Yn gyntaf, rhowch enw defnyddiwr a chyfrinair. Yna byddwch yn gallu golygu " +"mwy o ddewisiadau." + +msgid "Enter a username and password." +msgstr "Rhowch enw defnyddiwr a chyfrinair." + +msgid "Change password" +msgstr "Newid cyfrinair" + +msgid "Please correct the error below." +msgstr "Cywirwch y gwall isod." + +msgid "Please correct the errors below." +msgstr "Cywirwch y gwallau isod." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Rhowch gyfrinair newydd i'r defnyddiwr %(username)s." + +msgid "Welcome," +msgstr "Croeso," + +msgid "View site" +msgstr "" + +msgid "Documentation" +msgstr "Dogfennaeth" + +msgid "Log out" +msgstr "Allgofnodi" + +#, python-format +msgid "Add %(name)s" +msgstr "Ychwanegu %(name)s" + +msgid "History" +msgstr "Hanes" + +msgid "View on site" +msgstr "Gweld ar y safle" + +msgid "Filter" +msgstr "Hidl" + +msgid "Remove from sorting" +msgstr "Gwaredu o'r didoli" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Blaenoriaeth didoli: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Toglio didoli" + +msgid "Delete" +msgstr "Dileu" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Byddai dileu %(object_name)s '%(escaped_object)s' yn golygu dileu'r " +"gwrthrychau sy'n perthyn, ond nid oes ganddoch ganiatâd i ddileu y mathau " +"canlynol o wrthrychau:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Byddai dileu %(object_name)s '%(escaped_object)s' yn golygu dileu'r " +"gwrthrychau gwarchodedig canlynol sy'n perthyn:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" + +msgid "Objects" +msgstr "" + +msgid "Yes, I'm sure" +msgstr "Ydw, rwy'n sicr" + +msgid "No, take me back" +msgstr "" + +msgid "Delete multiple objects" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Byddai dileu %(objects_name)s yn golygu dileu'r gwrthrychau gwarchodedig " +"canlynol sy'n perthyn:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Ydych yn sicr eich bod am ddileu'r %(objects_name)s a ddewiswyd? Dilëir yr " +"holl wrthrychau canlynol a'u heitemau perthnasol:" + +msgid "Change" +msgstr "Newid" + +msgid "Delete?" +msgstr "Dileu?" + +#, python-format +msgid " By %(filter_title)s " +msgstr "Wrth %(filter_title)s" + +msgid "Summary" +msgstr "" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Modelau yn y rhaglen %(name)s " + +msgid "Add" +msgstr "Ychwanegu" + +msgid "You don't have permission to edit anything." +msgstr "Does gennych ddim hawl i olygu unrhywbeth." + +msgid "Recent actions" +msgstr "" + +msgid "My actions" +msgstr "" + +msgid "None available" +msgstr "Dim ar gael" + +msgid "Unknown content" +msgstr "Cynnwys anhysbys" + +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Mae rhywbeth o'i le ar osodiad y gronfa ddata. Sicrhewch fod y tablau " +"cronfa ddata priodol wedi eu creu, a sicrhewch fod y gronfa ddata yn " +"ddarllenadwy gan y defnyddiwr priodol." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" + +msgid "Forgotten your password or username?" +msgstr "Anghofioch eich cyfrinair neu enw defnyddiwr?" + +msgid "Date/time" +msgstr "Dyddiad/amser" + +msgid "User" +msgstr "Defnyddiwr" + +msgid "Action" +msgstr "Gweithred" + +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"Does dim hanes newid gan y gwrthrych yma. Mae'n debyg nad ei ychwanegwyd " +"drwy'r safle gweinydd yma." + +msgid "Show all" +msgstr "Dangos pob canlyniad" + +msgid "Save" +msgstr "Cadw" + +msgid "Popup closing..." +msgstr "" + +#, python-format +msgid "Change selected %(model)s" +msgstr "" + +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "" + +msgid "Search" +msgstr "Chwilio" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s canlyniad" +msgstr[1] "%(counter)s canlyniad" +msgstr[2] "%(counter)s canlyniad" +msgstr[3] "%(counter)s canlyniad" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "Cyfanswm o %(full_result_count)s" + +msgid "Save as new" +msgstr "Cadw fel newydd" + +msgid "Save and add another" +msgstr "Cadw ac ychwanegu un arall" + +msgid "Save and continue editing" +msgstr "Cadw a pharhau i olygu" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Diolch am dreulio amser o ansawdd gyda'r safle we yma heddiw." + +msgid "Log in again" +msgstr "Mewngofnodi eto" + +msgid "Password change" +msgstr "Newid cyfrinair" + +msgid "Your password was changed." +msgstr "Newidwyd eich cyfrinair." + +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Rhowch eich hen gyfrinair, er mwyn diogelwch, ac yna rhowch eich cyfrinair " +"newydd ddwywaith er mwyn gwirio y'i teipiwyd yn gywir." + +msgid "Change my password" +msgstr "Newid fy nghyfrinair" + +msgid "Password reset" +msgstr "Ailosod cyfrinair" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Mae'ch cyfrinair wedi ei osod. Gallwch fewngofnodi nawr." + +msgid "Password reset confirmation" +msgstr "Cadarnhad ailosod cyfrinair" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Rhowch eich cyfrinair newydd ddwywaith er mwyn gwirio y'i teipiwyd yn gywir." + +msgid "New password:" +msgstr "Cyfrinair newydd:" + +msgid "Confirm password:" +msgstr "Cadarnhewch y cyfrinair:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Roedd y ddolen i ailosod y cyfrinair yn annilys, o bosib oherwydd ei fod " +"wedi ei ddefnyddio'n barod. Gofynnwch i ailosod y cyfrinair eto." + +msgid "" +"We've emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don't receive an email, please make sure you've entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Os na dderbyniwch ebost, sicrhewych y rhoddwyd y cyfeiriad sydd wedi ei " +"gofrestru gyda ni, ac edrychwch yn eich ffolder sbam." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Derbyniwch yr ebost hwn oherwydd i chi ofyn i ailosod y cyfrinair i'ch " +"cyfrif yn %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Ewch i'r dudalen olynol a dewsiwch gyfrinair newydd:" + +msgid "Your username, in case you've forgotten:" +msgstr "Eich enw defnyddiwr, rhag ofn eich bod wedi anghofio:" + +msgid "Thanks for using our site!" +msgstr "Diolch am ddefnyddio ein safle!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Tîm %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we'll email " +"instructions for setting a new one." +msgstr "" +"Anghofioch eich cyfrinair? Rhowch eich cyfeiriad ebost isod ac fe ebostiwn " +"gyfarwyddiadau ar osod un newydd." + +msgid "Email address:" +msgstr "Cyfeiriad ebost:" + +msgid "Reset my password" +msgstr "Ailosod fy nghyfrinair" + +msgid "All dates" +msgstr "Holl ddyddiadau" + +#, python-format +msgid "Select %s" +msgstr "Dewis %s" + +#, python-format +msgid "Select %s to change" +msgstr "Dewis %s i newid" + +msgid "Date:" +msgstr "Dyddiad:" + +msgid "Time:" +msgstr "Amser:" + +msgid "Lookup" +msgstr "Archwilio" + +msgid "Currently:" +msgstr "Cyfredol:" + +msgid "Change:" +msgstr "Newid:" diff --git a/external_sources/django/django/contrib/admin/locale/cy/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/cy/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..fa7ad2a --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/cy/LC_MESSAGES/djangojs.po @@ -0,0 +1,222 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel , 2011 +# Maredudd ap Gwyndaf , 2014 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"PO-Revision-Date: 2017-09-23 18:54+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Welsh (http://www.transifex.com/django/django/language/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" + +#, javascript-format +msgid "Available %s" +msgstr "%s sydd ar gael" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Dyma restr o'r %s sydd ar gael. Gellir dewis rhai drwyeu dewis yn y blwch " +"isod ac yna clicio'r saeth \"Dewis\" rhwng y ddau flwch." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Teipiwch yn y blwch i hidlo'r rhestr o %s sydd ar gael." + +msgid "Filter" +msgstr "Hidl" + +msgid "Choose all" +msgstr "Dewis y cyfan" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Cliciwch i ddewis pob %s yr un pryd." + +msgid "Choose" +msgstr "Dewis" + +msgid "Remove" +msgstr "Gwaredu" + +#, javascript-format +msgid "Chosen %s" +msgstr "Y %s a ddewiswyd" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Dyma restr o'r %s a ddewiswyd. Gellir gwaredu rhai drwy eu dewis yn y blwch " +"isod ac yna clicio'r saeth \"Gwaredu\" rhwng y ddau flwch." + +msgid "Remove all" +msgstr "Gwaredu'r cyfan" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Cliciwch i waredu pob %s sydd wedi ei ddewis yr un pryd." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "Dewiswyd %(sel)s o %(cnt)s" +msgstr[1] "Dewiswyd %(sel)s o %(cnt)s" +msgstr[2] "Dewiswyd %(sel)s o %(cnt)s" +msgstr[3] "Dewiswyd %(sel)s o %(cnt)s" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Mae ganddoch newidiadau heb eu cadw mewn meysydd golygadwy. Os rhedwch y " +"weithred fe gollwch y newidiadau." + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"Rydych wedi dewis gweithred ond nid ydych wedi newid eich newidiadau i rai " +"meysydd eto. Cliciwch 'Iawn' i gadw. Bydd rhaid i chi ail-redeg y weithred." + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Rydych wedi dewis gweithred ac nid ydych wedi newid unrhyw faes. Rydych " +"siwr o fod yn edrych am y botwm 'Ewch' yn lle'r botwm 'Cadw'." + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Noder: Rydych %s awr o flaen amser y gweinydd." +msgstr[1] "Noder: Rydych %s awr o flaen amser y gweinydd." +msgstr[2] "Noder: Rydych %s awr o flaen amser y gweinydd." +msgstr[3] "Noder: Rydych %s awr o flaen amser y gweinydd." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Noder: Rydych %s awr tu ôl amser y gweinydd." +msgstr[1] "Noder: Rydych %s awr tu ôl amser y gweinydd." +msgstr[2] "Noder: Rydych %s awr tu ôl amser y gweinydd." +msgstr[3] "Noder: Rydych %s awr tu ôl amser y gweinydd." + +msgid "Now" +msgstr "Nawr" + +msgid "Choose a Time" +msgstr "" + +msgid "Choose a time" +msgstr "Dewiswch amser" + +msgid "Midnight" +msgstr "Canol nos" + +msgid "6 a.m." +msgstr "6 y.b." + +msgid "Noon" +msgstr "Canol dydd" + +msgid "6 p.m." +msgstr "" + +msgid "Cancel" +msgstr "Diddymu" + +msgid "Today" +msgstr "Heddiw" + +msgid "Choose a Date" +msgstr "" + +msgid "Yesterday" +msgstr "Ddoe" + +msgid "Tomorrow" +msgstr "Fory" + +msgid "January" +msgstr "" + +msgid "February" +msgstr "" + +msgid "March" +msgstr "" + +msgid "April" +msgstr "" + +msgid "May" +msgstr "" + +msgid "June" +msgstr "" + +msgid "July" +msgstr "" + +msgid "August" +msgstr "" + +msgid "September" +msgstr "" + +msgid "October" +msgstr "" + +msgid "November" +msgstr "" + +msgid "December" +msgstr "" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "" + +msgctxt "one letter Monday" +msgid "M" +msgstr "" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "" + +msgctxt "one letter Friday" +msgid "F" +msgstr "" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "" + +msgid "Show" +msgstr "Dangos" + +msgid "Hide" +msgstr "Cuddio" diff --git a/external_sources/django/django/contrib/admin/locale/da/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/da/LC_MESSAGES/django.po new file mode 100644 index 0000000..293030a --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/da/LC_MESSAGES/django.po @@ -0,0 +1,788 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Christian Joergensen , 2012 +# Dimitris Glezos , 2012 +# Erik Ramsgaard Wognsen , 2020-2024 +# Erik Ramsgaard Wognsen , 2013,2015-2020 +# Finn Gruwier Larsen, 2011 +# Jannis Leidel , 2011 +# valberg , 2014-2015 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 07:05+0000\n" +"Last-Translator: Erik Ramsgaard Wognsen , 2020-2024\n" +"Language-Team: Danish (http://app.transifex.com/django/django/language/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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Slet valgte %(verbose_name_plural)s" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d %(items)s blev slettet." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Kan ikke slette %(name)s " + +msgid "Are you sure?" +msgstr "Er du sikker?" + +msgid "Administration" +msgstr "Administration" + +msgid "All" +msgstr "Alle" + +msgid "Yes" +msgstr "Ja" + +msgid "No" +msgstr "Nej" + +msgid "Unknown" +msgstr "Ukendt" + +msgid "Any date" +msgstr "Når som helst" + +msgid "Today" +msgstr "I dag" + +msgid "Past 7 days" +msgstr "De sidste 7 dage" + +msgid "This month" +msgstr "Denne måned" + +msgid "This year" +msgstr "Dette år" + +msgid "No date" +msgstr "Ingen dato" + +msgid "Has date" +msgstr "Har dato" + +msgid "Empty" +msgstr "Tom" + +msgid "Not empty" +msgstr "Ikke tom" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Indtast venligst det korrekte %(username)s og adgangskode for en " +"personalekonto. Bemærk at begge felter kan være versalfølsomme." + +msgid "Action:" +msgstr "Handling" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Tilføj endnu en %(verbose_name)s" + +msgid "Remove" +msgstr "Fjern" + +msgid "Addition" +msgstr "Tilføjelse" + +msgid "Change" +msgstr "Ret" + +msgid "Deletion" +msgstr "Sletning" + +msgid "action time" +msgstr "handlingstid" + +msgid "user" +msgstr "bruger" + +msgid "content type" +msgstr "indholdstype" + +msgid "object id" +msgstr "objekt-ID" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "objekt repr" + +msgid "action flag" +msgstr "handlingsflag" + +msgid "change message" +msgstr "ændringsmeddelelse" + +msgid "log entry" +msgstr "logmeddelelse" + +msgid "log entries" +msgstr "logmeddelelser" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Tilføjede “%(object)s”." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Ændrede “%(object)s” — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Slettede “%(object)s”." + +msgid "LogEntry Object" +msgstr "LogEntry-objekt" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Tilføjede {name} “{object}”." + +msgid "Added." +msgstr "Tilføjet." + +msgid "and" +msgstr "og" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Ændrede {fields} for {name} “{object}”." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Ændrede {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Slettede {name} “{object}”." + +msgid "No fields changed." +msgstr "Ingen felter ændret." + +msgid "None" +msgstr "Ingen" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "Hold “Ctrl”, eller “Æbletasten” på Mac, nede for at vælge mere end én." + +msgid "Select this object for an action - {}" +msgstr "Vælg dette objekt for en handling - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "{name} “{obj}” blev tilføjet." + +msgid "You may edit it again below." +msgstr "Du kan redigere den/det igen herunder." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"{name} “{obj}” blev tilføjet. Du kan tilføje endnu en/et {name} herunder." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "{name} “{obj}” blev ændret. Du kan redigere den/det igen herunder." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"{name} “{obj}” blev ændret. Du kan tilføje endnu en/et {name} herunder." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "{name} “{obj}” blev ændret." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Der skal være valgt nogle emner for at man kan udføre handlinger på dem. " +"Ingen emner er blev ændret." + +msgid "No action selected." +msgstr "Ingen handling valgt." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s “%(obj)s” blev slettet." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "" +"%(name)s med ID “%(key)s” findes ikke. Måske er objektet blevet slettet?" + +#, python-format +msgid "Add %s" +msgstr "Tilføj %s" + +#, python-format +msgid "Change %s" +msgstr "Ret %s" + +#, python-format +msgid "View %s" +msgstr "Vis %s" + +msgid "Database error" +msgstr "Databasefejl" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s blev ændret." +msgstr[1] "%(count)s %(name)s blev ændret." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s valgt" +msgstr[1] "Alle %(total_count)s valgt" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 af %(cnt)s valgt" + +#, python-format +msgid "Change history: %s" +msgstr "Ændringshistorik: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Sletning af %(class_name)s %(instance)s vil kræve sletning af følgende " +"beskyttede relaterede objekter: %(related_objects)s" + +msgid "Django site admin" +msgstr "Django website-administration" + +msgid "Django administration" +msgstr "Django administration" + +msgid "Site administration" +msgstr "Website-administration" + +msgid "Log in" +msgstr "Log ind" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s administration" + +msgid "Page not found" +msgstr "Siden blev ikke fundet" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Vi beklager, men den ønskede side kunne ikke findes" + +msgid "Home" +msgstr "Hjem" + +msgid "Server error" +msgstr "Serverfejl" + +msgid "Server error (500)" +msgstr "Serverfejl (500)" + +msgid "Server Error (500)" +msgstr "Serverfejl (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Der opstod en fejl. Fejlen er rapporteret til website-administratoren via e-" +"mail, og vil blive rettet hurtigst muligt. Tak for din tålmodighed." + +msgid "Run the selected action" +msgstr "Udfør den valgte handling" + +msgid "Go" +msgstr "Udfør" + +msgid "Click here to select the objects across all pages" +msgstr "Klik her for at vælge objekter på tværs af alle sider" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Vælg alle %(total_count)s %(module_name)s " + +msgid "Clear selection" +msgstr "Ryd valg" + +msgid "Breadcrumbs" +msgstr "Sti" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Modeller i applikationen %(name)s" + +msgid "Add" +msgstr "Tilføj" + +msgid "View" +msgstr "Vis" + +msgid "You don’t have permission to view or edit anything." +msgstr "Du har ikke rettigheder til at se eller redigere noget." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Indtast først et brugernavn og en adgangskode. Derefter får du yderligere " +"redigeringsmuligheder." + +msgid "Enter a username and password." +msgstr "Indtast et brugernavn og en adgangskode." + +msgid "Change password" +msgstr "Skift adgangskode" + +msgid "Set password" +msgstr "Sæt adgangskode" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Ret venligst fejlen herunder." +msgstr[1] "Ret venligst fejlene herunder." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Indtast en ny adgangskode for brugeren %(username)s." + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "" +"Denne handling vil aktivere adgangskodebaseret " +"autentificering for denne bruger." + +msgid "Disable password-based authentication" +msgstr "Deaktivér adgangskodebaseret autentificering." + +msgid "Enable password-based authentication" +msgstr "Aktivér adgangskodebaseret autentificering." + +msgid "Skip to main content" +msgstr "Gå til hovedindhold" + +msgid "Welcome," +msgstr "Velkommen," + +msgid "View site" +msgstr "Se side" + +msgid "Documentation" +msgstr "Dokumentation" + +msgid "Log out" +msgstr "Log ud" + +#, python-format +msgid "Add %(name)s" +msgstr "Tilføj %(name)s" + +msgid "History" +msgstr "Historik" + +msgid "View on site" +msgstr "Se på website" + +msgid "Filter" +msgstr "Filtrer" + +msgid "Hide counts" +msgstr "Skjul antal" + +msgid "Show counts" +msgstr "Vis antal" + +msgid "Clear all filters" +msgstr "Nulstil alle filtre" + +msgid "Remove from sorting" +msgstr "Fjern fra sortering" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Sorteringsprioritet: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Skift sortering" + +msgid "Toggle theme (current theme: auto)" +msgstr "Skift tema (nuværende tema: auto)" + +msgid "Toggle theme (current theme: light)" +msgstr "Skift tema (nuværende tema: lyst)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Skift tema (nuværende tema: mørkt)" + +msgid "Delete" +msgstr "Slet" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Hvis du sletter %(object_name)s '%(escaped_object)s', vil du også slette " +"relaterede objekter, men din konto har ikke rettigheder til at slette " +"følgende objekttyper:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Sletning af %(object_name)s ' %(escaped_object)s ' vil kræve sletning af " +"følgende beskyttede relaterede objekter:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Er du sikker på du vil slette %(object_name)s \"%(escaped_object)s\"? Alle " +"de følgende relaterede objekter vil blive slettet:" + +msgid "Objects" +msgstr "Objekter" + +msgid "Yes, I’m sure" +msgstr "Ja, jeg er sikker" + +msgid "No, take me back" +msgstr "Nej, tag mig tilbage" + +msgid "Delete multiple objects" +msgstr "Slet flere objekter" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Sletning af de valgte %(objects_name)s ville resultere i sletning af " +"relaterede objekter, men din konto har ikke tilladelse til at slette " +"følgende typer af objekter:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Sletning af de valgte %(objects_name)s vil kræve sletning af følgende " +"beskyttede relaterede objekter:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Er du sikker på du vil slette de valgte %(objects_name)s? Alle de følgende " +"objekter og deres relaterede emner vil blive slettet:" + +msgid "Delete?" +msgstr "Slet?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " Efter %(filter_title)s " + +msgid "Summary" +msgstr "Sammendrag" + +msgid "Recent actions" +msgstr "Seneste handlinger" + +msgid "My actions" +msgstr "Mine handlinger" + +msgid "None available" +msgstr "Ingen tilgængelige" + +msgid "Added:" +msgstr "Tilføjede:" + +msgid "Changed:" +msgstr "Ændrede:" + +msgid "Deleted:" +msgstr "Slettede:" + +msgid "Unknown content" +msgstr "Ukendt indhold" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Der er noget galt med databaseinstallationen. Kontroller om " +"databasetabellerne er blevet oprettet og at databasen er læsbar for den " +"pågældende bruger." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Du er logget ind som %(username)s, men du har ikke tilladelse til at tilgå " +"denne site. Vil du logge ind med en anden brugerkonto?" + +msgid "Forgotten your password or username?" +msgstr "Har du glemt din adgangskode eller dit brugernavn?" + +msgid "Toggle navigation" +msgstr "Vis/skjul navigation" + +msgid "Sidebar" +msgstr "Sidebjælke" + +msgid "Start typing to filter…" +msgstr "Skriv for at filtrere…" + +msgid "Filter navigation items" +msgstr "Filtrer navigationsemner" + +msgid "Date/time" +msgstr "Dato/tid" + +msgid "User" +msgstr "Bruger" + +msgid "Action" +msgstr "Funktion" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "post" +msgstr[1] "poster" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Dette objekt har ingen ændringshistorik. Det blev formentlig ikke tilføjet " +"via dette administrations-site" + +msgid "Show all" +msgstr "Vis alle" + +msgid "Save" +msgstr "Gem" + +msgid "Popup closing…" +msgstr "Popup lukker…" + +msgid "Search" +msgstr "Søg" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s resultat" +msgstr[1] "%(counter)s resultater" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s i alt" + +msgid "Save as new" +msgstr "Gem som ny" + +msgid "Save and add another" +msgstr "Gem og tilføj endnu en" + +msgid "Save and continue editing" +msgstr "Gem og fortsæt med at redigere" + +msgid "Save and view" +msgstr "Gem og vis" + +msgid "Close" +msgstr "Luk" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Redigér valgte %(model)s" + +#, python-format +msgid "Add another %(model)s" +msgstr "Tilføj endnu en %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Slet valgte %(model)s" + +#, python-format +msgid "View selected %(model)s" +msgstr "Vis valgte %(model)s" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Tak for den kvalitetstid du brugte på websitet i dag." + +msgid "Log in again" +msgstr "Log ind igen" + +msgid "Password change" +msgstr "Skift adgangskode" + +msgid "Your password was changed." +msgstr "Din adgangskode blev ændret." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Indtast venligst din gamle adgangskode for en sikkerheds skyld og indtast så " +"din nye adgangskode to gange, så vi kan være sikre på, at den er indtastet " +"korrekt." + +msgid "Change my password" +msgstr "Skift min adgangskode" + +msgid "Password reset" +msgstr "Nulstil adgangskode" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Din adgangskode er blevet sat. Du kan logge ind med den nu." + +msgid "Password reset confirmation" +msgstr "Bekræftelse for nulstilling af adgangskode" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Indtast venligst din nye adgangskode to gange, så vi kan være sikre på, at " +"den er indtastet korrekt." + +msgid "New password:" +msgstr "Ny adgangskode:" + +msgid "Confirm password:" +msgstr "Bekræft ny adgangskode:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Linket for nulstilling af adgangskoden er ugyldigt, måske fordi det allerede " +"har været brugt. Anmod venligst påny om nulstilling af adgangskoden." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Vi har sendt dig en e-mail med instruktioner for at indstille din " +"adgangskode, hvis en konto med den angivne e-mail-adresse findes. Du burde " +"modtage den snarest." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Hvis du ikke modtager en e-mail, så tjek venligst, at du har indtastet den e-" +"mail-adresse, du registrerede dig med, og tjek din spam-mappe." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Du modtager denne e-mail, fordi du har anmodet om en nulstilling af " +"adgangskoden til din brugerkonto ved %(site_name)s ." + +msgid "Please go to the following page and choose a new password:" +msgstr "Gå venligst til denne side og vælg en ny adgangskode:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Hvis du skulle have glemt dit brugernavn er det:" + +msgid "Thanks for using our site!" +msgstr "Tak fordi du brugte vores website!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Med venlig hilsen %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Har du glemt din adgangskode? Skriv din e-mail-adresse herunder, så sender " +"vi dig instruktioner i at vælge en ny adgangskode." + +msgid "Email address:" +msgstr "E-mail-adresse:" + +msgid "Reset my password" +msgstr "Nulstil min adgangskode" + +msgid "Select all objects on this page for an action" +msgstr "Vælg alle objekter på denne side for en handling" + +msgid "All dates" +msgstr "Alle datoer" + +#, python-format +msgid "Select %s" +msgstr "Vælg %s" + +#, python-format +msgid "Select %s to change" +msgstr "Vælg %s, der skal ændres" + +#, python-format +msgid "Select %s to view" +msgstr "Vælg %s, der skal vises" + +msgid "Date:" +msgstr "Dato:" + +msgid "Time:" +msgstr "Tid:" + +msgid "Lookup" +msgstr "Slå op" + +msgid "Currently:" +msgstr "Nuværende:" + +msgid "Change:" +msgstr "Ændring:" diff --git a/external_sources/django/django/contrib/admin/locale/da/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/da/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..064355d --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/da/LC_MESSAGES/djangojs.po @@ -0,0 +1,329 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Christian Joergensen , 2012 +# Erik Ramsgaard Wognsen , 2021-2023 +# Erik Ramsgaard Wognsen , 2012,2015-2016,2020 +# Finn Gruwier Larsen, 2011 +# Jannis Leidel , 2011 +# Mathias Rav , 2017 +# valberg , 2014 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 15:04-0300\n" +"PO-Revision-Date: 2023-12-04 07:59+0000\n" +"Last-Translator: Erik Ramsgaard Wognsen , 2021-2023\n" +"Language-Team: Danish (http://app.transifex.com/django/django/language/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" + +#, javascript-format +msgid "Available %s" +msgstr "Tilgængelige %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Dette er listen over tilgængelige %s. Du kan vælge dem enkeltvis ved at " +"markere dem i kassen nedenfor og derefter klikke på \"Vælg\"-pilen mellem de " +"to kasser." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Skriv i dette felt for at filtrere listen af tilgængelige %s." + +msgid "Filter" +msgstr "Filtrér" + +msgid "Choose all" +msgstr "Vælg alle" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Klik for at vælge alle %s med det samme." + +msgid "Choose" +msgstr "Vælg" + +msgid "Remove" +msgstr "Fjern" + +#, javascript-format +msgid "Chosen %s" +msgstr "Valgte %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Dette er listen over valgte %s. Du kan fjerne dem enkeltvis ved at markere " +"dem i kassen nedenfor og derefter klikke på \"Fjern\"-pilen mellem de to " +"kasser." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "Skriv i dette felt for at filtrere listen af valgte %s." + +msgid "Remove all" +msgstr "Fjern alle" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Klik for at fjerne alle valgte %s med det samme." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%s valgt mulighed ikke vist" +msgstr[1] "%s valgte muligheder ikke vist" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s af %(cnt)s valgt" +msgstr[1] "%(sel)s af %(cnt)s valgt" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Du har ugemte ændringer af et eller flere redigerbare felter. Hvis du " +"udfører en handling fra drop-down-menuen, vil du miste disse ændringer." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Du har valgt en handling, men du har ikke gemt dine ændringer til et eller " +"flere felter. Klik venligst OK for at gemme og vælg dernæst handlingen igen." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Du har valgt en handling, og du har ikke udført nogen ændringer på felter. " +"Du søger formentlig Udfør-knappen i stedet for Gem-knappen." + +msgid "Now" +msgstr "Nu" + +msgid "Midnight" +msgstr "Midnat" + +msgid "6 a.m." +msgstr "Klokken 6" + +msgid "Noon" +msgstr "Middag" + +msgid "6 p.m." +msgstr "Klokken 18" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Obs: Du er %s time forud i forhold til servertiden." +msgstr[1] "Obs: Du er %s timer forud i forhold til servertiden." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Obs: Du er %s time bagud i forhold til servertiden." +msgstr[1] "Obs: Du er %s timer bagud i forhold til servertiden." + +msgid "Choose a Time" +msgstr "Vælg et Tidspunkt" + +msgid "Choose a time" +msgstr "Vælg et tidspunkt" + +msgid "Cancel" +msgstr "Annuller" + +msgid "Today" +msgstr "I dag" + +msgid "Choose a Date" +msgstr "Vælg en Dato" + +msgid "Yesterday" +msgstr "I går" + +msgid "Tomorrow" +msgstr "I morgen" + +msgid "January" +msgstr "Januar" + +msgid "February" +msgstr "Februar" + +msgid "March" +msgstr "Marts" + +msgid "April" +msgstr "April" + +msgid "May" +msgstr "Maj" + +msgid "June" +msgstr "Juni" + +msgid "July" +msgstr "Juli" + +msgid "August" +msgstr "August" + +msgid "September" +msgstr "September" + +msgid "October" +msgstr "Oktober" + +msgid "November" +msgstr "November" + +msgid "December" +msgstr "December" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "jan" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "feb" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "mar" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "apr" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "maj" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "jun" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "jul" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "aug" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "sep" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "okt" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "nov" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "dec" + +msgid "Sunday" +msgstr "søndag" + +msgid "Monday" +msgstr "mandag" + +msgid "Tuesday" +msgstr "tirsdag" + +msgid "Wednesday" +msgstr "onsdag" + +msgid "Thursday" +msgstr "torsdag" + +msgid "Friday" +msgstr "fredag" + +msgid "Saturday" +msgstr "lørdag" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "søn" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "man" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "tir" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "ons" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "tor" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "fre" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "lør" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "S" + +msgctxt "one letter Monday" +msgid "M" +msgstr "M" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "T" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "O" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "T" + +msgctxt "one letter Friday" +msgid "F" +msgstr "F" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "L" + +msgid "Show" +msgstr "Vis" + +msgid "Hide" +msgstr "Skjul" diff --git a/external_sources/django/django/contrib/admin/locale/de/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/de/LC_MESSAGES/django.po new file mode 100644 index 0000000..205d797 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/de/LC_MESSAGES/django.po @@ -0,0 +1,791 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# André Hagenbruch, 2012 +# Florian Apolloner , 2011 +# Dimitris Glezos , 2012 +# Florian Apolloner , 2020-2023 +# jnns, 2013 +# Jannis Leidel , 2013-2018,2020 +# jnns, 2016 +# Markus Holtermann , 2020,2023 +# Markus Holtermann , 2013,2015 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 11:41-0300\n" +"PO-Revision-Date: 2023-12-04 07:05+0000\n" +"Last-Translator: Markus Holtermann , 2020,2023\n" +"Language-Team: German (http://app.transifex.com/django/django/language/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Ausgewählte %(verbose_name_plural)s löschen" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Erfolgreich %(count)d %(items)s gelöscht." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Kann %(name)s nicht löschen" + +msgid "Are you sure?" +msgstr "Sind Sie sicher?" + +msgid "Administration" +msgstr "Administration" + +msgid "All" +msgstr "Alle" + +msgid "Yes" +msgstr "Ja" + +msgid "No" +msgstr "Nein" + +msgid "Unknown" +msgstr "Unbekannt" + +msgid "Any date" +msgstr "Alle Daten" + +msgid "Today" +msgstr "Heute" + +msgid "Past 7 days" +msgstr "Letzte 7 Tage" + +msgid "This month" +msgstr "Diesen Monat" + +msgid "This year" +msgstr "Dieses Jahr" + +msgid "No date" +msgstr "Kein Datum" + +msgid "Has date" +msgstr "Besitzt Datum" + +msgid "Empty" +msgstr "Leer" + +msgid "Not empty" +msgstr "Nicht leer" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Bitte %(username)s und Passwort für einen Staff-Account eingeben. Beide " +"Felder berücksichtigen die Groß-/Kleinschreibung." + +msgid "Action:" +msgstr "Aktion:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "%(verbose_name)s hinzufügen" + +msgid "Remove" +msgstr "Entfernen" + +msgid "Addition" +msgstr "Hinzugefügt" + +msgid "Change" +msgstr "Ändern" + +msgid "Deletion" +msgstr "Gelöscht" + +msgid "action time" +msgstr "Zeitpunkt der Aktion" + +msgid "user" +msgstr "Benutzer" + +msgid "content type" +msgstr "Inhaltstyp" + +msgid "object id" +msgstr "Objekt-ID" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "Objekt Darst." + +msgid "action flag" +msgstr "Aktionskennzeichen" + +msgid "change message" +msgstr "Änderungsmeldung" + +msgid "log entry" +msgstr "Logeintrag" + +msgid "log entries" +msgstr "Logeinträge" + +#, python-format +msgid "Added “%(object)s”." +msgstr "„%(object)s“ hinzufügt." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "„%(object)s“ geändert – %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "„%(object)s“ gelöscht." + +msgid "LogEntry Object" +msgstr "LogEntry Objekt" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "{name} „{object}“ hinzugefügt." + +msgid "Added." +msgstr "Hinzugefügt." + +msgid "and" +msgstr "und" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "{fields} für {name} „{object}“ geändert." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "{fields} geändert." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "{name} „{object}“ gelöscht." + +msgid "No fields changed." +msgstr "Keine Felder geändert." + +msgid "None" +msgstr "-" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Halten Sie die Strg-Taste (⌘ für Mac) während des Klickens gedrückt, um " +"mehrere Einträge auszuwählen." + +msgid "Select this object for an action - {}" +msgstr "Dieses Objekt für eine Aktion auswählen - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "{name} „{obj}“ wurde erfolgreich hinzugefügt." + +msgid "You may edit it again below." +msgstr "Es kann unten erneut geändert werden." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"{name} „{obj}“ wurde erfolgreich hinzugefügt und kann nun unten um ein " +"Weiteres ergänzt werden." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"{name} „{obj}“ wurde erfolgreich geändert und kann unten erneut geändert " +"werden." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "" +"{name} „{obj}“ wurde erfolgreich hinzugefügt und kann unten geändert werden." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"{name} „{obj}“ wurde erfolgreich geändert und kann nun unten erneut ergänzt " +"werden." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "{name} „{obj}“ wurde erfolgreich geändert." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Es müssen Objekte aus der Liste ausgewählt werden, um Aktionen " +"durchzuführen. Es wurden keine Objekte geändert." + +msgid "No action selected." +msgstr "Keine Aktion ausgewählt." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s „%(obj)s“ wurde erfolgreich gelöscht." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "%(name)s mit ID „%(key)s“ existiert nicht. Eventuell gelöscht?" + +#, python-format +msgid "Add %s" +msgstr "%s hinzufügen" + +#, python-format +msgid "Change %s" +msgstr "%s ändern" + +#, python-format +msgid "View %s" +msgstr "%s ansehen" + +msgid "Database error" +msgstr "Datenbankfehler" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s wurde erfolgreich geändert." +msgstr[1] "%(count)s %(name)s wurden erfolgreich geändert." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s ausgewählt" +msgstr[1] "Alle %(total_count)s ausgewählt" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 von %(cnt)s ausgewählt" + +#, python-format +msgid "Change history: %s" +msgstr "Änderungsgeschichte: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Das Löschen des %(class_name)s-Objekts „%(instance)s“ würde ein Löschen der " +"folgenden geschützten verwandten Objekte erfordern: %(related_objects)s" + +msgid "Django site admin" +msgstr "Django-Systemverwaltung" + +msgid "Django administration" +msgstr "Django-Verwaltung" + +msgid "Site administration" +msgstr "Website-Verwaltung" + +msgid "Log in" +msgstr "Anmelden" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s-Administration" + +msgid "Page not found" +msgstr "Seite nicht gefunden" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "" +"Es tut uns leid, aber die angeforderte Seite konnte nicht gefunden werden." + +msgid "Home" +msgstr "Start" + +msgid "Server error" +msgstr "Serverfehler" + +msgid "Server error (500)" +msgstr "Serverfehler (500)" + +msgid "Server Error (500)" +msgstr "Serverfehler (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Ein Fehler ist aufgetreten und wurde an die Administratoren per E-Mail " +"gemeldet. Danke für die Geduld, der Fehler sollte in Kürze behoben sein." + +msgid "Run the selected action" +msgstr "Ausgewählte Aktion ausführen" + +msgid "Go" +msgstr "Ausführen" + +msgid "Click here to select the objects across all pages" +msgstr "Hier klicken, um die Objekte aller Seiten auszuwählen" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Alle %(total_count)s %(module_name)s auswählen" + +msgid "Clear selection" +msgstr "Auswahl widerrufen" + +msgid "Breadcrumbs" +msgstr "„Brotkrümel“" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Modelle der %(name)s-Anwendung" + +msgid "Add" +msgstr "Hinzufügen" + +msgid "View" +msgstr "Ansehen" + +msgid "You don’t have permission to view or edit anything." +msgstr "" +"Das Benutzerkonto besitzt nicht die nötigen Rechte, um etwas anzusehen oder " +"zu ändern." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Bitte zuerst einen Benutzernamen und ein Passwort eingeben. Danach können " +"weitere Optionen für den Benutzer geändert werden." + +msgid "Enter a username and password." +msgstr "Bitte einen Benutzernamen und ein Passwort eingeben." + +msgid "Change password" +msgstr "Passwort ändern" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Bitte den unten aufgeführten Fehler korrigieren." +msgstr[1] "Bitte die unten aufgeführten Fehler korrigieren." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"Bitte geben Sie ein neues Passwort für den Benutzer %(username)s ein." + +msgid "Skip to main content" +msgstr "Zum Hauptinhalt springen" + +msgid "Welcome," +msgstr "Willkommen," + +msgid "View site" +msgstr "Website anzeigen" + +msgid "Documentation" +msgstr "Dokumentation" + +msgid "Log out" +msgstr "Abmelden" + +#, python-format +msgid "Add %(name)s" +msgstr "%(name)s hinzufügen" + +msgid "History" +msgstr "Geschichte" + +msgid "View on site" +msgstr "Auf der Website anzeigen" + +msgid "Filter" +msgstr "Filter" + +msgid "Hide counts" +msgstr "Anzahl verstecken" + +msgid "Show counts" +msgstr "Anzahl anzeigen" + +msgid "Clear all filters" +msgstr "Alle Filter zurücksetzen" + +msgid "Remove from sorting" +msgstr "Aus der Sortierung entfernen" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Sortierung: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Sortierung ein-/ausschalten" + +msgid "Toggle theme (current theme: auto)" +msgstr "Design wechseln (aktuelles Design: automatisch)" + +msgid "Toggle theme (current theme: light)" +msgstr "Design wechseln (aktuelles Design: hell)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Design wechseln (aktuelles Design: dunkel)" + +msgid "Delete" +msgstr "Löschen" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Das Löschen des %(object_name)s „%(escaped_object)s“ hätte das Löschen davon " +"abhängiger Daten zur Folge, aber Sie haben nicht die nötigen Rechte, um die " +"folgenden davon abhängigen Daten zu löschen:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Das Löschen von %(object_name)s „%(escaped_object)s“ würde ein Löschen der " +"folgenden geschützten verwandten Objekte erfordern:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Sind Sie sicher, dass Sie %(object_name)s „%(escaped_object)s“ löschen " +"wollen? Es werden zusätzlich die folgenden davon abhängigen Daten gelöscht:" + +msgid "Objects" +msgstr "Objekte" + +msgid "Yes, I’m sure" +msgstr "Ja, ich bin sicher" + +msgid "No, take me back" +msgstr "Nein, bitte abbrechen" + +msgid "Delete multiple objects" +msgstr "Mehrere Objekte löschen" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Das Löschen der ausgewählten %(objects_name)s würde im Löschen geschützter " +"verwandter Objekte resultieren, allerdings besitzt Ihr Benutzerkonto nicht " +"die nötigen Rechte, um diese zu löschen:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Das Löschen der ausgewählten %(objects_name)s würde ein Löschen der " +"folgenden geschützten verwandten Objekte erfordern:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Sind Sie sicher, dass Sie die ausgewählten %(objects_name)s löschen wollen? " +"Alle folgenden Objekte und ihre verwandten Objekte werden gelöscht:" + +msgid "Delete?" +msgstr "Löschen?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " Nach %(filter_title)s " + +msgid "Summary" +msgstr "Zusammenfassung" + +msgid "Recent actions" +msgstr "Neueste Aktionen" + +msgid "My actions" +msgstr "Meine Aktionen" + +msgid "None available" +msgstr "Keine vorhanden" + +msgid "Added:" +msgstr "Hinzugefügt:" + +msgid "Changed:" +msgstr "Geändert:" + +msgid "Deleted:" +msgstr "Gelöscht:" + +msgid "Unknown content" +msgstr "Unbekannter Inhalt" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Etwas stimmt nicht mit der Datenbankkonfiguration. Bitte sicherstellen, dass " +"die richtigen Datenbanktabellen angelegt wurden und die Datenbank vom " +"verwendeten Datenbankbenutzer auch lesbar ist." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Sie sind als %(username)s angemeldet, aber nicht autorisiert, auf diese " +"Seite zuzugreifen. Wollen Sie sich mit einem anderen Account anmelden?" + +msgid "Forgotten your password or username?" +msgstr "Benutzername oder Passwort vergessen?" + +msgid "Toggle navigation" +msgstr "Navigation ein-/ausblenden" + +msgid "Sidebar" +msgstr "Seitenleiste" + +msgid "Start typing to filter…" +msgstr "Eingabe beginnen um zu filtern…" + +msgid "Filter navigation items" +msgstr "Navigationselemente filtern" + +msgid "Date/time" +msgstr "Datum/Zeit" + +msgid "User" +msgstr "Benutzer" + +msgid "Action" +msgstr "Aktion" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "Eintrag" +msgstr[1] "Einträge" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Dieses Objekt hat keine Änderungsgeschichte. Es wurde möglicherweise nicht " +"über diese Verwaltungsseiten angelegt." + +msgid "Show all" +msgstr "Zeige alle" + +msgid "Save" +msgstr "Sichern" + +msgid "Popup closing…" +msgstr "Popup wird geschlossen..." + +msgid "Search" +msgstr "Suchen" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s Ergebnis" +msgstr[1] "%(counter)s Ergebnisse" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s gesamt" + +msgid "Save as new" +msgstr "Als neu sichern" + +msgid "Save and add another" +msgstr "Sichern und neu hinzufügen" + +msgid "Save and continue editing" +msgstr "Sichern und weiter bearbeiten" + +msgid "Save and view" +msgstr "Sichern und ansehen" + +msgid "Close" +msgstr "Schließen" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Ausgewählte %(model)s ändern" + +#, python-format +msgid "Add another %(model)s" +msgstr "%(model)s hinzufügen" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Ausgewählte %(model)s löschen" + +#, python-format +msgid "View selected %(model)s" +msgstr "Ausgewählte %(model)s ansehen" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "" +"Vielen Dank, dass Sie heute ein paar nette Minuten auf dieser Webseite " +"verbracht haben." + +msgid "Log in again" +msgstr "Erneut anmelden" + +msgid "Password change" +msgstr "Passwort ändern" + +msgid "Your password was changed." +msgstr "Ihr Passwort wurde geändert." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Aus Sicherheitsgründen bitte zuerst das alte Passwort und darunter dann " +"zweimal das neue Passwort eingeben, um sicherzustellen, dass es es korrekt " +"eingegeben wurde." + +msgid "Change my password" +msgstr "Mein Passwort ändern" + +msgid "Password reset" +msgstr "Passwort zurücksetzen" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Ihr Passwort wurde zurückgesetzt. Sie können sich nun anmelden." + +msgid "Password reset confirmation" +msgstr "Zurücksetzen des Passworts bestätigen" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Bitte geben Sie Ihr neues Passwort zweimal ein, damit wir überprüfen können, " +"ob es richtig eingetippt wurde." + +msgid "New password:" +msgstr "Neues Passwort:" + +msgid "Confirm password:" +msgstr "Passwort wiederholen:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Der Link zum Zurücksetzen Ihres Passworts ist ungültig, wahrscheinlich weil " +"er schon einmal benutzt wurde. Bitte setzen Sie Ihr Passwort erneut zurück." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Wir haben eine E-Mail zum Zurücksetzen des Passwortes an die angegebene E-" +"Mail-Adresse gesendet, sofern ein entsprechendes Konto existiert. Sie sollte " +"in Kürze ankommen." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Falls die E-Mail nicht angekommen sein sollte, bitte die E-Mail-Adresse auf " +"Richtigkeit und gegebenenfalls den Spam-Ordner überprüfen." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Diese E-Mail wurde aufgrund einer Anfrage zum Zurücksetzen des Passworts auf " +"der Website %(site_name)s versendet." + +msgid "Please go to the following page and choose a new password:" +msgstr "Bitte öffnen Sie folgende Seite, um Ihr neues Passwort einzugeben:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Der Benutzername, falls vergessen:" + +msgid "Thanks for using our site!" +msgstr "Vielen Dank, dass Sie unsere Website benutzen!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Das Team von %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Passwort vergessen? Einfach die E-Mail-Adresse unten eingeben und den " +"Anweisungen zum Zurücksetzen des Passworts in der E-Mail folgen." + +msgid "Email address:" +msgstr "E-Mail-Adresse:" + +msgid "Reset my password" +msgstr "Mein Passwort zurücksetzen" + +msgid "Select all objects on this page for an action" +msgstr "Alle Objekte auf dieser Seite für eine Aktion auswählen" + +msgid "All dates" +msgstr "Alle Daten" + +#, python-format +msgid "Select %s" +msgstr "%s auswählen" + +#, python-format +msgid "Select %s to change" +msgstr "%s zur Änderung auswählen" + +#, python-format +msgid "Select %s to view" +msgstr "%s zum Ansehen auswählen" + +msgid "Date:" +msgstr "Datum:" + +msgid "Time:" +msgstr "Zeit:" + +msgid "Lookup" +msgstr "Suchen" + +msgid "Currently:" +msgstr "Aktuell:" + +msgid "Change:" +msgstr "Ändern:" diff --git a/external_sources/django/django/contrib/admin/locale/de/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/de/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..2fe140f --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/de/LC_MESSAGES/djangojs.po @@ -0,0 +1,331 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# André Hagenbruch, 2011-2012 +# Florian Apolloner , 2020-2023 +# Jannis Leidel , 2011,2013-2016,2023 +# jnns, 2016 +# Markus Holtermann , 2020,2023 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 15:04-0300\n" +"PO-Revision-Date: 2023-12-04 07:59+0000\n" +"Last-Translator: Markus Holtermann , 2020,2023\n" +"Language-Team: German (http://app.transifex.com/django/django/language/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "Verfügbare %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Dies ist die Liste der verfügbaren %s. Einfach im unten stehenden Feld " +"markieren und mithilfe des „Auswählen“-Pfeils auswählen." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" +"Durch Eingabe in diesem Feld lässt sich die Liste der verfügbaren %s " +"eingrenzen." + +msgid "Filter" +msgstr "Filter" + +msgid "Choose all" +msgstr "Alle auswählen" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Klicken, um alle %s auf einmal auszuwählen." + +msgid "Choose" +msgstr "Auswählen" + +msgid "Remove" +msgstr "Entfernen" + +#, javascript-format +msgid "Chosen %s" +msgstr "Ausgewählte %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Dies ist die Liste der ausgewählten %s. Einfach im unten stehenden Feld " +"markieren und mithilfe des „Entfernen“-Pfeils wieder entfernen." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "" +"In diesem Feld tippen, um die Liste der ausgewählten %s einzuschränken." + +msgid "Remove all" +msgstr "Alle entfernen" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Klicken, um alle ausgewählten %s auf einmal zu entfernen." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%s ausgewählte Option nicht sichtbar" +msgstr[1] "%s ausgewählte Optionen nicht sichtbar" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s von %(cnt)s ausgewählt" +msgstr[1] "%(sel)s von %(cnt)s ausgewählt" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Sie haben Änderungen an bearbeitbaren Feldern vorgenommen und nicht " +"gespeichert. Wollen Sie die Aktion trotzdem ausführen und Ihre Änderungen " +"verwerfen?" + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Sie haben eine Aktion ausgewählt, aber Ihre vorgenommenen Änderungen nicht " +"gespeichert. Klicken Sie OK, um dennoch zu speichern. Danach müssen Sie die " +"Aktion erneut ausführen." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Sie haben eine Aktion ausgewählt, aber keine Änderungen an bearbeitbaren " +"Feldern vorgenommen. Sie wollten wahrscheinlich auf „Ausführen“ und nicht " +"auf „Speichern“ klicken." + +msgid "Now" +msgstr "Jetzt" + +msgid "Midnight" +msgstr "Mitternacht" + +msgid "6 a.m." +msgstr "6 Uhr" + +msgid "Noon" +msgstr "Mittag" + +msgid "6 p.m." +msgstr "18 Uhr" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Achtung: Sie sind %s Stunde der Serverzeit vorraus." +msgstr[1] "Achtung: Sie sind %s Stunden der Serverzeit vorraus." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Achtung: Sie sind %s Stunde hinter der Serverzeit." +msgstr[1] "Achtung: Sie sind %s Stunden hinter der Serverzeit." + +msgid "Choose a Time" +msgstr "Uhrzeit wählen" + +msgid "Choose a time" +msgstr "Uhrzeit" + +msgid "Cancel" +msgstr "Abbrechen" + +msgid "Today" +msgstr "Heute" + +msgid "Choose a Date" +msgstr "Datum wählen" + +msgid "Yesterday" +msgstr "Gestern" + +msgid "Tomorrow" +msgstr "Morgen" + +msgid "January" +msgstr "Januar" + +msgid "February" +msgstr "Februar" + +msgid "March" +msgstr "März" + +msgid "April" +msgstr "April" + +msgid "May" +msgstr "Mai" + +msgid "June" +msgstr "Juni" + +msgid "July" +msgstr "Juli" + +msgid "August" +msgstr "August" + +msgid "September" +msgstr "September" + +msgid "October" +msgstr "Oktober" + +msgid "November" +msgstr "November" + +msgid "December" +msgstr "Dezember" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Jan" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Feb" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Mrz" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Apr" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "Mai" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Jun" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Jul" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Aug" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Sep" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Okt" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Nov" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Dez" + +msgid "Sunday" +msgstr "Sonntag" + +msgid "Monday" +msgstr "Montag" + +msgid "Tuesday" +msgstr "Dienstag" + +msgid "Wednesday" +msgstr "Mittwoch" + +msgid "Thursday" +msgstr "Donnerstag" + +msgid "Friday" +msgstr "Freitag" + +msgid "Saturday" +msgstr "Samstag" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "So" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "Mo" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "Di" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "Mi" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "Do" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "Fr" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "Sa" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "So" + +msgctxt "one letter Monday" +msgid "M" +msgstr "Mo" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "Di" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "Mi" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "Do" + +msgctxt "one letter Friday" +msgid "F" +msgstr "Fr" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "Sa" + +msgid "Show" +msgstr "Einblenden" + +msgid "Hide" +msgstr "Ausblenden" diff --git a/external_sources/django/django/contrib/admin/locale/dsb/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/dsb/LC_MESSAGES/django.po new file mode 100644 index 0000000..31cbbba --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/dsb/LC_MESSAGES/django.po @@ -0,0 +1,792 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Michael Wolf , 2016-2024 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-10-07 07:05+0000\n" +"Last-Translator: Michael Wolf , 2016-2024\n" +"Language-Team: Lower Sorbian (http://app.transifex.com/django/django/" +"language/dsb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: dsb\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " +"n%100==4 ? 2 : 3);\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Wubrane %(verbose_name_plural)s lašowaś" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d %(items)s su se wulašowali." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "%(name)s njedajo se lašowaś" + +msgid "Are you sure?" +msgstr "Sćo se wěsty?" + +msgid "Administration" +msgstr "Administracija" + +msgid "All" +msgstr "Wšykne" + +msgid "Yes" +msgstr "Jo" + +msgid "No" +msgstr "Ně" + +msgid "Unknown" +msgstr "Njeznaty" + +msgid "Any date" +msgstr "Někaki datum" + +msgid "Today" +msgstr "Źinsa" + +msgid "Past 7 days" +msgstr "Zachadne 7 dnjow" + +msgid "This month" +msgstr "Toś ten mjasec" + +msgid "This year" +msgstr "W tom lěśe" + +msgid "No date" +msgstr "Žeden datum" + +msgid "Has date" +msgstr "Ma datum" + +msgid "Empty" +msgstr "Prozny" + +msgid "Not empty" +msgstr "Njeprozny" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Pšosym zapódajśo korektne %(username)s a gronidło za personalne konto. " +"Źiwajśo na to, až wobej póli móžotej mjazy wjeliko- a małopisanim rozeznawaś." + +msgid "Action:" +msgstr "Akcija:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Dalšne %(verbose_name)s pśidaś" + +msgid "Remove" +msgstr "Wótpóraś" + +msgid "Addition" +msgstr "Pśidanje" + +msgid "Change" +msgstr "Změniś" + +msgid "Deletion" +msgstr "Wulašowanje" + +msgid "action time" +msgstr "akciski cas" + +msgid "user" +msgstr "wužywaŕ" + +msgid "content type" +msgstr "wopśimjeśowy typ" + +msgid "object id" +msgstr "objektowy id" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "objektowa reprezentacija" + +msgid "action flag" +msgstr "akciske markěrowanje" + +msgid "change message" +msgstr "změnowa powěźeńka" + +msgid "log entry" +msgstr "protokolowy zapisk" + +msgid "log entries" +msgstr "protokolowe zapiski" + +#, python-format +msgid "Added “%(object)s”." +msgstr "„%(object)s“ pśidane." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "„%(object)s“ změnjone - %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "„%(object)s“ wulašowane." + +msgid "LogEntry Object" +msgstr "Objekt LogEntry" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "{name} „{object}“ pśidany." + +msgid "Added." +msgstr "Pśidany." + +msgid "and" +msgstr "a" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "{fields} za {name} „{object}“ změnjone." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "{fields} změnjone." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Deleted {name} „{object}“ wulašowane." + +msgid "No fields changed." +msgstr "Žedne póla změnjone." + +msgid "None" +msgstr "Žeden" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "´Źaržćo „ctrl“ abo „cmd“ na Mac tłocony, aby wusej jadnogo wubrał." + +msgid "Select this object for an action - {}" +msgstr "Wubjeŕśo toś ten objekt za akciju – {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "{name} „{obj}“ jo se wuspěšnje pśidał." + +msgid "You may edit it again below." +msgstr "Móźośo dołojce znowego wobźěłaś." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"{name} „{obj}“ jo se wuspěšnje pśidał. Móžośo dołojce dalšne {name} pśidaś." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"{name} „{obj}“ jo se wuspěšnje změnił. Móžośo jen dołojce znowego wobźěłowaś." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"{name} „{obj}“ jo se wuspěšnje změnił. Móžośo dołojce dalšne {name} pśidaś." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "{name} „{obj}“ jo se wuspěšnje změnił." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Zapiski muse se wubraś, aby akcije na nje nałožowało. Zapiski njejsu se " +"změnili." + +msgid "No action selected." +msgstr "Žedna akcija wubrana." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s „%(obj)s“ jo se wuspěšnje wulašował." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "%(name)s z ID „%(key)s“ njeeksistěrujo. Jo se snaź wulašowało?" + +#, python-format +msgid "Add %s" +msgstr "%s pśidaś" + +#, python-format +msgid "Change %s" +msgstr "%s změniś" + +#, python-format +msgid "View %s" +msgstr "%s pokazaś" + +msgid "Database error" +msgstr "Zmólka datoweje banki" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s jo se wuspěšnje změnił." +msgstr[1] "%(count)s %(name)s stej se wuspěšnje změniłej." +msgstr[2] "%(count)s %(name)s su se wuspěšnje změnili." +msgstr[3] "%(count)s %(name)s jo se wuspěšnje změniło." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s wubrany" +msgstr[1] "Wšykne %(total_count)s wubranej" +msgstr[2] "Wšykne %(total_count)s wubrane" +msgstr[3] "Wšykne %(total_count)s wubranych" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 z %(cnt)s wubranych" + +#, python-format +msgid "Change history: %s" +msgstr "Změnowa historija: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Aby se %(class_name)s %(instance)s lašowało, muse se slědujuce šćitane " +"objekty lašowaś: %(related_objects)s" + +msgid "Django site admin" +msgstr "Administrator sedła Django" + +msgid "Django administration" +msgstr "Administracija Django" + +msgid "Site administration" +msgstr "Sedłowa administracija" + +msgid "Log in" +msgstr "Pśizjawiś" + +#, python-format +msgid "%(app)s administration" +msgstr "Administracija %(app)s" + +msgid "Page not found" +msgstr "Bok njejo se namakał" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Jo nam luto, ale pominany bok njedajo se namakaś." + +msgid "Home" +msgstr "Startowy bok" + +msgid "Server error" +msgstr "Serwerowa zmólka" + +msgid "Server error (500)" +msgstr "Serwerowa zmólka (500)" + +msgid "Server Error (500)" +msgstr "Serwerowa zmólka (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Zmólka jo nastała. Jo se sedłowym administratoram pśez e-mail k wěsći dała a " +"by dejała se skóro wótpóraś. Źěkujom se za wašu sćerpmosć." + +msgid "Run the selected action" +msgstr "Wubranu akciju wuwjasć" + +msgid "Go" +msgstr "Start" + +msgid "Click here to select the objects across all pages" +msgstr "Klikniśo how, aby objekty wšych bokow wubrał" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Wubjeŕśo wšykne %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Wuběrk lašowaś" + +msgid "Breadcrumbs" +msgstr "Klěbowe srjodki" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Modele w nałoženju %(name)s" + +msgid "Add" +msgstr "Pśidaś" + +msgid "View" +msgstr "Pokazaś" + +msgid "You don’t have permission to view or edit anything." +msgstr "Njamaśo pšawo něco pokazaś abo wobźěłaś" + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Zapódajśo nejpjerwjej wužywarske mě a gronidło. Pótom móžośo dalšne " +"wužywarske nastajenja wobźěłowaś." + +msgid "Enter a username and password." +msgstr "Zapódajśo wužywarske mě a gronidło." + +msgid "Change password" +msgstr "Gronidło změniś" + +msgid "Set password" +msgstr "Gronidło póstajiś" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Pšosym korigěrujśo slědujucu zmólku." +msgstr[1] "Pšosym korigěrujśo slědujucej zmólce." +msgstr[2] "Pšosym korigěrujśo slědujuce zmólki." +msgstr[3] "Pšosym korigěrujśo slědujuce zmólki." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Zapódajśo nowe gronidło za wužywarja %(username)s." + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "" +"Toś ta akcija awtentifikaciju na zakłaźe gronidła za toś togo wužywarja " +" zmóžnijo ." + +msgid "Disable password-based authentication" +msgstr "Awtentifikaciju na zakłaźe gronidła znjemóžniś" + +msgid "Enable password-based authentication" +msgstr "Awtentifikaciju na zakłaźe gronidła zmóžniś" + +msgid "Skip to main content" +msgstr "Dalej ku głownemu wopśimjeśeju" + +msgid "Welcome," +msgstr "Witajśo," + +msgid "View site" +msgstr "Sedło pokazaś" + +msgid "Documentation" +msgstr "Dokumentacija" + +msgid "Log out" +msgstr "Wótzjawiś" + +#, python-format +msgid "Add %(name)s" +msgstr "%(name)s pśidaś" + +msgid "History" +msgstr "Historija" + +msgid "View on site" +msgstr "Na sedle pokazaś" + +msgid "Filter" +msgstr "Filtrowaś" + +msgid "Hide counts" +msgstr "Licby schowaś" + +msgid "Show counts" +msgstr "Licby pokazaś" + +msgid "Clear all filters" +msgstr "Wšykne filtry lašowaś" + +msgid "Remove from sorting" +msgstr "Ze sortěrowanja wótpóraś" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Sortěrowański rěd: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Sortěrowanje pśešaltowaś" + +msgid "Toggle theme (current theme: auto)" +msgstr "Drastwu změniś (auto)" + +msgid "Toggle theme (current theme: light)" +msgstr "Drastwu změniś (swětły)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Drastwu změniś (śamny)" + +msgid "Delete" +msgstr "Lašowaś" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Gaž se %(object_name)s '%(escaped_object)s' lašujo, se pśisłušne objekty " +"wulašuju, ale wašo konto njama pšawo slědujuce typy objektow lašowaś: " + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Aby se %(object_name)s '%(escaped_object)s' lašujo, muse se slědujuce " +"šćitane pśisłušne objekty lašowaś:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Cośo napšawdu %(object_name)s „%(escaped_object)s“ lašowaś? Wšykne slědujuce " +"pśisłušne zapiski se wulašuju: " + +msgid "Objects" +msgstr "Objekty" + +msgid "Yes, I’m sure" +msgstr "Jo, som se wěsty" + +msgid "No, take me back" +msgstr "Ně, pšosym slědk" + +msgid "Delete multiple objects" +msgstr "Někotare objekty lašowaś" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Gaž lašujośo wubrany %(objects_name)s, se pśisłušne objekty wulašuju, ale " +"wašo konto njama pšawo slědujuce typy objektow lašowaś: " + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Aby wubrany %(objects_name)s lašowało, muse se slědujuce šćitane pśisłušne " +"objekty lašowaś:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Cośo napšawdu wubrany %(objects_name)s lašowaś? Wšykne slědujuce objekty a " +"jich pśisłušne zapiski se wulašuju:" + +msgid "Delete?" +msgstr "Lašowaś?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " Pó %(filter_title)s " + +msgid "Summary" +msgstr "Zespominanje" + +msgid "Recent actions" +msgstr "Nejnowše akcije" + +msgid "My actions" +msgstr "Móje akcije" + +msgid "None available" +msgstr "Žeden k dispoziciji" + +msgid "Added:" +msgstr "Pśidany:" + +msgid "Changed:" +msgstr "Změnjony:" + +msgid "Deleted:" +msgstr "Wulašowany:" + +msgid "Unknown content" +msgstr "Njeznate wopśimjeśe" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Něco jo z wašeju instalaciju datoweje banki kśiwje šło. Pśeznańśo se, až " +"wótpowědne tabele datoweje banki su se napórali a pótom, až datowa banka " +"dajo se wót wótpówědnego wužywarja cytaś." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Sćo ako %(username)s awtentificěrowany, ale njamaśo pśistup na toś ten bok. " +"Cośo se pla drugego konta pśizjawiś?" + +msgid "Forgotten your password or username?" +msgstr "Sćo swójo gronidło abo wužywarske mě zabył?" + +msgid "Toggle navigation" +msgstr "Nawigaciju pśešaltowaś" + +msgid "Sidebar" +msgstr "Bocnica" + +msgid "Start typing to filter…" +msgstr "Pišćo, aby filtrował …" + +msgid "Filter navigation items" +msgstr "Nawigaciske zapiski filtrowaś" + +msgid "Date/time" +msgstr "Datum/cas" + +msgid "User" +msgstr "Wužywaŕ" + +msgid "Action" +msgstr "Akcija" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "zapisk" +msgstr[1] "zapiska" +msgstr[2] "zapiski" +msgstr[3] "zapiskow" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Toś ten objekt njama změnowu historiju. Jo se nejskerjej pśez toś to " +"administratorowe sedło pśidał." + +msgid "Show all" +msgstr "Wšykne pokazaś" + +msgid "Save" +msgstr "Składowaś" + +msgid "Popup closing…" +msgstr "Wuskokujuce wokno se zacynja…" + +msgid "Search" +msgstr "Pytaś" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s wuslědk" +msgstr[1] "%(counter)s wuslědka" +msgstr[2] "%(counter)s wuslědki" +msgstr[3] "%(counter)s wuslědkow" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s dogromady" + +msgid "Save as new" +msgstr "Ako nowy składowaś" + +msgid "Save and add another" +msgstr "Składowaś a dalšny pśidaś" + +msgid "Save and continue editing" +msgstr "Składowaś a dalej wobźěłowaś" + +msgid "Save and view" +msgstr "Składowaś a pokazaś" + +msgid "Close" +msgstr "Zacyniś" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Wubrane %(model)s změniś" + +#, python-format +msgid "Add another %(model)s" +msgstr "Dalšny %(model)s pśidaś" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Wubrane %(model)s lašowaś" + +#, python-format +msgid "View selected %(model)s" +msgstr "Wubrany %(model)s pokazaś" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "" +"Wjeliki źěk, až sćo sebje brał źinsa cas za pśeglědowanje kwality websedła." + +msgid "Log in again" +msgstr "Hyšći raz pśizjawiś" + +msgid "Password change" +msgstr "Gronidło změniś" + +msgid "Your password was changed." +msgstr "Wašo gronidło jo se změniło." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Pšosym zapódajśo k swójej wěstośe swójo stare gronidło a pótom swójo nowe " +"gronidło dwójcy, aby my mógli pśeglědowaś, lěc sćo jo korektnje zapisał." + +msgid "Change my password" +msgstr "Mójo gronidło změniś" + +msgid "Password reset" +msgstr "Gronidło jo se slědk stajiło" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Wašo gronidło jo se póstajiło. Móžośo pókšacowaś a se něnto pśizjawiś." + +msgid "Password reset confirmation" +msgstr "Wobkšuśenje slědkstajenja gronidła" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Pšosym zapódajśo swójo nowe gronidło dwójcy, aby my mógli pśeglědowaś, lěc " +"sći jo korektnje zapisał." + +msgid "New password:" +msgstr "Nowe gronidło:" + +msgid "Confirm password:" +msgstr "Gronidło wobkšuśiś:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Wótkaz za slědkstajenje gronidła jo njepłaśiwy był, snaź dokulaž jo se južo " +"wužył. Pšosym pšosćo wó nowe slědkstajenje gronidła." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Smy wam instrukcije za nastajenje wašogo gronidła pśez e-mail pósłali, jolic " +"konto ze zapódaneju e-mailoweju adresu eksistěrujo. Wy by dejał ju skóro " +"dostaś." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Jolic mejlku njedostawaśo, pśeznańśo se, až sćo adresu zapódał, z kótarejuž " +"sćo zregistrěrował, a pśeglědajśo swój spamowy zarědnik." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Dostawaśo toś tu mejlku, dokulaž sćo za swójo wužywarske konto na " +"%(site_name)s wó slědkstajenje gronidła pšosył." + +msgid "Please go to the following page and choose a new password:" +msgstr "Pšosym źiśo k slědujucemu bokoju a wubjeŕśo nowe gronidło:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Wašo wužywarske mě, jolic sćo jo zabył:" + +msgid "Thanks for using our site!" +msgstr "Wjeliki źěk za wužywanje našogo sedła!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Team %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Sćo swójo gronidło zabył? Zapódajśo dołojce swóju e-mailowu adresu a " +"pósćelomy wam instrukcije za nastajenje nowego gronidła pśez e-mail." + +msgid "Email address:" +msgstr "E-mailowa adresa:" + +msgid "Reset my password" +msgstr "Mójo gronidło slědk stajiś" + +msgid "Select all objects on this page for an action" +msgstr "Wubjeŕśo wšykne objekty na toś tom boku za akciju" + +msgid "All dates" +msgstr "Wšykne daty" + +#, python-format +msgid "Select %s" +msgstr "%s wubraś" + +#, python-format +msgid "Select %s to change" +msgstr "%s wubraś, aby se změniło" + +#, python-format +msgid "Select %s to view" +msgstr "%s wubraś, kótaryž ma se pokazaś" + +msgid "Date:" +msgstr "Datum:" + +msgid "Time:" +msgstr "Cas:" + +msgid "Lookup" +msgstr "Pytanje" + +msgid "Currently:" +msgstr "Tuchylu:" + +msgid "Change:" +msgstr "Změniś:" diff --git a/external_sources/django/django/contrib/admin/locale/dsb/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/dsb/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..3d4a444 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/dsb/LC_MESSAGES/djangojs.po @@ -0,0 +1,335 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Michael Wolf , 2016,2020-2023 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 15:04-0300\n" +"PO-Revision-Date: 2023-12-04 07:59+0000\n" +"Last-Translator: Michael Wolf , 2016,2020-2023\n" +"Language-Team: Lower Sorbian (http://app.transifex.com/django/django/" +"language/dsb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: dsb\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " +"n%100==4 ? 2 : 3);\n" + +#, javascript-format +msgid "Available %s" +msgstr "K dispoziciji stojece %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"To jo lisćina k dispoziciji stojecych %s. Klikniśo na šypku „Wubraś“ mjazy " +"kašćikoma, aby někotare z nich w slědujucem kašćiku wubrał. " + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" +"Zapišćo do toś togo póla, aby zapiski z lisćiny k dispoziciji stojecych %s " +"wufiltrował. " + +msgid "Filter" +msgstr "Filtrowaś" + +msgid "Choose all" +msgstr "Wšykne wubraś" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Klikniśo, aby wšykne %s naraz wubrał." + +msgid "Choose" +msgstr "Wubraś" + +msgid "Remove" +msgstr "Wótpóraś" + +#, javascript-format +msgid "Chosen %s" +msgstr "Wubrane %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"To jo lisćina wubranych %s. Klikniśo na šypku „Wótpóraś“ mjazy kašćikoma, " +"aby někotare z nich w slědujucem kašćiku wótpórał." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "" +"Zapišćo do toś togo póla, aby zapiski z lisćiny wubranych %s wufiltrował. " + +msgid "Remove all" +msgstr "Wšykne wótpóraś" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Klikniśo, aby wšykne wubrane %s naraz wótpórał." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%s wubrane nastajenje njewidobne" +msgstr[1] "%s wubranej nastajeni njewidobnej" +msgstr[2] "%s wubrane nastajenja njewidobne" +msgstr[3] "%s wubranych nastajenjow njewidobne" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s z %(cnt)s wubrany" +msgstr[1] "%(sel)s z %(cnt)s wubranej" +msgstr[2] "%(sel)s z %(cnt)s wubrane" +msgstr[3] "%(sel)s z %(cnt)s wubranych" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Maśo njeskładowane změny za jadnotliwe wobźěłujobne póla. Jolic akciju " +"wuwjeźośo, se waše njeskładowane změny zgubiju." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Sćo akciju wubrał, ale njejsćo hyšći swóje změny za jadnotliwe póla " +"składował, Pšosym klikniśo na W pórěźe, aby składował. Musyśo akciju znowego " +"wuwjasć." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Sćo akciju wubrał, ale njejsćo jadnotliwe póla změnił. Nejskerjej pytaśo " +"skerjej za tłocaškom Start ako za tłocaškom Składowaś." + +msgid "Now" +msgstr "Něnto" + +msgid "Midnight" +msgstr "Połnoc" + +msgid "6 a.m." +msgstr "6:00 góź. dopołdnja" + +msgid "Noon" +msgstr "Połdnjo" + +msgid "6 p.m." +msgstr "6:00 wótpołdnja" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Glědajśo: Waš cas jo wó %s góźinu pśéd serwerowym casom." +msgstr[1] "Glědajśo: Waš cas jo wó %s góźinje pśéd serwerowym casom." +msgstr[2] "Glědajśo: Waš cas jo wó %s góźiny pśéd serwerowym casom." +msgstr[3] "Glědajśo: Waš cas jo wó %s góźin pśéd serwerowym casom." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Glědajśo: Waš cas jo wó %s góźinu za serwerowym casom." +msgstr[1] "Glědajśo: Waš cas jo wó %s góźinje za serwerowym casom." +msgstr[2] "Glědajśo: Waš cas jo wó %s góźiny za serwerowym casom." +msgstr[3] "Glědajśo: Waš cas jo wó %s góźin za serwerowym casom." + +msgid "Choose a Time" +msgstr "Wubjeŕśo cas" + +msgid "Choose a time" +msgstr "Wubjeŕśo cas" + +msgid "Cancel" +msgstr "Pśetergnuś" + +msgid "Today" +msgstr "Źinsa" + +msgid "Choose a Date" +msgstr "Wubjeŕśo datum" + +msgid "Yesterday" +msgstr "Cora" + +msgid "Tomorrow" +msgstr "Witśe" + +msgid "January" +msgstr "Januar" + +msgid "February" +msgstr "Februar" + +msgid "March" +msgstr "Měrc" + +msgid "April" +msgstr "Apryl" + +msgid "May" +msgstr "Maj" + +msgid "June" +msgstr "Junij" + +msgid "July" +msgstr "Julij" + +msgid "August" +msgstr "Awgust" + +msgid "September" +msgstr "September" + +msgid "October" +msgstr "Oktober" + +msgid "November" +msgstr "Nowember" + +msgid "December" +msgstr "December" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Jan." + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Feb." + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Měr." + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Apr." + +msgctxt "abbrev. month May" +msgid "May" +msgstr "Maj" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Jun." + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Jul." + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Awg." + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Sep." + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Okt." + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Now." + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Dec." + +msgid "Sunday" +msgstr "Njeźela" + +msgid "Monday" +msgstr "Pónjeźele" + +msgid "Tuesday" +msgstr "Wałtora" + +msgid "Wednesday" +msgstr "Srjoda" + +msgid "Thursday" +msgstr "Stwórtk" + +msgid "Friday" +msgstr "Pětk" + +msgid "Saturday" +msgstr "Sobota" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "Nje" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "Pón" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "Wał" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "Srj" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "Stw" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "Pět" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "Sob" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "Nj" + +msgctxt "one letter Monday" +msgid "M" +msgstr "Pó" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "Wa" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "Sr" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "St" + +msgctxt "one letter Friday" +msgid "F" +msgstr "Pě" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "So" + +msgid "Show" +msgstr "Pokazaś" + +msgid "Hide" +msgstr "Schowaś" diff --git a/external_sources/django/django/contrib/admin/locale/el/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/el/LC_MESSAGES/django.po new file mode 100644 index 0000000..ec1dc94 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/el/LC_MESSAGES/django.po @@ -0,0 +1,737 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Antonis Christofides , 2021 +# Dimitris Glezos , 2011 +# Giannis Meletakis , 2015 +# Jannis Leidel , 2011 +# Nick Mavrakis , 2016-2018,2021 +# Nick Mavrakis , 2016 +# Pãnoș , 2014 +# Pãnoș , 2014,2016,2019-2020 +# Yorgos Pagles , 2011-2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-15 09:00+0100\n" +"PO-Revision-Date: 2021-03-30 03:21+0000\n" +"Last-Translator: Antonis Christofides \n" +"Language-Team: Greek (http://www.transifex.com/django/django/language/el/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: el\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "%(verbose_name_plural)s: Διαγραφή επιλεγμένων" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Επιτυχώς διεγράφησαν %(count)d %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Αδύνατη η διαγραφή του %(name)s" + +msgid "Are you sure?" +msgstr "Είστε σίγουρος;" + +msgid "Administration" +msgstr "Διαχείριση" + +msgid "All" +msgstr "Όλα" + +msgid "Yes" +msgstr "Ναι" + +msgid "No" +msgstr "Όχι" + +msgid "Unknown" +msgstr "Άγνωστο" + +msgid "Any date" +msgstr "Οποιαδήποτε ημερομηνία" + +msgid "Today" +msgstr "Σήμερα" + +msgid "Past 7 days" +msgstr "Τελευταίες 7 ημέρες" + +msgid "This month" +msgstr "Αυτό το μήνα" + +msgid "This year" +msgstr "Αυτό το χρόνο" + +msgid "No date" +msgstr "Καθόλου ημερομηνία" + +msgid "Has date" +msgstr "Έχει ημερομηνία" + +msgid "Empty" +msgstr "Χωρίς τιμή" + +msgid "Not empty" +msgstr "Με τιμή" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Παρακαλώ δώστε το σωστό %(username)s και συνθηματικό για λογαριασμό " +"προσωπικού. Και στα δύο πεδία μπορεί να έχει σημασία η διάκριση κεφαλαίων/" +"μικρών." + +msgid "Action:" +msgstr "Ενέργεια:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Να προστεθεί %(verbose_name)s" + +msgid "Remove" +msgstr "Αφαίρεση" + +msgid "Addition" +msgstr "Προσθήκη" + +msgid "Change" +msgstr "Αλλαγή" + +msgid "Deletion" +msgstr "Διαγραφή" + +msgid "action time" +msgstr "ώρα ενέργειας" + +msgid "user" +msgstr "χρήστης" + +msgid "content type" +msgstr "τύπος περιεχομένου" + +msgid "object id" +msgstr "ταυτότητα αντικειμένου" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "αναπαράσταση αντικειμένου" + +msgid "action flag" +msgstr "σημαία ενέργειας" + +msgid "change message" +msgstr "μήνυμα τροποποίησης" + +msgid "log entry" +msgstr "καταχώριση αρχείου καταγραφής" + +msgid "log entries" +msgstr "καταχωρίσεις αρχείου καταγραφής" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Προστέθηκε «%(object)s»." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Τροποποιήθηκε «%(object)s» — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Διαγράφηκε «%(object)s»." + +msgid "LogEntry Object" +msgstr "Αντικείμενο LogEntry" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Προστέθηκε {name} “{object}”." + +msgid "Added." +msgstr "Προστέθηκε." + +msgid "and" +msgstr "και" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "{name} «{object}»: Αλλαγή {fields}." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Αλλαγή {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Διεγράφη {name} «{object}»." + +msgid "No fields changed." +msgstr "Δεν άλλαξε κανένα πεδίο." + +msgid "None" +msgstr "Κανένα" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Κρατήστε πατημένο το «Control» («Command» σε Mac) για να επιλέξετε " +"περισσότερα από ένα αντικείμενα." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "Προστέθηκε {name} «{obj}»." + +msgid "You may edit it again below." +msgstr "Μπορεί να πραγματοποιηθεί περαιτέρω επεξεργασία παρακάτω." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"Προστέθηκε {name} «{obj}». Μπορεί να πραγματοποιηθεί νέα πρόσθεση παρακάτω." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"Το αντικείμενο ({name}) «{obj}» τροποποιήθηκε. Μπορεί να πραγματοποιηθεί " +"περαιτέρω επεξεργασία παρακάτω." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "" +"Προστέθηκε {name} «{obj}». Μπορεί να πραγματοποιηθεί περαιτέρω επεξεργασία " +"παρακάτω." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"Το αντικείμενο ({name}) «{obj}» τροποποιήθηκε. Μπορεί να προστεθεί επιπλέον " +"{name} παρακάτω." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "Το αντικείμενο ({name}) «{obj}» τροποποιήθηκε." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Καμία αλλαγή δεν πραγματοποιήθηκε γιατί δεν έχετε επιλέξει αντικείμενο. " +"Επιλέξτε ένα ή περισσότερα αντικείμενα για να πραγματοποιήσετε ενέργειες σ' " +"αυτά." + +msgid "No action selected." +msgstr "Δεν έχει επιλεγεί ενέργεια." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "Διεγράφη το αντικείμενο (%(name)s) «%(obj)s»" + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "Δεν υπάρχει %(name)s με ID «%(key)s». Ίσως να έχει διαγραφεί." + +#, python-format +msgid "Add %s" +msgstr "Να προστεθεί %s" + +#, python-format +msgid "Change %s" +msgstr "%s: Τροποποίηση" + +#, python-format +msgid "View %s" +msgstr "%s: Προβολή" + +msgid "Database error" +msgstr "Σφάλμα στη βάση δεδομένων" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s άλλαξε επιτυχώς." +msgstr[1] "%(count)s %(name)s άλλαξαν επιτυχώς." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "Επιλέχθηκε %(total_count)s" +msgstr[1] "Επιλέχθηκαν και τα %(total_count)s" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "Επιλέχθηκαν 0 από %(cnt)s" + +#, python-format +msgid "Change history: %s" +msgstr "Ιστορικό αλλαγών: %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Η διαγραφή του αντικειμένου (%(class_name)s) %(instance)s θα απαιτούσε τη " +"διαγραφή των παρακάτω προστατευόμενων συσχετισμένων αντικειμένων: " +"%(related_objects)s" + +msgid "Django site admin" +msgstr "Ιστότοπος διαχείρισης Django" + +msgid "Django administration" +msgstr "Διαχείριση Django" + +msgid "Site administration" +msgstr "Διαχείριση του ιστότοπου" + +msgid "Log in" +msgstr "Σύνδεση" + +#, python-format +msgid "%(app)s administration" +msgstr "Διαχείριση %(app)s" + +msgid "Page not found" +msgstr "Η σελίδα δεν βρέθηκε" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Λυπούμαστε, αλλά η σελίδα που ζητήθηκε δεν βρέθηκε." + +msgid "Home" +msgstr "Αρχική" + +msgid "Server error" +msgstr "Σφάλμα στο server" + +msgid "Server error (500)" +msgstr "Σφάλμα στο server (500)" + +msgid "Server Error (500)" +msgstr "Σφάλμα στο server (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Παρουσιάστηκε σφάλμα. Εστάλη στους διαχειριστές με email και πιθανότατα θα " +"διορθωθεί σύντομα. Ευχαριστούμε για την υπομονή σας." + +msgid "Run the selected action" +msgstr "Εκτέλεση της επιλεγμένης ενέργειας" + +msgid "Go" +msgstr "Μετάβαση" + +msgid "Click here to select the objects across all pages" +msgstr "Κάντε κλικ εδώ για να επιλέξετε τα αντικείμενα σε όλες τις σελίδες" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Επιλέξτε και τα %(total_count)s αντικείμενα (%(module_name)s)" + +msgid "Clear selection" +msgstr "Καθαρισμός επιλογής" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Μοντέλα στην εφαρμογή %(name)s" + +msgid "Add" +msgstr "Προσθήκη" + +msgid "View" +msgstr "Προβολή" + +msgid "You don’t have permission to view or edit anything." +msgstr "Δεν έχετε δικαίωμα να δείτε ή να επεξεργαστείτε κάτι." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Καταρχήν προσδιορίστε όνομα χρήστη και συνθηματικό. Κατόπιν θα σας δοθεί η " +"δυνατότητα να εισαγάγετε περισσότερες πληροφορίες για το χρήστη." + +msgid "Enter a username and password." +msgstr "Προσδιορίστε όνομα χρήστη και συνθηματικό." + +msgid "Change password" +msgstr "Αλλαγή συνθηματικού" + +msgid "Please correct the error below." +msgstr "Παρακαλούμε διορθώστε το παρακάτω λάθος." + +msgid "Please correct the errors below." +msgstr "Παρακαλοϋμε διορθώστε τα παρακάτω λάθη." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"Προσδιορίστε νέο συνθηματικό για το χρήστη %(username)s." + +msgid "Welcome," +msgstr "Καλώς ήρθατε," + +msgid "View site" +msgstr "Μετάβαση στην εφαρμογή" + +msgid "Documentation" +msgstr "Τεκμηρίωση" + +msgid "Log out" +msgstr "Αποσύνδεση" + +#, python-format +msgid "Add %(name)s" +msgstr "%(name)s: προσθήκη" + +msgid "History" +msgstr "Ιστορικό" + +msgid "View on site" +msgstr "Προβολή στον ιστότοπο" + +msgid "Filter" +msgstr "Φίλτρο" + +msgid "Clear all filters" +msgstr "Καθαρισμός όλων των φίλτρων" + +msgid "Remove from sorting" +msgstr "Αφαίρεση από την ταξινόμηση" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Προτεραιότητα ταξινόμησης: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Εναλλαγή ταξινόμησης" + +msgid "Delete" +msgstr "Διαγραφή" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Επιλέξατε τη διαγραφή του αντικειμένου '%(escaped_object)s' τύπου " +"%(object_name)s. Αυτό συνεπάγεται τη διαγραφή συσχετισμένων αντικειμενων για " +"τα οποία δεν έχετε δικάιωμα διαγραφής. Οι τύποι των αντικειμένων αυτών είναι:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Η διαγραφή του αντικειμένου (%(object_name)s) «%(escaped_object)s» απαιτεί " +"τη διαγραφή των παρακάτω προστατευόμενων αντικειμένων:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Επιβεβαιώστε ότι επιθυμείτε τη διαγραφή των επιλεγμένων αντικειμένων " +"(%(object_name)s \"%(escaped_object)s\"). Αν προχωρήσετε με τη διαγραφή, όλα " +"τα παρακάτω συσχετισμένα αντικείμενα θα διαγραφούν επίσης:" + +msgid "Objects" +msgstr "Αντικείμενα" + +msgid "Yes, I’m sure" +msgstr "Ναι" + +msgid "No, take me back" +msgstr "Όχι" + +msgid "Delete multiple objects" +msgstr "Διαγραφή πολλαπλών αντικειμένων" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Η διαγραφή των επιλεγμένων αντικειμένων τύπου «%(objects_name)s» θα είχε " +"αποτέλεσμα τη διαγραφή των ακόλουθων συσχετισμένων αντικειμένων για τα οποία " +"δεν έχετε το διακαίωμα διαγραφής:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Η διαγραφή των επιλεγμένων αντικειμένων τύπου «%(objects_name)s» απαιτεί τη " +"διαγραφή των παρακάτω προστατευμένων συσχετισμένων αντικειμένων:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Επιβεβαιώστε ότι επιθυμείτε τη διαγραφή των επιλεγμένων αντικειμένων τύπου " +"«%(objects_name)s». Αν προχωρήσετε με τη διαγραφή, όλα τα παρακάτω " +"συσχετισμένα αντικείμενα θα διαγραφούν επίσης:" + +msgid "Delete?" +msgstr "Διαγραφή;" + +#, python-format +msgid " By %(filter_title)s " +msgstr " Ανά %(filter_title)s " + +msgid "Summary" +msgstr "Περίληψη" + +msgid "Recent actions" +msgstr "Πρόσφατες ενέργειες" + +msgid "My actions" +msgstr "Οι ενέργειές μου" + +msgid "None available" +msgstr "Κανένα διαθέσιμο" + +msgid "Unknown content" +msgstr "Άγνωστο περιεχόμενο" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Υπάρχει κάποιο πρόβλημα στη βάση δεδομένων. Βεβαιωθείτε πως οι κατάλληλοι " +"πίνακες έχουν δημιουργηθεί και πως υπάρχουν τα κατάλληλα δικαιώματα " +"πρόσβασης." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Έχετε ταυτοποιηθεί ως %(username)s, αλλά δεν έχετε δικαίωμα πρόσβασης σ' " +"αυτή τη σελίδα. Θέλετε να συνδεθείτε με άλλο λογαριασμό;" + +msgid "Forgotten your password or username?" +msgstr "Ξεχάσατε το συνθηματικό ή το όνομα χρήστη σας;" + +msgid "Toggle navigation" +msgstr "Εναλλαγή προβολής πλοήγησης" + +msgid "Date/time" +msgstr "Ημερομηνία/ώρα" + +msgid "User" +msgstr "Χρήστης" + +msgid "Action" +msgstr "Ενέργεια" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Αυτό το αντικείμενο δεν έχει ιστορικό αλλαγών. Πιθανότατα δεν προστέθηκε " +"μέσω του παρόντος διαχειριστικού ιστότοπου." + +msgid "Show all" +msgstr "Εμφάνιση όλων" + +msgid "Save" +msgstr "Αποθήκευση" + +msgid "Popup closing…" +msgstr "Κλείσιμο popup..." + +msgid "Search" +msgstr "Αναζήτηση" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s αποτέλεσμα" +msgstr[1] "%(counter)s αποτελέσματα" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s συνολικά" + +msgid "Save as new" +msgstr "Αποθήκευση ως νέου" + +msgid "Save and add another" +msgstr "Αποθήκευση και προσθήκη καινούργιου" + +msgid "Save and continue editing" +msgstr "Αποθήκευση και συνέχεια επεξεργασίας" + +msgid "Save and view" +msgstr "Αποθήκευση και προβολή" + +msgid "Close" +msgstr "Κλείσιμο" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Να τροποποιηθεί το επιλεγμένο αντικείμενο (%(model)s)" + +#, python-format +msgid "Add another %(model)s" +msgstr "Να προστεθεί %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Να διαγραφεί το επιλεγμένο αντικείμενο (%(model)s)" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Ευχαριστούμε που διαθέσατε χρόνο στον ιστότοπο." + +msgid "Log in again" +msgstr "Επανασύνδεση" + +msgid "Password change" +msgstr "Αλλαγή συνθηματικού" + +msgid "Your password was changed." +msgstr "Το συνθηματικό σας αλλάχθηκε." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Δώστε το παλιό σας συνθηματικό και ακολούθως το νέο σας συνθηματικό δύο " +"φορές ώστε να ελέγξουμε ότι το πληκτρολογήσατε σωστά." + +msgid "Change my password" +msgstr "Αλλαγή του συνθηματικού μου" + +msgid "Password reset" +msgstr "Επαναφορά συνθηματικού" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Το συνθηματικό σας ορίστηκε. Μπορείτε τώρα να συνδεθείτε." + +msgid "Password reset confirmation" +msgstr "Επιβεβαίωση επαναφοράς συνθηματικού" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Δώστε το νέο συνθηματικό σας δύο φορές ώστε να ελέγξουμε ότι το " +"πληκτρολογήσατε σωστά." + +msgid "New password:" +msgstr "Νέο συνθηματικό:" + +msgid "Confirm password:" +msgstr "Επιβεβαίωση συνθηματικού:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Ο σύνδεσμος που χρησιμοποιήσατε για την επαναφορά του συνθηματικού δεν είναι " +"σωστός, ίσως γιατί έχει ήδη χρησιμοποιηθεί. Πραγματοποιήστε εξαρχής τη " +"διαδικασία αίτησης επαναφοράς του συνθηματικού." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Σας στείλαμε email με οδηγίες ορισμού συνθηματικού. Θα πρέπει να το λάβετε " +"σύντομα." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Εάν δεν λάβετε email, παρακαλούμε σιγουρευτείτε ότι έχετε εισαγάγει τη " +"διεύθυνση με την οποία έχετε εγγραφεί, και ελέγξτε το φάκελο ανεπιθύμητης " +"αλληλογραφίας." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Λαμβάνετε αυτό το email επειδή ζητήσατε επαναφορά συνθηματικού για το " +"λογαριασμό σας στον ιστότοπο %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "" +"Παρακαλούμε επισκεφθείτε την ακόλουθη σελίδα και επιλέξτε νέο συνθηματικό: " + +msgid "Your username, in case you’ve forgotten:" +msgstr "Το όνομα χρήστη, σε περίπτωση που δεν το θυμάστε:" + +msgid "Thanks for using our site!" +msgstr "Ευχαριστούμε που χρησιμοποιήσατε τον ιστότοπό μας!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Η ομάδα του ιστότοπου %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Ξεχάσατε το συνθηματικό σας; Εισαγάγετε το email σας και θα σας στείλουμε " +"οδηγίες για να ορίσετε καινούργιο." + +msgid "Email address:" +msgstr "Διεύθυνση email:" + +msgid "Reset my password" +msgstr "Επαναφορά του συνθηματικού μου" + +msgid "All dates" +msgstr "Όλες οι ημερομηνίες" + +#, python-format +msgid "Select %s" +msgstr "Επιλέξτε αντικείμενο (%s)" + +#, python-format +msgid "Select %s to change" +msgstr "Επιλέξτε αντικείμενο (%s) προς αλλαγή" + +#, python-format +msgid "Select %s to view" +msgstr "Επιλέξτε αντικείμενο (%s) για προβολή" + +msgid "Date:" +msgstr "Ημ/νία:" + +msgid "Time:" +msgstr "Ώρα:" + +msgid "Lookup" +msgstr "Αναζήτηση" + +msgid "Currently:" +msgstr "Τώρα:" + +msgid "Change:" +msgstr "Επεξεργασία:" diff --git a/external_sources/django/django/contrib/admin/locale/el/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/el/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..1ffee5d --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/el/LC_MESSAGES/djangojs.po @@ -0,0 +1,272 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Dimitris Glezos , 2011 +# Fotis Athineos , 2021 +# glogiotatidis , 2011 +# Jannis Leidel , 2011 +# Nikolas Demiridis , 2014 +# Nick Mavrakis , 2016 +# Pãnoș , 2014 +# Pãnoș , 2016 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-15 09:00+0100\n" +"PO-Revision-Date: 2021-08-04 06:47+0000\n" +"Last-Translator: Fotis Athineos \n" +"Language-Team: Greek (http://www.transifex.com/django/django/language/el/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: el\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "Διαθέσιμο %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Αυτή είναι η λίστα των διαθέσιμων %s. Μπορείτε να επιλέξετε κάποια, από το " +"παρακάτω πεδίο και πατώντας το βέλος \"Επιλογή\" μεταξύ των δύο πεδίων." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" +"Πληκτρολογήστε σε αυτό το πεδίο για να φιλτράρετε τη λίστα των διαθέσιμων %s." + +msgid "Filter" +msgstr "Φίλτρο" + +msgid "Choose all" +msgstr "Επιλογή όλων" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Πατήστε για επιλογή όλων των %s με τη μία." + +msgid "Choose" +msgstr "Επιλογή" + +msgid "Remove" +msgstr "Αφαίρεση" + +#, javascript-format +msgid "Chosen %s" +msgstr "Επιλέχθηκε %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Αυτή είναι η λίστα των επιλεγμένων %s. Μπορείτε να αφαιρέσετε μερικά " +"επιλέγοντας τα απο το κουτί παρακάτω και μετά κάνοντας κλίκ στο βελάκι " +"\"Αφαίρεση\" ανάμεσα στα δύο κουτιά." + +msgid "Remove all" +msgstr "Αφαίρεση όλων" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Κλίκ για να αφαιρεθούν όλα τα επιλεγμένα %s με τη μία." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s από %(cnt)s επιλεγμένα" +msgstr[1] "%(sel)s από %(cnt)s επιλεγμένα" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Έχετε μη αποθηκευμένες αλλαγές σε μεμονωμένα επεξεργάσιμα πεδία. Άν " +"εκτελέσετε μια ενέργεια, οι μη αποθηκευμένες αλλάγες θα χαθούν" + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Έχετε επιλέξει μια ενέργεια, αλλά δεν έχετε αποθηκεύσει τις αλλαγές στα " +"εκάστωτε πεδία ακόμα. Παρακαλώ πατήστε ΟΚ για να τις αποθηκεύσετε. Θα " +"χρειαστεί να εκτελέσετε ξανά την ενέργεια." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Έχετε επιλέξει μια ενέργεια, και δεν έχετε κάνει καμία αλλαγή στα εκάστοτε " +"πεδία. Πιθανών θέλετε το κουμπί Go αντί του κουμπιού Αποθήκευσης." + +msgid "Now" +msgstr "Τώρα" + +msgid "Midnight" +msgstr "Μεσάνυχτα" + +msgid "6 a.m." +msgstr "6 π.μ." + +msgid "Noon" +msgstr "Μεσημέρι" + +msgid "6 p.m." +msgstr "6 μ.μ." + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Σημείωση: Είστε %s ώρα μπροστά από την ώρα του εξυπηρετητή." +msgstr[1] "Σημείωση: Είστε %s ώρες μπροστά από την ώρα του εξυπηρετητή." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Σημείωση: Είστε %s ώρα πίσω από την ώρα του εξυπηρετητή" +msgstr[1] "Σημείωση: Είστε %s ώρες πίσω από την ώρα του εξυπηρετητή." + +msgid "Choose a Time" +msgstr "Επιλέξτε Χρόνο" + +msgid "Choose a time" +msgstr "Επιλέξτε χρόνο" + +msgid "Cancel" +msgstr "Ακύρωση" + +msgid "Today" +msgstr "Σήμερα" + +msgid "Choose a Date" +msgstr "Επιλέξτε μια Ημερομηνία" + +msgid "Yesterday" +msgstr "Χθές" + +msgid "Tomorrow" +msgstr "Αύριο" + +msgid "January" +msgstr "Ιανουάριος" + +msgid "February" +msgstr "Φεβρουάριος" + +msgid "March" +msgstr "Μάρτιος" + +msgid "April" +msgstr "Απρίλιος" + +msgid "May" +msgstr "Μάιος" + +msgid "June" +msgstr "Ιούνιος" + +msgid "July" +msgstr "Ιούλιος" + +msgid "August" +msgstr "Αύγουστος" + +msgid "September" +msgstr "Σεπτέμβριος" + +msgid "October" +msgstr "Οκτώβριος" + +msgid "November" +msgstr "Νοέμβριος" + +msgid "December" +msgstr "Δεκέμβριος" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Ιαν" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Φεβ" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Μάρ" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Απρ" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "Μάι" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Ιούν" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Ιούλ" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Αύγ" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Σεπ" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Οκτ" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Νοέ" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Δεκ" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "Κ" + +msgctxt "one letter Monday" +msgid "M" +msgstr "Δ" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "Τ" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "Τ" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "Π" + +msgctxt "one letter Friday" +msgid "F" +msgstr "Π" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "Σ" + +msgid "Show" +msgstr "Προβολή" + +msgid "Hide" +msgstr "Απόκρυψη" diff --git a/external_sources/django/django/contrib/admin/locale/en/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/en/LC_MESSAGES/django.po new file mode 100644 index 0000000..c216532 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/en/LC_MESSAGES/django.po @@ -0,0 +1,978 @@ +# This file is distributed under the same license as the Django package. +# +msgid "" +msgstr "" +"Project-Id-Version: Django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2010-05-13 15:35+0200\n" +"Last-Translator: Django team\n" +"Language-Team: English \n" +"Language: en\n" +"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" + +#: contrib/admin/actions.py:17 +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "" + +#: contrib/admin/actions.py:54 +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "" + +#: contrib/admin/actions.py:64 contrib/admin/options.py:2177 +#, python-format +msgid "Cannot delete %(name)s" +msgstr "" + +#: contrib/admin/actions.py:66 contrib/admin/options.py:2179 +msgid "Are you sure?" +msgstr "" + +#: contrib/admin/apps.py:13 +msgid "Administration" +msgstr "" + +#: contrib/admin/filters.py:153 contrib/admin/filters.py:295 +#: contrib/admin/filters.py:364 contrib/admin/filters.py:432 +#: contrib/admin/filters.py:607 contrib/admin/filters.py:701 +msgid "All" +msgstr "" + +#: contrib/admin/filters.py:365 +msgid "Yes" +msgstr "" + +#: contrib/admin/filters.py:366 +msgid "No" +msgstr "" + +#: contrib/admin/filters.py:380 +msgid "Unknown" +msgstr "" + +#: contrib/admin/filters.py:490 +msgid "Any date" +msgstr "" + +#: contrib/admin/filters.py:492 +msgid "Today" +msgstr "" + +#: contrib/admin/filters.py:499 +msgid "Past 7 days" +msgstr "" + +#: contrib/admin/filters.py:506 +msgid "This month" +msgstr "" + +#: contrib/admin/filters.py:513 +msgid "This year" +msgstr "" + +#: contrib/admin/filters.py:523 +msgid "No date" +msgstr "" + +#: contrib/admin/filters.py:524 +msgid "Has date" +msgstr "" + +#: contrib/admin/filters.py:702 +msgid "Empty" +msgstr "" + +#: contrib/admin/filters.py:703 +msgid "Not empty" +msgstr "" + +#: contrib/admin/forms.py:14 +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" + +#: contrib/admin/helpers.py:30 +msgid "Action:" +msgstr "" + +#: contrib/admin/helpers.py:428 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "" + +#: contrib/admin/helpers.py:432 +msgid "Remove" +msgstr "" + +#: contrib/admin/models.py:18 +msgid "Addition" +msgstr "" + +#: contrib/admin/models.py:19 contrib/admin/templates/admin/app_list.html:28 +#: contrib/admin/templates/admin/edit_inline/stacked.html:16 +#: contrib/admin/templates/admin/edit_inline/tabular.html:36 +msgid "Change" +msgstr "" + +#: contrib/admin/models.py:20 +msgid "Deletion" +msgstr "" + +#: contrib/admin/models.py:50 +msgid "action time" +msgstr "" + +#: contrib/admin/models.py:57 +msgid "user" +msgstr "" + +#: contrib/admin/models.py:62 +msgid "content type" +msgstr "" + +#: contrib/admin/models.py:66 +msgid "object id" +msgstr "" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +#: contrib/admin/models.py:69 +msgid "object repr" +msgstr "" + +#: contrib/admin/models.py:71 +msgid "action flag" +msgstr "" + +#: contrib/admin/models.py:74 +msgid "change message" +msgstr "" + +#: contrib/admin/models.py:79 +msgid "log entry" +msgstr "" + +#: contrib/admin/models.py:80 +msgid "log entries" +msgstr "" + +#: contrib/admin/models.py:89 +#, python-format +msgid "Added “%(object)s”." +msgstr "" + +#: contrib/admin/models.py:91 +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "" + +#: contrib/admin/models.py:96 +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "" + +#: contrib/admin/models.py:98 +msgid "LogEntry Object" +msgstr "" + +#: contrib/admin/models.py:127 +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "" + +#: contrib/admin/models.py:132 +msgid "Added." +msgstr "" + +#: contrib/admin/models.py:140 contrib/admin/options.py:2433 +msgid "and" +msgstr "" + +#: contrib/admin/models.py:147 +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "" + +#: contrib/admin/models.py:153 +#, python-brace-format +msgid "Changed {fields}." +msgstr "" + +#: contrib/admin/models.py:163 +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "" + +#: contrib/admin/models.py:169 +msgid "No fields changed." +msgstr "" + +#: contrib/admin/options.py:243 contrib/admin/options.py:287 +msgid "None" +msgstr "" + +#: contrib/admin/options.py:339 +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" + +#: contrib/admin/options.py:995 +msgid "Select this object for an action - {}" +msgstr "" + +#: contrib/admin/options.py:1405 contrib/admin/options.py:1434 +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "" + +#: contrib/admin/options.py:1407 +msgid "You may edit it again below." +msgstr "" + +#: contrib/admin/options.py:1420 +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" + +#: contrib/admin/options.py:1482 +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" + +#: contrib/admin/options.py:1516 +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" + +#: contrib/admin/options.py:1533 +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "" + +#: contrib/admin/options.py:1611 contrib/admin/options.py:1996 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" + +#: contrib/admin/options.py:1631 +msgid "No action selected." +msgstr "" + +#: contrib/admin/options.py:1662 +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "" + +#: contrib/admin/options.py:1764 +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "" + +#: contrib/admin/options.py:1875 +#, python-format +msgid "Add %s" +msgstr "" + +#: contrib/admin/options.py:1877 +#, python-format +msgid "Change %s" +msgstr "" + +#: contrib/admin/options.py:1879 +#, python-format +msgid "View %s" +msgstr "" + +#: contrib/admin/options.py:1966 +msgid "Database error" +msgstr "" + +#: contrib/admin/options.py:2056 +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "" +msgstr[1] "" + +#: contrib/admin/options.py:2087 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "" +msgstr[1] "" + +#: contrib/admin/options.py:2093 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "" + +#: contrib/admin/options.py:2235 +#, python-format +msgid "Change history: %s" +msgstr "" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#: contrib/admin/options.py:2427 +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "" + +#: contrib/admin/options.py:2436 +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" + +#: contrib/admin/sites.py:39 contrib/admin/templates/admin/base_site.html:3 +msgid "Django site admin" +msgstr "" + +#: contrib/admin/sites.py:42 contrib/admin/templates/admin/base_site.html:6 +msgid "Django administration" +msgstr "" + +#: contrib/admin/sites.py:45 +msgid "Site administration" +msgstr "" + +#: contrib/admin/sites.py:422 contrib/admin/templates/admin/login.html:63 +#: contrib/admin/templates/registration/password_reset_complete.html:15 +#: contrib/admin/tests.py:143 +msgid "Log in" +msgstr "" + +#: contrib/admin/sites.py:577 +#, python-format +msgid "%(app)s administration" +msgstr "" + +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "" + +#: contrib/admin/templates/admin/404.html:10 +msgid "We’re sorry, but the requested page could not be found." +msgstr "" + +#: contrib/admin/templates/admin/500.html:6 +#: contrib/admin/templates/admin/app_index.html:10 +#: contrib/admin/templates/admin/auth/user/change_password.html:10 +#: contrib/admin/templates/admin/base.html:76 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:32 +#: contrib/admin/templates/admin/delete_confirmation.html:14 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:14 +#: contrib/admin/templates/admin/invalid_setup.html:6 +#: contrib/admin/templates/admin/object_history.html:6 +#: contrib/admin/templates/registration/logged_out.html:4 +#: contrib/admin/templates/registration/password_change_done.html:13 +#: contrib/admin/templates/registration/password_change_form.html:14 +#: contrib/admin/templates/registration/password_reset_complete.html:6 +#: contrib/admin/templates/registration/password_reset_confirm.html:7 +#: contrib/admin/templates/registration/password_reset_done.html:6 +#: contrib/admin/templates/registration/password_reset_form.html:7 +msgid "Home" +msgstr "" + +#: contrib/admin/templates/admin/500.html:7 +msgid "Server error" +msgstr "" + +#: contrib/admin/templates/admin/500.html:11 +msgid "Server error (500)" +msgstr "" + +#: contrib/admin/templates/admin/500.html:14 +msgid "Server Error (500)" +msgstr "" + +#: contrib/admin/templates/admin/500.html:15 +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +#: contrib/admin/templates/admin/actions.html:8 +msgid "Run the selected action" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:8 +msgid "Go" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:16 +msgid "Click here to select the objects across all pages" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:16 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:18 +msgid "Clear selection" +msgstr "" + +#: contrib/admin/templates/admin/app_index.html:8 +#: contrib/admin/templates/admin/base.html:73 +msgid "Breadcrumbs" +msgstr "" + +#: contrib/admin/templates/admin/app_list.html:8 +#, python-format +msgid "Models in the %(name)s application" +msgstr "" + +#: contrib/admin/templates/admin/app_list.html:19 +msgid "Add" +msgstr "" + +#: contrib/admin/templates/admin/app_list.html:26 +#: contrib/admin/templates/admin/edit_inline/stacked.html:16 +#: contrib/admin/templates/admin/edit_inline/tabular.html:36 +msgid "View" +msgstr "" + +#: contrib/admin/templates/admin/app_list.html:39 +msgid "You don’t have permission to view or edit anything." +msgstr "" + +#: contrib/admin/templates/admin/auth/user/add_form.html:6 +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" + +#: contrib/admin/templates/admin/auth/user/add_form.html:8 +msgid "Enter a username and password." +msgstr "" + +#: contrib/admin/templates/admin/auth/user/change_password.html:14 +#: contrib/admin/templates/admin/auth/user/change_password.html:52 +#: contrib/admin/templates/admin/base.html:57 +#: contrib/admin/templates/registration/password_change_done.html:4 +#: contrib/admin/templates/registration/password_change_form.html:5 +msgid "Change password" +msgstr "" + +#: contrib/admin/templates/admin/auth/user/change_password.html:18 +msgid "Set password" +msgstr "" + +#: contrib/admin/templates/admin/auth/user/change_password.html:25 +#: contrib/admin/templates/admin/change_form.html:43 +#: contrib/admin/templates/admin/change_list.html:52 +#: contrib/admin/templates/admin/login.html:23 +#: contrib/admin/templates/registration/password_change_form.html:25 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "" +msgstr[1] "" + +#: contrib/admin/templates/admin/auth/user/change_password.html:29 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" + +#: contrib/admin/templates/admin/auth/user/change_password.html:35 +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "" + +#: contrib/admin/templates/admin/auth/user/change_password.html:71 +msgid "Disable password-based authentication" +msgstr "" + +#: contrib/admin/templates/admin/auth/user/change_password.html:73 +msgid "Enable password-based authentication" +msgstr "" + +#: contrib/admin/templates/admin/base.html:28 +msgid "Skip to main content" +msgstr "" + +#: contrib/admin/templates/admin/base.html:43 +msgid "Welcome," +msgstr "" + +#: contrib/admin/templates/admin/base.html:48 +msgid "View site" +msgstr "" + +#: contrib/admin/templates/admin/base.html:53 +#: contrib/admin/templates/registration/password_change_done.html:4 +#: contrib/admin/templates/registration/password_change_form.html:5 +msgid "Documentation" +msgstr "" + +#: contrib/admin/templates/admin/base.html:61 +#: contrib/admin/templates/registration/password_change_done.html:7 +#: contrib/admin/templates/registration/password_change_form.html:8 +msgid "Log out" +msgstr "" + +#: contrib/admin/templates/admin/change_form.html:21 +#: contrib/admin/templates/admin/change_list_object_tools.html:8 +#, python-format +msgid "Add %(name)s" +msgstr "" + +#: contrib/admin/templates/admin/change_form_object_tools.html:5 +#: contrib/admin/templates/admin/object_history.html:10 +msgid "History" +msgstr "" + +#: contrib/admin/templates/admin/change_form_object_tools.html:7 +#: contrib/admin/templates/admin/edit_inline/stacked.html:18 +#: contrib/admin/templates/admin/edit_inline/tabular.html:38 +msgid "View on site" +msgstr "" + +#: contrib/admin/templates/admin/change_list.html:77 +msgid "Filter" +msgstr "" + +#: contrib/admin/templates/admin/change_list.html:80 +msgid "Hide counts" +msgstr "" + +#: contrib/admin/templates/admin/change_list.html:81 +msgid "Show counts" +msgstr "" + +#: contrib/admin/templates/admin/change_list.html:84 +msgid "Clear all filters" +msgstr "" + +#: contrib/admin/templates/admin/change_list_results.html:16 +msgid "Remove from sorting" +msgstr "" + +#: contrib/admin/templates/admin/change_list_results.html:17 +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "" + +#: contrib/admin/templates/admin/change_list_results.html:18 +msgid "Toggle sorting" +msgstr "" + +#: contrib/admin/templates/admin/color_theme_toggle.html:3 +msgid "Toggle theme (current theme: auto)" +msgstr "" + +#: contrib/admin/templates/admin/color_theme_toggle.html:4 +msgid "Toggle theme (current theme: light)" +msgstr "" + +#: contrib/admin/templates/admin/color_theme_toggle.html:5 +msgid "Toggle theme (current theme: dark)" +msgstr "" + +#: contrib/admin/templates/admin/delete_confirmation.html:18 +#: contrib/admin/templates/admin/submit_line.html:14 +msgid "Delete" +msgstr "" + +#: contrib/admin/templates/admin/delete_confirmation.html:25 +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" + +#: contrib/admin/templates/admin/delete_confirmation.html:30 +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" + +#: contrib/admin/templates/admin/delete_confirmation.html:35 +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" + +#: contrib/admin/templates/admin/delete_confirmation.html:37 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:31 +msgid "Objects" +msgstr "" + +#: contrib/admin/templates/admin/delete_confirmation.html:44 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:42 +msgid "Yes, I’m sure" +msgstr "" + +#: contrib/admin/templates/admin/delete_confirmation.html:45 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:43 +msgid "No, take me back" +msgstr "" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:17 +msgid "Delete multiple objects" +msgstr "" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:23 +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:26 +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:29 +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" + +#: contrib/admin/templates/admin/edit_inline/tabular.html:22 +msgid "Delete?" +msgstr "" + +#: contrib/admin/templates/admin/filter.html:4 +#, python-format +msgid " By %(filter_title)s " +msgstr "" + +#: contrib/admin/templates/admin/includes/object_delete_summary.html:2 +msgid "Summary" +msgstr "" + +#: contrib/admin/templates/admin/index.html:23 +msgid "Recent actions" +msgstr "" + +#: contrib/admin/templates/admin/index.html:24 +msgid "My actions" +msgstr "" + +#: contrib/admin/templates/admin/index.html:28 +msgid "None available" +msgstr "" + +#: contrib/admin/templates/admin/index.html:33 +msgid "Added:" +msgstr "" + +#: contrib/admin/templates/admin/index.html:33 +msgid "Changed:" +msgstr "" + +#: contrib/admin/templates/admin/index.html:33 +msgid "Deleted:" +msgstr "" + +#: contrib/admin/templates/admin/index.html:43 +msgid "Unknown content" +msgstr "" + +#: contrib/admin/templates/admin/invalid_setup.html:12 +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" + +#: contrib/admin/templates/admin/login.html:39 +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" + +#: contrib/admin/templates/admin/login.html:59 +msgid "Forgotten your password or username?" +msgstr "" + +#: contrib/admin/templates/admin/nav_sidebar.html:2 +msgid "Toggle navigation" +msgstr "" + +#: contrib/admin/templates/admin/nav_sidebar.html:3 +msgid "Sidebar" +msgstr "" + +#: contrib/admin/templates/admin/nav_sidebar.html:5 +msgid "Start typing to filter…" +msgstr "" + +#: contrib/admin/templates/admin/nav_sidebar.html:6 +msgid "Filter navigation items" +msgstr "" + +#: contrib/admin/templates/admin/object_history.html:22 +msgid "Date/time" +msgstr "" + +#: contrib/admin/templates/admin/object_history.html:23 +msgid "User" +msgstr "" + +#: contrib/admin/templates/admin/object_history.html:24 +msgid "Action" +msgstr "" + +#: contrib/admin/templates/admin/object_history.html:49 +msgid "entry" +msgid_plural "entries" +msgstr[0] "" +msgstr[1] "" + +#: contrib/admin/templates/admin/object_history.html:52 +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" + +#: contrib/admin/templates/admin/pagination.html:10 +#: contrib/admin/templates/admin/search_form.html:9 +msgid "Show all" +msgstr "" + +#: contrib/admin/templates/admin/pagination.html:11 +#: contrib/admin/templates/admin/submit_line.html:4 +msgid "Save" +msgstr "" + +#: contrib/admin/templates/admin/popup_response.html:3 +msgid "Popup closing…" +msgstr "" + +#: contrib/admin/templates/admin/search_form.html:7 +msgid "Search" +msgstr "" + +#: contrib/admin/templates/admin/search_form.html:9 +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "" +msgstr[1] "" + +#: contrib/admin/templates/admin/search_form.html:9 +#, python-format +msgid "%(full_result_count)s total" +msgstr "" + +#: contrib/admin/templates/admin/submit_line.html:5 +msgid "Save as new" +msgstr "" + +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and add another" +msgstr "" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save and continue editing" +msgstr "" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save and view" +msgstr "" + +#: contrib/admin/templates/admin/submit_line.html:10 +msgid "Close" +msgstr "" + +#: contrib/admin/templates/admin/widgets/related_widget_wrapper.html:11 +#, python-format +msgid "Change selected %(model)s" +msgstr "" + +#: contrib/admin/templates/admin/widgets/related_widget_wrapper.html:19 +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#: contrib/admin/templates/admin/widgets/related_widget_wrapper.html:27 +#, python-format +msgid "Delete selected %(model)s" +msgstr "" + +#: contrib/admin/templates/admin/widgets/related_widget_wrapper.html:34 +#, python-format +msgid "View selected %(model)s" +msgstr "" + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Thanks for spending some quality time with the web site today." +msgstr "" + +#: contrib/admin/templates/registration/logged_out.html:12 +msgid "Log in again" +msgstr "" + +#: contrib/admin/templates/registration/password_change_done.html:14 +#: contrib/admin/templates/registration/password_change_form.html:15 +msgid "Password change" +msgstr "" + +#: contrib/admin/templates/registration/password_change_done.html:19 +msgid "Your password was changed." +msgstr "" + +#: contrib/admin/templates/registration/password_change_form.html:30 +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" + +#: contrib/admin/templates/registration/password_change_form.html:58 +#: contrib/admin/templates/registration/password_reset_confirm.html:37 +msgid "Change my password" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_complete.html:7 +#: contrib/admin/templates/registration/password_reset_done.html:7 +#: contrib/admin/templates/registration/password_reset_form.html:8 +msgid "Password reset" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_complete.html:13 +msgid "Your password has been set. You may go ahead and log in now." +msgstr "" + +#: contrib/admin/templates/registration/password_reset_confirm.html:8 +msgid "Password reset confirmation" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_confirm.html:16 +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" + +#: contrib/admin/templates/registration/password_reset_confirm.html:24 +msgid "New password:" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_confirm.html:31 +msgid "Confirm password:" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_confirm.html:43 +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" + +#: contrib/admin/templates/registration/password_reset_done.html:13 +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +#: contrib/admin/templates/registration/password_reset_done.html:15 +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" + +#: contrib/admin/templates/registration/password_reset_email.html:2 +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" + +#: contrib/admin/templates/registration/password_reset_email.html:4 +msgid "Please go to the following page and choose a new password:" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_email.html:8 +msgid "Your username, in case you’ve forgotten:" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_email.html:10 +msgid "Thanks for using our site!" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_email.html:12 +#, python-format +msgid "The %(site_name)s team" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_form.html:14 +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" + +#: contrib/admin/templates/registration/password_reset_form.html:21 +msgid "Email address:" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_form.html:27 +msgid "Reset my password" +msgstr "" + +#: contrib/admin/templatetags/admin_list.py:100 +msgid "Select all objects on this page for an action" +msgstr "" + +#: contrib/admin/templatetags/admin_list.py:434 +msgid "All dates" +msgstr "" + +#: contrib/admin/views/main.py:147 +#, python-format +msgid "Select %s" +msgstr "" + +#: contrib/admin/views/main.py:149 +#, python-format +msgid "Select %s to change" +msgstr "" + +#: contrib/admin/views/main.py:151 +#, python-format +msgid "Select %s to view" +msgstr "" + +#: contrib/admin/widgets.py:98 +msgid "Date:" +msgstr "" + +#: contrib/admin/widgets.py:99 +msgid "Time:" +msgstr "" + +#: contrib/admin/widgets.py:163 +msgid "Lookup" +msgstr "" + +#: contrib/admin/widgets.py:389 +msgid "Currently:" +msgstr "" + +#: contrib/admin/widgets.py:390 +msgid "Change:" +msgstr "" diff --git a/external_sources/django/django/contrib/admin/locale/en/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/en/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..443c0b9 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/en/LC_MESSAGES/djangojs.po @@ -0,0 +1,383 @@ +# This file is distributed under the same license as the Django package. +# +msgid "" +msgstr "" +"Project-Id-Version: Django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2010-05-13 15:35+0200\n" +"Last-Translator: Django team\n" +"Language-Team: English \n" +"Language: en\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: contrib/admin/static/admin/js/SelectFilter2.js:38 +#, javascript-format +msgid "Available %s" +msgstr "" + +#: contrib/admin/static/admin/js/SelectFilter2.js:44 +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" + +#: contrib/admin/static/admin/js/SelectFilter2.js:60 +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" + +#: contrib/admin/static/admin/js/SelectFilter2.js:65 +#: contrib/admin/static/admin/js/SelectFilter2.js:110 +msgid "Filter" +msgstr "" + +#: contrib/admin/static/admin/js/SelectFilter2.js:69 +msgid "Choose all" +msgstr "" + +#: contrib/admin/static/admin/js/SelectFilter2.js:69 +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "" + +#: contrib/admin/static/admin/js/SelectFilter2.js:75 +msgid "Choose" +msgstr "" + +#: contrib/admin/static/admin/js/SelectFilter2.js:77 +msgid "Remove" +msgstr "" + +#: contrib/admin/static/admin/js/SelectFilter2.js:83 +#, javascript-format +msgid "Chosen %s" +msgstr "" + +#: contrib/admin/static/admin/js/SelectFilter2.js:89 +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" + +#: contrib/admin/static/admin/js/SelectFilter2.js:105 +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "" + +#: contrib/admin/static/admin/js/SelectFilter2.js:120 +msgid "Remove all" +msgstr "" + +#: contrib/admin/static/admin/js/SelectFilter2.js:120 +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "" + +#: contrib/admin/static/admin/js/SelectFilter2.js:211 +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "" +msgstr[1] "" + +#: contrib/admin/static/admin/js/actions.js:67 +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "" +msgstr[1] "" + +#: contrib/admin/static/admin/js/actions.js:161 +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" + +#: contrib/admin/static/admin/js/actions.js:174 +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" + +#: contrib/admin/static/admin/js/actions.js:175 +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:13 +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:110 +msgid "Now" +msgstr "" + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:14 +msgid "Midnight" +msgstr "" + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:15 +msgid "6 a.m." +msgstr "" + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:16 +msgid "Noon" +msgstr "" + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:17 +msgid "6 p.m." +msgstr "" + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:78 +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" +msgstr[1] "" + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:86 +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +msgstr[1] "" + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:128 +msgid "Choose a Time" +msgstr "" + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:158 +msgid "Choose a time" +msgstr "" + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:175 +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:333 +msgid "Cancel" +msgstr "" + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:238 +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:318 +msgid "Today" +msgstr "" + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:255 +msgid "Choose a Date" +msgstr "" + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:312 +msgid "Yesterday" +msgstr "" + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:324 +msgid "Tomorrow" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:11 +msgid "January" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:12 +msgid "February" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:13 +msgid "March" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:14 +msgid "April" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:15 +msgid "May" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:16 +msgid "June" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:17 +msgid "July" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:18 +msgid "August" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:19 +msgid "September" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:20 +msgid "October" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:21 +msgid "November" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:22 +msgid "December" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:25 +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:26 +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:27 +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:28 +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:29 +msgctxt "abbrev. month May" +msgid "May" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:30 +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:31 +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:32 +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:33 +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:34 +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:35 +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:36 +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:39 +msgid "Sunday" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:40 +msgid "Monday" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:41 +msgid "Tuesday" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:42 +msgid "Wednesday" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:43 +msgid "Thursday" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:44 +msgid "Friday" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:45 +msgid "Saturday" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:48 +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:49 +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:50 +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:51 +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:52 +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:53 +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:54 +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:57 +msgctxt "one letter Sunday" +msgid "S" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:58 +msgctxt "one letter Monday" +msgid "M" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:59 +msgctxt "one letter Tuesday" +msgid "T" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:60 +msgctxt "one letter Wednesday" +msgid "W" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:61 +msgctxt "one letter Thursday" +msgid "T" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:62 +msgctxt "one letter Friday" +msgid "F" +msgstr "" + +#: contrib/admin/static/admin/js/calendar.js:63 +msgctxt "one letter Saturday" +msgid "S" +msgstr "" diff --git a/external_sources/django/django/contrib/admin/locale/en_AU/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/en_AU/LC_MESSAGES/django.po new file mode 100644 index 0000000..dfe62a0 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/en_AU/LC_MESSAGES/django.po @@ -0,0 +1,724 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Tom Fifield , 2014 +# Tom Fifield , 2021 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-09-21 10:22+0200\n" +"PO-Revision-Date: 2021-09-22 07:21+0000\n" +"Last-Translator: Transifex Bot <>\n" +"Language-Team: English (Australia) (http://www.transifex.com/django/django/" +"language/en_AU/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en_AU\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Delete selected %(verbose_name_plural)s" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Successfully deleted %(count)d %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Cannot delete %(name)s" + +msgid "Are you sure?" +msgstr "Are you sure?" + +msgid "Administration" +msgstr "Administration" + +msgid "All" +msgstr "All" + +msgid "Yes" +msgstr "Yes" + +msgid "No" +msgstr "No" + +msgid "Unknown" +msgstr "Unknown" + +msgid "Any date" +msgstr "Any date" + +msgid "Today" +msgstr "Today" + +msgid "Past 7 days" +msgstr "Past 7 days" + +msgid "This month" +msgstr "This month" + +msgid "This year" +msgstr "This year" + +msgid "No date" +msgstr "No date" + +msgid "Has date" +msgstr "Has date" + +msgid "Empty" +msgstr "Empty" + +msgid "Not empty" +msgstr "Not empty" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." + +msgid "Action:" +msgstr "Action:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Add another %(verbose_name)s" + +msgid "Remove" +msgstr "Remove" + +msgid "Addition" +msgstr "Addition" + +msgid "Change" +msgstr "Change" + +msgid "Deletion" +msgstr "Deletion" + +msgid "action time" +msgstr "action time" + +msgid "user" +msgstr "user" + +msgid "content type" +msgstr "content type" + +msgid "object id" +msgstr "object id" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "object repr" + +msgid "action flag" +msgstr "action flag" + +msgid "change message" +msgstr "change message" + +msgid "log entry" +msgstr "log entry" + +msgid "log entries" +msgstr "log entries" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Added “%(object)s”." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Changed “%(object)s” — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Deleted “%(object)s.”" + +msgid "LogEntry Object" +msgstr "LogEntry Object" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Added {name} “{object}”." + +msgid "Added." +msgstr "Added." + +msgid "and" +msgstr "and" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Changed {fields} for {name} “{object}”." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Changed {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Deleted {name} “{object}”." + +msgid "No fields changed." +msgstr "No fields changed." + +msgid "None" +msgstr "None" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "Hold down “Control”, or “Command” on a Mac, to select more than one." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "The {name} “{obj}” was added successfully." + +msgid "You may edit it again below." +msgstr "You may edit it again below." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"The {name} “{obj}” was added successfully. You may add another {name} below." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"The {name} “{obj}” was changed successfully. You may edit it again below." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "" +"The {name} “{obj}” was added successfully. You may edit it again below." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "The {name} “{obj}” was changed successfully." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." + +msgid "No action selected." +msgstr "No action selected." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "The %(name)s “%(obj)s” was deleted successfully." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" + +#, python-format +msgid "Add %s" +msgstr "Add %s" + +#, python-format +msgid "Change %s" +msgstr "Change %s" + +#, python-format +msgid "View %s" +msgstr "View %s" + +msgid "Database error" +msgstr "Database error" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s was changed successfully." +msgstr[1] "%(count)s %(name)s were changed successfully." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s selected" +msgstr[1] "All %(total_count)s selected" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 of %(cnt)s selected" + +#, python-format +msgid "Change history: %s" +msgstr "Change history: %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" + +msgid "Django site admin" +msgstr "Django site admin" + +msgid "Django administration" +msgstr "Django administration" + +msgid "Site administration" +msgstr "Site administration" + +msgid "Log in" +msgstr "Log in" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s administration" + +msgid "Page not found" +msgstr "Page not found" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "We’re sorry, but the requested page could not be found." + +msgid "Home" +msgstr "Home" + +msgid "Server error" +msgstr "Server error" + +msgid "Server error (500)" +msgstr "Server error (500)" + +msgid "Server Error (500)" +msgstr "Server Error (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." + +msgid "Run the selected action" +msgstr "Run the selected action" + +msgid "Go" +msgstr "Go" + +msgid "Click here to select the objects across all pages" +msgstr "Click here to select the objects across all pages" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Select all %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Clear selection" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Models in the %(name)s application" + +msgid "Add" +msgstr "Add" + +msgid "View" +msgstr "View" + +msgid "You don’t have permission to view or edit anything." +msgstr "You don’t have permission to view or edit anything." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." + +msgid "Enter a username and password." +msgstr "Enter a username and password." + +msgid "Change password" +msgstr "Change password" + +msgid "Please correct the error below." +msgstr "Please correct the error below." + +msgid "Please correct the errors below." +msgstr "Please correct the errors below." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Enter a new password for the user %(username)s." + +msgid "Welcome," +msgstr "Welcome," + +msgid "View site" +msgstr "View site" + +msgid "Documentation" +msgstr "Documentation" + +msgid "Log out" +msgstr "Log out" + +#, python-format +msgid "Add %(name)s" +msgstr "Add %(name)s" + +msgid "History" +msgstr "History" + +msgid "View on site" +msgstr "View on site" + +msgid "Filter" +msgstr "Filter" + +msgid "Clear all filters" +msgstr "Clear all filters" + +msgid "Remove from sorting" +msgstr "Remove from sorting" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Sorting priority: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Toggle sorting" + +msgid "Delete" +msgstr "Delete" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" + +msgid "Objects" +msgstr "Objects" + +msgid "Yes, I’m sure" +msgstr "Yes, I’m sure" + +msgid "No, take me back" +msgstr "No, take me back" + +msgid "Delete multiple objects" +msgstr "Delete multiple objects" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" + +msgid "Delete?" +msgstr "Delete?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " By %(filter_title)s " + +msgid "Summary" +msgstr "Summary" + +msgid "Recent actions" +msgstr "Recent actions" + +msgid "My actions" +msgstr "My actions" + +msgid "None available" +msgstr "None available" + +msgid "Unknown content" +msgstr "Unknown content" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"You are authenticated as %(username)s, but are not authorised to access this " +"page. Would you like to login to a different account?" + +msgid "Forgotten your password or username?" +msgstr "Forgotten your password or username?" + +msgid "Toggle navigation" +msgstr "Toggle navigation" + +msgid "Start typing to filter…" +msgstr "" + +msgid "Filter navigation items" +msgstr "" + +msgid "Date/time" +msgstr "Date/time" + +msgid "User" +msgstr "User" + +msgid "Action" +msgstr "Action" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." + +msgid "Show all" +msgstr "Show all" + +msgid "Save" +msgstr "Save" + +msgid "Popup closing…" +msgstr "Popup closing…" + +msgid "Search" +msgstr "Search" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s result" +msgstr[1] "%(counter)s results" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s total" + +msgid "Save as new" +msgstr "Save as new" + +msgid "Save and add another" +msgstr "Save and add another" + +msgid "Save and continue editing" +msgstr "Save and continue editing" + +msgid "Save and view" +msgstr "Save and view" + +msgid "Close" +msgstr "Close" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Change selected %(model)s" + +#, python-format +msgid "Add another %(model)s" +msgstr "Add another %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Delete selected %(model)s" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "" + +msgid "Log in again" +msgstr "Log in again" + +msgid "Password change" +msgstr "Password change" + +msgid "Your password was changed." +msgstr "Your password was changed." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." + +msgid "Change my password" +msgstr "Change my password" + +msgid "Password reset" +msgstr "Password reset" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Your password has been set. You may go ahead and log in now." + +msgid "Password reset confirmation" +msgstr "Password reset confirmation" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." + +msgid "New password:" +msgstr "New password:" + +msgid "Confirm password:" +msgstr "Confirm password:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Please go to the following page and choose a new password:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Your username, in case you’ve forgotten:" + +msgid "Thanks for using our site!" +msgstr "Thanks for using our site!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "The %(site_name)s team" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." + +msgid "Email address:" +msgstr "Email address:" + +msgid "Reset my password" +msgstr "Reset my password" + +msgid "All dates" +msgstr "All dates" + +#, python-format +msgid "Select %s" +msgstr "Select %s" + +#, python-format +msgid "Select %s to change" +msgstr "Select %s to change" + +#, python-format +msgid "Select %s to view" +msgstr "Select %s to view" + +msgid "Date:" +msgstr "Date:" + +msgid "Time:" +msgstr "Time:" + +msgid "Lookup" +msgstr "Lookup" + +msgid "Currently:" +msgstr "Currently:" + +msgid "Change:" +msgstr "Change:" diff --git a/external_sources/django/django/contrib/admin/locale/en_AU/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/en_AU/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..c4e52eb --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/en_AU/LC_MESSAGES/djangojs.po @@ -0,0 +1,266 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Tom Fifield , 2014 +# Tom Fifield , 2021 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-15 09:00+0100\n" +"PO-Revision-Date: 2021-04-11 13:13+0000\n" +"Last-Translator: Tom Fifield \n" +"Language-Team: English (Australia) (http://www.transifex.com/django/django/" +"language/en_AU/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en_AU\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "Available %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Type into this box to filter down the list of available %s." + +msgid "Filter" +msgstr "Filter" + +msgid "Choose all" +msgstr "Choose all" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Click to choose all %s at once." + +msgid "Choose" +msgstr "Choose" + +msgid "Remove" +msgstr "Remove" + +#, javascript-format +msgid "Chosen %s" +msgstr "Chosen %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." + +msgid "Remove all" +msgstr "Remove all" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Click to remove all chosen %s at once." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s of %(cnt)s selected" +msgstr[1] "%(sel)s of %(cnt)s selected" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." + +msgid "Now" +msgstr "Now" + +msgid "Midnight" +msgstr "Midnight" + +msgid "6 a.m." +msgstr "6 a.m." + +msgid "Noon" +msgstr "Noon" + +msgid "6 p.m." +msgstr "6 p.m." + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Note: You are %s hour ahead of server time." +msgstr[1] "Note: You are %s hours ahead of server time." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Note: You are %s hour behind server time." +msgstr[1] "Note: You are %s hours behind server time." + +msgid "Choose a Time" +msgstr "Choose a Time" + +msgid "Choose a time" +msgstr "Choose a time" + +msgid "Cancel" +msgstr "Cancel" + +msgid "Today" +msgstr "Today" + +msgid "Choose a Date" +msgstr "Choose a Date" + +msgid "Yesterday" +msgstr "Yesterday" + +msgid "Tomorrow" +msgstr "Tomorrow" + +msgid "January" +msgstr "January" + +msgid "February" +msgstr "February" + +msgid "March" +msgstr "March" + +msgid "April" +msgstr "April" + +msgid "May" +msgstr "May" + +msgid "June" +msgstr "June" + +msgid "July" +msgstr "July" + +msgid "August" +msgstr "August" + +msgid "September" +msgstr "September" + +msgid "October" +msgstr "October" + +msgid "November" +msgstr "November" + +msgid "December" +msgstr "December" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Jan" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Feb" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Mar" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Apr" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "May" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Jun" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Jul" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Aug" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Sep" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Oct" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Nov" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Dec" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "S" + +msgctxt "one letter Monday" +msgid "M" +msgstr "M" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "T" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "W" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "T" + +msgctxt "one letter Friday" +msgid "F" +msgstr "F" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "S" + +msgid "Show" +msgstr "Show" + +msgid "Hide" +msgstr "Hide" diff --git a/external_sources/django/django/contrib/admin/locale/en_GB/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/en_GB/LC_MESSAGES/django.po new file mode 100644 index 0000000..167a0db --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/en_GB/LC_MESSAGES/django.po @@ -0,0 +1,691 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Adam Forster , 2019 +# jon_atkinson , 2011-2012 +# Ross Poulton , 2011-2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-01-16 20:42+0100\n" +"PO-Revision-Date: 2019-04-05 10:37+0000\n" +"Last-Translator: Adam Forster \n" +"Language-Team: English (United Kingdom) (http://www.transifex.com/django/" +"django/language/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" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Successfully deleted %(count)d %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Cannot delete %(name)s" + +msgid "Are you sure?" +msgstr "Are you sure?" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Delete selected %(verbose_name_plural)s" + +msgid "Administration" +msgstr "Administration" + +msgid "All" +msgstr "All" + +msgid "Yes" +msgstr "Yes" + +msgid "No" +msgstr "No" + +msgid "Unknown" +msgstr "Unknown" + +msgid "Any date" +msgstr "Any date" + +msgid "Today" +msgstr "Today" + +msgid "Past 7 days" +msgstr "Past 7 days" + +msgid "This month" +msgstr "This month" + +msgid "This year" +msgstr "This year" + +msgid "No date" +msgstr "No date" + +msgid "Has date" +msgstr "Has date" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." + +msgid "Action:" +msgstr "Action:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Add another %(verbose_name)s" + +msgid "Remove" +msgstr "Remove" + +msgid "Addition" +msgstr "Addition" + +msgid "Change" +msgstr "Change" + +msgid "Deletion" +msgstr "Deletion" + +msgid "action time" +msgstr "action time" + +msgid "user" +msgstr "user" + +msgid "content type" +msgstr "content type" + +msgid "object id" +msgstr "object id" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "object repr" + +msgid "action flag" +msgstr "action flag" + +msgid "change message" +msgstr "change message" + +msgid "log entry" +msgstr "log entry" + +msgid "log entries" +msgstr "log entries" + +#, python-format +msgid "Added \"%(object)s\"." +msgstr "Added \"%(object)s\"." + +#, python-format +msgid "Changed \"%(object)s\" - %(changes)s" +msgstr "Changed \"%(object)s\" - %(changes)s" + +#, python-format +msgid "Deleted \"%(object)s.\"" +msgstr "Deleted \"%(object)s.\"" + +msgid "LogEntry Object" +msgstr "LogEntry Object" + +#, python-brace-format +msgid "Added {name} \"{object}\"." +msgstr "Added {name} \"{object}\"." + +msgid "Added." +msgstr "Added." + +msgid "and" +msgstr "and" + +#, python-brace-format +msgid "Changed {fields} for {name} \"{object}\"." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "" + +#, python-brace-format +msgid "Deleted {name} \"{object}\"." +msgstr "" + +msgid "No fields changed." +msgstr "No fields changed." + +msgid "None" +msgstr "None" + +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was added successfully." +msgstr "" + +msgid "You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." + +msgid "No action selected." +msgstr "No action selected." + +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "The %(name)s \"%(obj)s\" was deleted successfully." + +#, python-format +msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "Add %s" + +#, python-format +msgid "Change %s" +msgstr "Change %s" + +#, python-format +msgid "View %s" +msgstr "" + +msgid "Database error" +msgstr "Database error" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s was changed successfully." +msgstr[1] "%(count)s %(name)s were changed successfully." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s selected" +msgstr[1] "All %(total_count)s selected" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 of %(cnt)s selected" + +#, python-format +msgid "Change history: %s" +msgstr "Change history: %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" + +msgid "Django site admin" +msgstr "Django site admin" + +msgid "Django administration" +msgstr "Django administration" + +msgid "Site administration" +msgstr "Site administration" + +msgid "Log in" +msgstr "Log in" + +#, python-format +msgid "%(app)s administration" +msgstr "" + +msgid "Page not found" +msgstr "Page not found" + +msgid "We're sorry, but the requested page could not be found." +msgstr "We're sorry, but the requested page could not be found." + +msgid "Home" +msgstr "Home" + +msgid "Server error" +msgstr "Server error" + +msgid "Server error (500)" +msgstr "Server error (500)" + +msgid "Server Error (500)" +msgstr "Server Error (500)" + +msgid "" +"There's been an error. It's been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +msgid "Run the selected action" +msgstr "Run the selected action" + +msgid "Go" +msgstr "Go" + +msgid "Click here to select the objects across all pages" +msgstr "Click here to select the objects across all pages" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Select all %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Clear selection" + +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." + +msgid "Enter a username and password." +msgstr "Enter a username and password." + +msgid "Change password" +msgstr "Change password" + +msgid "Please correct the error below." +msgstr "" + +msgid "Please correct the errors below." +msgstr "" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Enter a new password for the user %(username)s." + +msgid "Welcome," +msgstr "Welcome," + +msgid "View site" +msgstr "" + +msgid "Documentation" +msgstr "Documentation" + +msgid "Log out" +msgstr "Log out" + +#, python-format +msgid "Add %(name)s" +msgstr "Add %(name)s" + +msgid "History" +msgstr "History" + +msgid "View on site" +msgstr "View on site" + +msgid "Filter" +msgstr "Filter" + +msgid "Remove from sorting" +msgstr "Remove from sorting" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Sorting priority: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Toggle sorting" + +msgid "Delete" +msgstr "Delete" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" + +msgid "Objects" +msgstr "" + +msgid "Yes, I'm sure" +msgstr "Yes, I'm sure" + +msgid "No, take me back" +msgstr "" + +msgid "Delete multiple objects" +msgstr "Delete multiple objects" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" + +msgid "View" +msgstr "" + +msgid "Delete?" +msgstr "Delete?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " By %(filter_title)s " + +msgid "Summary" +msgstr "" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "" + +msgid "Add" +msgstr "Add" + +msgid "You don't have permission to view or edit anything." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "My actions" +msgstr "" + +msgid "None available" +msgstr "None available" + +msgid "Unknown content" +msgstr "Unknown content" + +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" + +msgid "Forgotten your password or username?" +msgstr "Forgotten your password or username?" + +msgid "Date/time" +msgstr "Date/time" + +msgid "User" +msgstr "User" + +msgid "Action" +msgstr "Action" + +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." + +msgid "Show all" +msgstr "Show all" + +msgid "Save" +msgstr "Save" + +msgid "Popup closing…" +msgstr "" + +msgid "Search" +msgstr "Search" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s result" +msgstr[1] "%(counter)s results" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s total" + +msgid "Save as new" +msgstr "Save as new" + +msgid "Save and add another" +msgstr "Save and add another" + +msgid "Save and continue editing" +msgstr "Save and continue editing" + +msgid "Save and view" +msgstr "" + +msgid "Close" +msgstr "" + +#, python-format +msgid "Change selected %(model)s" +msgstr "" + +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Thanks for spending some quality time with the Web site today." + +msgid "Log in again" +msgstr "Log in again" + +msgid "Password change" +msgstr "Password change" + +msgid "Your password was changed." +msgstr "Your password was changed." + +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." + +msgid "Change my password" +msgstr "Change my password" + +msgid "Password reset" +msgstr "Password reset" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Your password has been set. You may go ahead and log in now." + +msgid "Password reset confirmation" +msgstr "Password reset confirmation" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." + +msgid "New password:" +msgstr "New password:" + +msgid "Confirm password:" +msgstr "Confirm password:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." + +msgid "" +"We've emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don't receive an email, please make sure you've entered the address " +"you registered with, and check your spam folder." +msgstr "" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" + +msgid "Please go to the following page and choose a new password:" +msgstr "Please go to the following page and choose a new password:" + +msgid "Your username, in case you've forgotten:" +msgstr "Your username, in case you've forgotten:" + +msgid "Thanks for using our site!" +msgstr "Thanks for using our site!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "The %(site_name)s team" + +msgid "" +"Forgotten your password? Enter your email address below, and we'll email " +"instructions for setting a new one." +msgstr "" + +msgid "Email address:" +msgstr "" + +msgid "Reset my password" +msgstr "Reset my password" + +msgid "All dates" +msgstr "All dates" + +#, python-format +msgid "Select %s" +msgstr "Select %s" + +#, python-format +msgid "Select %s to change" +msgstr "Select %s to change" + +#, python-format +msgid "Select %s to view" +msgstr "" + +msgid "Date:" +msgstr "Date:" + +msgid "Time:" +msgstr "Time:" + +msgid "Lookup" +msgstr "Lookup" + +msgid "Currently:" +msgstr "" + +msgid "Change:" +msgstr "" diff --git a/external_sources/django/django/contrib/admin/locale/en_GB/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/en_GB/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..03cf679 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/en_GB/LC_MESSAGES/djangojs.po @@ -0,0 +1,218 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# jon_atkinson , 2012 +# Ross Poulton , 2011-2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"PO-Revision-Date: 2017-09-19 16:41+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: English (United Kingdom) (http://www.transifex.com/django/" +"django/language/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" + +#, javascript-format +msgid "Available %s" +msgstr "Available %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Type into this box to filter down the list of available %s." + +msgid "Filter" +msgstr "Filter" + +msgid "Choose all" +msgstr "Choose all" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Click to choose all %s at once." + +msgid "Choose" +msgstr "Choose" + +msgid "Remove" +msgstr "Remove" + +#, javascript-format +msgid "Chosen %s" +msgstr "Chosen %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." + +msgid "Remove all" +msgstr "Remove all" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Click to remove all chosen %s at once." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s of %(cnt)s selected" +msgstr[1] "%(sel)s of %(cnt)s selected" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" +msgstr[1] "" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +msgstr[1] "" + +msgid "Now" +msgstr "Now" + +msgid "Choose a Time" +msgstr "" + +msgid "Choose a time" +msgstr "Choose a time" + +msgid "Midnight" +msgstr "Midnight" + +msgid "6 a.m." +msgstr "6 a.m." + +msgid "Noon" +msgstr "Noon" + +msgid "6 p.m." +msgstr "" + +msgid "Cancel" +msgstr "Cancel" + +msgid "Today" +msgstr "Today" + +msgid "Choose a Date" +msgstr "" + +msgid "Yesterday" +msgstr "Yesterday" + +msgid "Tomorrow" +msgstr "Tomorrow" + +msgid "January" +msgstr "" + +msgid "February" +msgstr "" + +msgid "March" +msgstr "" + +msgid "April" +msgstr "" + +msgid "May" +msgstr "" + +msgid "June" +msgstr "" + +msgid "July" +msgstr "" + +msgid "August" +msgstr "" + +msgid "September" +msgstr "" + +msgid "October" +msgstr "" + +msgid "November" +msgstr "" + +msgid "December" +msgstr "" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "" + +msgctxt "one letter Monday" +msgid "M" +msgstr "" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "" + +msgctxt "one letter Friday" +msgid "F" +msgstr "" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "" + +msgid "Show" +msgstr "Show" + +msgid "Hide" +msgstr "Hide" diff --git a/external_sources/django/django/contrib/admin/locale/eo/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/eo/LC_MESSAGES/django.po new file mode 100644 index 0000000..ddc5901 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/eo/LC_MESSAGES/django.po @@ -0,0 +1,728 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Batist D 🐍 , 2012-2013 +# Batist D 🐍 , 2013-2019 +# Claude Paroz , 2016 +# Dinu Gherman , 2011 +# kristjan , 2012 +# Matthieu Desplantes , 2021 +# Meiyer , 2022 +# Nikolay Korotkiy , 2017 +# Adamo Mesha , 2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-05-17 05:10-0500\n" +"PO-Revision-Date: 2022-05-25 07:05+0000\n" +"Last-Translator: Meiyer , 2022\n" +"Language-Team: Esperanto (http://www.transifex.com/django/django/language/" +"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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Forigi elektitajn %(verbose_name_plural)sn" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Sukcese forigis %(count)d %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Ne povas forigi %(name)s" + +msgid "Are you sure?" +msgstr "Ĉu vi certas?" + +msgid "Administration" +msgstr "Administrado" + +msgid "All" +msgstr "Ĉio" + +msgid "Yes" +msgstr "Jes" + +msgid "No" +msgstr "Ne" + +msgid "Unknown" +msgstr "Nekonata" + +msgid "Any date" +msgstr "Ajna dato" + +msgid "Today" +msgstr "Hodiaŭ" + +msgid "Past 7 days" +msgstr "Lastaj 7 tagoj" + +msgid "This month" +msgstr "Ĉi tiu monato" + +msgid "This year" +msgstr "Ĉi tiu jaro" + +msgid "No date" +msgstr "Neniu dato" + +msgid "Has date" +msgstr "Havas daton" + +msgid "Empty" +msgstr "Malplena" + +msgid "Not empty" +msgstr "Ne malplena" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Bonvolu enigi la ĝustajn %(username)sn kaj pasvorton por personara konto. " +"Notu, ke ambaŭ kampoj povas esti uskleco-distingaj." + +msgid "Action:" +msgstr "Ago:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Aldoni alian %(verbose_name)sn" + +msgid "Remove" +msgstr "Forigi" + +msgid "Addition" +msgstr "Aldono" + +msgid "Change" +msgstr "Ŝanĝi" + +msgid "Deletion" +msgstr "Forviŝo" + +msgid "action time" +msgstr "aga tempo" + +msgid "user" +msgstr "uzanto" + +msgid "content type" +msgstr "enhava tipo" + +msgid "object id" +msgstr "objekta identigaĵo" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "objekta prezento" + +msgid "action flag" +msgstr "aga marko" + +msgid "change message" +msgstr "ŝanĝmesaĝo" + +msgid "log entry" +msgstr "protokolero" + +msgid "log entries" +msgstr "protokoleroj" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Aldono de “%(object)s”" + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Ŝanĝo de “%(object)s” — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Forigo de “%(object)s”" + +msgid "LogEntry Object" +msgstr "Protokolera objekto" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Aldonita(j) {name} “{object}”." + +msgid "Added." +msgstr "Aldonita." + +msgid "and" +msgstr "kaj" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Ŝanĝita(j) {fields} por {name} “{object}”." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Ŝanĝita(j) {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Forigita(j) {name} “{object}”." + +msgid "No fields changed." +msgstr "Neniu kampo ŝanĝita." + +msgid "None" +msgstr "Neniu" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "La {name} “{obj}” estis sukcese aldonita(j)." + +msgid "You may edit it again below." +msgstr "Eblas redakti ĝin sube." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Elementoj devas esti elektitaj por agi je ili. Neniu elemento estis ŝanĝita." + +msgid "No action selected." +msgstr "Neniu ago elektita." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "La %(name)s “%(obj)s” estis sukcese forigita(j)." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "Aldoni %sn" + +#, python-format +msgid "Change %s" +msgstr "Ŝanĝi %s" + +#, python-format +msgid "View %s" +msgstr "Vidi %sn" + +msgid "Database error" +msgstr "Datumbaza eraro" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s estis sukcese ŝanĝita." +msgstr[1] "%(count)s %(name)s estis sukcese ŝanĝitaj." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s elektitaj" +msgstr[1] "Ĉiuj %(total_count)s elektitaj" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 el %(cnt)s elektita" + +#, python-format +msgid "Change history: %s" +msgstr "Ŝanĝa historio: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Forigi la %(class_name)s-n “%(instance)s” postulus forigi la sekvajn " +"protektitajn rilatajn objektojn: %(related_objects)s" + +msgid "Django site admin" +msgstr "Dĵanga reteja administrado" + +msgid "Django administration" +msgstr "Dĵanga administrado" + +msgid "Site administration" +msgstr "Reteja administrado" + +msgid "Log in" +msgstr "Ensaluti" + +#, python-format +msgid "%(app)s administration" +msgstr "Administrado de %(app)s" + +msgid "Page not found" +msgstr "Paĝo ne trovita" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Bedaŭrinde la petita paĝo ne estis trovita." + +msgid "Home" +msgstr "Ĉefpaĝo" + +msgid "Server error" +msgstr "Servila eraro" + +msgid "Server error (500)" +msgstr "Servila eraro (500)" + +msgid "Server Error (500)" +msgstr "Servila eraro (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +msgid "Run the selected action" +msgstr "Lanĉi la elektitan agon" + +msgid "Go" +msgstr "Ek" + +msgid "Click here to select the objects across all pages" +msgstr "Klaku ĉi-tie por elekti la objektojn trans ĉiuj paĝoj" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Elekti ĉiuj %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Viŝi elekton" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Modeloj en la aplikaĵo “%(name)s”" + +msgid "Add" +msgstr "Aldoni" + +msgid "View" +msgstr "Vidi" + +msgid "You don’t have permission to view or edit anything." +msgstr "" + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" + +msgid "Enter a username and password." +msgstr "Enigu salutnomon kaj pasvorton." + +msgid "Change password" +msgstr "Ŝanĝi pasvorton" + +msgid "Please correct the error below." +msgstr "Bonvolu ĝustigi la eraron sube." + +msgid "Please correct the errors below." +msgstr "Bonvolu ĝustigi la erarojn sube." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Enigu novan pasvorton por la uzanto %(username)s." + +msgid "Welcome," +msgstr "Bonvenon," + +msgid "View site" +msgstr "Vidi retejon" + +msgid "Documentation" +msgstr "Dokumentaro" + +msgid "Log out" +msgstr "Elsaluti" + +#, python-format +msgid "Add %(name)s" +msgstr "Aldoni %(name)sn" + +msgid "History" +msgstr "Historio" + +msgid "View on site" +msgstr "Vidi sur retejo" + +msgid "Filter" +msgstr "Filtri" + +msgid "Clear all filters" +msgstr "" + +msgid "Remove from sorting" +msgstr "Forigi el ordigado" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Ordiga prioritato: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Ŝalti ordigadon" + +msgid "Delete" +msgstr "Forigi" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Foriganti la %(object_name)s '%(escaped_object)s' rezultus en foriganti " +"rilatajn objektojn, sed via konto ne havas permeson por forigi la sekvantajn " +"tipojn de objektoj:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Forigi la %(object_name)s '%(escaped_object)s' postulus forigi la sekvajn " +"protektitajn rilatajn objektojn:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Ĉu vi certas, ke vi volas forigi %(object_name)s \"%(escaped_object)s\"? " +"Ĉiuj el la sekvaj rilataj eroj estos forigitaj:" + +msgid "Objects" +msgstr "Objektoj" + +msgid "Yes, I’m sure" +msgstr "Jes, mi certas" + +msgid "No, take me back" +msgstr "Ne, reen" + +msgid "Delete multiple objects" +msgstr "Forigi plurajn objektojn" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Forigi la %(objects_name)s rezultus en forigi rilatajn objektojn, sed via " +"konto ne havas permeson por forigi la sekvajn tipojn de objektoj:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Forigi la %(objects_name)s postulus forigi la sekvajn protektitajn rilatajn " +"objektojn:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Ĉu vi certas, ke vi volas forigi la elektitajn %(objects_name)s? Ĉiuj el la " +"sekvaj objektoj kaj iliaj rilataj eroj estos forigita:" + +msgid "Delete?" +msgstr "Forviŝi?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " Laŭ %(filter_title)s " + +msgid "Summary" +msgstr "Resumo" + +msgid "Recent actions" +msgstr "Lastaj agoj" + +msgid "My actions" +msgstr "Miaj agoj" + +msgid "None available" +msgstr "Neniu disponebla" + +msgid "Unknown content" +msgstr "Nekonata enhavo" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Vi estas aŭtentikigita kiel %(username)s, sed ne havas permeson aliri tiun " +"paĝon. Ĉu vi ŝatus ensaluti per alia konto?" + +msgid "Forgotten your password or username?" +msgstr "Ĉu vi forgesis vian pasvorton aŭ vian salutnomon?" + +msgid "Toggle navigation" +msgstr "Ŝalti navigadon" + +msgid "Start typing to filter…" +msgstr "" + +msgid "Filter navigation items" +msgstr "" + +msgid "Date/time" +msgstr "Dato/horo" + +msgid "User" +msgstr "Uzanto" + +msgid "Action" +msgstr "Ago" + +msgid "entry" +msgstr "" + +msgid "entries" +msgstr "" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Ĉi tiu objekto ne havas historion de ŝanĝoj. Ĝi verŝajne ne estis aldonita " +"per ĉi tiu administrejo." + +msgid "Show all" +msgstr "Montri ĉion" + +msgid "Save" +msgstr "Konservi" + +msgid "Popup closing…" +msgstr "Ŝprucfenesto fermiĝas…" + +msgid "Search" +msgstr "Serĉu" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s resulto" +msgstr[1] "%(counter)s rezultoj" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s entute" + +msgid "Save as new" +msgstr "Konservi kiel novan" + +msgid "Save and add another" +msgstr "Konservi kaj aldoni alian" + +msgid "Save and continue editing" +msgstr "Konservi kaj daŭre redakti" + +msgid "Save and view" +msgstr "Konservi kaj vidi" + +msgid "Close" +msgstr "Fermi" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Redaktu elektitan %(model)sn" + +#, python-format +msgid "Add another %(model)s" +msgstr "Aldoni alian %(model)sn" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Forigi elektitan %(model)sn" + +#, python-format +msgid "View selected %(model)s" +msgstr "" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "" + +msgid "Log in again" +msgstr "Ensaluti denove" + +msgid "Password change" +msgstr "Pasvorta ŝanĝo" + +msgid "Your password was changed." +msgstr "Via pasvorto estis sukcese ŝanĝita." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Bonvolu entajpi vian malnovan pasvorton pro sekureco, kaj entajpi vian novan " +"pasvorton dufoje, por ke ni estu certaj, ke vi tajpis ĝin ĝuste." + +msgid "Change my password" +msgstr "Ŝanĝi mian passvorton" + +msgid "Password reset" +msgstr "Pasvorta rekomencigo" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Via pasvorto estis ŝanĝita. Vi povas ensaluti nun." + +msgid "Password reset confirmation" +msgstr "Konfirmo de restarigo de pasvorto" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Bonvolu entajpi vian novan pasvorton dufoje, tiel ni povas konfirmi ke vi " +"ĝuste tajpis ĝin." + +msgid "New password:" +msgstr "Nova pasvorto:" + +msgid "Confirm password:" +msgstr "Konfirmi pasvorton:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"La ligilo por restarigi pasvorton estis malvalida, eble ĉar ĝi jam estis " +"uzita. Bonvolu denove peti restarigon de pasvorto." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Ni sendis al vi instrukciojn por starigi vian pasvorton, se ekzistas konto " +"kun la retadreso, kiun vi provizis. Vi devus ricevi ilin post mallonge." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Se vi ne ricevas retmesaĝon, bonvole certiĝu ke vi entajpis la adreson per " +"kiu vi registriĝis, kaj kontrolu en via spamujo." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Vi ricevis ĉi tiun retpoŝton ĉar vi petis pasvortan rekomencigon por via " +"uzanta konto ĉe %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Bonvolu iri al la sekvanta paĝo kaj elekti novan pasvorton:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Via uzantnomo, se vi forgesis ĝin:" + +msgid "Thanks for using our site!" +msgstr "Dankon pro uzo de nia retejo!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "La %(site_name)s teamo" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Ĉu vi forgesis vian pasvorton? Entajpu vian retpoŝtadreson sube kaj ni " +"sendos al vi retpoŝte instrukciojn por ŝanĝi ĝin." + +msgid "Email address:" +msgstr "Retpoŝto:" + +msgid "Reset my password" +msgstr "Rekomencigi mian pasvorton" + +msgid "All dates" +msgstr "Ĉiuj datoj" + +#, python-format +msgid "Select %s" +msgstr "Elekti %sn" + +#, python-format +msgid "Select %s to change" +msgstr "Elekti %sn por ŝanĝi" + +#, python-format +msgid "Select %s to view" +msgstr "Elektu %sn por vidi" + +msgid "Date:" +msgstr "Dato:" + +msgid "Time:" +msgstr "Horo:" + +msgid "Lookup" +msgstr "Trarigardo" + +msgid "Currently:" +msgstr "Nuntempe:" + +msgid "Change:" +msgstr "Ŝanĝo:" diff --git a/external_sources/django/django/contrib/admin/locale/eo/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/eo/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..db99913 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/eo/LC_MESSAGES/djangojs.po @@ -0,0 +1,268 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Batist D 🐍 , 2012 +# Batist D 🐍 , 2014-2016 +# 977db45bb2d7151f88325d4fbeca189e_848074d <3d1ba07956d05291bf7c987ecea0a7ef_13052>, 2011 +# Meiyer , 2022 +# Adamo Mesha , 2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-05-17 05:26-0500\n" +"PO-Revision-Date: 2022-05-25 07:05+0000\n" +"Last-Translator: Meiyer , 2022\n" +"Language-Team: Esperanto (http://www.transifex.com/django/django/language/" +"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" + +#, javascript-format +msgid "Available %s" +msgstr "Disponeblaj %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Tio ĉi estas la listo de disponeblaj %s. Vi povas aktivigi kelkajn markante " +"ilin en la suba kesto kaj klakante la sagon “Elekti” inter la du kestoj." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Tajpu en ĉi-tiu skatolo por filtri la liston de haveblaj %s." + +msgid "Filter" +msgstr "Filtru" + +msgid "Choose all" +msgstr "Elekti ĉiujn" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Klaku por tuj elekti ĉiujn %sn." + +msgid "Choose" +msgstr "Elekti" + +msgid "Remove" +msgstr "Forigi" + +#, javascript-format +msgid "Chosen %s" +msgstr "Elektitaj %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Tio ĉi estas la listo de elektitaj %s. Vi povas malaktivigi kelkajn markante " +"ilin en la suba kesto kaj klakante la sagon “Forigi” inter la du kestoj." + +msgid "Remove all" +msgstr "Forigi ĉiujn" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Klaku por tuj forigi ĉiujn %sn elektitajn." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s de %(cnt)s elektita" +msgstr[1] "%(sel)s el %(cnt)s elektitaj" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Vi havas neŝirmitajn ŝanĝojn je unuopaj redakteblaj kampoj. Se vi faros " +"agon, viaj neŝirmitaj ŝanĝoj perdiĝos." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" + +msgid "Now" +msgstr "Nun" + +msgid "Midnight" +msgstr "Noktomeze" + +msgid "6 a.m." +msgstr "6 a.t.m." + +msgid "Noon" +msgstr "Tagmeze" + +msgid "6 p.m." +msgstr "6 p.t.m." + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Noto: Vi estas %s horon post la servila horo." +msgstr[1] "Noto: Vi estas %s horojn post la servila horo." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Noto: Vi estas %s horon antaŭ la servila horo." +msgstr[1] "Noto: Vi estas %s horojn antaŭ la servila horo." + +msgid "Choose a Time" +msgstr "Elektu horon" + +msgid "Choose a time" +msgstr "Elektu tempon" + +msgid "Cancel" +msgstr "Nuligi" + +msgid "Today" +msgstr "Hodiaŭ" + +msgid "Choose a Date" +msgstr "Elektu daton" + +msgid "Yesterday" +msgstr "Hieraŭ" + +msgid "Tomorrow" +msgstr "Morgaŭ" + +msgid "January" +msgstr "januaro" + +msgid "February" +msgstr "februaro" + +msgid "March" +msgstr "marto" + +msgid "April" +msgstr "aprilo" + +msgid "May" +msgstr "majo" + +msgid "June" +msgstr "junio" + +msgid "July" +msgstr "julio" + +msgid "August" +msgstr "aŭgusto" + +msgid "September" +msgstr "septembro" + +msgid "October" +msgstr "oktobro" + +msgid "November" +msgstr "novembro" + +msgid "December" +msgstr "decembro" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "jan." + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "feb." + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "mar." + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "apr." + +msgctxt "abbrev. month May" +msgid "May" +msgstr "maj." + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "jun." + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "jul." + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "aŭg." + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "sep." + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "okt." + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "nov." + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "dec." + +msgctxt "one letter Sunday" +msgid "S" +msgstr "d" + +msgctxt "one letter Monday" +msgid "M" +msgstr "l" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "m" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "m" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "ĵ" + +msgctxt "one letter Friday" +msgid "F" +msgstr "v" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "s" + +msgid "" +"You have already submitted this form. Are you sure you want to submit it " +"again?" +msgstr "Vi jam forsendis tiun ĉi formularon. Ĉu vi certe volas resendi ĝin?" + +msgid "Show" +msgstr "Montri" + +msgid "Hide" +msgstr "Kaŝi" diff --git a/external_sources/django/django/contrib/admin/locale/es/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/es/LC_MESSAGES/django.po new file mode 100644 index 0000000..7634841 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/es/LC_MESSAGES/django.po @@ -0,0 +1,818 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# abraham.martin , 2014 +# Antoni Aloy , 2011-2014 +# Claude Paroz , 2014 +# e4db27214f7e7544f2022c647b585925_bb0e321, 2015-2016 +# 8cb2d5a716c3c9a99b6d20472609a4d5_6d03802 , 2011 +# guillem , 2012 +# Ignacio José Lizarán Rus , 2019 +# Igor Támara , 2013 +# Jannis Leidel , 2011 +# Jorge Andres Bravo Meza, 2024 +# Jorge Puente Sarrín , 2014-2015 +# José Luis , 2016 +# Josue Naaman Nistal Guerra , 2014 +# Luigy, 2019 +# Marc Garcia , 2011 +# Miguel Angel Tribaldos , 2017 +# Miguel Gonzalez , 2023 +# Natalia, 2024 +# Pablo, 2015 +# Salomon Herrera, 2023 +# Uriel Medina , 2020-2024 +# Veronicabh , 2015 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-10-07 07:05+0000\n" +"Last-Translator: Uriel Medina , 2020-2024\n" +"Language-Team: Spanish (http://app.transifex.com/django/django/language/" +"es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Eliminar %(verbose_name_plural)s seleccionado/s" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Eliminado/s %(count)d %(items)s satisfactoriamente." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "No se puede eliminar %(name)s" + +msgid "Are you sure?" +msgstr "¿Está seguro?" + +msgid "Administration" +msgstr "Administración" + +msgid "All" +msgstr "Todo" + +msgid "Yes" +msgstr "Sí" + +msgid "No" +msgstr "No" + +msgid "Unknown" +msgstr "Desconocido" + +msgid "Any date" +msgstr "Cualquier fecha" + +msgid "Today" +msgstr "Hoy" + +msgid "Past 7 days" +msgstr "Últimos 7 días" + +msgid "This month" +msgstr "Este mes" + +msgid "This year" +msgstr "Este año" + +msgid "No date" +msgstr "Sin fecha" + +msgid "Has date" +msgstr "Tiene fecha" + +msgid "Empty" +msgstr "Vacío" + +msgid "Not empty" +msgstr "No vacío" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Por favor introduzca el %(username)s y la clave correctos para una cuenta de " +"personal. Observe que ambos campos pueden ser sensibles a mayúsculas." + +msgid "Action:" +msgstr "Acción:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Agregar %(verbose_name)s adicional." + +msgid "Remove" +msgstr "Eliminar" + +msgid "Addition" +msgstr "Añadido" + +msgid "Change" +msgstr "Modificar" + +msgid "Deletion" +msgstr "Borrado" + +msgid "action time" +msgstr "hora de la acción" + +msgid "user" +msgstr "usuario" + +msgid "content type" +msgstr "tipo de contenido" + +msgid "object id" +msgstr "id del objeto" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "repr del objeto" + +msgid "action flag" +msgstr "marca de acción" + +msgid "change message" +msgstr "mensaje de cambio" + +msgid "log entry" +msgstr "entrada de registro" + +msgid "log entries" +msgstr "entradas de registro" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Agregado “%(object)s”." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Modificado “%(object)s” — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Eliminado “%(object)s.”" + +msgid "LogEntry Object" +msgstr "Objeto de registro de Log" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Agregado {name} “{object}”." + +msgid "Added." +msgstr "Añadido." + +msgid "and" +msgstr "y" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Cambios en {fields} para {name} “{object}”." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Modificado {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Eliminado {name} “{object}”." + +msgid "No fields changed." +msgstr "No ha cambiado ningún campo." + +msgid "None" +msgstr "Ninguno" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Mantenga presionado \"Control\" o \"Comando\" en una Mac, para seleccionar " +"más de uno." + +msgid "Select this object for an action - {}" +msgstr "Seleccione este objeto para una acción - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "El {name} “{obj}” fue agregado correctamente." + +msgid "You may edit it again below." +msgstr "Puede volverlo a editar otra vez a continuación." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"El {name} “{obj}” se agregó correctamente. Puede agregar otro {name} a " +"continuación." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"El {name} “{obj}” se cambió correctamente. Puede editarlo nuevamente a " +"continuación." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"El {name} “{obj}” se cambió correctamente. Puede agregar otro {name} a " +"continuación." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "El {name} “{obj}” se cambió correctamente." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Se deben seleccionar elementos para poder realizar acciones sobre estos. No " +"se han modificado elementos." + +msgid "No action selected." +msgstr "No se seleccionó ninguna acción." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "El%(name)s “%(obj)s” fue eliminado con éxito." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "%(name)s con el ID “%(key)s” no existe. ¿Quizás fue eliminado?" + +#, python-format +msgid "Add %s" +msgstr "Añadir %s" + +#, python-format +msgid "Change %s" +msgstr "Modificar %s" + +#, python-format +msgid "View %s" +msgstr "Vista %s" + +msgid "Database error" +msgstr "Error en la base de datos" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s fué modificado con éxito." +msgstr[1] "%(count)s %(name)s fueron modificados con éxito." +msgstr[2] "%(count)s %(name)s fueron modificados con éxito." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s seleccionado" +msgstr[1] "%(total_count)s seleccionados en total" +msgstr[2] "%(total_count)s seleccionados en total" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "seleccionados 0 de %(cnt)s" + +#, python-format +msgid "Change history: %s" +msgstr "Histórico de modificaciones: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"La eliminación de %(class_name)s %(instance)s requeriría eliminar los " +"siguientes objetos relacionados protegidos: %(related_objects)s" + +msgid "Django site admin" +msgstr "Sitio de administración de Django" + +msgid "Django administration" +msgstr "Administración de Django" + +msgid "Site administration" +msgstr "Sitio administrativo" + +msgid "Log in" +msgstr "Iniciar sesión" + +#, python-format +msgid "%(app)s administration" +msgstr "Administración de %(app)s " + +msgid "Page not found" +msgstr "Página no encontrada" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Lo sentimos, pero no se pudo encontrar la página solicitada." + +msgid "Home" +msgstr "Inicio" + +msgid "Server error" +msgstr "Error del servidor" + +msgid "Server error (500)" +msgstr "Error del servidor (500)" + +msgid "Server Error (500)" +msgstr "Error de servidor (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Hubo un error. Se ha informado a los administradores del sitio por correo " +"electrónico y debería solucionarse en breve. Gracias por su paciencia." + +msgid "Run the selected action" +msgstr "Ejecutar la acción seleccionada" + +msgid "Go" +msgstr "Ir" + +msgid "Click here to select the objects across all pages" +msgstr "Pulse aquí para seleccionar los objetos a través de todas las páginas" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Seleccionar todos los %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Limpiar selección" + +msgid "Breadcrumbs" +msgstr "Migas de pan" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Modelos en la aplicación %(name)s" + +msgid "Add" +msgstr "Añadir" + +msgid "View" +msgstr "Vista" + +msgid "You don’t have permission to view or edit anything." +msgstr "No cuenta con permiso para ver ni editar nada." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Primero, ingrese un nombre de usuario y contraseña. Luego, podrá editar más " +"opciones del usuario." + +msgid "Enter a username and password." +msgstr "Introduzca un nombre de usuario y contraseña" + +msgid "Change password" +msgstr "Cambiar contraseña" + +msgid "Set password" +msgstr "Establecer contraseña" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Por favor, corrija el siguiente error." +msgstr[1] "Por favor, corrija los siguientes errores." +msgstr[2] "Por favor, corrija los siguientes errores." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"Introduzca una nueva contraseña para el usuario %(username)s." + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "" +"Esta acción habilitará la autenticación basada en " +"contraseña para este usuario." + +msgid "Disable password-based authentication" +msgstr "Deshabilitar la autenticación basada en contraseña" + +msgid "Enable password-based authentication" +msgstr "Habilitar la autenticación basada en contraseña" + +msgid "Skip to main content" +msgstr "Saltar al contenido principal" + +msgid "Welcome," +msgstr "Bienvenidos," + +msgid "View site" +msgstr "Ver el sitio" + +msgid "Documentation" +msgstr "Documentación" + +msgid "Log out" +msgstr "Cerrar sesión" + +#, python-format +msgid "Add %(name)s" +msgstr "Añadir %(name)s" + +msgid "History" +msgstr "Histórico" + +msgid "View on site" +msgstr "Ver en el sitio" + +msgid "Filter" +msgstr "Filtro" + +msgid "Hide counts" +msgstr "Ocultar recuentos" + +msgid "Show counts" +msgstr "Mostrar recuentos" + +msgid "Clear all filters" +msgstr "Borrar todos los filtros" + +msgid "Remove from sorting" +msgstr "Eliminar del ordenación" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Prioridad de la ordenación: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Activar la ordenación" + +msgid "Toggle theme (current theme: auto)" +msgstr "Cambiar tema (tema actual: automático)" + +msgid "Toggle theme (current theme: light)" +msgstr "Cambiar tema (tema actual: claro)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Cambiar tema (tema actual: oscuro)" + +msgid "Delete" +msgstr "Eliminar" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Eliminar el %(object_name)s '%(escaped_object)s' provocaría la eliminación " +"de objetos relacionados, pero su cuenta no tiene permiso para borrar los " +"siguientes tipos de objetos:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"La eliminación de %(object_name)s %(escaped_object)s requeriría eliminar los " +"siguientes objetos relacionados protegidos:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"¿Está seguro de que quiere borrar los %(object_name)s " +"\"%(escaped_object)s\"? Se borrarán los siguientes objetos relacionados:" + +msgid "Objects" +msgstr "Objetos" + +msgid "Yes, I’m sure" +msgstr "Si, estoy seguro" + +msgid "No, take me back" +msgstr "No, llévame atrás" + +msgid "Delete multiple objects" +msgstr "Eliminar múltiples objetos." + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"La eliminación del %(objects_name)s seleccionado resultaría en el borrado de " +"objetos relacionados, pero su cuenta no tiene permisos para borrar los " +"siguientes tipos de objetos:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"La eliminación de %(objects_name)s seleccionado requeriría el borrado de los " +"siguientes objetos protegidos relacionados:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"¿Está usted seguro que quiere eliminar el %(objects_name)s seleccionado? " +"Todos los siguientes objetos y sus elementos relacionados serán borrados:" + +msgid "Delete?" +msgstr "¿Eliminar?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " Por %(filter_title)s " + +msgid "Summary" +msgstr "Resumen" + +msgid "Recent actions" +msgstr "Acciones recientes" + +msgid "My actions" +msgstr "Mis acciones" + +msgid "None available" +msgstr "Ninguno disponible" + +msgid "Added:" +msgstr "Agregado:" + +msgid "Changed:" +msgstr "Modificado:" + +msgid "Deleted:" +msgstr "Eliminado:" + +msgid "Unknown content" +msgstr "Contenido desconocido" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Algo anda mal con la instalación de su base de datos. Asegúrese de que se " +"hayan creado las tablas de base de datos adecuadas y asegúrese de que el " +"usuario adecuado pueda leer la base de datos." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Se ha autenticado como %(username)s, pero no está autorizado a acceder a " +"esta página. ¿Desea autenticarse con una cuenta diferente?" + +msgid "Forgotten your password or username?" +msgstr "¿Ha olvidado la contraseña o el nombre de usuario?" + +msgid "Toggle navigation" +msgstr "Activar navegación" + +msgid "Sidebar" +msgstr "Barra lateral" + +msgid "Start typing to filter…" +msgstr "Empiece a escribir para filtrar…" + +msgid "Filter navigation items" +msgstr "Filtrar elementos de navegación" + +msgid "Date/time" +msgstr "Fecha/hora" + +msgid "User" +msgstr "Usuario" + +msgid "Action" +msgstr "Acción" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "entrada" +msgstr[1] "entradas" +msgstr[2] "entradas" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Este objeto no tiene un historial de cambios. Probablemente no se agregó a " +"través de este sitio de administración." + +msgid "Show all" +msgstr "Mostrar todo" + +msgid "Save" +msgstr "Guardar" + +msgid "Popup closing…" +msgstr "Cerrando ventana emergente..." + +msgid "Search" +msgstr "Buscar" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s resultado" +msgstr[1] "%(counter)s resultados" +msgstr[2] "%(counter)s resultados" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s total" + +msgid "Save as new" +msgstr "Guardar como nuevo" + +msgid "Save and add another" +msgstr "Guardar y añadir otro" + +msgid "Save and continue editing" +msgstr "Guardar y continuar editando" + +msgid "Save and view" +msgstr "Guardar y ver" + +msgid "Close" +msgstr "Cerrar" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Cambiar %(model)s seleccionados" + +#, python-format +msgid "Add another %(model)s" +msgstr "Añadir otro %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Eliminar %(model)s seleccionada/o" + +#, python-format +msgid "View selected %(model)s" +msgstr "Ver seleccionado %(model)s" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Gracias por pasar un buen rato con el sitio web hoy." + +msgid "Log in again" +msgstr "Iniciar sesión de nuevo" + +msgid "Password change" +msgstr "Cambio de contraseña" + +msgid "Your password was changed." +msgstr "Su contraseña ha sido cambiada." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Ingrese su contraseña anterior, por razones de seguridad, y luego ingrese su " +"nueva contraseña dos veces para que podamos verificar que la ingresó " +"correctamente." + +msgid "Change my password" +msgstr "Cambiar mi contraseña" + +msgid "Password reset" +msgstr "Restablecer contraseña" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "" +"Su contraseña ha sido establecida. Ahora puede continuar e iniciar sesión." + +msgid "Password reset confirmation" +msgstr "Confirmación de restablecimiento de contraseña" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Por favor, introduzca su contraseña nueva dos veces para verificar que la ha " +"escrito correctamente." + +msgid "New password:" +msgstr "Contraseña nueva:" + +msgid "Confirm password:" +msgstr "Confirme contraseña:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"El enlace de restablecimiento de contraseña era inválido, seguramente porque " +"se haya usado antes. Por favor, solicite un nuevo restablecimiento de " +"contraseña." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Le enviamos instrucciones por correo electrónico para configurar su " +"contraseña, si existe una cuenta con el correo electrónico que ingresó. " +"Debería recibirlos en breve." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Si no recibe un correo electrónico, asegúrese de haber ingresado la " +"dirección con la que se registró y verifique su carpeta de correo no deseado." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Ha recibido este correo electrónico porque ha solicitado restablecer la " +"contraseña para su cuenta en %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Por favor, vaya a la página siguiente y escoja una nueva contraseña." + +msgid "Your username, in case you’ve forgotten:" +msgstr "Su nombre de usuario, en caso de que lo haya olvidado:" + +msgid "Thanks for using our site!" +msgstr "¡Gracias por usar nuestro sitio!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "El equipo de %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"¿Olvidaste tu contraseña? Ingrese su dirección de correo electrónico a " +"continuación y le enviaremos las instrucciones para configurar una nueva." + +msgid "Email address:" +msgstr "Correo electrónico:" + +msgid "Reset my password" +msgstr "Restablecer mi contraseña" + +msgid "Select all objects on this page for an action" +msgstr "Seleccione todos los objetos de esta página para una acción" + +msgid "All dates" +msgstr "Todas las fechas" + +#, python-format +msgid "Select %s" +msgstr "Seleccione %s" + +#, python-format +msgid "Select %s to change" +msgstr "Seleccione %s a modificar" + +#, python-format +msgid "Select %s to view" +msgstr "Seleccione %s para ver" + +msgid "Date:" +msgstr "Fecha:" + +msgid "Time:" +msgstr "Hora:" + +msgid "Lookup" +msgstr "Buscar" + +msgid "Currently:" +msgstr "Actualmente:" + +msgid "Change:" +msgstr "Cambiar:" diff --git a/external_sources/django/django/contrib/admin/locale/es/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/es/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..e2c5567 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/es/LC_MESSAGES/djangojs.po @@ -0,0 +1,336 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Antoni Aloy , 2011-2012 +# e4db27214f7e7544f2022c647b585925_bb0e321, 2015-2016 +# Jannis Leidel , 2011 +# Josue Naaman Nistal Guerra , 2014 +# Leonardo J. Caballero G. , 2011 +# Uriel Medina , 2020-2023 +# Veronicabh , 2015 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 15:04-0300\n" +"PO-Revision-Date: 2023-12-04 07:59+0000\n" +"Last-Translator: Uriel Medina , 2020-2023\n" +"Language-Team: Spanish (http://app.transifex.com/django/django/language/" +"es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "%s Disponibles" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Esta es la lista de %s disponibles. Puede elegir algunos seleccionándolos en " +"la caja inferior y luego haciendo clic en la flecha \"Elegir\" que hay entre " +"las dos cajas." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Escriba en este cuadro para filtrar la lista de %s disponibles" + +msgid "Filter" +msgstr "Filtro" + +msgid "Choose all" +msgstr "Selecciona todos" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Haga clic para seleccionar todos los %s de una vez" + +msgid "Choose" +msgstr "Elegir" + +msgid "Remove" +msgstr "Eliminar" + +#, javascript-format +msgid "Chosen %s" +msgstr "%s elegidos" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Esta es la lista de los %s elegidos. Puede elmininar algunos " +"seleccionándolos en la caja inferior y luego haciendo click en la flecha " +"\"Eliminar\" que hay entre las dos cajas." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "Escriba en este cuadro para filtrar la lista de %s seleccionados." + +msgid "Remove all" +msgstr "Eliminar todos" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Haz clic para eliminar todos los %s elegidos" + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%s opción seleccionada no visible" +msgstr[1] "%s opciones seleccionadas no visibles" +msgstr[2] "%s opciones seleccionadas no visibles" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s de %(cnt)s seleccionado" +msgstr[1] "%(sel)s de %(cnt)s seleccionados" +msgstr[2] "%(sel)s de %(cnt)s seleccionados" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Tiene cambios sin guardar en campos editables individuales. Si ejecuta una " +"acción, los cambios no guardados se perderán." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Ha seleccionado una acción, pero aún no ha guardado los cambios en los " +"campos individuales. Haga clic en Aceptar para guardar. Deberá volver a " +"ejecutar la acción." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Ha seleccionado una acción y no ha realizado ningún cambio en campos " +"individuales. Probablemente esté buscando el botón 'Ir' en lugar del botón " +"'Guardar'." + +msgid "Now" +msgstr "Ahora" + +msgid "Midnight" +msgstr "Medianoche" + +msgid "6 a.m." +msgstr "6 a.m." + +msgid "Noon" +msgstr "Mediodía" + +msgid "6 p.m." +msgstr "6 p.m." + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Nota: Usted esta a %s horas por delante de la hora del servidor." +msgstr[1] "Nota: Usted va %s horas por delante de la hora del servidor." +msgstr[2] "Nota: Usted va %s horas por delante de la hora del servidor." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Nota: Usted esta a %s hora de retraso de tiempo de servidor." +msgstr[1] "Nota: Usted va %s horas por detrás de la hora del servidor." +msgstr[2] "Nota: Usted va %s horas por detrás de la hora del servidor." + +msgid "Choose a Time" +msgstr "Elija una Hora" + +msgid "Choose a time" +msgstr "Elija una hora" + +msgid "Cancel" +msgstr "Cancelar" + +msgid "Today" +msgstr "Hoy" + +msgid "Choose a Date" +msgstr "Elija una Fecha" + +msgid "Yesterday" +msgstr "Ayer" + +msgid "Tomorrow" +msgstr "Mañana" + +msgid "January" +msgstr "Enero" + +msgid "February" +msgstr "Febrero" + +msgid "March" +msgstr "Marzo" + +msgid "April" +msgstr "Abril" + +msgid "May" +msgstr "Mayo" + +msgid "June" +msgstr "Junio" + +msgid "July" +msgstr "Julio" + +msgid "August" +msgstr "Agosto" + +msgid "September" +msgstr "Septiembre" + +msgid "October" +msgstr "Octubre" + +msgid "November" +msgstr "Noviembre" + +msgid "December" +msgstr "Diciembre" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Ene" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Feb" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Mar" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Abr" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "May" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Jun" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Jul" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Ago" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Sep" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Oct" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Nov" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Dic" + +msgid "Sunday" +msgstr "Domingo" + +msgid "Monday" +msgstr "Lunes" + +msgid "Tuesday" +msgstr "Martes" + +msgid "Wednesday" +msgstr "Miércoles" + +msgid "Thursday" +msgstr "Jueves" + +msgid "Friday" +msgstr "Viernes" + +msgid "Saturday" +msgstr "Sábado" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "Dom" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "Lun" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "Mar" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "Mie" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "Jue" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "Vie" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "Sáb" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "D" + +msgctxt "one letter Monday" +msgid "M" +msgstr "L" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "M" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "M" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "J" + +msgctxt "one letter Friday" +msgid "F" +msgstr "V" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "S" + +msgid "Show" +msgstr "Mostrar" + +msgid "Hide" +msgstr "Ocultar" diff --git a/external_sources/django/django/contrib/admin/locale/es_AR/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/es_AR/LC_MESSAGES/django.po new file mode 100644 index 0000000..67a4918 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/es_AR/LC_MESSAGES/django.po @@ -0,0 +1,803 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel , 2011 +# Leonardo José Guzmán , 2013 +# Natalia, 2023 +# Natalia, 2023 +# Ramiro Morales, 2013-2024 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-10-07 07:05+0000\n" +"Last-Translator: Ramiro Morales, 2013-2024\n" +"Language-Team: Spanish (Argentina) (http://app.transifex.com/django/django/" +"language/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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Eliminar %(verbose_name_plural)s seleccionados/as" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Se eliminaron con éxito %(count)d %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "No se puede eliminar %(name)s" + +msgid "Are you sure?" +msgstr "¿Está seguro?" + +msgid "Administration" +msgstr "Administración" + +msgid "All" +msgstr "Todos/as" + +msgid "Yes" +msgstr "Sí" + +msgid "No" +msgstr "No" + +msgid "Unknown" +msgstr "Desconocido" + +msgid "Any date" +msgstr "Cualquier fecha" + +msgid "Today" +msgstr "Hoy" + +msgid "Past 7 days" +msgstr "Últimos 7 días" + +msgid "This month" +msgstr "Este mes" + +msgid "This year" +msgstr "Este año" + +msgid "No date" +msgstr "Sin fecha" + +msgid "Has date" +msgstr "Tiene fecha" + +msgid "Empty" +msgstr "Vacío/a" + +msgid "Not empty" +msgstr "No vacío/a" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Por favor introduza %(username)s y contraseña correctos de una cuenta de " +"staff. Note que puede que ambos campos sean estrictos en relación a " +"diferencias entre mayúsculas y minúsculas." + +msgid "Action:" +msgstr "Acción:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Agregar otro/a %(verbose_name)s" + +msgid "Remove" +msgstr "Eliminar" + +msgid "Addition" +msgstr "Agregado" + +msgid "Change" +msgstr "Modificar" + +msgid "Deletion" +msgstr "Borrado" + +msgid "action time" +msgstr "hora de la acción" + +msgid "user" +msgstr "usuario" + +msgid "content type" +msgstr "tipo de contenido" + +msgid "object id" +msgstr "id de objeto" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "repr de objeto" + +msgid "action flag" +msgstr "marca de acción" + +msgid "change message" +msgstr "mensaje de cambio" + +msgid "log entry" +msgstr "entrada de registro" + +msgid "log entries" +msgstr "entradas de registro" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Se agrega \"%(object)s”." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Se modifica \"%(object)s” — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Se elimina \"%(object)s”." + +msgid "LogEntry Object" +msgstr "Objeto LogEntry" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Se agrega {name} \"{object}”." + +msgid "Added." +msgstr "Agregado." + +msgid "and" +msgstr "y" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Se modifican {fields} en {name} \"{object}”." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Modificación de {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Se elimina {name} \"{object}”." + +msgid "No fields changed." +msgstr "No ha modificado ningún campo." + +msgid "None" +msgstr "Ninguno" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Mantenga presionada \"Control” (\"Command” en una Mac) para seleccionar más " +"de uno." + +msgid "Select this object for an action - {}" +msgstr "Seleccione este objeto para una acción - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "Se agregó con éxito {name} \"{obj}”." + +msgid "You may edit it again below." +msgstr "Puede modificarlo/a nuevamente mas abajo." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"Se agregó con éxito {name} \"{obj}”. Puede agregar otro/a {name} abajo." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"Se modificó con éxito {name} \"{obj}”. Puede modificarlo/a nuevamente abajo." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"Se modificó con éxito {name} \"{obj}”. Puede agregar otro {name} abajo." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "Se modificó con éxito {name} \"{obj}”." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Deben existir ítems seleccionados para poder realizar acciones sobre los " +"mismos. No se modificó ningún ítem." + +msgid "No action selected." +msgstr "No se ha seleccionado ninguna acción." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "Se eliminó con éxito %(name)s \"%(obj)s”." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "No existe %(name)s con ID \"%(key)s”. ¿Quizá fue eliminado/a?" + +#, python-format +msgid "Add %s" +msgstr "Agregar %s" + +#, python-format +msgid "Change %s" +msgstr "Modificar %s" + +#, python-format +msgid "View %s" +msgstr "Ver %s" + +msgid "Database error" +msgstr "Error de base de datos" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "Se ha modificado con éxito %(count)s %(name)s." +msgstr[1] "Se han modificado con éxito %(count)s %(name)s." +msgstr[2] "Se han modificado con éxito %(count)s %(name)s." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s seleccionados/as" +msgstr[1] "Todos/as (%(total_count)s en total) han sido seleccionados/as" +msgstr[2] "Todos/as (%(total_count)s en total) han sido seleccionados/as" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 de %(cnt)s seleccionados/as" + +#, python-format +msgid "Change history: %s" +msgstr "Historia de modificaciones: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"La eliminación de %(class_name)s %(instance)s provocaría la eliminación de " +"los siguientes objetos relacionados protegidos: %(related_objects)s" + +msgid "Django site admin" +msgstr "Administración de sitio Django" + +msgid "Django administration" +msgstr "Administración de Django" + +msgid "Site administration" +msgstr "Administración de sitio" + +msgid "Log in" +msgstr "Identificarse" + +#, python-format +msgid "%(app)s administration" +msgstr "Administración de %(app)s" + +msgid "Page not found" +msgstr "Página no encontrada" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Lo lamentamos, no se encontró la página solicitada." + +msgid "Home" +msgstr "Inicio" + +msgid "Server error" +msgstr "Error del servidor" + +msgid "Server error (500)" +msgstr "Error del servidor (500)" + +msgid "Server Error (500)" +msgstr "Error de servidor (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Ha ocurrido un error. Se ha reportado el mismo a los administradores del " +"sitio vía email y debería ser solucionado en breve. Le agradecemos por su " +"paciencia." + +msgid "Run the selected action" +msgstr "Ejecutar la acción seleccionada" + +msgid "Go" +msgstr "Ejecutar" + +msgid "Click here to select the objects across all pages" +msgstr "Haga click aquí para seleccionar los objetos de todas las páginas" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Seleccionar lo(s)/a(s) %(total_count)s %(module_name)s existentes" + +msgid "Clear selection" +msgstr "Borrar selección" + +msgid "Breadcrumbs" +msgstr "Breadcrumbs" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Modelos en la aplicación %(name)s" + +msgid "Add" +msgstr "Agregar" + +msgid "View" +msgstr "Ver" + +msgid "You don’t have permission to view or edit anything." +msgstr "No tiene permiso para ver o modificar nada." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Primero introduzca un nombre de usuario y una contraseña. Luego podrá " +"configurar opciones adicionales para el usuario." + +msgid "Enter a username and password." +msgstr "Introduzca un nombre de usuario y una contraseña." + +msgid "Change password" +msgstr "Cambiar contraseña" + +msgid "Set password" +msgstr "Establecer contraseña" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Por favor, corrija el siguiente error." +msgstr[1] "Por favor, corrija los siguientes errores." +msgstr[2] "Por favor, corrija los siguientes errores." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"Introduzca una nueva contraseña para el usuario %(username)s." + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "" +"Esta acción activará la autenticación basada en contraseñas " +"para este usuario." + +msgid "Disable password-based authentication" +msgstr "Desactivar la autenticación basada en contraseñas" + +msgid "Enable password-based authentication" +msgstr "Activar la autenticación basada en contraseñas" + +msgid "Skip to main content" +msgstr "Ir al contenido principal" + +msgid "Welcome," +msgstr "Bienvenido/a," + +msgid "View site" +msgstr "Ver sitio" + +msgid "Documentation" +msgstr "Documentación" + +msgid "Log out" +msgstr "Cerrar sesión" + +#, python-format +msgid "Add %(name)s" +msgstr "Agregar %(name)s" + +msgid "History" +msgstr "Historia" + +msgid "View on site" +msgstr "Ver en el sitio" + +msgid "Filter" +msgstr "Filtrar" + +msgid "Hide counts" +msgstr "Ocultar recuentos" + +msgid "Show counts" +msgstr "Mostrar recuentos" + +msgid "Clear all filters" +msgstr "Limpiar todos los filtros" + +msgid "Remove from sorting" +msgstr "Remover de ordenamiento" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Prioridad de ordenamiento: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Alternar ordenamiento" + +msgid "Toggle theme (current theme: auto)" +msgstr "Cambiar tema (tema actual: automático)" + +msgid "Toggle theme (current theme: light)" +msgstr "Cambiar tema (tema actual: claro)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Cambiar tema (tema actual: oscuro)" + +msgid "Delete" +msgstr "Eliminar" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Eliminar el %(object_name)s '%(escaped_object)s' provocaría la eliminación " +"de objetos relacionados, pero su cuenta no tiene permiso para eliminar los " +"siguientes tipos de objetos:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Eliminar los %(object_name)s '%(escaped_object)s' requeriría eliminar " +"también los siguientes objetos relacionados protegidos:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"¿Está seguro de que desea eliminar los %(object_name)s " +"\"%(escaped_object)s\"? Se eliminarán los siguientes objetos relacionados:" + +msgid "Objects" +msgstr "Objectos" + +msgid "Yes, I’m sure" +msgstr "Si, estoy seguro" + +msgid "No, take me back" +msgstr "No, volver" + +msgid "Delete multiple objects" +msgstr "Eliminar múltiples objetos" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Eliminar el/los objetos %(objects_name)s seleccionados provocaría la " +"eliminación de objetos relacionados a los mismos, pero su cuenta de usuario " +"no tiene los permisos necesarios para eliminar los siguientes tipos de " +"objetos:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Eliminar el/los objetos %(objects_name)s seleccionados requeriría eliminar " +"también los siguientes objetos relacionados protegidos:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"¿Está seguro de que desea eliminar el/los objetos %(objects_name)s?. Todos " +"los siguientes objetos e ítems relacionados a los mismos también serán " +"eliminados:" + +msgid "Delete?" +msgstr "¿Eliminar?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " Por %(filter_title)s " + +msgid "Summary" +msgstr "Resumen" + +msgid "Recent actions" +msgstr "Acciones recientes" + +msgid "My actions" +msgstr "Mis acciones" + +msgid "None available" +msgstr "Ninguna disponible" + +msgid "Added:" +msgstr "Agregado:" + +msgid "Changed:" +msgstr "Cambiado:" + +msgid "Deleted:" +msgstr "Eliminado:" + +msgid "Unknown content" +msgstr "Contenido desconocido" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Hay algún problema con su instalación de base de datos. Asegúrese de que las " +"tablas de la misma hayan sido creadas, y asegúrese de que el usuario " +"apropiado tenga permisos de lectura en la base de datos." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Ud. se halla autenticado como %(username)s, pero no está autorizado a " +"acceder a esta página ¿Desea autenticarse con una cuenta diferente?" + +msgid "Forgotten your password or username?" +msgstr "¿Olvidó su contraseña o nombre de usuario?" + +msgid "Toggle navigation" +msgstr "Alternar navegación" + +msgid "Sidebar" +msgstr "Barra lateral" + +msgid "Start typing to filter…" +msgstr "Empiece a escribir para filtrar…" + +msgid "Filter navigation items" +msgstr "Filtrar elementos de navegación" + +msgid "Date/time" +msgstr "Fecha/hora" + +msgid "User" +msgstr "Usuario" + +msgid "Action" +msgstr "Acción" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "entrada" +msgstr[1] "entradas" +msgstr[2] "entradas" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Este objeto no tiene historia de modificaciones. Probablemente no fue " +"añadido usando este sitio de administración." + +msgid "Show all" +msgstr "Mostrar todos" + +msgid "Save" +msgstr "Guardar" + +msgid "Popup closing…" +msgstr "Cerrando ventana emergente…" + +msgid "Search" +msgstr "Buscar" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s resultado" +msgstr[1] "%(counter)s resultados" +msgstr[2] "%(counter)s resultados" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "total: %(full_result_count)s" + +msgid "Save as new" +msgstr "Guardar como nuevo" + +msgid "Save and add another" +msgstr "Guardar y agregar otro" + +msgid "Save and continue editing" +msgstr "Guardar y continuar editando" + +msgid "Save and view" +msgstr "Guardar y ver" + +msgid "Close" +msgstr "Cerrar" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Modificar %(model)s seleccionados/as" + +#, python-format +msgid "Add another %(model)s" +msgstr "Agregar otro/a %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Eliminar %(model)s seleccionados/as" + +#, python-format +msgid "View selected %(model)s" +msgstr "Ver %(model)s seleccionado/a" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Gracias por el tiempo que ha dedicado al sitio web hoy." + +msgid "Log in again" +msgstr "Identificarse de nuevo" + +msgid "Password change" +msgstr "Cambio de contraseña" + +msgid "Your password was changed." +msgstr "Su contraseña ha sido cambiada." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Por favor, por razones de seguridad, introduzca primero su contraseña " +"antigua y luego introduzca la nueva contraseña dos veces para verificar que " +"la ha escrito correctamente." + +msgid "Change my password" +msgstr "Cambiar mi contraseña" + +msgid "Password reset" +msgstr "Recuperar contraseña" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Su contraseña ha sido cambiada. Ahora puede continuar e ingresar." + +msgid "Password reset confirmation" +msgstr "Confirmación de reincialización de contraseña" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Por favor introduzca su nueva contraseña dos veces de manera que podamos " +"verificar que la ha escrito correctamente." + +msgid "New password:" +msgstr "Contraseña nueva:" + +msgid "Confirm password:" +msgstr "Confirme contraseña:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"El enlace de reinicialización de contraseña es inválido, posiblemente debido " +"a que ya ha sido usado. Por favor solicite una nueva reinicialización de " +"contraseña." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Se le han enviado instrucciones sobre cómo establecer su contraseña. Si la " +"dirección de email que proveyó existe, debería recibir las mismas pronto." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Si no ha recibido un email, por favor asegúrese de que ha introducido la " +"dirección de correo con la que se había registrado y verifique su carpeta de " +"Correo no deseado." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Le enviamos este email porque Ud. ha solicitado que se reestablezca la " +"contraseña para su cuenta de usuario en %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "" +"Por favor visite la página que se muestra a continuación y elija una nueva " +"contraseña:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Su nombre de usuario en caso de que lo haya olvidado:" + +msgid "Thanks for using our site!" +msgstr "¡Gracias por usar nuestro sitio!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "El equipo de %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"¿Olvidó su contraseña? Introduzca su dirección de email abajo y le " +"enviaremos instrucciones para establecer una nueva." + +msgid "Email address:" +msgstr "Dirección de email:" + +msgid "Reset my password" +msgstr "Recuperar mi contraseña" + +msgid "Select all objects on this page for an action" +msgstr "Seleccione todos los objetos de esta página para una acción" + +msgid "All dates" +msgstr "Todas las fechas" + +#, python-format +msgid "Select %s" +msgstr "Seleccione %s" + +#, python-format +msgid "Select %s to change" +msgstr "Seleccione %s a modificar" + +#, python-format +msgid "Select %s to view" +msgstr "Seleccione %s que desea ver" + +msgid "Date:" +msgstr "Fecha:" + +msgid "Time:" +msgstr "Hora:" + +msgid "Lookup" +msgstr "Buscar" + +msgid "Currently:" +msgstr "Actualmente:" + +msgid "Change:" +msgstr "Cambiar:" diff --git a/external_sources/django/django/contrib/admin/locale/es_AR/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/es_AR/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..3425126 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/es_AR/LC_MESSAGES/djangojs.po @@ -0,0 +1,343 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel , 2011 +# Ramiro Morales, 2014-2016,2020-2023 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 15:04-0300\n" +"PO-Revision-Date: 2023-12-04 07:59+0000\n" +"Last-Translator: Ramiro Morales, 2014-2016,2020-2023\n" +"Language-Team: Spanish (Argentina) (http://app.transifex.com/django/django/" +"language/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" + +#, javascript-format +msgid "Available %s" +msgstr "%s disponibles" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Esta es la lista de %s disponibles. Puede elegir algunos/as seleccionándolos/" +"as en el cuadro de abajo y luego haciendo click en la flecha \"Seleccionar\" " +"ubicada entre las dos listas." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Escriba en esta caja para filtrar la lista de %s disponibles." + +msgid "Filter" +msgstr "Filtro" + +msgid "Choose all" +msgstr "Seleccionar todos/as" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Haga click para seleccionar todos/as los/as %s." + +msgid "Choose" +msgstr "Seleccionar" + +msgid "Remove" +msgstr "Eliminar" + +#, javascript-format +msgid "Chosen %s" +msgstr "%s seleccionados/as" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Esta es la lista de %s seleccionados. Puede deseleccionar algunos de ellos " +"activándolos en la lista de abajo y luego haciendo click en la flecha " +"\"Eliminar\" ubicada entre las dos listas." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "Escriba en este cuadro para filtrar la lista de %s seleccionados/as." + +msgid "Remove all" +msgstr "Eliminar todos/as" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Haga clic para deselecionar todos/as los/as %s." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%s opción seleccionada no visible" +msgstr[1] "%s opciones seleccionadas no visibles" +msgstr[2] "%s opciones seleccionadas no visibles" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s de %(cnt)s seleccionado/a" +msgstr[1] "%(sel)s de %(cnt)s seleccionados/as" +msgstr[2] "%(sel)s de %(cnt)s seleccionados/as" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Tiene modificaciones sin guardar en campos modificables individuales. Si " +"ejecuta una acción las mismas se perderán." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Ha seleccionado una acción pero todavía no ha grabado sus cambios en campos " +"individuales. Por favor haga click en Ok para grabarlos. Luego necesitará re-" +"ejecutar la acción." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Ha seleccionado una acción y no ha realizado ninguna modificación de campos " +"individuales. Es probable que deba usar el botón 'Ir' y no el botón " +"'Grabar'." + +msgid "Now" +msgstr "Ahora" + +msgid "Midnight" +msgstr "Medianoche" + +msgid "6 a.m." +msgstr "6 AM" + +msgid "Noon" +msgstr "Mediodía" + +msgid "6 p.m." +msgstr "6 PM" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" +"Nota: Ud. se encuentra en una zona horaria que está %s hora adelantada " +"respecto a la del servidor." +msgstr[1] "" +"Nota: Ud. se encuentra en una zona horaria que está %s horas adelantada " +"respecto a la del servidor." +msgstr[2] "" +"Nota: Ud. se encuentra en una zona horaria que está %s horas adelantada " +"respecto a la del servidor." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +"Nota: Ud. se encuentra en una zona horaria que está %s hora atrasada " +"respecto a la del servidor." +msgstr[1] "" +"Nota: Ud. se encuentra en una zona horaria que está %s horas atrasada " +"respecto a la del servidor." +msgstr[2] "" +"Nota: Ud. se encuentra en una zona horaria que está %s horas atrasada " +"respecto a la del servidor." + +msgid "Choose a Time" +msgstr "Seleccione una Hora" + +msgid "Choose a time" +msgstr "Elija una hora" + +msgid "Cancel" +msgstr "Cancelar" + +msgid "Today" +msgstr "Hoy" + +msgid "Choose a Date" +msgstr "Seleccione una Fecha" + +msgid "Yesterday" +msgstr "Ayer" + +msgid "Tomorrow" +msgstr "Mañana" + +msgid "January" +msgstr "enero" + +msgid "February" +msgstr "febrero" + +msgid "March" +msgstr "marzo" + +msgid "April" +msgstr "abril" + +msgid "May" +msgstr "mayo" + +msgid "June" +msgstr "junio" + +msgid "July" +msgstr "julio" + +msgid "August" +msgstr "agosto" + +msgid "September" +msgstr "setiembre" + +msgid "October" +msgstr "octubre" + +msgid "November" +msgstr "noviembre" + +msgid "December" +msgstr "diciembre" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Ene" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Feb" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Mar" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Abr" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "May" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Jun" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Jul" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Ago" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Set" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Oct" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Nov" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Dic" + +msgid "Sunday" +msgstr "domingo" + +msgid "Monday" +msgstr "lunes" + +msgid "Tuesday" +msgstr "martes" + +msgid "Wednesday" +msgstr "miércoles" + +msgid "Thursday" +msgstr "jueves" + +msgid "Friday" +msgstr "viernes" + +msgid "Saturday" +msgstr "sábado" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "dom" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "lun" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "mar" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "mié" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "jue" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "vie" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "sáb" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "D" + +msgctxt "one letter Monday" +msgid "M" +msgstr "L" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "M" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "M" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "J" + +msgctxt "one letter Friday" +msgid "F" +msgstr "V" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "S" + +msgid "Show" +msgstr "Mostrar" + +msgid "Hide" +msgstr "Ocultar" diff --git a/external_sources/django/django/contrib/admin/locale/es_CO/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/es_CO/LC_MESSAGES/django.po new file mode 100644 index 0000000..5831fbf --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/es_CO/LC_MESSAGES/django.po @@ -0,0 +1,697 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# abraham.martin , 2014 +# Axel Díaz , 2015 +# Claude Paroz , 2014 +# Ernesto Avilés Vázquez , 2015 +# franchukelly , 2011 +# guillem , 2012 +# Igor Támara , 2013 +# Jannis Leidel , 2011 +# Josue Naaman Nistal Guerra , 2014 +# Marc Garcia , 2011 +# Pablo, 2015 +# Veronicabh , 2015 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-19 16:49+0100\n" +"PO-Revision-Date: 2017-09-19 19:11+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Spanish (Colombia) (http://www.transifex.com/django/django/" +"language/es_CO/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_CO\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Eliminado/s %(count)d %(items)s satisfactoriamente." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "No se puede eliminar %(name)s" + +msgid "Are you sure?" +msgstr "¿Está seguro?" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Eliminar %(verbose_name_plural)s seleccionado/s" + +msgid "Administration" +msgstr "Administración" + +msgid "All" +msgstr "Todo" + +msgid "Yes" +msgstr "Sí" + +msgid "No" +msgstr "No" + +msgid "Unknown" +msgstr "Desconocido" + +msgid "Any date" +msgstr "Cualquier fecha" + +msgid "Today" +msgstr "Hoy" + +msgid "Past 7 days" +msgstr "Últimos 7 días" + +msgid "This month" +msgstr "Este mes" + +msgid "This year" +msgstr "Este año" + +msgid "No date" +msgstr "" + +msgid "Has date" +msgstr "" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Por favor ingrese el %(username)s y la clave correctos para obtener cuenta " +"de personal. Observe que ambos campos pueden ser sensibles a mayúsculas." + +msgid "Action:" +msgstr "Acción:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Agregar %(verbose_name)s adicional." + +msgid "Remove" +msgstr "Eliminar" + +msgid "action time" +msgstr "hora de la acción" + +msgid "user" +msgstr "usuario" + +msgid "content type" +msgstr "tipo de contenido" + +msgid "object id" +msgstr "id del objeto" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/3/library/functions.html#repr) +msgid "object repr" +msgstr "repr del objeto" + +msgid "action flag" +msgstr "marca de acción" + +msgid "change message" +msgstr "mensaje de cambio" + +msgid "log entry" +msgstr "entrada de registro" + +msgid "log entries" +msgstr "entradas de registro" + +#, python-format +msgid "Added \"%(object)s\"." +msgstr "Añadidos \"%(object)s\"." + +#, python-format +msgid "Changed \"%(object)s\" - %(changes)s" +msgstr "Cambiados \"%(object)s\" - %(changes)s" + +#, python-format +msgid "Deleted \"%(object)s.\"" +msgstr "Eliminado/a \"%(object)s.\"" + +msgid "LogEntry Object" +msgstr "Objeto de registro de Log" + +#, python-brace-format +msgid "Added {name} \"{object}\"." +msgstr "" + +msgid "Added." +msgstr "Añadido." + +msgid "and" +msgstr "y" + +#, python-brace-format +msgid "Changed {fields} for {name} \"{object}\"." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "" + +#, python-brace-format +msgid "Deleted {name} \"{object}\"." +msgstr "" + +msgid "No fields changed." +msgstr "No ha cambiado ningún campo." + +msgid "None" +msgstr "Ninguno" + +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" +"Mantenga presionado \"Control\" o \"Command\" en un Mac, para seleccionar " +"más de una opción." + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was added successfully." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Se deben seleccionar elementos para poder realizar acciones sobre estos. No " +"se han modificado elementos." + +msgid "No action selected." +msgstr "No se seleccionó ninguna acción." + +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "Se eliminó con éxito el %(name)s \"%(obj)s\"." + +#, python-format +msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "Añadir %s" + +#, python-format +msgid "Change %s" +msgstr "Modificar %s" + +msgid "Database error" +msgstr "Error en la base de datos" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s fué modificado con éxito." +msgstr[1] "%(count)s %(name)s fueron modificados con éxito." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s seleccionado" +msgstr[1] "%(total_count)s seleccionados en total" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "seleccionados 0 de %(cnt)s" + +#, python-format +msgid "Change history: %s" +msgstr "Histórico de modificaciones: %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"La eliminación de %(class_name)s %(instance)s requeriría eliminar los " +"siguientes objetos relacionados protegidos: %(related_objects)s" + +msgid "Django site admin" +msgstr "Sitio de administración de Django" + +msgid "Django administration" +msgstr "Administración de Django" + +msgid "Site administration" +msgstr "Sitio administrativo" + +msgid "Log in" +msgstr "Iniciar sesión" + +#, python-format +msgid "%(app)s administration" +msgstr "Administración de %(app)s " + +msgid "Page not found" +msgstr "Página no encontrada" + +msgid "We're sorry, but the requested page could not be found." +msgstr "Lo sentimos, pero no se encuentra la página solicitada." + +msgid "Home" +msgstr "Inicio" + +msgid "Server error" +msgstr "Error del servidor" + +msgid "Server error (500)" +msgstr "Error del servidor (500)" + +msgid "Server Error (500)" +msgstr "Error de servidor (500)" + +msgid "" +"There's been an error. It's been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Ha habido un error. Ha sido comunicado al administrador del sitio por correo " +"electrónico y debería solucionarse a la mayor brevedad. Gracias por su " +"paciencia y comprensión." + +msgid "Run the selected action" +msgstr "Ejecutar la acción seleccionada" + +msgid "Go" +msgstr "Ir" + +msgid "Click here to select the objects across all pages" +msgstr "Pulse aquí para seleccionar los objetos a través de todas las páginas" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Seleccionar todos los %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Limpiar selección" + +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"Primero introduzca un nombre de usuario y una contraseña. Luego podrá editar " +"el resto de opciones del usuario." + +msgid "Enter a username and password." +msgstr "Ingrese un nombre de usuario y contraseña" + +msgid "Change password" +msgstr "Cambiar contraseña" + +msgid "Please correct the error below." +msgstr "Por favor, corrija los siguientes errores." + +msgid "Please correct the errors below." +msgstr "Por favor, corrija los siguientes errores." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"Ingrese una nueva contraseña para el usuario %(username)s." + +msgid "Welcome," +msgstr "Bienvenido/a," + +msgid "View site" +msgstr "Ver el sitio" + +msgid "Documentation" +msgstr "Documentación" + +msgid "Log out" +msgstr "Terminar sesión" + +#, python-format +msgid "Add %(name)s" +msgstr "Añadir %(name)s" + +msgid "History" +msgstr "Histórico" + +msgid "View on site" +msgstr "Ver en el sitio" + +msgid "Filter" +msgstr "Filtro" + +msgid "Remove from sorting" +msgstr "Elimina de la ordenación" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Prioridad de la ordenación: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Activar la ordenación" + +msgid "Delete" +msgstr "Eliminar" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Eliminar el %(object_name)s '%(escaped_object)s' provocaría la eliminación " +"de objetos relacionados, pero su cuenta no tiene permiso para borrar los " +"siguientes tipos de objetos:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"La eliminación de %(object_name)s %(escaped_object)s requeriría eliminar los " +"siguientes objetos relacionados protegidos:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"¿Está seguro de que quiere borrar los %(object_name)s \"%(escaped_object)s" +"\"? Se borrarán los siguientes objetos relacionados:" + +msgid "Objects" +msgstr "Objetos" + +msgid "Yes, I'm sure" +msgstr "Sí, estoy seguro" + +msgid "No, take me back" +msgstr "No, llévame atrás" + +msgid "Delete multiple objects" +msgstr "Eliminar múltiples objetos." + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"La eliminación del %(objects_name)s seleccionado resultaría en el borrado de " +"objetos relacionados, pero su cuenta no tiene permisos para borrar los " +"siguientes tipos de objetos:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"La eliminación de %(objects_name)s seleccionado requeriría el borrado de los " +"siguientes objetos protegidos relacionados:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"¿Está usted seguro que quiere eliminar el %(objects_name)s seleccionado? " +"Todos los siguientes objetos y sus elementos relacionados serán borrados:" + +msgid "Change" +msgstr "Modificar" + +msgid "Delete?" +msgstr "¿Eliminar?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " Por %(filter_title)s " + +msgid "Summary" +msgstr "Resumen" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Modelos en la aplicación %(name)s" + +msgid "Add" +msgstr "Añadir" + +msgid "You don't have permission to edit anything." +msgstr "No tiene permiso para editar nada." + +msgid "Recent actions" +msgstr "" + +msgid "My actions" +msgstr "" + +msgid "None available" +msgstr "Ninguno disponible" + +msgid "Unknown content" +msgstr "Contenido desconocido" + +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Algo va mal con la instalación de la base de datos. Asegúrese de que las " +"tablas necesarias han sido creadas, y de que la base de datos puede ser " +"leída por el usuario apropiado." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Se ha autenticado como %(username)s, pero no está autorizado a acceder a " +"esta página. ¿Desea autenticarse con una cuenta diferente?" + +msgid "Forgotten your password or username?" +msgstr "¿Ha olvidado la contraseña o el nombre de usuario?" + +msgid "Date/time" +msgstr "Fecha/hora" + +msgid "User" +msgstr "Usuario" + +msgid "Action" +msgstr "Acción" + +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"Este objeto no tiene histórico de cambios. Probablemente no fue añadido " +"usando este sitio de administración." + +msgid "Show all" +msgstr "Mostrar todo" + +msgid "Save" +msgstr "Grabar" + +msgid "Popup closing..." +msgstr "" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Cambiar %(model)s seleccionado" + +#, python-format +msgid "Add another %(model)s" +msgstr "Añadir otro %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Eliminar %(model)s seleccionada/o" + +msgid "Search" +msgstr "Buscar" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s resultado" +msgstr[1] "%(counter)s resultados" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s total" + +msgid "Save as new" +msgstr "Grabar como nuevo" + +msgid "Save and add another" +msgstr "Grabar y añadir otro" + +msgid "Save and continue editing" +msgstr "Grabar y continuar editando" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Gracias por el tiempo que ha dedicado hoy al sitio web." + +msgid "Log in again" +msgstr "Iniciar sesión de nuevo" + +msgid "Password change" +msgstr "Cambio de contraseña" + +msgid "Your password was changed." +msgstr "Su contraseña ha sido cambiada." + +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Por favor, ingrese su contraseña antigua, por seguridad, y después " +"introduzca la nueva contraseña dos veces para verificar que la ha escrito " +"correctamente." + +msgid "Change my password" +msgstr "Cambiar mi contraseña" + +msgid "Password reset" +msgstr "Restablecer contraseña" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "" +"Su contraseña ha sido establecida. Ahora puede seguir adelante e iniciar " +"sesión." + +msgid "Password reset confirmation" +msgstr "Confirmación de restablecimiento de contraseña" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Por favor, ingrese su contraseña nueva dos veces para verificar que la ha " +"escrito correctamente." + +msgid "New password:" +msgstr "Contraseña nueva:" + +msgid "Confirm password:" +msgstr "Confirme contraseña:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"El enlace de restablecimiento de contraseña era inválido, seguramente porque " +"se haya usado antes. Por favor, solicite un nuevo restablecimiento de " +"contraseña." + +msgid "" +"We've emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Le hemos enviado por email las instrucciones para restablecer la contraseña, " +"si es que existe una cuenta con la dirección electrónica que indicó. Debería " +"recibirlas en breve." + +msgid "" +"If you don't receive an email, please make sure you've entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Si no recibe un correo, por favor asegúrese de que ha introducido la " +"dirección de correo con la que se registró y verifique su carpeta de spam." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Ha recibido este correo electrónico porque ha solicitado restablecer la " +"contraseña para su cuenta en %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Por favor, vaya a la página siguiente y escoja una nueva contraseña." + +msgid "Your username, in case you've forgotten:" +msgstr "Su nombre de usuario, en caso de haberlo olvidado:" + +msgid "Thanks for using our site!" +msgstr "¡Gracias por usar nuestro sitio!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "El equipo de %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we'll email " +"instructions for setting a new one." +msgstr "" +"¿Ha olvidado su clave? Ingrese su dirección de correo electrónico a " +"continuación y le enviaremos las instrucciones para establecer una nueva." + +msgid "Email address:" +msgstr "Correo electrónico:" + +msgid "Reset my password" +msgstr "Restablecer mi contraseña" + +msgid "All dates" +msgstr "Todas las fechas" + +#, python-format +msgid "Select %s" +msgstr "Escoja %s" + +#, python-format +msgid "Select %s to change" +msgstr "Escoja %s a modificar" + +msgid "Date:" +msgstr "Fecha:" + +msgid "Time:" +msgstr "Hora:" + +msgid "Lookup" +msgstr "Buscar" + +msgid "Currently:" +msgstr "Actualmente:" + +msgid "Change:" +msgstr "Cambiar:" diff --git a/external_sources/django/django/contrib/admin/locale/es_CO/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/es_CO/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..4bcc1cc --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/es_CO/LC_MESSAGES/djangojs.po @@ -0,0 +1,223 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Ernesto Avilés Vázquez , 2015 +# Jannis Leidel , 2011 +# Josue Naaman Nistal Guerra , 2014 +# Leonardo J. Caballero G. , 2011 +# Veronicabh , 2015 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"PO-Revision-Date: 2017-09-20 03:01+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Spanish (Colombia) (http://www.transifex.com/django/django/" +"language/es_CO/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_CO\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "%s Disponibles" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Esta es la lista de %s disponibles. Puede elegir algunos seleccionándolos en " +"la caja inferior y luego haciendo clic en la flecha \"Elegir\" que hay entre " +"las dos cajas." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Escriba en este cuadro para filtrar la lista de %s disponibles" + +msgid "Filter" +msgstr "Filtro" + +msgid "Choose all" +msgstr "Selecciona todos" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Haga clic para seleccionar todos los %s de una vez" + +msgid "Choose" +msgstr "Elegir" + +msgid "Remove" +msgstr "Eliminar" + +#, javascript-format +msgid "Chosen %s" +msgstr "%s elegidos" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Esta es la lista de los %s elegidos. Puede eliminar algunos seleccionándolos " +"en la caja inferior y luego haciendo click en la flecha \"Eliminar\" que hay " +"entre las dos cajas." + +msgid "Remove all" +msgstr "Eliminar todos" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Haz clic para eliminar todos los %s elegidos" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s de %(cnt)s seleccionado" +msgstr[1] "%(sel)s de %(cnt)s seleccionados" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Tiene cambios sin guardar en campos editables individuales. Si ejecuta una " +"acción, los cambios no guardados se perderán." + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"Ha seleccionado una acción, pero no ha guardado los cambios en los campos " +"individuales todavía. Pulse OK para guardar. Tendrá que volver a ejecutar la " +"acción." + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Ha seleccionado una acción y no ha hecho ningún cambio en campos " +"individuales. Probablemente esté buscando el botón Ejecutar en lugar del " +"botón Guardar." + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Nota: Usted esta a %s horas por delante de la hora del servidor." +msgstr[1] "Nota: Usted va %s horas por delante de la hora del servidor." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Nota: Usted esta a %s hora de retraso de tiempo de servidor." +msgstr[1] "Nota: Usted va %s horas por detrás de la hora del servidor." + +msgid "Now" +msgstr "Ahora" + +msgid "Choose a Time" +msgstr "Elija una hora" + +msgid "Choose a time" +msgstr "Elija una hora" + +msgid "Midnight" +msgstr "Medianoche" + +msgid "6 a.m." +msgstr "6 a.m." + +msgid "Noon" +msgstr "Mediodía" + +msgid "6 p.m." +msgstr "6 p.m." + +msgid "Cancel" +msgstr "Cancelar" + +msgid "Today" +msgstr "Hoy" + +msgid "Choose a Date" +msgstr "Elija una fecha" + +msgid "Yesterday" +msgstr "Ayer" + +msgid "Tomorrow" +msgstr "Mañana" + +msgid "January" +msgstr "" + +msgid "February" +msgstr "" + +msgid "March" +msgstr "" + +msgid "April" +msgstr "" + +msgid "May" +msgstr "" + +msgid "June" +msgstr "" + +msgid "July" +msgstr "" + +msgid "August" +msgstr "" + +msgid "September" +msgstr "" + +msgid "October" +msgstr "" + +msgid "November" +msgstr "" + +msgid "December" +msgstr "" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "" + +msgctxt "one letter Monday" +msgid "M" +msgstr "" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "" + +msgctxt "one letter Friday" +msgid "F" +msgstr "" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "" + +msgid "Show" +msgstr "Mostrar" + +msgid "Hide" +msgstr "Esconder" diff --git a/external_sources/django/django/contrib/admin/locale/es_MX/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/es_MX/LC_MESSAGES/django.po new file mode 100644 index 0000000..416df6a --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/es_MX/LC_MESSAGES/django.po @@ -0,0 +1,720 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Abe Estrada, 2011-2013 +# Alex Dzul , 2015 +# Gustavo Jimenez , 2020 +# Jesús Bautista , 2020 +# José Rosso, 2022 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-05-17 05:10-0500\n" +"PO-Revision-Date: 2022-07-25 07:05+0000\n" +"Last-Translator: José Rosso\n" +"Language-Team: Spanish (Mexico) (http://www.transifex.com/django/django/" +"language/es_MX/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_MX\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Eliminar %(verbose_name_plural)s seleccionados/as" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Se eliminaron con éxito %(count)d %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "No se puede eliminar %(name)s " + +msgid "Are you sure?" +msgstr "¿Está seguro?" + +msgid "Administration" +msgstr "Administración" + +msgid "All" +msgstr "Todos/as" + +msgid "Yes" +msgstr "Sí" + +msgid "No" +msgstr "No" + +msgid "Unknown" +msgstr "Desconocido" + +msgid "Any date" +msgstr "Cualquier fecha" + +msgid "Today" +msgstr "Hoy" + +msgid "Past 7 days" +msgstr "Últimos 7 días" + +msgid "This month" +msgstr "Este mes" + +msgid "This year" +msgstr "Este año" + +msgid "No date" +msgstr "Sin fecha" + +msgid "Has date" +msgstr "Tiene fecha" + +msgid "Empty" +msgstr "Vacío" + +msgid "Not empty" +msgstr "" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Por favor introduza %(username)s y contraseña correctos de una cuenta de " +"staff. Note que puede que ambos campos sean estrictos en relación a " +"diferencias entre mayúsculas y minúsculas." + +msgid "Action:" +msgstr "Acción:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Agregar otro/a %(verbose_name)s" + +msgid "Remove" +msgstr "Eliminar" + +msgid "Addition" +msgstr "Adición" + +msgid "Change" +msgstr "Modificar" + +msgid "Deletion" +msgstr "Eliminación" + +msgid "action time" +msgstr "hora de la acción" + +msgid "user" +msgstr "usuario" + +msgid "content type" +msgstr "tipo de contenido" + +msgid "object id" +msgstr "id de objeto" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "repr de objeto" + +msgid "action flag" +msgstr "marca de acción" + +msgid "change message" +msgstr "mensaje de cambio" + +msgid "log entry" +msgstr "entrada de registro" + +msgid "log entries" +msgstr "entradas de registro" + +#, python-format +msgid "Added “%(object)s”." +msgstr "" + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "" + +msgid "LogEntry Object" +msgstr "Objeto de registro de Log" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "" + +msgid "Added." +msgstr "Agregado." + +msgid "and" +msgstr "y" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "" + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "" + +msgid "No fields changed." +msgstr "No ha modificado ningún campo." + +msgid "None" +msgstr "Ninguno" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "El {name} \"{obj}\" se agregó correctamente." + +msgid "You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Deben existir items seleccionados para poder realizar acciones sobre los " +"mismos. No se modificó ningún item." + +msgid "No action selected." +msgstr "No se ha seleccionado ninguna acción." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "" + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "Agregar %s" + +#, python-format +msgid "Change %s" +msgstr "Modificar %s" + +#, python-format +msgid "View %s" +msgstr "" + +msgid "Database error" +msgstr "Error en la base de datos" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "Se ha modificado con éxito %(count)s %(name)s." +msgstr[1] "Se han modificado con éxito %(count)s %(name)s." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s seleccionados/as" +msgstr[1] "Todos/as (%(total_count)s en total) han sido seleccionados/as" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 de %(cnt)s seleccionados/as" + +#, python-format +msgid "Change history: %s" +msgstr "Historia de modificaciones: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"La eliminación de %(class_name)s %(instance)s provocaría la eliminación de " +"los siguientes objetos relacionados protegidos: %(related_objects)s" + +msgid "Django site admin" +msgstr "Sitio de administración de Django" + +msgid "Django administration" +msgstr "Administración de Django" + +msgid "Site administration" +msgstr "Administración del sitio" + +msgid "Log in" +msgstr "Identificarse" + +#, python-format +msgid "%(app)s administration" +msgstr "Administración de %(app)s " + +msgid "Page not found" +msgstr "Página no encontrada" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "" + +msgid "Home" +msgstr "Inicio" + +msgid "Server error" +msgstr "Error del servidor" + +msgid "Server error (500)" +msgstr "Error del servidor (500)" + +msgid "Server Error (500)" +msgstr "Error de servidor (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +msgid "Run the selected action" +msgstr "Ejecutar la acción seleccionada" + +msgid "Go" +msgstr "Ejecutar" + +msgid "Click here to select the objects across all pages" +msgstr "Haga click aquí para seleccionar los objetos de todas las páginas" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Seleccionar lo(s)/a(s) %(total_count)s de %(module_name)s" + +msgid "Clear selection" +msgstr "Borrar selección" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Modelos en la aplicación %(name)s" + +msgid "Add" +msgstr "Agregar" + +msgid "View" +msgstr "Vista" + +msgid "You don’t have permission to view or edit anything." +msgstr "" + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" + +msgid "Enter a username and password." +msgstr "Introduzca un nombre de usuario y una contraseña." + +msgid "Change password" +msgstr "Cambiar contraseña" + +msgid "Please correct the error below." +msgstr "" + +msgid "Please correct the errors below." +msgstr "Por favor, corrija los siguientes errores." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"Introduzca una nueva contraseña para el usuario %(username)s." + +msgid "Welcome," +msgstr "Bienvenido," + +msgid "View site" +msgstr "Ver sitio" + +msgid "Documentation" +msgstr "Documentación" + +msgid "Log out" +msgstr "Cerrar sesión" + +#, python-format +msgid "Add %(name)s" +msgstr "Agregar %(name)s" + +msgid "History" +msgstr "Historia" + +msgid "View on site" +msgstr "Ver en el sitio" + +msgid "Filter" +msgstr "Filtrar" + +msgid "Clear all filters" +msgstr "" + +msgid "Remove from sorting" +msgstr "Elimina de la clasificación" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Prioridad de la clasificación: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Activar la clasificación" + +msgid "Delete" +msgstr "Eliminar" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Eliminar el %(object_name)s '%(escaped_object)s' provocaría la eliminación " +"de objetos relacionados, pero su cuenta no tiene permiso para eliminar los " +"siguientes tipos de objetos:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Para eliminar %(object_name)s '%(escaped_object)s' requiere eliminar los " +"siguientes objetos relacionados protegidos:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"¿Está seguro de que quiere eliminar los %(object_name)s \"%(escaped_object)s" +"\"? Se eliminarán los siguientes objetos relacionados:" + +msgid "Objects" +msgstr "Objetos" + +msgid "Yes, I’m sure" +msgstr "" + +msgid "No, take me back" +msgstr "" + +msgid "Delete multiple objects" +msgstr "Eliminar múltiples objetos" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Para eliminar %(objects_name)s requiere eliminar los objetos relacionado, " +"pero tu cuenta no tiene permisos para eliminar los siguientes tipos de " +"objetos:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Eliminar el seleccionado %(objects_name)s requiere eliminar los siguientes " +"objetos relacionados protegidas:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"¿Está seguro que desea eliminar el seleccionado %(objects_name)s ? Todos los " +"objetos siguientes y sus elementos asociados serán eliminados:" + +msgid "Delete?" +msgstr "Eliminar?" + +#, python-format +msgid " By %(filter_title)s " +msgstr "Por %(filter_title)s" + +msgid "Summary" +msgstr "Resúmen" + +msgid "Recent actions" +msgstr "" + +msgid "My actions" +msgstr "Mis acciones" + +msgid "None available" +msgstr "Ninguna disponible" + +msgid "Unknown content" +msgstr "Contenido desconocido" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" + +msgid "Forgotten your password or username?" +msgstr "¿Ha olvidado su contraseña o nombre de usuario?" + +msgid "Toggle navigation" +msgstr "" + +msgid "Start typing to filter…" +msgstr "" + +msgid "Filter navigation items" +msgstr "" + +msgid "Date/time" +msgstr "Fecha/hora" + +msgid "User" +msgstr "Usuario" + +msgid "Action" +msgstr "Acción" + +msgid "entry" +msgstr "" + +msgid "entries" +msgstr "" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" + +msgid "Show all" +msgstr "Mostrar todos/as" + +msgid "Save" +msgstr "Guardar" + +msgid "Popup closing…" +msgstr "" + +msgid "Search" +msgstr "Buscar" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s results" +msgstr[1] "%(counter)s resultados" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "total: %(full_result_count)s" + +msgid "Save as new" +msgstr "Guardar como nuevo" + +msgid "Save and add another" +msgstr "Guardar y agregar otro" + +msgid "Save and continue editing" +msgstr "Guardar y continuar editando" + +msgid "Save and view" +msgstr "" + +msgid "Close" +msgstr "Cerrar" + +#, python-format +msgid "Change selected %(model)s" +msgstr "" + +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "" + +#, python-format +msgid "View selected %(model)s" +msgstr "" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "" + +msgid "Log in again" +msgstr "Identificarse de nuevo" + +msgid "Password change" +msgstr "Cambio de contraseña" + +msgid "Your password was changed." +msgstr "Su contraseña ha sido cambiada." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" + +msgid "Change my password" +msgstr "Cambiar mi contraseña" + +msgid "Password reset" +msgstr "Recuperar contraseña" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Se le ha enviado su contraseña. Ahora puede continuar e ingresar." + +msgid "Password reset confirmation" +msgstr "Confirmación de reincialización de contraseña" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Por favor introduzca su nueva contraseña dos veces de manera que podamos " +"verificar que la ha escrito correctamente." + +msgid "New password:" +msgstr "Nueva contraseña:" + +msgid "Confirm password:" +msgstr "Confirme contraseña:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"El enlace de reinicialización de contraseña es inválido, posiblemente debido " +"a que ya ha sido usado. Por favor solicite una nueva reinicialización de " +"contraseña." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Usted está recibiendo este correo electrónico porque ha solicitado un " +"restablecimiento de contraseña para la cuenta de usuario en %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "" +"Por favor visite la página que se muestra a continuación y elija una nueva " +"contraseña:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "" + +msgid "Thanks for using our site!" +msgstr "¡Gracias por usar nuestro sitio!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "El equipo de %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" + +msgid "Email address:" +msgstr "Correo electrónico:" + +msgid "Reset my password" +msgstr "Recuperar mi contraseña" + +msgid "All dates" +msgstr "Todas las fechas" + +#, python-format +msgid "Select %s" +msgstr "Seleccione %s" + +#, python-format +msgid "Select %s to change" +msgstr "Seleccione %s a modificar" + +#, python-format +msgid "Select %s to view" +msgstr "" + +msgid "Date:" +msgstr "Fecha:" + +msgid "Time:" +msgstr "Hora:" + +msgid "Lookup" +msgstr "Buscar" + +msgid "Currently:" +msgstr "Actualmente:" + +msgid "Change:" +msgstr "Modificar:" diff --git a/external_sources/django/django/contrib/admin/locale/es_MX/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/es_MX/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..76af2f3 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/es_MX/LC_MESSAGES/djangojs.po @@ -0,0 +1,219 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Abraham Estrada, 2011-2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"PO-Revision-Date: 2017-09-19 16:41+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Spanish (Mexico) (http://www.transifex.com/django/django/" +"language/es_MX/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_MX\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "Disponible %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Esta es la lista de los %s disponibles. Usted puede elegir algunos " +"seleccionándolos en el cuadro de abajo y haciendo click en la flecha " +"\"Seleccionar\" entre las dos cajas." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Escriba en esta casilla para filtrar la lista de %s disponibles." + +msgid "Filter" +msgstr "Filtro" + +msgid "Choose all" +msgstr "Seleccionar todos" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Da click para seleccionar todos los %s de una vez." + +msgid "Choose" +msgstr "Seleccionar" + +msgid "Remove" +msgstr "Quitar" + +#, javascript-format +msgid "Chosen %s" +msgstr "%s seleccionados" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Esta es la lista de los %s elegidos. Usted puede eliminar algunos " +"seleccionándolos en el cuadro de abajo y haciendo click en la flecha " +"\"Eliminar\" entre las dos cajas." + +msgid "Remove all" +msgstr "Eliminar todos" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Da click para eliminar todos los %s seleccionados de una vez." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s de %(cnt)s seleccionado/a" +msgstr[1] "%(sel)s de %(cnt)s seleccionados/as" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Tiene modificaciones sin guardar en campos modificables individuales. Si " +"ejecuta una acción las mismas se perderán." + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"Ha seleccionado una acción, pero todavía no ha grabado las modificaciones " +"que ha realizado en campos individuales. Por favor haga click en Aceptar " +"para grabarlas. Necesitará ejecutar la acción nuevamente." + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Ha seleccionado una acción pero no ha realizado ninguna modificación en " +"campos individuales. Es probable que lo que necesite usar en realidad sea el " +"botón Ejecutar y no el botón Guardar." + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" +msgstr[1] "" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +msgstr[1] "" + +msgid "Now" +msgstr "Ahora" + +msgid "Choose a Time" +msgstr "" + +msgid "Choose a time" +msgstr "Elija una hora" + +msgid "Midnight" +msgstr "Medianoche" + +msgid "6 a.m." +msgstr "6 a.m." + +msgid "Noon" +msgstr "Mediodía" + +msgid "6 p.m." +msgstr "" + +msgid "Cancel" +msgstr "Cancelar" + +msgid "Today" +msgstr "Hoy" + +msgid "Choose a Date" +msgstr "" + +msgid "Yesterday" +msgstr "Ayer" + +msgid "Tomorrow" +msgstr "Mañana" + +msgid "January" +msgstr "" + +msgid "February" +msgstr "" + +msgid "March" +msgstr "" + +msgid "April" +msgstr "" + +msgid "May" +msgstr "" + +msgid "June" +msgstr "" + +msgid "July" +msgstr "" + +msgid "August" +msgstr "" + +msgid "September" +msgstr "" + +msgid "October" +msgstr "" + +msgid "November" +msgstr "" + +msgid "December" +msgstr "" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "" + +msgctxt "one letter Monday" +msgid "M" +msgstr "" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "" + +msgctxt "one letter Friday" +msgid "F" +msgstr "" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "" + +msgid "Show" +msgstr "Mostrar" + +msgid "Hide" +msgstr "Ocultar" diff --git a/external_sources/django/django/contrib/admin/locale/es_VE/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/es_VE/LC_MESSAGES/django.po new file mode 100644 index 0000000..c9e1509 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/es_VE/LC_MESSAGES/django.po @@ -0,0 +1,698 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Eduardo , 2017 +# Hotellook, 2014 +# Leonardo J. Caballero G. , 2016 +# Yoel Acevedo, 2017 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-19 16:49+0100\n" +"PO-Revision-Date: 2017-09-19 19:11+0000\n" +"Last-Translator: Eduardo \n" +"Language-Team: Spanish (Venezuela) (http://www.transifex.com/django/django/" +"language/es_VE/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_VE\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Eliminado %(count)d %(items)s satisfactoriamente." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "No se puede eliminar %(name)s" + +msgid "Are you sure?" +msgstr "¿Está seguro?" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Eliminar %(verbose_name_plural)s seleccionado" + +msgid "Administration" +msgstr "Administración" + +msgid "All" +msgstr "Todo" + +msgid "Yes" +msgstr "Sí" + +msgid "No" +msgstr "No" + +msgid "Unknown" +msgstr "Desconocido" + +msgid "Any date" +msgstr "Cualquier fecha" + +msgid "Today" +msgstr "Hoy" + +msgid "Past 7 days" +msgstr "Últimos 7 días" + +msgid "This month" +msgstr "Este mes" + +msgid "This year" +msgstr "Este año" + +msgid "No date" +msgstr "Sin fecha" + +msgid "Has date" +msgstr "Tiene fecha" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Por favor, ingrese el %(username)s y la clave correctos para obtener cuenta " +"de personal. Observe que ambos campos pueden ser sensibles a mayúsculas." + +msgid "Action:" +msgstr "Acción:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Añadir otro %(verbose_name)s." + +msgid "Remove" +msgstr "Eliminar" + +msgid "action time" +msgstr "hora de la acción" + +msgid "user" +msgstr "usuario" + +msgid "content type" +msgstr "tipo de contenido" + +msgid "object id" +msgstr "id del objeto" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/3/library/functions.html#repr) +msgid "object repr" +msgstr "repr del objeto" + +msgid "action flag" +msgstr "marca de acción" + +msgid "change message" +msgstr "mensaje de cambio" + +msgid "log entry" +msgstr "entrada de registro" + +msgid "log entries" +msgstr "entradas de registro" + +#, python-format +msgid "Added \"%(object)s\"." +msgstr "Añadidos \"%(object)s\"." + +#, python-format +msgid "Changed \"%(object)s\" - %(changes)s" +msgstr "Cambiados \"%(object)s\" - %(changes)s" + +#, python-format +msgid "Deleted \"%(object)s.\"" +msgstr "Eliminado \"%(object)s.\"" + +msgid "LogEntry Object" +msgstr "Objeto LogEntry" + +#, python-brace-format +msgid "Added {name} \"{object}\"." +msgstr "Agregado {name} \"{object}\"." + +msgid "Added." +msgstr "Añadido." + +msgid "and" +msgstr "y" + +#, python-brace-format +msgid "Changed {fields} for {name} \"{object}\"." +msgstr "Modificado {fields} por {name} \"{object}\"." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Modificado {fields}." + +#, python-brace-format +msgid "Deleted {name} \"{object}\"." +msgstr "Eliminado {name} \"{object}\"." + +msgid "No fields changed." +msgstr "No ha cambiado ningún campo." + +msgid "None" +msgstr "Ninguno" + +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" +"Mantenga presionado \"Control\" o \"Command\" en un Mac, para seleccionar " +"más de una opción." + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" +"El {name} \"{obj}\" fue agregado satisfactoriamente. Puede editarlo " +"nuevamente a continuación. " + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may add another {name} " +"below." +msgstr "" +"El {name} \"{obj}\" fue agregado satisfactoriamente. Puede agregar otro " +"{name} a continuación. " + +#, python-brace-format +msgid "The {name} \"{obj}\" was added successfully." +msgstr "El {name} \"{obj}\" fue cambiado satisfactoriamente." + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may edit it again below." +msgstr "" +"El {name} \"{obj}\" fue cambiado satisfactoriamente. Puede editarlo " +"nuevamente a continuación. " + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may add another {name} " +"below." +msgstr "" +"El {name} \"{obj}\" fue cambiado satisfactoriamente. Puede agregar otro " +"{name} a continuación." + +#, python-brace-format +msgid "The {name} \"{obj}\" was changed successfully." +msgstr "El {name} \"{obj}\" fue cambiado satisfactoriamente." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Se deben seleccionar elementos para poder realizar acciones sobre estos. No " +"se han modificado elementos." + +msgid "No action selected." +msgstr "No se seleccionó ninguna acción." + +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "Se eliminó con éxito el %(name)s \"%(obj)s\"." + +#, python-format +msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" +msgstr "%(name)s con ID \"%(key)s\" no existe. ¿Tal vez fue eliminada?" + +#, python-format +msgid "Add %s" +msgstr "Añadir %s" + +#, python-format +msgid "Change %s" +msgstr "Modificar %s" + +msgid "Database error" +msgstr "Error en la base de datos" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s fué modificado con éxito." +msgstr[1] "%(count)s %(name)s fueron modificados con éxito." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s seleccionado" +msgstr[1] "%(total_count)s seleccionados en total" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 de %(cnt)s seleccionado" + +#, python-format +msgid "Change history: %s" +msgstr "Histórico de modificaciones: %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"La eliminación de %(class_name)s %(instance)s requeriría eliminar los " +"siguientes objetos relacionados protegidos: %(related_objects)s" + +msgid "Django site admin" +msgstr "Sitio de administración de Django" + +msgid "Django administration" +msgstr "Administración de Django" + +msgid "Site administration" +msgstr "Sitio de administración" + +msgid "Log in" +msgstr "Iniciar sesión" + +#, python-format +msgid "%(app)s administration" +msgstr "Administración de %(app)s " + +msgid "Page not found" +msgstr "Página no encontrada" + +msgid "We're sorry, but the requested page could not be found." +msgstr "Lo sentimos, pero no se encuentra la página solicitada." + +msgid "Home" +msgstr "Inicio" + +msgid "Server error" +msgstr "Error del servidor" + +msgid "Server error (500)" +msgstr "Error del servidor (500)" + +msgid "Server Error (500)" +msgstr "Error de servidor (500)" + +msgid "" +"There's been an error. It's been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Ha habido un error. Ha sido comunicado al administrador del sitio por correo " +"electrónico y debería solucionarse a la mayor brevedad. Gracias por su " +"paciencia y comprensión." + +msgid "Run the selected action" +msgstr "Ejecutar la acción seleccionada" + +msgid "Go" +msgstr "Ir" + +msgid "Click here to select the objects across all pages" +msgstr "Pulse aquí para seleccionar los objetos a través de todas las páginas" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Seleccionar todos los %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Limpiar selección" + +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"Primero introduzca un nombre de usuario y una contraseña. Luego podrá editar " +"el resto de opciones del usuario." + +msgid "Enter a username and password." +msgstr "Ingrese un nombre de usuario y contraseña" + +msgid "Change password" +msgstr "Cambiar contraseña" + +msgid "Please correct the error below." +msgstr "Por favor, corrija el siguiente error." + +msgid "Please correct the errors below." +msgstr "Por favor, corrija los siguientes errores." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"Ingrese una nueva contraseña para el usuario %(username)s." + +msgid "Welcome," +msgstr "Bienvenido," + +msgid "View site" +msgstr "Ver el sitio" + +msgid "Documentation" +msgstr "Documentación" + +msgid "Log out" +msgstr "Terminar sesión" + +#, python-format +msgid "Add %(name)s" +msgstr "Añadir %(name)s" + +msgid "History" +msgstr "Histórico" + +msgid "View on site" +msgstr "Ver en el sitio" + +msgid "Filter" +msgstr "Filtro" + +msgid "Remove from sorting" +msgstr "Elimina de la ordenación" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Prioridad de la ordenación: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Activar la ordenación" + +msgid "Delete" +msgstr "Eliminar" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Eliminar el %(object_name)s '%(escaped_object)s' provocaría la eliminación " +"de objetos relacionados, pero su cuenta no tiene permiso para borrar los " +"siguientes tipos de objetos:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Eliminar el %(object_name)s %(escaped_object)s requeriría eliminar los " +"siguientes objetos relacionados protegidos:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"¿Está seguro de que quiere borrar los %(object_name)s \"%(escaped_object)s" +"\"? Se borrarán los siguientes objetos relacionados:" + +msgid "Objects" +msgstr "Objetos" + +msgid "Yes, I'm sure" +msgstr "Sí, Yo estoy seguro" + +msgid "No, take me back" +msgstr "No, llévame atrás" + +msgid "Delete multiple objects" +msgstr "Eliminar múltiples objetos" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Eliminar el %(objects_name)s seleccionado resultaría en el borrado de " +"objetos relacionados, pero su cuenta no tiene permisos para borrar los " +"siguientes tipos de objetos:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Eliminar el %(objects_name)s seleccionado requeriría el borrado de los " +"siguientes objetos protegidos relacionados:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"¿Está usted seguro que quiere eliminar el %(objects_name)s seleccionado? " +"Todos los siguientes objetos y sus elementos relacionados serán borrados:" + +msgid "Change" +msgstr "Modificar" + +msgid "Delete?" +msgstr "¿Eliminar?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " Por %(filter_title)s " + +msgid "Summary" +msgstr "Resumen" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Modelos en la aplicación %(name)s" + +msgid "Add" +msgstr "Añadir" + +msgid "You don't have permission to edit anything." +msgstr "No tiene permiso para editar nada." + +msgid "Recent actions" +msgstr "Acciones recientes" + +msgid "My actions" +msgstr "Mis acciones" + +msgid "None available" +msgstr "Ninguno disponible" + +msgid "Unknown content" +msgstr "Contenido desconocido" + +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Algo va mal con la instalación de la base de datos. Asegúrese de que las " +"tablas necesarias han sido creadas, y de que la base de datos puede ser " +"leída por el usuario apropiado." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Se ha autenticado como %(username)s, pero no está autorizado a acceder a " +"esta página. ¿Desea autenticarse con una cuenta diferente?" + +msgid "Forgotten your password or username?" +msgstr "¿Ha olvidado la contraseña o el nombre de usuario?" + +msgid "Date/time" +msgstr "Fecha/hora" + +msgid "User" +msgstr "Usuario" + +msgid "Action" +msgstr "Acción" + +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"Este objeto no tiene histórico de cambios. Probablemente no fue añadido " +"usando este sitio de administración." + +msgid "Show all" +msgstr "Mostrar todo" + +msgid "Save" +msgstr "Guardar" + +msgid "Popup closing..." +msgstr "Ventana emergente cerrando..." + +#, python-format +msgid "Change selected %(model)s" +msgstr "Cambiar %(model)s seleccionado" + +#, python-format +msgid "Add another %(model)s" +msgstr "Añadir otro %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Eliminar %(model)s seleccionado" + +msgid "Search" +msgstr "Buscar" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s resultado" +msgstr[1] "%(counter)s resultados" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s total" + +msgid "Save as new" +msgstr "Guardar como nuevo" + +msgid "Save and add another" +msgstr "Guardar y añadir otro" + +msgid "Save and continue editing" +msgstr "Guardar y continuar editando" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Gracias por el tiempo que ha dedicado hoy al sitio web." + +msgid "Log in again" +msgstr "Iniciar sesión de nuevo" + +msgid "Password change" +msgstr "Cambio de contraseña" + +msgid "Your password was changed." +msgstr "Su contraseña ha sido cambiada." + +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Por favor, ingrese su contraseña antigua, por seguridad, y después " +"introduzca la nueva contraseña dos veces para verificar que la ha escrito " +"correctamente." + +msgid "Change my password" +msgstr "Cambiar mi contraseña" + +msgid "Password reset" +msgstr "Restablecer contraseña" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "" +"Su contraseña ha sido establecida. Ahora puede seguir adelante e iniciar " +"sesión." + +msgid "Password reset confirmation" +msgstr "Confirmación de restablecimiento de contraseña" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Por favor, ingrese su contraseña nueva dos veces para verificar que la ha " +"escrito correctamente." + +msgid "New password:" +msgstr "Contraseña nueva:" + +msgid "Confirm password:" +msgstr "Confirme contraseña:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"El enlace de restablecimiento de contraseña era inválido, seguramente porque " +"se haya usado antes. Por favor, solicite un nuevo restablecimiento de " +"contraseña." + +msgid "" +"We've emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Le hemos enviado por correo electrónico las instrucciones para restablecer " +"la contraseña, si es que existe una cuenta con la dirección electrónica que " +"indicó. Debería recibirlas en breve." + +msgid "" +"If you don't receive an email, please make sure you've entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Si no recibe un correo, por favor, asegúrese de que ha introducido la " +"dirección de correo con la que se registró y verifique su carpeta de correo " +"no deseado o spam." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Ha recibido este correo electrónico porque ha solicitado restablecer la " +"contraseña para su cuenta en %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Por favor, vaya a la página siguiente y escoja una nueva contraseña." + +msgid "Your username, in case you've forgotten:" +msgstr "Su nombre de usuario, en caso de haberlo olvidado:" + +msgid "Thanks for using our site!" +msgstr "¡Gracias por usar nuestro sitio!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "El equipo de %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we'll email " +"instructions for setting a new one." +msgstr "" +"¿Ha olvidado su clave? Ingrese su dirección de correo electrónico a " +"continuación y le enviaremos las instrucciones para establecer una nueva." + +msgid "Email address:" +msgstr "Correo electrónico:" + +msgid "Reset my password" +msgstr "Restablecer mi contraseña" + +msgid "All dates" +msgstr "Todas las fechas" + +#, python-format +msgid "Select %s" +msgstr "Escoja %s" + +#, python-format +msgid "Select %s to change" +msgstr "Escoja %s a modificar" + +msgid "Date:" +msgstr "Fecha:" + +msgid "Time:" +msgstr "Hora:" + +msgid "Lookup" +msgstr "Buscar" + +msgid "Currently:" +msgstr "Actualmente:" + +msgid "Change:" +msgstr "Cambiar:" diff --git a/external_sources/django/django/contrib/admin/locale/es_VE/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/es_VE/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..1ab4dcd --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/es_VE/LC_MESSAGES/djangojs.po @@ -0,0 +1,222 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Eduardo , 2017 +# FIRST AUTHOR , 2012 +# Hotellook, 2014 +# Leonardo J. Caballero G. , 2016 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"PO-Revision-Date: 2017-09-20 03:01+0000\n" +"Last-Translator: Eduardo \n" +"Language-Team: Spanish (Venezuela) (http://www.transifex.com/django/django/" +"language/es_VE/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_VE\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "Disponibles %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Esta es la lista de %s disponibles. Puede elegir algunos seleccionándolos en " +"la caja inferior y luego haciendo clic en la flecha \"Elegir\" que hay entre " +"las dos cajas." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Escriba en este cuadro para filtrar la lista de %s disponibles." + +msgid "Filter" +msgstr "Filtro" + +msgid "Choose all" +msgstr "Seleccione todos" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Haga clic para seleccionar todos los %s de una vez." + +msgid "Choose" +msgstr "Elegir" + +msgid "Remove" +msgstr "Eliminar" + +#, javascript-format +msgid "Chosen %s" +msgstr "Elegidos %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Esta es la lista de los %s elegidos. Puede eliminar algunos seleccionándolos " +"en la caja inferior y luego haciendo clic en la flecha \"Eliminar\" que hay " +"entre las dos cajas." + +msgid "Remove all" +msgstr "Eliminar todos" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Haga clic para eliminar todos los %s elegidos." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s de %(cnt)s seleccionado" +msgstr[1] "%(sel)s de %(cnt)s seleccionados" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Tiene cambios sin guardar en campos editables individuales. Si ejecuta una " +"acción, los cambios no guardados se perderán." + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"Ha seleccionado una acción, pero no ha guardado los cambios en los campos " +"individuales todavía. Pulse OK para guardar. Tendrá que volver a ejecutar la " +"acción." + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Ha seleccionado una acción y no ha hecho ningún cambio en campos " +"individuales. Probablemente esté buscando el botón Ejecutar en lugar del " +"botón Guardar." + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Nota: Usted esta a %s hora por delante de la hora del servidor." +msgstr[1] "Nota: Usted esta a %s horas por delante de la hora del servidor." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Nota: Usted esta a %s hora de retraso de la hora de servidor." +msgstr[1] "Nota: Usted esta a %s horas por detrás de la hora del servidor." + +msgid "Now" +msgstr "Ahora" + +msgid "Choose a Time" +msgstr "Elija una Hora" + +msgid "Choose a time" +msgstr "Elija una hora" + +msgid "Midnight" +msgstr "Medianoche" + +msgid "6 a.m." +msgstr "6 a.m." + +msgid "Noon" +msgstr "Mediodía" + +msgid "6 p.m." +msgstr "6 p.m." + +msgid "Cancel" +msgstr "Cancelar" + +msgid "Today" +msgstr "Hoy" + +msgid "Choose a Date" +msgstr "Elija una fecha" + +msgid "Yesterday" +msgstr "Ayer" + +msgid "Tomorrow" +msgstr "Mañana" + +msgid "January" +msgstr "Enero" + +msgid "February" +msgstr "Febrero" + +msgid "March" +msgstr "Marzo" + +msgid "April" +msgstr "Abril" + +msgid "May" +msgstr "Mayo" + +msgid "June" +msgstr "Junio" + +msgid "July" +msgstr "Julio" + +msgid "August" +msgstr "Agosto" + +msgid "September" +msgstr "Septiembre" + +msgid "October" +msgstr "Octubre" + +msgid "November" +msgstr "Noviembre" + +msgid "December" +msgstr "Diciembre" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "D" + +msgctxt "one letter Monday" +msgid "M" +msgstr "L" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "M" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "M" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "J" + +msgctxt "one letter Friday" +msgid "F" +msgstr "V" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "S" + +msgid "Show" +msgstr "Mostrar" + +msgid "Hide" +msgstr "Esconder" diff --git a/external_sources/django/django/contrib/admin/locale/et/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/et/LC_MESSAGES/django.po new file mode 100644 index 0000000..a689289 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/et/LC_MESSAGES/django.po @@ -0,0 +1,784 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# eallik , 2011 +# Erlend Eelmets , 2020 +# Jannis Leidel , 2011 +# Janno Liivak , 2013-2015 +# Martin , 2015,2022-2024 +# Martin , 2016,2019-2020 +# Marti Raudsepp , 2016 +# Ragnar Rebase , 2019 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 07:05+0000\n" +"Last-Translator: Martin , 2015,2022-2024\n" +"Language-Team: Estonian (http://app.transifex.com/django/django/language/" +"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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Kustuta valitud %(verbose_name_plural)s" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d %(items)s kustutamine õnnestus." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Ei saa kustutada %(name)s" + +msgid "Are you sure?" +msgstr "Kas olete kindel?" + +msgid "Administration" +msgstr "Administreerimine" + +msgid "All" +msgstr "Kõik" + +msgid "Yes" +msgstr "Jah" + +msgid "No" +msgstr "Ei" + +msgid "Unknown" +msgstr "Tundmatu" + +msgid "Any date" +msgstr "Suvaline kuupäev" + +msgid "Today" +msgstr "Täna" + +msgid "Past 7 days" +msgstr "Viimased 7 päeva" + +msgid "This month" +msgstr "Käesolev kuu" + +msgid "This year" +msgstr "Käesolev aasta" + +msgid "No date" +msgstr "Kuupäev puudub" + +msgid "Has date" +msgstr "Kuupäev olemas" + +msgid "Empty" +msgstr "Tühi" + +msgid "Not empty" +msgstr "Täidetud" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Palun sisestage personali kontole õige %(username)s ja parool. Teadke, et " +"mõlemad väljad võivad olla tõstutundlikud." + +msgid "Action:" +msgstr "Toiming:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Lisa veel üks %(verbose_name)s" + +msgid "Remove" +msgstr "Eemalda" + +msgid "Addition" +msgstr "Lisamine" + +msgid "Change" +msgstr "Muuda" + +msgid "Deletion" +msgstr "Kustutamine" + +msgid "action time" +msgstr "toimingu aeg" + +msgid "user" +msgstr "kasutaja" + +msgid "content type" +msgstr "sisutüüp" + +msgid "object id" +msgstr "objekti id" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "objekti esitus" + +msgid "action flag" +msgstr "toimingu lipp" + +msgid "change message" +msgstr "muudatuse tekst" + +msgid "log entry" +msgstr "logisissekanne" + +msgid "log entries" +msgstr "logisissekanded" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Lisati “%(object)s”." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Muudeti “%(object)s” — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Kustutati “%(object)s.”" + +msgid "LogEntry Object" +msgstr "Objekt LogEntry" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Lisati {name} “{object}”." + +msgid "Added." +msgstr "Lisatud." + +msgid "and" +msgstr "ja" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Muudeti {fields} -> {name} “{object}”." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Muudetud {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Kustutati {name} “{object}”." + +msgid "No fields changed." +msgstr "Ühtegi välja ei muudetud." + +msgid "None" +msgstr "Puudub" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "Hoia all “Control” või “Command” Macil, et valida rohkem kui üks." + +msgid "Select this object for an action - {}" +msgstr "Vali toiminguks käesolev objekt - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "{name} “{obj}” lisamine õnnestus." + +msgid "You may edit it again below." +msgstr "Võite seda uuesti muuta." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"{name} “{obj}” lisamine õnnestus. Allpool saate lisada järgmise {name}." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "{name} “{obj}” muutmine õnnestus. Allpool saate seda uuesti muuta." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "{name} ”{obj}” muutmine õnnestus. Allpool saate lisada uue {name}." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "{name} “{obj}” muutmine õnnestus." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Palun märgistage elemendid, millega soovite toiminguid sooritada. Ühtegi " +"elementi ei muudetud." + +msgid "No action selected." +msgstr "Toiming valimata." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s “%(obj)s” kustutamine õnnestus." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "%(name)s ID-ga “%(key)s” ei eksisteeri. Võib-olla on see kustutatud?" + +#, python-format +msgid "Add %s" +msgstr "Lisa %s" + +#, python-format +msgid "Change %s" +msgstr "Muuda %s" + +#, python-format +msgid "View %s" +msgstr "Vaata %s" + +msgid "Database error" +msgstr "Andmebaasi viga" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s muutmine õnnestus." +msgstr[1] "%(count)s %(name)s muutmine õnnestus." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s valitud" +msgstr[1] "Kõik %(total_count)s valitud" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "valitud 0/%(cnt)s" + +#, python-format +msgid "Change history: %s" +msgstr "Muudatuste ajalugu: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Et kustutada %(class_name)s %(instance)s, on vaja kustutada järgmised " +"kaitstud seotud objektid: %(related_objects)s" + +msgid "Django site admin" +msgstr "Django administreerimisliides" + +msgid "Django administration" +msgstr "Django administreerimisliides" + +msgid "Site administration" +msgstr "Saidi administreerimine" + +msgid "Log in" +msgstr "Sisene" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s administreerimine" + +msgid "Page not found" +msgstr "Lehte ei leitud" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Vabandame, kuid soovitud lehte ei leitud." + +msgid "Home" +msgstr "Kodu" + +msgid "Server error" +msgstr "Serveri viga" + +msgid "Server error (500)" +msgstr "Serveri viga (500)" + +msgid "Server Error (500)" +msgstr "Serveri Viga (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Ilmnes viga. Sellest on e-posti teel teavitatud lehe administraatorit ja " +"viga parandatakse esimesel võimalusel. Täname kannatlikkuse eest." + +msgid "Run the selected action" +msgstr "Käivita valitud toiming" + +msgid "Go" +msgstr "Mine" + +msgid "Click here to select the objects across all pages" +msgstr "Kliki siin, et märgistada objektid üle kõigi lehekülgede" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Märgista kõik %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Tühjenda valik" + +msgid "Breadcrumbs" +msgstr "Lingirivi" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Rakenduse %(name)s moodulid" + +msgid "Add" +msgstr "Lisa" + +msgid "View" +msgstr "Vaata" + +msgid "You don’t have permission to view or edit anything." +msgstr "Teil pole õigust midagi vaadata ega muuta." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Kõigepealt sisestage kasutajatunnus ja salasõna. Seejärel saate muuta " +"täiendavaid kasutajaandmeid." + +msgid "Enter a username and password." +msgstr "Sisestage kasutajanimi ja salasõna." + +msgid "Change password" +msgstr "Muuda salasõna" + +msgid "Set password" +msgstr "Määra parool" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Palun parandage allolev viga." +msgstr[1] "Palun parandage allolevad vead." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Sisestage uus salasõna kasutajale %(username)s" + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "" + +msgid "Disable password-based authentication" +msgstr "" + +msgid "Enable password-based authentication" +msgstr "" + +msgid "Skip to main content" +msgstr "Liigu põhisisu juurde" + +msgid "Welcome," +msgstr "Tere tulemast," + +msgid "View site" +msgstr "Vaata saiti" + +msgid "Documentation" +msgstr "Dokumentatsioon" + +msgid "Log out" +msgstr "Logi välja" + +#, python-format +msgid "Add %(name)s" +msgstr "Lisa %(name)s" + +msgid "History" +msgstr "Ajalugu" + +msgid "View on site" +msgstr "Näita lehel" + +msgid "Filter" +msgstr "Filtreeri" + +msgid "Hide counts" +msgstr "Peida loendused" + +msgid "Show counts" +msgstr "Näita loendusi" + +msgid "Clear all filters" +msgstr "Tühjenda kõik filtrid" + +msgid "Remove from sorting" +msgstr "Eemalda sorteerimisest" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Sorteerimisjärk: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Sorteerimine" + +msgid "Toggle theme (current theme: auto)" +msgstr "Teema lülitamine (hetkel: automaatne)" + +msgid "Toggle theme (current theme: light)" +msgstr "Teema lülitamine (hetkel: hele)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Teema lülitamine (hetkel: tume)" + +msgid "Delete" +msgstr "Kustuta" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Selleks, et kustutada %(object_name)s '%(escaped_object)s', on vaja " +"kustutada lisaks ka kõik seotud objecktid, aga teil puudub õigus järgnevat " +"tüüpi objektide kustutamiseks:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Et kustutada %(object_name)s '%(escaped_object)s', on vaja kustutada " +"järgmised kaitstud seotud objektid:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Kas olete kindel, et soovite kustutada objekti %(object_name)s " +"\"%(escaped_object)s\"? Kõik järgnevad seotud objektid kustutatakse koos " +"sellega:" + +msgid "Objects" +msgstr "Objektid" + +msgid "Yes, I’m sure" +msgstr "Jah, olen kindel" + +msgid "No, take me back" +msgstr "Ei, mine tagasi" + +msgid "Delete multiple objects" +msgstr "Kustuta mitu objekti" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Kui kustutada valitud %(objects_name)s, peaks kustutama ka seotud objektid, " +"aga sinu kasutajakontol pole õigusi järgmiste objektitüüpide kustutamiseks:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Et kustutada valitud %(objects_name)s, on vaja kustutada ka järgmised " +"kaitstud seotud objektid:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Kas oled kindel, et soovid kustutada valitud %(objects_name)s? Kõik " +"järgnevad objektid ja seotud objektid kustutatakse:" + +msgid "Delete?" +msgstr "Kustutan?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " %(filter_title)s " + +msgid "Summary" +msgstr "Kokkuvõte" + +msgid "Recent actions" +msgstr "Hiljutised toimingud" + +msgid "My actions" +msgstr "Minu toimingud" + +msgid "None available" +msgstr "Ei leitud ühtegi" + +msgid "Added:" +msgstr "Lisatud:" + +msgid "Changed:" +msgstr "Muudetud:" + +msgid "Deleted:" +msgstr "Kustutatud:" + +msgid "Unknown content" +msgstr "Tundmatu sisu" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"On tekkinud viga seoses andmebaasiga. Veenduge, et kõik vajalikud " +"andmebaasitabelid on loodud ja andmebaas on loetav vastava kasutaja poolt." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Olete sisse logitud kasutajana %(username)s, kuid teil puudub ligipääs " +"lehele. Kas te soovite teise kontoga sisse logida?" + +msgid "Forgotten your password or username?" +msgstr "Unustasite oma parooli või kasutajanime?" + +msgid "Toggle navigation" +msgstr "Lülita navigeerimine sisse" + +msgid "Sidebar" +msgstr "Külgriba" + +msgid "Start typing to filter…" +msgstr "Filtreerimiseks alusta trükkimist..." + +msgid "Filter navigation items" +msgstr "Filtreeri navigatsioonielemente" + +msgid "Date/time" +msgstr "Kuupäev/kellaaeg" + +msgid "User" +msgstr "Kasutaja" + +msgid "Action" +msgstr "Toiming" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "sissekanne" +msgstr[1] "sissekanded" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Sellel objektil puudub muudatuste ajalugu. Tõenäoliselt ei lisatud objekti " +"läbi selle administreerimisliidese." + +msgid "Show all" +msgstr "Näita kõiki" + +msgid "Save" +msgstr "Salvesta" + +msgid "Popup closing…" +msgstr "Hüpikaken sulgub…" + +msgid "Search" +msgstr "Otsing" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s tulemus" +msgstr[1] "%(counter)s tulemust" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "Kokku %(full_result_count)s" + +msgid "Save as new" +msgstr "Salvesta uuena" + +msgid "Save and add another" +msgstr "Salvesta ja lisa uus" + +msgid "Save and continue editing" +msgstr "Salvesta ja jätka muutmist" + +msgid "Save and view" +msgstr "Salvesta ja vaata" + +msgid "Close" +msgstr "Sulge" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Muuda valitud %(model)s" + +#, python-format +msgid "Add another %(model)s" +msgstr "Lisa veel üks %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Kustuta valitud %(model)s" + +#, python-format +msgid "View selected %(model)s" +msgstr "Vaata valitud %(model)s" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Tänan, et veetsite aega meie lehel." + +msgid "Log in again" +msgstr "Logi uuesti sisse" + +msgid "Password change" +msgstr "Salasõna muutmine" + +msgid "Your password was changed." +msgstr "Teie salasõna on vahetatud." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Turvalisuse tagamiseks palun sisestage oma praegune salasõna ja seejärel uus " +"salasõna. Veendumaks, et uue salasõna sisestamisel ei tekkinud vigu, palun " +"sisestage see kaks korda." + +msgid "Change my password" +msgstr "Muuda salasõna" + +msgid "Password reset" +msgstr "Uue parooli loomine" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Teie salasõna on määratud. Võite nüüd sisse logida." + +msgid "Password reset confirmation" +msgstr "Uue salasõna loomise kinnitamine" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Palun sisestage uus salasõna kaks korda, et saaksime veenduda, et " +"sisestamisel ei tekkinud vigu." + +msgid "New password:" +msgstr "Uus salasõna:" + +msgid "Confirm password:" +msgstr "Kinnita salasõna:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Uue salasõna loomise link ei olnud korrektne. Võimalik, et seda on varem " +"kasutatud. Esitage uue salasõna taotlus uuesti." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Saatsime teile meilile parooli muutmise juhendi. Kui teie poolt sisestatud e-" +"posti aadressiga konto on olemas, siis jõuab kiri peagi kohale." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Kui te ei saa kirja kätte siis veenduge, et sisestasite just selle e-posti " +"aadressi, millega registreerisite. Kontrollige ka oma rämpsposti kausta." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Saite käesoleva kirja kuna soovisite muuta lehel %(site_name)s oma " +"kasutajakontoga seotud parooli." + +msgid "Please go to the following page and choose a new password:" +msgstr "Palun minge järmisele lehele ning sisestage uus salasõna" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Teie kasutajatunnus juhuks, kui olete unustanud:" + +msgid "Thanks for using our site!" +msgstr "Täname meie lehte külastamast!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s meeskond" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Unustasite oma salasõna? Sisestage oma e-posti aadress ja saadame meilile " +"juhised uue saamiseks." + +msgid "Email address:" +msgstr "E-posti aadress:" + +msgid "Reset my password" +msgstr "Lähtesta mu parool" + +msgid "Select all objects on this page for an action" +msgstr "Vali toiminguks kõik objektid sellel lehel" + +msgid "All dates" +msgstr "Kõik kuupäevad" + +#, python-format +msgid "Select %s" +msgstr "Vali %s" + +#, python-format +msgid "Select %s to change" +msgstr "Vali %s mida muuta" + +#, python-format +msgid "Select %s to view" +msgstr "Vali %s vaatamiseks" + +msgid "Date:" +msgstr "Kuupäev:" + +msgid "Time:" +msgstr "Aeg:" + +msgid "Lookup" +msgstr "Otsi" + +msgid "Currently:" +msgstr "Hetkel:" + +msgid "Change:" +msgstr "Muuda:" diff --git a/external_sources/django/django/contrib/admin/locale/et/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/et/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..4762c47 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/et/LC_MESSAGES/djangojs.po @@ -0,0 +1,329 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# eallik , 2011 +# Jannis Leidel , 2011 +# Janno Liivak , 2013-2015 +# Martin , 2021,2023 +# Martin , 2016,2020 +# Ragnar Rebase , 2019 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 15:04-0300\n" +"PO-Revision-Date: 2023-12-04 07:59+0000\n" +"Last-Translator: Martin , 2021,2023\n" +"Language-Team: Estonian (http://app.transifex.com/django/django/language/" +"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" + +#, javascript-format +msgid "Available %s" +msgstr "Saadaval %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Nimekiri välja \"%s\" võimalikest väärtustest. Saad valida ühe või mitu " +"kirjet allolevast kastist ning vajutades noolt \"Vali\" liigutada neid ühest " +"kastist teise." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Filtreeri selle kasti abil välja \"%s\" nimekirja." + +msgid "Filter" +msgstr "Filter" + +msgid "Choose all" +msgstr "Vali kõik" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Kliki, et valida kõik %s korraga." + +msgid "Choose" +msgstr "Vali" + +msgid "Remove" +msgstr "Eemalda" + +#, javascript-format +msgid "Chosen %s" +msgstr "Valitud %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Nimekiri välja \"%s\" valitud väärtustest. Saad valida ühe või mitu kirjet " +"allolevast kastist ning vajutades noolt \"Eemalda\" liigutada neid ühest " +"kastist teise." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "Filtreeri selle kasti abil valitud \"%s\" nimekirja." + +msgid "Remove all" +msgstr "Eemalda kõik" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Kliki, et eemaldada kõik valitud %s korraga." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%s valik ei ole nähtaval" +msgstr[1] "%s valikut ei ole nähtaval" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s %(cnt)sst valitud" +msgstr[1] "%(sel)s %(cnt)sst valitud" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Muudetavates lahtrites on salvestamata muudatusi. Kui sooritate mõne " +"toimingu, lähevad salvestamata muudatused kaotsi." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Valisite toimingu, kuid pole salvestanud muudatusi lahtrites. Salvestamiseks " +"palun vajutage OK. Peate toimingu uuesti käivitama." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Valisite toimingu, kuid ei muutnud ühtegi lahtrit. Tõenäoliselt otsite Mine " +"mitte Salvesta nuppu." + +msgid "Now" +msgstr "Praegu" + +msgid "Midnight" +msgstr "Kesköö" + +msgid "6 a.m." +msgstr "6 hommikul" + +msgid "Noon" +msgstr "Keskpäev" + +msgid "6 p.m." +msgstr "6 õhtul" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Märkus: Olete %s tund serveri ajast ees." +msgstr[1] "Märkus: Olete %s tundi serveri ajast ees." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Märkus: Olete %s tund serveri ajast maas." +msgstr[1] "Märkus: Olete %s tundi serveri ajast maas." + +msgid "Choose a Time" +msgstr "Vali aeg" + +msgid "Choose a time" +msgstr "Vali aeg" + +msgid "Cancel" +msgstr "Tühista" + +msgid "Today" +msgstr "Täna" + +msgid "Choose a Date" +msgstr "Vali kuupäev" + +msgid "Yesterday" +msgstr "Eile" + +msgid "Tomorrow" +msgstr "Homme" + +msgid "January" +msgstr "jaanuar" + +msgid "February" +msgstr "veebruar" + +msgid "March" +msgstr "märts" + +msgid "April" +msgstr "aprill" + +msgid "May" +msgstr "mai" + +msgid "June" +msgstr "juuni" + +msgid "July" +msgstr "juuli" + +msgid "August" +msgstr "august" + +msgid "September" +msgstr "september" + +msgid "October" +msgstr "oktoober" + +msgid "November" +msgstr "november" + +msgid "December" +msgstr "detsember" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "jaan" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "veebr" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "märts" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "apr" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "mai" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "juuni" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "juuli" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "aug" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "sept" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "okt" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "nov" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "dets" + +msgid "Sunday" +msgstr "pühapäev" + +msgid "Monday" +msgstr "esmaspäev" + +msgid "Tuesday" +msgstr "teisipäev" + +msgid "Wednesday" +msgstr "kolmapäev" + +msgid "Thursday" +msgstr "neljapäev" + +msgid "Friday" +msgstr "reede" + +msgid "Saturday" +msgstr "laupäev" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "pühap." + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "esmasp." + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "teisip." + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "kolmap." + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "neljap." + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "reede" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "laup." + +msgctxt "one letter Sunday" +msgid "S" +msgstr "P" + +msgctxt "one letter Monday" +msgid "M" +msgstr "E" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "T" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "K" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "N" + +msgctxt "one letter Friday" +msgid "F" +msgstr "R" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "L" + +msgid "Show" +msgstr "Näita" + +msgid "Hide" +msgstr "Varja" diff --git a/external_sources/django/django/contrib/admin/locale/eu/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/eu/LC_MESSAGES/django.po new file mode 100644 index 0000000..3aba9f8 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/eu/LC_MESSAGES/django.po @@ -0,0 +1,732 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Aitzol Naberan , 2013,2016 +# Eneko Illarramendi , 2017-2019,2022 +# Jannis Leidel , 2011 +# julen, 2012-2013 +# julen, 2013 +# Urtzi Odriozola , 2017 +# Yoaira García , 2021 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-05-17 05:10-0500\n" +"PO-Revision-Date: 2022-07-25 07:05+0000\n" +"Last-Translator: Eneko Illarramendi \n" +"Language-Team: Basque (http://www.transifex.com/django/django/language/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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Ezabatu aukeratutako %(verbose_name_plural)s" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d %(items)s elementu ezabatu dira." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Ezin da %(name)s ezabatu" + +msgid "Are you sure?" +msgstr "Ziur al zaude?" + +msgid "Administration" +msgstr "Kudeaketa" + +msgid "All" +msgstr "Dena" + +msgid "Yes" +msgstr "Bai" + +msgid "No" +msgstr "Ez" + +msgid "Unknown" +msgstr "Ezezaguna" + +msgid "Any date" +msgstr "Edozein data" + +msgid "Today" +msgstr "Gaur" + +msgid "Past 7 days" +msgstr "Aurreko 7 egunak" + +msgid "This month" +msgstr "Hilabete hau" + +msgid "This year" +msgstr "Urte hau" + +msgid "No date" +msgstr "Datarik ez" + +msgid "Has date" +msgstr "Data dauka" + +msgid "Empty" +msgstr "Hutsik" + +msgid "Not empty" +msgstr "" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Idatzi kudeaketa gunerako %(username)s eta pasahitz zuzena. Kontuan izan " +"biek maiuskula/minuskulak desberdintzen dituztela." + +msgid "Action:" +msgstr "Ekintza:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Gehitu beste %(verbose_name)s bat" + +msgid "Remove" +msgstr "Kendu" + +msgid "Addition" +msgstr "Gehitzea" + +msgid "Change" +msgstr "Aldatu" + +msgid "Deletion" +msgstr "Ezabatzea" + +msgid "action time" +msgstr "Ekintza hordua" + +msgid "user" +msgstr "erabiltzailea" + +msgid "content type" +msgstr "eduki mota" + +msgid "object id" +msgstr "objetuaren id-a" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "objeturaren adierazpena" + +msgid "action flag" +msgstr "Ekintza botoia" + +msgid "change message" +msgstr "Mezua aldatu" + +msgid "log entry" +msgstr "Log sarrera" + +msgid "log entries" +msgstr "log sarrerak" + +#, python-format +msgid "Added “%(object)s”." +msgstr "\"%(object)s\" gehituta." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "\"%(object)s\" ezabatuta." + +msgid "LogEntry Object" +msgstr "LogEntry objetua" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "{name} \"{object}\" gehituta." + +msgid "Added." +msgstr "Gehituta" + +msgid "and" +msgstr "eta" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "{fields} aldatuta." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "{name} \"{object}\" ezabatuta." + +msgid "No fields changed." +msgstr "Ez da eremurik aldatu." + +msgid "None" +msgstr "Bat ere ez" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Bat baino gehiago hautatzeko, sakatu \"Kontrol\" tekla edo \"Command\" Mac " +"batean." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "" + +msgid "You may edit it again below." +msgstr "Aldaketa gehiago egin ditzazkezu jarraian." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"{name} \"{obj}\" ondo gehitu da. Beste {name} bat gehitu dezakezu jarraian." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"{name} \"{obj}\" ondo aldatu da. Aldaketa gehiago egin ditzazkezu jarraian." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "" +"{name} \"{obj}\" ondo gehitu da. Aldaketa gehiago egin ditzazkezu jarraian." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Elementuak aukeratu behar dira beraien gain ekintzak burutzeko. Ez da " +"elementurik aldatu." + +msgid "No action selected." +msgstr "Ez dago ekintzarik aukeratuta." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s \"%(obj)s\" ondo ezabatu da." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "" +"\"%(key)s\" ID-a duen %(name)s ez da existitzen. Agian ezabatua izan da?" + +#, python-format +msgid "Add %s" +msgstr "Gehitu %s" + +#, python-format +msgid "Change %s" +msgstr "Aldatu %s" + +#, python-format +msgid "View %s" +msgstr "%s ikusi" + +msgid "Database error" +msgstr "Errorea datu-basean" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(name)s %(count)s ondo aldatu da." +msgstr[1] "%(count)s %(name)s ondo aldatu dira." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "Guztira %(total_count)s aukeratuta" +msgstr[1] "Guztira %(total_count)s aukeratuta" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "Guztira %(cnt)s, 0 aukeratuta" + +#, python-format +msgid "Change history: %s" +msgstr "Aldaketen historia: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"%(class_name)s klaseko %(instance)s instantziak ezabatzeak erlazionatutako " +"objektu hauek ezabatzea eragingo du:\n" +"%(related_objects)s" + +msgid "Django site admin" +msgstr "Django kudeaketa gunea" + +msgid "Django administration" +msgstr "Django kudeaketa" + +msgid "Site administration" +msgstr "Webgunearen kudeaketa" + +msgid "Log in" +msgstr "Sartu" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s kudeaketa" + +msgid "Page not found" +msgstr "Ez da orririk aurkitu" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Sentitzen dugu, baina eskatutako orria ezin da aurkitu." + +msgid "Home" +msgstr "Hasiera" + +msgid "Server error" +msgstr "Zerbitzariaren errorea" + +msgid "Server error (500)" +msgstr "Zerbitzariaren errorea (500)" + +msgid "Server Error (500)" +msgstr "Zerbitzariaren errorea (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +msgid "Run the selected action" +msgstr "Burutu aukeratutako ekintza" + +msgid "Go" +msgstr "Joan" + +msgid "Click here to select the objects across all pages" +msgstr "Egin klik hemen orri guztietako objektuak aukeratzeko" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Hautatu %(total_count)s %(module_name)s guztiak" + +msgid "Clear selection" +msgstr "Garbitu hautapena" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "%(name)s aplikazioaren modeloak" + +msgid "Add" +msgstr "Gehitu" + +msgid "View" +msgstr "Ikusi" + +msgid "You don’t have permission to view or edit anything." +msgstr "Ez duzu ezer ikusteko edo editatzeko baimenik." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Lehenik, sartu erabiltzailea eta pasahitza bat. Gero, editatzeko aukera " +"gehiago izango dituzu. " + +msgid "Enter a username and password." +msgstr "Sartu erabiltzaile izen eta pasahitz bat." + +msgid "Change password" +msgstr "Aldatu pasahitza" + +msgid "Please correct the error below." +msgstr "Mesedez zuzendu erroreak behean." + +msgid "Please correct the errors below." +msgstr "Mesedez zuzendu erroreak behean." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"Idatzi pasahitz berria %(username)s erabiltzailearentzat." + +msgid "Welcome," +msgstr "Ongi etorri," + +msgid "View site" +msgstr "Webgunea ikusi" + +msgid "Documentation" +msgstr "Dokumentazioa" + +msgid "Log out" +msgstr "Irten" + +#, python-format +msgid "Add %(name)s" +msgstr "Gehitu %(name)s" + +msgid "History" +msgstr "Historia" + +msgid "View on site" +msgstr "Webgunean ikusi" + +msgid "Filter" +msgstr "Iragazkia" + +msgid "Clear all filters" +msgstr "Garbitu filtro guztiak." + +msgid "Remove from sorting" +msgstr "Kendu ordenaziotik" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Ordenatzeko lehentasuna: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Txandakatu ordenazioa" + +msgid "Delete" +msgstr "Ezabatu" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"%(object_name)s ezabatzean bere '%(escaped_object)s' ere ezabatzen dira, " +"baina zure kontuak ez dauka baimenik objetu mota hauek ezabatzeko:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"%(object_name)s '%(escaped_object)s' ezabatzeak erlazionatutako objektu " +"babestu hauek ezabatzea eskatzen du:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Ziur zaude %(object_name)s \"%(escaped_object)s\" ezabatu nahi dituzula? " +"Erlazionaturik dauden hurrengo elementuak ere ezabatuko dira:" + +msgid "Objects" +msgstr "Objetuak" + +msgid "Yes, I’m sure" +msgstr "bai, ziur nago " + +msgid "No, take me back" +msgstr "Ez, itzuli atzera" + +msgid "Delete multiple objects" +msgstr "Ezabatu hainbat objektu" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Aukeratutako %(objects_name)s ezabatzeak erlazionatutako objektuak ezabatzea " +"eskatzen du baina zure kontuak ez dauka baimen nahikorik objektu mota hauek " +"ezabatzeko: " + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Aukeratutako %(objects_name)s ezabatzeak erlazionatutako objektu babestu " +"hauek ezabatzea eskatzen du:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Ziur zaude aukeratutako %(objects_name)s ezabatu nahi duzula? Objektu guzti " +"hauek eta erlazionatutako elementu guztiak ezabatuko dira:" + +msgid "Delete?" +msgstr "Ezabatu?" + +#, python-format +msgid " By %(filter_title)s " +msgstr "Irizpidea: %(filter_title)s" + +msgid "Summary" +msgstr "Laburpena" + +msgid "Recent actions" +msgstr "Azken ekintzak" + +msgid "My actions" +msgstr "Nire ekintzak" + +msgid "None available" +msgstr "Ez dago ezer" + +msgid "Unknown content" +msgstr "Eduki ezezaguna" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"%(username)s bezala autentikatu zara, baina ez daukazu orrialde honetara " +"sarbidea. Nahi al duzu kontu ezberdin batez sartu?" + +msgid "Forgotten your password or username?" +msgstr "Pasahitza edo erabiltzaile-izena ahaztu duzu?" + +msgid "Toggle navigation" +msgstr "" + +msgid "Start typing to filter…" +msgstr "Hasi idazten filtratzeko..." + +msgid "Filter navigation items" +msgstr "" + +msgid "Date/time" +msgstr "Data/ordua" + +msgid "User" +msgstr "Erabiltzailea" + +msgid "Action" +msgstr "Ekintza" + +msgid "entry" +msgstr "sarrera" + +msgid "entries" +msgstr "sarrerak" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" + +msgid "Show all" +msgstr "Erakutsi dena" + +msgid "Save" +msgstr "Gorde" + +msgid "Popup closing…" +msgstr "Popup leihoa ixten..." + +msgid "Search" +msgstr "Bilatu" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "Emaitza %(counter)s " +msgstr[1] "%(counter)s emaitza" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s guztira" + +msgid "Save as new" +msgstr "Gorde berri gisa" + +msgid "Save and add another" +msgstr "Gorde eta beste bat gehitu" + +msgid "Save and continue editing" +msgstr "Gorde eta editatzen jarraitu" + +msgid "Save and view" +msgstr "Gorde eta ikusi" + +msgid "Close" +msgstr "Itxi" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Aldatu aukeratutako %(model)s" + +#, python-format +msgid "Add another %(model)s" +msgstr "Gehitu beste %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Ezabatu aukeratutako %(model)s" + +#, python-format +msgid "View selected %(model)s" +msgstr "" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "" + +msgid "Log in again" +msgstr "Hasi saioa berriro" + +msgid "Password change" +msgstr "Aldatu pasahitza" + +msgid "Your password was changed." +msgstr "Zure pasahitza aldatu egin da." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Mesedez, sartu zure pasahitza zaharra segurtasunagatik, gero sartu berria bi " +"aldiz, ondo idatzita dagoela ziurtatzeko. " + +msgid "Change my password" +msgstr "Nire pasahitza aldatu" + +msgid "Password reset" +msgstr "Berrezarri pasahitza" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Zure pasahitza ezarri da. Orain aurrera egin eta sartu zaitezke." + +msgid "Password reset confirmation" +msgstr "Pasahitza berrezartzeko berrespena" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "Idatzi pasahitz berria birritan ondo idatzita dagoela ziurta dezagun." + +msgid "New password:" +msgstr "Pasahitz berria:" + +msgid "Confirm password:" +msgstr "Berretsi pasahitza:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Pasahitza berrezartzeko loturak baliogabea dirudi. Baliteke lotura aurretik " +"erabilita egotea. Eskatu berriro pasahitza berrezartzea." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Zure pasahitza jartzeko aginduak bidali dizkizugu... sartu duzun posta " +"elektronikoarekin konturen bat baldin badago. Laster jasoko dituzu." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Posta elektronikorik jasotzen ez baduzu, ziurtatu erregistratu duzun " +"helbidean sartu zarela, eta zure spam horria begiratu. " + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Mezu hau %(site_name)s webgunean pasahitza berrezartzea eskatu duzulako jaso " +"duzu." + +msgid "Please go to the following page and choose a new password:" +msgstr "Zoaz hurrengo orrira eta aukeratu pasahitz berria:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Zure erabiltzaile-izena, ahaztu baduzu:" + +msgid "Thanks for using our site!" +msgstr "Mila esker gure webgunea erabiltzeagatik!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s webguneko taldea" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Pasahitza ahaztu zaizu? Sartu zure helbidea behean, eta berria jartzeko " +"argibideak bidaliko dizkizugu " + +msgid "Email address:" +msgstr "Helbide elektronikoa:" + +msgid "Reset my password" +msgstr "Berrezarri pasahitza" + +msgid "All dates" +msgstr "Data guztiak" + +#, python-format +msgid "Select %s" +msgstr "Aukeratu %s" + +#, python-format +msgid "Select %s to change" +msgstr "Aukeratu %s aldatzeko" + +#, python-format +msgid "Select %s to view" +msgstr "Aukeratu %s ikusteko" + +msgid "Date:" +msgstr "Data:" + +msgid "Time:" +msgstr "Ordua:" + +msgid "Lookup" +msgstr "Lookup" + +msgid "Currently:" +msgstr "Oraingoa:" + +msgid "Change:" +msgstr "Aldatu:" diff --git a/external_sources/django/django/contrib/admin/locale/eu/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/eu/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..e7d3ae5 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/eu/LC_MESSAGES/djangojs.po @@ -0,0 +1,267 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Aitzol Naberan , 2011 +# Eneko Illarramendi , 2017,2022 +# Jannis Leidel , 2011 +# julen, 2012-2013 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-05-17 05:26-0500\n" +"PO-Revision-Date: 2022-07-25 07:59+0000\n" +"Last-Translator: Eneko Illarramendi \n" +"Language-Team: Basque (http://www.transifex.com/django/django/language/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" + +#, javascript-format +msgid "Available %s" +msgstr "%s erabilgarri" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Hau da aukeran dauden %s zerrenda. Hauetako zenbait aukera ditzakezu " +"azpiko \n" +"kaxan hautatu eta kutxen artean dagoen \"Aukeratu\" gezian klik eginez." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Idatzi kutxa honetan erabilgarri dauden %s objektuak iragazteko." + +msgid "Filter" +msgstr "Filtroa" + +msgid "Choose all" +msgstr "Denak aukeratu" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Egin klik %s guztiak batera aukeratzeko." + +msgid "Choose" +msgstr "Aukeratu" + +msgid "Remove" +msgstr "Kendu" + +#, javascript-format +msgid "Chosen %s" +msgstr "%s aukeratuak" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Hau da aukeratutako %s zerrenda. Hauetako zenbait ezaba ditzakezu azpiko " +"kutxan hautatu eta bi kutxen artean dagoen \"Ezabatu\" gezian klik eginez." + +msgid "Remove all" +msgstr "Kendu guztiak" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Egin klik aukeratutako %s guztiak kentzeko." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(cnt)s-etik %(sel)s aukeratuta" +msgstr[1] "%(cnt)s-etik %(sel)s aukeratuta" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Gorde gabeko aldaketak dauzkazu eremuetan. Ekintza bat exekutatzen baduzu, " +"gorde gabeko aldaketak galduko dira." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" + +msgid "Now" +msgstr "Orain" + +msgid "Midnight" +msgstr "Gauerdia" + +msgid "6 a.m." +msgstr "6 a.m." + +msgid "Noon" +msgstr "Eguerdia" + +msgid "6 p.m." +msgstr "6 p.m." + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Oharra: zerbitzariaren denborarekiko ordu %s aurrerago zaude" +msgstr[1] "Oharra: zerbitzariaren denborarekiko %s ordu aurrerago zaude" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Oharra: zerbitzariaren denborarekiko ordu %s atzerago zaude. " +msgstr[1] "Oharra: zerbitzariaren denborarekiko %s ordu atzerago zaude. " + +msgid "Choose a Time" +msgstr "Aukeratu ordu bat" + +msgid "Choose a time" +msgstr "Aukeratu ordu bat" + +msgid "Cancel" +msgstr "Atzera" + +msgid "Today" +msgstr "Gaur" + +msgid "Choose a Date" +msgstr "Aukeratu data bat" + +msgid "Yesterday" +msgstr "Atzo" + +msgid "Tomorrow" +msgstr "Bihar" + +msgid "January" +msgstr "urtarrila" + +msgid "February" +msgstr "otsaila" + +msgid "March" +msgstr "martxoa" + +msgid "April" +msgstr "apirila" + +msgid "May" +msgstr "maiatza" + +msgid "June" +msgstr "ekaina" + +msgid "July" +msgstr "uztaila" + +msgid "August" +msgstr "abuztua" + +msgid "September" +msgstr "iraila" + +msgid "October" +msgstr "urria" + +msgid "November" +msgstr "azaroa" + +msgid "December" +msgstr "abendua" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "urt." + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "ots." + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "mar." + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "api." + +msgctxt "abbrev. month May" +msgid "May" +msgstr "mai." + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "eka." + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "uzt." + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "abu." + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "ira." + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "urr." + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "aza." + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "abe." + +msgctxt "one letter Sunday" +msgid "S" +msgstr "ig." + +msgctxt "one letter Monday" +msgid "M" +msgstr "al." + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "ar." + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "az." + +msgctxt "one letter Thursday" +msgid "T" +msgstr "og." + +msgctxt "one letter Friday" +msgid "F" +msgstr "ol." + +msgctxt "one letter Saturday" +msgid "S" +msgstr "lr." + +msgid "" +"You have already submitted this form. Are you sure you want to submit it " +"again?" +msgstr "" + +msgid "Show" +msgstr "Erakutsi" + +msgid "Hide" +msgstr "Izkutatu" diff --git a/external_sources/django/django/contrib/admin/locale/fa/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/fa/LC_MESSAGES/django.po new file mode 100644 index 0000000..56a0160 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/fa/LC_MESSAGES/django.po @@ -0,0 +1,790 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Ahmad Hosseini , 2020 +# Ali Nikneshan , 2015,2020 +# ali salehi, 2023 +# Ali Vakilzade , 2015 +# Aly Ahmady , 2022 +# Amir Ajorloo , 2020 +# Arash Fazeli , 2012 +# Farshad Asadpour, 2021 +# Jannis Leidel , 2011 +# MJafar Mashhadi , 2018 +# Mohammad Hossein Mojtahedi , 2017,2019 +# Peyman Salehi , 2023 +# Pouya Abbassi, 2016 +# rahim agh , 2021 +# Reza Mohammadi , 2013-2014 +# Sajad Rahimi , 2021 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 11:41-0300\n" +"PO-Revision-Date: 2023-12-04 07:05+0000\n" +"Last-Translator: ali salehi, 2023\n" +"Language-Team: Persian (http://app.transifex.com/django/django/language/" +"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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "حذف %(verbose_name_plural)s های انتخاب شده" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d تا %(items)s با موفقیت حذف شدند." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "امکان حذف %(name)s نیست." + +msgid "Are you sure?" +msgstr "آیا مطمئن هستید؟" + +msgid "Administration" +msgstr "مدیریت" + +msgid "All" +msgstr "همه" + +msgid "Yes" +msgstr "بله" + +msgid "No" +msgstr "خیر" + +msgid "Unknown" +msgstr "ناشناخته" + +msgid "Any date" +msgstr "هر تاریخی" + +msgid "Today" +msgstr "امروز" + +msgid "Past 7 days" +msgstr "۷ روز اخیر" + +msgid "This month" +msgstr "این ماه" + +msgid "This year" +msgstr "امسال" + +msgid "No date" +msgstr "بدون تاریخ" + +msgid "Has date" +msgstr "دارای تاریخ" + +msgid "Empty" +msgstr "خالی" + +msgid "Not empty" +msgstr "غیر خالی" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"لطفا %(username)s و گذرواژه را برای یک حساب کارمند وارد کنید.\n" +"توجه داشته باشید که ممکن است هر دو به کوچکی و بزرگی حروف حساس باشند." + +msgid "Action:" +msgstr "اقدام:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "افزودن یک %(verbose_name)s دیگر" + +msgid "Remove" +msgstr "حذف" + +msgid "Addition" +msgstr "افزودن" + +msgid "Change" +msgstr "تغییر" + +msgid "Deletion" +msgstr "کاستن" + +msgid "action time" +msgstr "زمان اقدام" + +msgid "user" +msgstr "کاربر" + +msgid "content type" +msgstr "نوع محتوی" + +msgid "object id" +msgstr "شناسهٔ شیء" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "صورت شیء" + +msgid "action flag" +msgstr "نشانه عمل" + +msgid "change message" +msgstr "پیغام تغییر" + +msgid "log entry" +msgstr "مورد اتفاقات" + +msgid "log entries" +msgstr "موارد اتفاقات" + +#, python-format +msgid "Added “%(object)s”." +msgstr "\"%(object)s\" افروده شد." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "تغییر یافت \"%(object)s\" - %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "\"%(object)s\" حدف شد." + +msgid "LogEntry Object" +msgstr "شئ LogEntry" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "{name} \"{object}\" اضافه شد." + +msgid "Added." +msgstr "اضافه شد" + +msgid "and" +msgstr "و" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "{fields} برای {name} \"{object}\" تغییر یافتند." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "{fields} تغییر یافتند." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "{name} \"{object}\" حذف شد." + +msgid "No fields changed." +msgstr "فیلدی تغییر نیافته است." + +msgid "None" +msgstr "هیچ" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"برای انتخاب بیش از یکی، کلید \"Control\"، یا \"Command\" روی Mac، را نگه " +"دارید." + +msgid "Select this object for an action - {}" +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "{name} \"{obj}\" با موفقیت اضافه شد." + +msgid "You may edit it again below." +msgstr "می‌توانید مجدداً ویرایش کنید." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"{name} \"{obj}\" با موفقیت اضافه شد. شما میتوانید {name} دیگری در قسمت پایین " +"اضافه کنید." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"{name} \"{obj}\" با موفقیت تغییر یافت. شما میتوانید دوباره آنرا در قسمت " +"پایین ویرایش کنید." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "" +" {name} \"{obj}\" به موفقیت اضافه شد. شما میتوانید در قسمت پایین، دوباره آن " +"را ویرایش کنید." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"{name} \"{obj}\" با موفقیت تغییر یافت. شما میتوانید {name} دیگری در قسمت " +"پایین اضافه کنید." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "{name} \"{obj}\" با موفقیت تغییر یافت." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"آیتم ها باید به منظور انجام عملیات بر روی آنها انتخاب شوند. هیچ آیتمی با " +"تغییر نیافته است." + +msgid "No action selected." +msgstr "فعالیتی انتخاب نشده" + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s·\"%(obj)s\" با موفقیت حذف شد." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "%(name)s با کلید «%(key)s» وجود ندارد. ممکن است حذف شده باشد." + +#, python-format +msgid "Add %s" +msgstr "اضافه کردن %s" + +#, python-format +msgid "Change %s" +msgstr "تغییر %s" + +#, python-format +msgid "View %s" +msgstr "مشاهده %s" + +msgid "Database error" +msgstr "خطا در بانک اطلاعاتی" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s با موفقیت تغییر کرد." +msgstr[1] "%(count)s %(name)s با موفقیت تغییر کرد." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "همه موارد %(total_count)s انتخاب شده" +msgstr[1] "همه موارد %(total_count)s انتخاب شده" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 از %(cnt)s انتخاب شده‌اند" + +#, python-format +msgid "Change history: %s" +msgstr "تاریخچهٔ تغییر: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"برای حذف %(class_name)s %(instance)s لازم است اشیای حفاظت شدهٔ زیر هم حذف " +"شوند: %(related_objects)s" + +msgid "Django site admin" +msgstr "مدیریت وب‌گاه Django" + +msgid "Django administration" +msgstr "مدیریت Django" + +msgid "Site administration" +msgstr "مدیریت وب‌گاه" + +msgid "Log in" +msgstr "ورود" + +#, python-format +msgid "%(app)s administration" +msgstr "مدیریت ‎%(app)s‎" + +msgid "Page not found" +msgstr "صفحه یافت نشد" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "شرمنده، صفحه مورد تقاضا یافت نشد." + +msgid "Home" +msgstr "شروع" + +msgid "Server error" +msgstr "خطای سرور" + +msgid "Server error (500)" +msgstr "خطای سرور (500)" + +msgid "Server Error (500)" +msgstr "خطای سرور (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"مشکلی پیش آمده. این مشکل از طریق ایمیل به مدیران وب‌گاه اطلاع داده شد و به " +"زودی اصلاح می‌گردد. از صبر شما متشکریم." + +msgid "Run the selected action" +msgstr "اجرای حرکت انتخاب شده" + +msgid "Go" +msgstr "برو" + +msgid "Click here to select the objects across all pages" +msgstr "برای انتخاب موجودیت‌ها در تمام صفحات اینجا را کلیک کنید" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "انتخاب تمامی %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "لغو انتخاب‌ها" + +msgid "Breadcrumbs" +msgstr "" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "مدلها در برنامه %(name)s " + +msgid "Add" +msgstr "اضافه کردن" + +msgid "View" +msgstr "مشاهده" + +msgid "You don’t have permission to view or edit anything." +msgstr "شما اجازهٔ مشاهده یا ویرایش چیزی را ندارید." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"ابتدا یک نام کاربری و گذرواژه وارد کنید. سپس می توانید مشخصات دیگر کاربر را " +"ویرایش کنید." + +msgid "Enter a username and password." +msgstr "یک نام کاربری و رمز عبور را وارد کنید." + +msgid "Change password" +msgstr "تغییر گذرواژه" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "برای کابر %(username)s یک گذرنامهٔ جدید وارد کنید." + +msgid "Skip to main content" +msgstr "انتقال به محتوای اصلی" + +msgid "Welcome," +msgstr "خوش آمدید،" + +msgid "View site" +msgstr "نمایش وبگاه" + +msgid "Documentation" +msgstr "مستندات" + +msgid "Log out" +msgstr "خروج" + +#, python-format +msgid "Add %(name)s" +msgstr "اضافه‌کردن %(name)s" + +msgid "History" +msgstr "تاریخچه" + +msgid "View on site" +msgstr "مشاهده در وب‌گاه" + +msgid "Filter" +msgstr "فیلتر" + +msgid "Hide counts" +msgstr "" + +msgid "Show counts" +msgstr "نمایش تعداد" + +msgid "Clear all filters" +msgstr "پاک کردن همه فیلترها" + +msgid "Remove from sorting" +msgstr "حذف از مرتب سازی" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "اولویت مرتب‌سازی: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "تعویض مرتب سازی" + +msgid "Toggle theme (current theme: auto)" +msgstr "تغییر رنگ پوسته (حالت کنونی: خودکار)" + +msgid "Toggle theme (current theme: light)" +msgstr "تغییر رنگ پوسته (حالت کنونی: روشن)" + +msgid "Toggle theme (current theme: dark)" +msgstr "تغییر رنگ پوسته (حالت کنونی: تیره)" + +msgid "Delete" +msgstr "حذف" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"حذف %(object_name)s·'%(escaped_object)s' می تواند باعث حذف اشیاء مرتبط شود. " +"اما حساب شما دسترسی لازم برای حذف اشیای از انواع زیر را ندارد:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"حذف %(object_name)s '%(escaped_object)s' نیاز به حذف موجودیت‌های مرتبط محافظت " +"شده ذیل دارد:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"آیا مطمئنید که می‌خواهید %(object_name)s·\"%(escaped_object)s\" را حذف کنید؟ " +"کلیهٔ اشیای مرتبط زیر حذف خواهند شد:" + +msgid "Objects" +msgstr "اشیاء" + +msgid "Yes, I’m sure" +msgstr "بله، مطمئن هستم." + +msgid "No, take me back" +msgstr "نه، من را برگردان" + +msgid "Delete multiple objects" +msgstr "حذف اشیاء متعدد" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"حذف %(objects_name)s انتخاب شده منجر به حذف موجودیت‌های مرتبط خواهد شد، ولی " +"شناسه شما اجازه حذف اینگونه از موجودیت‌های ذیل را ندارد:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"حذف %(objects_name)s انتخاب شده نیاز به حذف موجودیت‌های مرتبط محافظت شده ذیل " +"دارد:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"آیا در خصوص حذف %(objects_name)s انتخاب شده اطمینان دارید؟ تمام موجودیت‌های " +"ذیل به همراه موارد مرتبط با آنها حذف خواهند شد:" + +msgid "Delete?" +msgstr "حذف؟" + +#, python-format +msgid " By %(filter_title)s " +msgstr "براساس %(filter_title)s " + +msgid "Summary" +msgstr "خلاصه" + +msgid "Recent actions" +msgstr "فعالیتهای اخیر" + +msgid "My actions" +msgstr "فعالیتهای من" + +msgid "None available" +msgstr "چیزی در دسترس نیست" + +msgid "Added:" +msgstr "اضافه شده:" + +msgid "Changed:" +msgstr "ویرایش شده:" + +msgid "Deleted:" +msgstr "حذف شده:" + +msgid "Unknown content" +msgstr "محتوا ناشناخته" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"در نصب بانک اطلاعاتی شما مشکلی وجود دارد. مطمئن شوید که جداول مربوطه به " +"درستی ایجاد شده‌اند و اطمینان حاصل کنید که بانک اطلاعاتی توسط کاربر مربوطه " +"قابل خواندن می باشد." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"شما به عنوان %(username)sوارد شده اید. ولی اجازه مشاهده صفحه فوق را نداریدو " +"آیا مایلید با کاربر دیگری وارد شوید؟" + +msgid "Forgotten your password or username?" +msgstr "گذرواژه یا نام کاربری خود را فراموش کرده‌اید؟" + +msgid "Toggle navigation" +msgstr "تعویض جهت یابی" + +msgid "Sidebar" +msgstr "ستون کناری" + +msgid "Start typing to filter…" +msgstr "آغار به کار نوشتن برای فیلترکردن ..." + +msgid "Filter navigation items" +msgstr "فیلتر کردن آیتم های مسیریابی" + +msgid "Date/time" +msgstr "تاریخ/ساعت" + +msgid "User" +msgstr "کاربر" + +msgid "Action" +msgstr "عمل" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "" +msgstr[1] "" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"این شیء هنوز تاریخچه تغییرات ندارد. ممکن است توسط این وب‌گاه مدیر ساخته نشده " +"باشد." + +msgid "Show all" +msgstr "نمایش همه" + +msgid "Save" +msgstr "ذخیره" + +msgid "Popup closing…" +msgstr "در حال بستن پنجره..." + +msgid "Search" +msgstr "جستجو" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s نتیجه" +msgstr[1] "%(counter)s نتیجه" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "در مجموع %(full_result_count)s تا" + +msgid "Save as new" +msgstr "ذخیره به عنوان جدید" + +msgid "Save and add another" +msgstr "ذخیره و ایجاد یکی دیگر" + +msgid "Save and continue editing" +msgstr "ذخیره و ادامهٔ ویرایش" + +msgid "Save and view" +msgstr "ذخیره و نمایش" + +msgid "Close" +msgstr "بستن" + +#, python-format +msgid "Change selected %(model)s" +msgstr "تغییر دادن %(model)s انتخاب شده" + +#, python-format +msgid "Add another %(model)s" +msgstr "افزدون %(model)s دیگر" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "حذف کردن %(model)s انتخاب شده" + +#, python-format +msgid "View selected %(model)s" +msgstr "نمایش %(model)sهای انتخاب شده" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "" +"از شما ممنون هستیم که زمان با ارزش خود را برای این تارنما امروز صرف کرده اید" + +msgid "Log in again" +msgstr "ورود دوباره" + +msgid "Password change" +msgstr "تغییر گذرواژه" + +msgid "Your password was changed." +msgstr "گذرواژهٔ شما تغییر یافت." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"برای امنیت بیشتر٬ لطفا گذرواژه قدیمی خود را وارد کنید٬ سپس گذرواژه جدیدتان " +"را دوبار وارد کنید تا ما بتوانیم چک کنیم که به درستی تایپ کرده‌اید. " + +msgid "Change my password" +msgstr "تغییر گذرواژهٔ من" + +msgid "Password reset" +msgstr "ایجاد گذرواژهٔ جدید" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "گذرواژهٔ جدیدتان تنظیم شد. اکنون می‌توانید وارد وب‌گاه شوید." + +msgid "Password reset confirmation" +msgstr "تأیید گذرواژهٔ جدید" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"گذرواژهٔ جدیدتان را دوبار وارد کنید تا ما بتوانیم چک کنیم که به درستی تایپ " +"کرده‌اید." + +msgid "New password:" +msgstr "گذرواژهٔ جدید:" + +msgid "Confirm password:" +msgstr "تکرار گذرواژه:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"پیوند ایجاد گذرواژهٔ جدید نامعتبر بود، احتمالاً به این علت که قبلاً از آن " +"استفاده شده است. لطفاً برای یک گذرواژهٔ جدید درخواست دهید." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"دستورالعمل تنظیم گذرواژه را برایتان ایمیل کردیم. اگر با ایمیلی که وارد کردید " +"اکانتی وجود داشته باشد باید به زودی این دستورالعمل‌ها را دریافت کنید." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"اگر ایمیلی دریافت نمی‌کنید، لطفاً بررسی کنید که آدرسی که وارد کرده‌اید همان است " +"که با آن ثبت نام کرده‌اید، و پوشهٔ اسپم خود را نیز چک کنید." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"شما این ایمیل را بخاطر تقاضای تغییر رمز حساب در %(site_name)s. دریافت کرده " +"اید." + +msgid "Please go to the following page and choose a new password:" +msgstr "لطفاً به صفحهٔ زیر بروید و یک گذرواژهٔ جدید انتخاب کنید:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "نام کاربری‌تان، چنانچه احیاناً یادتان رفته است:" + +msgid "Thanks for using our site!" +msgstr "ممنون از استفادهٔ شما از وب‌گاه ما" + +#, python-format +msgid "The %(site_name)s team" +msgstr "گروه %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"گذرواژه خود را فراموش کرده اید؟ آدرس ایمیل خود را وارد کنید و ما مراحل تعیین " +"کلمه عبور جدید را برای شما ایمیل می‌کنیم." + +msgid "Email address:" +msgstr "آدرس ایمیل:" + +msgid "Reset my password" +msgstr "ایجاد گذرواژهٔ جدید" + +msgid "Select all objects on this page for an action" +msgstr "" + +msgid "All dates" +msgstr "همهٔ تاریخ‌ها" + +#, python-format +msgid "Select %s" +msgstr "%s انتخاب کنید" + +#, python-format +msgid "Select %s to change" +msgstr "%s را برای تغییر انتخاب کنید" + +#, python-format +msgid "Select %s to view" +msgstr "%s را برای مشاهده انتخاب کنید" + +msgid "Date:" +msgstr "تاریخ:" + +msgid "Time:" +msgstr "زمان:" + +msgid "Lookup" +msgstr "جستجو" + +msgid "Currently:" +msgstr "در حال حاضر:" + +msgid "Change:" +msgstr "تغییر یافته:" diff --git a/external_sources/django/django/contrib/admin/locale/fa/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/fa/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..f082b60 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/fa/LC_MESSAGES/djangojs.po @@ -0,0 +1,271 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Ali Nikneshan , 2011-2012 +# Alireza Savand , 2012 +# Ali Vakilzade , 2015 +# Jannis Leidel , 2011 +# Pouya Abbassi, 2016 +# rahim agh , 2020-2021 +# Reza Mohammadi , 2014 +# Sina Cheraghi , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-15 09:00+0100\n" +"PO-Revision-Date: 2021-04-03 13:56+0000\n" +"Last-Translator: rahim agh \n" +"Language-Team: Persian (http://www.transifex.com/django/django/language/" +"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" + +#, javascript-format +msgid "Available %s" +msgstr "%sی موجود" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"این لیست%s های در دسترس است. شما ممکن است برخی از آنها را در محل زیرانتخاب " +"نمایید و سپس روی \"انتخاب\" بین دو جعبه کلیک کنید." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "برای غربال فهرست %sی موجود درون این جعبه تایپ کنید." + +msgid "Filter" +msgstr "غربال" + +msgid "Choose all" +msgstr "انتخاب همه" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "برای انتخاب یکجای همهٔ %s کلیک کنید." + +msgid "Choose" +msgstr "انتخاب" + +msgid "Remove" +msgstr "حذف" + +#, javascript-format +msgid "Chosen %s" +msgstr "%s انتخاب شده" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"این فهرست %s های انتخاب شده است. شما ممکن است برخی از انتخاب آنها را در محل " +"زیر وارد نمایید و سپس روی \"حذف\" جهت دار بین دو جعبه حذف شده است." + +msgid "Remove all" +msgstr "حذف همه" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "برای حذف یکجای همهٔ %sی انتخاب شده کلیک کنید." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] " %(sel)s از %(cnt)s انتخاب شده‌اند" +msgstr[1] " %(sel)s از %(cnt)s انتخاب شده‌اند" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"شما تغییراتی در بعضی فیلدهای قابل تغییر انجام داده اید. اگر کاری انجام " +"دهید، تغییرات از دست خواهند رفت" + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"شما یک اقدام را انتخاب کرده‌اید، ولی تغییراتی که در فیلدهای شخصی وارد کرده‌اید " +"هنوز ذخیره نشده‌اند. لطفاً کلید OK را برای ذخیره کردن تغییرات بزنید. لازم است " +"که اقدام را دوباره اجرا کنید." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"شما یک اقدام را انتخاب کرده‌اید، ولی تغییراتی در فیلدهای شخصی وارد نکرده‌اید. " +"احتمالاً به جای کلید Save به دنبال کلید Go می‌گردید." + +msgid "Now" +msgstr "اکنون" + +msgid "Midnight" +msgstr "نیمه‌شب" + +msgid "6 a.m." +msgstr "۶ صبح" + +msgid "Noon" +msgstr "ظهر" + +msgid "6 p.m." +msgstr "۶ بعدازظهر" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "توجه: شما %s ساعت از زمان سرور جلو هستید." +msgstr[1] "توجه: شما %s ساعت از زمان سرور جلو هستید." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "توجه: شما %s ساعت از زمان سرور عقب هستید." +msgstr[1] "توجه: شما %s ساعت از زمان سرور عقب هستید." + +msgid "Choose a Time" +msgstr "یک زمان انتخاب کنید" + +msgid "Choose a time" +msgstr "یک زمان انتخاب کنید" + +msgid "Cancel" +msgstr "انصراف" + +msgid "Today" +msgstr "امروز" + +msgid "Choose a Date" +msgstr "یک تاریخ انتخاب کنید" + +msgid "Yesterday" +msgstr "دیروز" + +msgid "Tomorrow" +msgstr "فردا" + +msgid "January" +msgstr "ژانویه" + +msgid "February" +msgstr "فوریه" + +msgid "March" +msgstr "مارس" + +msgid "April" +msgstr "آوریل" + +msgid "May" +msgstr "می" + +msgid "June" +msgstr "ژوئن" + +msgid "July" +msgstr "جولای" + +msgid "August" +msgstr "آگوست" + +msgid "September" +msgstr "سپتامبر" + +msgid "October" +msgstr "اکتبر" + +msgid "November" +msgstr "نوامبر" + +msgid "December" +msgstr "دسامبر" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "ژانویه" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "فوریه" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "مارس" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "آوریل" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "می" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "ژوئن" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "ژوئیه" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "اوت" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "سپتامبر" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "اکتبر" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "نوامبر" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "دسامبر" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "ی" + +msgctxt "one letter Monday" +msgid "M" +msgstr "د" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "س" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "چ" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "پ" + +msgctxt "one letter Friday" +msgid "F" +msgstr "ج" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "ش" + +msgid "Show" +msgstr "نمایش" + +msgid "Hide" +msgstr "پنهان کردن" diff --git a/external_sources/django/django/contrib/admin/locale/fi/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/fi/LC_MESSAGES/django.po new file mode 100644 index 0000000..00556e0 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/fi/LC_MESSAGES/django.po @@ -0,0 +1,772 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Aarni Koskela, 2015,2017,2020-2022 +# Antti Kaihola , 2011 +# Jannis Leidel , 2011 +# Jiri Grönroos , 2021,2023 +# Klaus Dahlén, 2012 +# Nikolay Korotkiy , 2018 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 11:41-0300\n" +"PO-Revision-Date: 2023-12-04 07:05+0000\n" +"Last-Translator: Jiri Grönroos , 2021,2023\n" +"Language-Team: Finnish (http://app.transifex.com/django/django/language/" +"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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Poista valitut \"%(verbose_name_plural)s\"-kohteet" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d \"%(items)s\"-kohdetta poistettu." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Ei voida poistaa: %(name)s" + +msgid "Are you sure?" +msgstr "Oletko varma?" + +msgid "Administration" +msgstr "Hallinta" + +msgid "All" +msgstr "Kaikki" + +msgid "Yes" +msgstr "Kyllä" + +msgid "No" +msgstr "Ei" + +msgid "Unknown" +msgstr "Tuntematon" + +msgid "Any date" +msgstr "Mikä tahansa päivä" + +msgid "Today" +msgstr "Tänään" + +msgid "Past 7 days" +msgstr "Viimeiset 7 päivää" + +msgid "This month" +msgstr "Tässä kuussa" + +msgid "This year" +msgstr "Tänä vuonna" + +msgid "No date" +msgstr "Ei päivämäärää" + +msgid "Has date" +msgstr "On päivämäärä" + +msgid "Empty" +msgstr "Tyhjä" + +msgid "Not empty" +msgstr "Ei tyhjä" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Ole hyvä ja syötä henkilökuntatilin %(username)s ja salasana. Huomaa että " +"kummassakin kentässä isoilla ja pienillä kirjaimilla saattaa olla merkitystä." + +msgid "Action:" +msgstr "Toiminto:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Lisää toinen %(verbose_name)s" + +msgid "Remove" +msgstr "Poista" + +msgid "Addition" +msgstr "Lisäys" + +msgid "Change" +msgstr "Muokkaa" + +msgid "Deletion" +msgstr "Poisto" + +msgid "action time" +msgstr "tapahtumahetki" + +msgid "user" +msgstr "käyttäjä" + +msgid "content type" +msgstr "sisältötyyppi" + +msgid "object id" +msgstr "kohteen tunniste" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "kohteen tiedot" + +msgid "action flag" +msgstr "tapahtumatyyppi" + +msgid "change message" +msgstr "selitys" + +msgid "log entry" +msgstr "lokimerkintä" + +msgid "log entries" +msgstr "lokimerkinnät" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Lisätty \"%(object)s\"." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Muokattu \"%(object)s\" - %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Poistettu \"%(object)s.\"" + +msgid "LogEntry Object" +msgstr "Lokimerkintätietue" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Lisätty {name} \"{object}\"." + +msgid "Added." +msgstr "Lisätty." + +msgid "and" +msgstr "ja" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Muutettu {fields} {name}-kohteelle \"{object}\"." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Muutettu {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Poistettu {name} \"{object}\"." + +msgid "No fields changed." +msgstr "Ei muutoksia kenttiin." + +msgid "None" +msgstr "Ei arvoa" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +" Pidä \"Ctrl\" (tai Macin \"Command\") pohjassa valitaksesi useita " +"vaihtoehtoja." + +msgid "Select this object for an action - {}" +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "{name} \"{obj}\" on lisätty." + +msgid "You may edit it again below." +msgstr "Voit muokata sitä jälleen alla." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "{name} \"{obj}\" on lisätty. Voit lisätä toisen {name}-kohteen alla." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "{name} \"{obj}\" on muokattu. Voit muokata sitä edelleen alla." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "{name} \"{obj}\" on lisätty. Voit muokata sitä edelleen alla." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "{name} \"{obj}\" on muokattu. Voit lisätä toisen {name}-kohteen alla." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "{name} \"{obj}\" on muokattu." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Kohteiden täytyy olla valittuna, jotta niihin voi kohdistaa toimintoja. " +"Kohteita ei ole muutettu." + +msgid "No action selected." +msgstr "Ei toimintoa valittuna." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s \"%(obj)s\" on poistettu." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "%(name)s tunnisteella \"%(key)s\" puuttuu. Se on voitu poistaa." + +#, python-format +msgid "Add %s" +msgstr "Lisää %s" + +#, python-format +msgid "Change %s" +msgstr "Muokkaa %s" + +#, python-format +msgid "View %s" +msgstr "Näytä %s" + +msgid "Database error" +msgstr "Tietokantavirhe" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s on muokattu." +msgstr[1] "%(count)s \"%(name)s\"-kohdetta on muokattu." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s valittu" +msgstr[1] "Kaikki %(total_count)s valittu" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 valittuna %(cnt)s mahdollisesta" + +#, python-format +msgid "Change history: %s" +msgstr "Muokkaushistoria: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"%(class_name)s %(instance)s poistaminen vaatisi myös seuraavien suojattujen " +"liittyvien kohteiden poiston: %(related_objects)s" + +msgid "Django site admin" +msgstr "Django-sivuston ylläpito" + +msgid "Django administration" +msgstr "Djangon ylläpito" + +msgid "Site administration" +msgstr "Sivuston ylläpito" + +msgid "Log in" +msgstr "Kirjaudu sisään" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s-ylläpito" + +msgid "Page not found" +msgstr "Sivua ei löydy" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Pahoittelemme, pyydettyä sivua ei löytynyt." + +msgid "Home" +msgstr "Etusivu" + +msgid "Server error" +msgstr "Palvelinvirhe" + +msgid "Server error (500)" +msgstr "Palvelinvirhe (500)" + +msgid "Server Error (500)" +msgstr "Palvelinvirhe (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Sattui virhe. Virheestä on huomautettu sivuston ylläpitäjille sähköpostitse " +"ja se korjautunee piakkoin. Kiitos kärsivällisyydestä." + +msgid "Run the selected action" +msgstr "Suorita valittu toiminto" + +msgid "Go" +msgstr "Suorita" + +msgid "Click here to select the objects across all pages" +msgstr "Klikkaa tästä valitaksesi kohteet kaikilta sivuilta" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Valitse kaikki %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Tyhjennä valinta" + +msgid "Breadcrumbs" +msgstr "Murupolut" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Sovelluksen %(name)s mallit" + +msgid "Add" +msgstr "Lisää" + +msgid "View" +msgstr "Näytä" + +msgid "You don’t have permission to view or edit anything." +msgstr "Sinulla ei ole oikeutta näyttää tai muokata mitään." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Syötä ensin käyttäjätunnus ja salasana. Sen jälkeen voit muokata muita " +"käyttäjän tietoja." + +msgid "Enter a username and password." +msgstr "Syötä käyttäjätunnus ja salasana." + +msgid "Change password" +msgstr "Vaihda salasana" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Korjaa alla oleva virhe." +msgstr[1] "Korjaa alla olevat virheet." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Syötä käyttäjän %(username)s uusi salasana." + +msgid "Skip to main content" +msgstr "Siirry pääsisältöön" + +msgid "Welcome," +msgstr "Tervetuloa," + +msgid "View site" +msgstr "Näytä sivusto" + +msgid "Documentation" +msgstr "Dokumentaatio" + +msgid "Log out" +msgstr "Kirjaudu ulos" + +#, python-format +msgid "Add %(name)s" +msgstr "Lisää %(name)s" + +msgid "History" +msgstr "Muokkaushistoria" + +msgid "View on site" +msgstr "Näytä lopputulos" + +msgid "Filter" +msgstr "Suodatin" + +msgid "Hide counts" +msgstr "Piilota lukumäärät" + +msgid "Show counts" +msgstr "Näytä lukumäärät" + +msgid "Clear all filters" +msgstr "Tyhjennä kaikki suodattimet" + +msgid "Remove from sorting" +msgstr "Poista järjestämisestä" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Järjestysprioriteetti: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Kytke järjestäminen" + +msgid "Toggle theme (current theme: auto)" +msgstr "" + +msgid "Toggle theme (current theme: light)" +msgstr "" + +msgid "Toggle theme (current theme: dark)" +msgstr "" + +msgid "Delete" +msgstr "Poista" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Kohteen '%(escaped_object)s' (%(object_name)s) poisto poistaisi myös siihen " +"liittyviä kohteita, mutta sinulla ei ole oikeutta näiden kohteiden " +"poistamiseen:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"%(object_name)s '%(escaped_object)s': poistettaessa joudutaan poistamaan " +"myös seuraavat suojatut siihen liittyvät kohteet:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Haluatko varmasti poistaa kohteen \"%(escaped_object)s\" (%(object_name)s)? " +"Myös seuraavat kohteet poistettaisiin samalla:" + +msgid "Objects" +msgstr "Kohteet" + +msgid "Yes, I’m sure" +msgstr "Kyllä, olen varma" + +msgid "No, take me back" +msgstr "Ei, mennään takaisin" + +msgid "Delete multiple objects" +msgstr "Poista useita kohteita" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Jos valitut %(objects_name)s poistettaisiin, jouduttaisiin poistamaan niihin " +"liittyviä kohteita. Sinulla ei kuitenkaan ole oikeutta poistaa seuraavia " +"kohdetyyppejä:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Jos valitut %(objects_name)s poistetaan, pitää poistaa myös seuraavat " +"suojatut niihin liittyvät kohteet:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Haluatko varmasti poistaa valitut %(objects_name)s? Samalla poistetaan " +"kaikki alla mainitut ja niihin liittyvät kohteet:" + +msgid "Delete?" +msgstr "Poista?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " %(filter_title)s " + +msgid "Summary" +msgstr "Yhteenveto" + +msgid "Recent actions" +msgstr "Viimeisimmät tapahtumat" + +msgid "My actions" +msgstr "Omat tapahtumat" + +msgid "None available" +msgstr "Ei yhtään" + +msgid "Added:" +msgstr "Lisätty:" + +msgid "Changed:" +msgstr "Muutettu:" + +msgid "Deleted:" +msgstr "Poistettu:" + +msgid "Unknown content" +msgstr "Tuntematon sisältö" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Tietokanta-asennuksessa on jotain vialla. Varmista, että sopivat taulut on " +"luotu ja että oikea käyttäjä voi lukea tietokantaa." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Olet kirjautunut käyttäjänä %(username)s, mutta sinulla ei ole pääsyä tälle " +"sivulle. Haluaisitko kirjautua eri tilille?" + +msgid "Forgotten your password or username?" +msgstr "Unohditko salasanasi tai käyttäjätunnuksesi?" + +msgid "Toggle navigation" +msgstr "Kytke navigaatio" + +msgid "Sidebar" +msgstr "Sivupalkki" + +msgid "Start typing to filter…" +msgstr "Kirjoita suodattaaksesi..." + +msgid "Filter navigation items" +msgstr "Suodata navigaatiovaihtoehtoja" + +msgid "Date/time" +msgstr "Pvm/klo" + +msgid "User" +msgstr "Käyttäjä" + +msgid "Action" +msgstr "Tapahtuma" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "merkintä" +msgstr[1] "merkintää" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Tällä kohteella ei ole muutoshistoriaa. Sitä ei ole ilmeisesti lisätty tämän " +"ylläpitosivun avulla." + +msgid "Show all" +msgstr "Näytä kaikki" + +msgid "Save" +msgstr "Tallenna ja poistu" + +msgid "Popup closing…" +msgstr "Ponnahdusikkuna sulkeutuu..." + +msgid "Search" +msgstr "Haku" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s osuma" +msgstr[1] "%(counter)s osumaa" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "yhteensä %(full_result_count)s" + +msgid "Save as new" +msgstr "Tallenna uutena" + +msgid "Save and add another" +msgstr "Tallenna ja lisää toinen" + +msgid "Save and continue editing" +msgstr "Tallenna välillä ja jatka muokkaamista" + +msgid "Save and view" +msgstr "Tallenna ja näytä" + +msgid "Close" +msgstr "Sulje" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Muuta valittuja %(model)s" + +#, python-format +msgid "Add another %(model)s" +msgstr "Lisää toinen %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Poista valitut %(model)s" + +#, python-format +msgid "View selected %(model)s" +msgstr "Näytä valitut %(model)s" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Kiitos sivuillamme viettämästäsi ajasta." + +msgid "Log in again" +msgstr "Kirjaudu uudelleen sisään" + +msgid "Password change" +msgstr "Salasanan vaihtaminen" + +msgid "Your password was changed." +msgstr "Salasanasi on vaihdettu." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Syötä vanha salasanasi varmistukseksi, ja syötä sitten uusi salasanasi kaksi " +"kertaa, jotta se tulee varmasti oikein." + +msgid "Change my password" +msgstr "Vaihda salasana" + +msgid "Password reset" +msgstr "Salasanan nollaus" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Salasanasi on asetettu. Nyt voit kirjautua sisään." + +msgid "Password reset confirmation" +msgstr "Salasanan nollauksen vahvistus" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Syötä uusi salasanasi kaksi kertaa, jotta voimme varmistaa että syötit sen " +"oikein." + +msgid "New password:" +msgstr "Uusi salasana:" + +msgid "Confirm password:" +msgstr "Varmista uusi salasana:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Salasanan nollauslinkki oli virheellinen, mahdollisesti siksi että se on jo " +"käytetty. Ole hyvä ja pyydä uusi salasanan nollaus." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Sinulle on lähetetty sähköpostitse ohjeet salasanasi asettamiseen, mikäli " +"antamallasi sähköpostiosoitteella on olemassa tili." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Jos viestiä ei näy, ole hyvä ja varmista syöttäneesi oikea sähköpostiosoite " +"sekä tarkista sähköpostisi roskapostikansio." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Tämä viesti on lähetetty sinulle, koska olet pyytänyt %(site_name)s -" +"sivustolla salasanan palautusta." + +msgid "Please go to the following page and choose a new password:" +msgstr "Määrittele uusi salasanasi oheisella sivulla:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Käyttäjätunnuksesi siltä varalta, että olet unohtanut sen:" + +msgid "Thanks for using our site!" +msgstr "Kiitos vierailustasi sivuillamme!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Sivuston %(site_name)s ylläpitäjät" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Unohditko salasanasi? Syötä sähköpostiosoitteesi alle ja lähetämme sinulle " +"ohjeet uuden salasanan asettamiseksi." + +msgid "Email address:" +msgstr "Sähköpostiosoite:" + +msgid "Reset my password" +msgstr "Nollaa salasanani" + +msgid "Select all objects on this page for an action" +msgstr "" + +msgid "All dates" +msgstr "Kaikki päivät" + +#, python-format +msgid "Select %s" +msgstr "Valitse %s" + +#, python-format +msgid "Select %s to change" +msgstr "Valitse muokattava %s" + +#, python-format +msgid "Select %s to view" +msgstr "Valitse näytettävä %s" + +msgid "Date:" +msgstr "Pvm:" + +msgid "Time:" +msgstr "Klo:" + +msgid "Lookup" +msgstr "Etsi" + +msgid "Currently:" +msgstr "Tällä hetkellä:" + +msgid "Change:" +msgstr "Muokkaa:" diff --git a/external_sources/django/django/contrib/admin/locale/fi/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/fi/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..3cc3fbc --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/fi/LC_MESSAGES/djangojs.po @@ -0,0 +1,329 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Aarni Koskela, 2015,2017,2020-2022 +# Antti Kaihola , 2011 +# Jannis Leidel , 2011 +# Jiri Grönroos , 2021,2023 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 15:04-0300\n" +"PO-Revision-Date: 2023-12-04 07:59+0000\n" +"Last-Translator: Jiri Grönroos , 2021,2023\n" +"Language-Team: Finnish (http://app.transifex.com/django/django/language/" +"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" + +#, javascript-format +msgid "Available %s" +msgstr "Mahdolliset %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Tämä on lista saatavilla olevista %s. Valitse alla olevasta laatikosta " +"haluamasi ja siirrä ne valittuihin klikkamalla \"Valitse\"-nuolta " +"laatikoiden välillä." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Kirjoita tähän listaan suodattaaksesi %s-listaa." + +msgid "Filter" +msgstr "Suodatin" + +msgid "Choose all" +msgstr "Valitse kaikki" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Klikkaa valitaksesi kaikki %s kerralla." + +msgid "Choose" +msgstr "Valitse" + +msgid "Remove" +msgstr "Poista" + +#, javascript-format +msgid "Chosen %s" +msgstr "Valitut %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Tämä on lista valituista %s. Voit poistaa valintoja valitsemalla ne " +"allaolevasta laatikosta ja siirtämällä ne takaisin valitsemattomiin " +"klikkamalla \"Poista\"-nuolta laatikoiden välillä." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "" + +msgid "Remove all" +msgstr "Poista kaikki" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Klikkaa poistaaksesi kaikki valitut %s kerralla." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "" +msgstr[1] "" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s valittuna %(cnt)s mahdollisesta" +msgstr[1] "%(sel)s valittuna %(cnt)s mahdollisesta" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Sinulla on tallentamattomia muutoksia yksittäisissä muokattavissa kentissä. " +"Jos suoritat toiminnon, tallentamattomat muutoksesi katoavat." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Olet valinnut toiminnon, mutta et ole vielä tallentanut muutoksiasi " +"yksittäisiin kenttiin. Paina OK tallentaaksesi. Sinun pitää suorittaa " +"toiminto uudelleen." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Olet valinnut toiminnon etkä ole tehnyt yhtään muutosta yksittäisissä " +"kentissä. Etsit todennäköisesti Suorita-painiketta Tallenna-painikkeen " +"sijaan." + +msgid "Now" +msgstr "Nyt" + +msgid "Midnight" +msgstr "24" + +msgid "6 a.m." +msgstr "06" + +msgid "Noon" +msgstr "12" + +msgid "6 p.m." +msgstr "18:00" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Huom: Olet %s tunnin palvelinaikaa edellä." +msgstr[1] "Huom: Olet %s tuntia palvelinaikaa edellä." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Huom: Olet %s tunnin palvelinaikaa jäljessä." +msgstr[1] "Huom: Olet %s tuntia palvelinaikaa jäljessä." + +msgid "Choose a Time" +msgstr "Valitse kellonaika" + +msgid "Choose a time" +msgstr "Valitse kellonaika" + +msgid "Cancel" +msgstr "Peruuta" + +msgid "Today" +msgstr "Tänään" + +msgid "Choose a Date" +msgstr "Valitse päivämäärä" + +msgid "Yesterday" +msgstr "Eilen" + +msgid "Tomorrow" +msgstr "Huomenna" + +msgid "January" +msgstr "tammikuu" + +msgid "February" +msgstr "helmikuu" + +msgid "March" +msgstr "maaliskuu" + +msgid "April" +msgstr "huhtikuu" + +msgid "May" +msgstr "toukokuu" + +msgid "June" +msgstr "kesäkuu" + +msgid "July" +msgstr "heinäkuu" + +msgid "August" +msgstr "elokuu" + +msgid "September" +msgstr "syyskuu" + +msgid "October" +msgstr "lokakuu" + +msgid "November" +msgstr "marraskuu" + +msgid "December" +msgstr "joulukuu" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Tammi" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Helmi" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Maalis" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Huhti" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "Touko" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Kesä" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Heinä" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Elo" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Syys" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Loka" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Marras" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Joulu" + +msgid "Sunday" +msgstr "Sunnuntai" + +msgid "Monday" +msgstr "Maanantai" + +msgid "Tuesday" +msgstr "Tiistai" + +msgid "Wednesday" +msgstr "Keskiviikko" + +msgid "Thursday" +msgstr "Torstai" + +msgid "Friday" +msgstr "Perjantai" + +msgid "Saturday" +msgstr "Lauantai" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "Su" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "Ma" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "Ti" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "Ke" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "To" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "Pe" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "La" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "Su" + +msgctxt "one letter Monday" +msgid "M" +msgstr "Ma" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "Ti" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "Ke" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "To" + +msgctxt "one letter Friday" +msgid "F" +msgstr "Pe" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "La" + +msgid "Show" +msgstr "Näytä" + +msgid "Hide" +msgstr "Piilota" diff --git a/external_sources/django/django/contrib/admin/locale/fr/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/fr/LC_MESSAGES/django.po new file mode 100644 index 0000000..2e768e3 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/fr/LC_MESSAGES/django.po @@ -0,0 +1,807 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Bruno Brouard , 2021 +# Claude Paroz , 2013-2024 +# Claude Paroz , 2011,2013 +# Jannis Leidel , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 07:05+0000\n" +"Last-Translator: Claude Paroz , 2013-2024\n" +"Language-Team: French (http://app.transifex.com/django/django/language/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Supprimer les %(verbose_name_plural)s sélectionnés" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "La suppression de %(count)d %(items)s a réussi." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Impossible de supprimer %(name)s" + +msgid "Are you sure?" +msgstr "Êtes-vous sûr ?" + +msgid "Administration" +msgstr "Administration" + +msgid "All" +msgstr "Tout" + +msgid "Yes" +msgstr "Oui" + +msgid "No" +msgstr "Non" + +msgid "Unknown" +msgstr "Inconnu" + +msgid "Any date" +msgstr "Toutes les dates" + +msgid "Today" +msgstr "Aujourd’hui" + +msgid "Past 7 days" +msgstr "Les 7 derniers jours" + +msgid "This month" +msgstr "Ce mois-ci" + +msgid "This year" +msgstr "Cette année" + +msgid "No date" +msgstr "Aucune date" + +msgid "Has date" +msgstr "Possède une date" + +msgid "Empty" +msgstr "Vide" + +msgid "Not empty" +msgstr "Non vide" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Veuillez compléter correctement les champs « %(username)s » et « mot de " +"passe » d'un compte autorisé. Sachez que les deux champs peuvent être " +"sensibles à la casse." + +msgid "Action:" +msgstr "Action :" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Ajouter un objet %(verbose_name)s supplémentaire" + +msgid "Remove" +msgstr "Enlever" + +msgid "Addition" +msgstr "Ajout" + +msgid "Change" +msgstr "Modification" + +msgid "Deletion" +msgstr "Suppression" + +msgid "action time" +msgstr "date de l’action" + +msgid "user" +msgstr "utilisateur" + +msgid "content type" +msgstr "type de contenu" + +msgid "object id" +msgstr "id de l’objet" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "représentation de l’objet" + +msgid "action flag" +msgstr "indicateur de l’action" + +msgid "change message" +msgstr "message de modification" + +msgid "log entry" +msgstr "entrée d’historique" + +msgid "log entries" +msgstr "entrées d’historique" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Ajout de « %(object)s »." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Modification de « %(object)s » — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Suppression de « %(object)s »." + +msgid "LogEntry Object" +msgstr "Objet de journal" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Ajout de {name} « {object} »." + +msgid "Added." +msgstr "Ajout." + +msgid "and" +msgstr "et" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Modification de {fields} pour l'objet {name} « {object} »." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Modification de {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Suppression de {name} « {object} »." + +msgid "No fields changed." +msgstr "Aucun champ modifié." + +msgid "None" +msgstr "Aucun(e)" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Maintenez appuyé « Ctrl », ou « Commande (touche pomme) » sur un Mac, pour " +"en sélectionner plusieurs." + +msgid "Select this object for an action - {}" +msgstr "Choisir cet objet pour une action - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "L'objet {name} « {obj} » a été ajouté avec succès." + +msgid "You may edit it again below." +msgstr "Vous pouvez l’éditer à nouveau ci-dessous." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"L’objet {name} « {obj} » a été ajouté avec succès. Vous pouvez ajouter un " +"autre objet « {name} » ci-dessous." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"L’objet {name} « {obj} » a été modifié avec succès. Vous pouvez l’éditer à " +"nouveau ci-dessous." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"L’objet {name} « {obj} » a été modifié avec succès. Vous pouvez ajouter un " +"autre objet {name} ci-dessous." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "L’objet {name} « {obj} » a été modifié avec succès." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Des éléments doivent être sélectionnés afin d’appliquer les actions. Aucun " +"élément n’a été modifié." + +msgid "No action selected." +msgstr "Aucune action sélectionnée." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "L’objet %(name)s « %(obj)s » a été supprimé avec succès." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "" +"%(name)s avec l’identifiant « %(key)s » n’existe pas. Peut-être a-t-il été " +"supprimé ?" + +#, python-format +msgid "Add %s" +msgstr "Ajout de %s" + +#, python-format +msgid "Change %s" +msgstr "Modification de %s" + +#, python-format +msgid "View %s" +msgstr "Affichage de %s" + +msgid "Database error" +msgstr "Erreur de base de données" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s objet %(name)s a été modifié avec succès." +msgstr[1] "%(count)s objets %(name)s ont été modifiés avec succès." +msgstr[2] "%(count)s objets %(name)s ont été modifiés avec succès." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s sélectionné" +msgstr[1] "Tous les %(total_count)s sélectionnés" +msgstr[2] "Tous les %(total_count)s sélectionnés" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 sur %(cnt)s sélectionné" + +#, python-format +msgid "Change history: %s" +msgstr "Historique des changements : %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Supprimer l’objet %(class_name)s « %(instance)s » provoquerait la " +"suppression des objets liés et protégés suivants : %(related_objects)s" + +msgid "Django site admin" +msgstr "Site d’administration de Django" + +msgid "Django administration" +msgstr "Administration de Django" + +msgid "Site administration" +msgstr "Site d’administration" + +msgid "Log in" +msgstr "Connexion" + +#, python-format +msgid "%(app)s administration" +msgstr "Administration de %(app)s" + +msgid "Page not found" +msgstr "Page non trouvée" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Nous sommes désolés, mais la page demandée est introuvable." + +msgid "Home" +msgstr "Accueil" + +msgid "Server error" +msgstr "Erreur du serveur" + +msgid "Server error (500)" +msgstr "Erreur du serveur (500)" + +msgid "Server Error (500)" +msgstr "Erreur du serveur (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Une erreur est survenue. Elle a été transmise par courriel aux " +"administrateurs du site et sera corrigée dans les meilleurs délais. Merci " +"pour votre patience." + +msgid "Run the selected action" +msgstr "Exécuter l’action sélectionnée" + +msgid "Go" +msgstr "Envoyer" + +msgid "Click here to select the objects across all pages" +msgstr "Cliquez ici pour sélectionner tous les objets sur l’ensemble des pages" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Sélectionner tous les %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Effacer la sélection" + +msgid "Breadcrumbs" +msgstr "Fil d'Ariane" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Modèles de l’application %(name)s" + +msgid "Add" +msgstr "Ajouter" + +msgid "View" +msgstr "Afficher" + +msgid "You don’t have permission to view or edit anything." +msgstr "Vous n’avez pas la permission de voir ou de modifier quoi que ce soit." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Saisissez tout d’abord un nom d’utilisateur et un mot de passe. Vous pourrez " +"ensuite modifier plus d’options." + +msgid "Enter a username and password." +msgstr "Saisissez un nom d’utilisateur et un mot de passe." + +msgid "Change password" +msgstr "Modifier le mot de passe" + +msgid "Set password" +msgstr "Définir un mot de passe" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Corrigez l’erreur ci-dessous." +msgstr[1] "Corrigez les erreurs ci-dessous." +msgstr[2] "Corrigez les erreurs ci-dessous." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"Saisissez un nouveau mot de passe pour l’utilisateur %(username)s." + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "" +"Cette action va activer l'authentification par mot de passe " +"pour cet utilisateur." + +msgid "Disable password-based authentication" +msgstr "Désactiver l'authentification par mot de passe" + +msgid "Enable password-based authentication" +msgstr "Activer l'authentification par mot de passe" + +msgid "Skip to main content" +msgstr "Passer au contenu principal" + +msgid "Welcome," +msgstr "Bienvenue," + +msgid "View site" +msgstr "Voir le site" + +msgid "Documentation" +msgstr "Documentation" + +msgid "Log out" +msgstr "Déconnexion" + +#, python-format +msgid "Add %(name)s" +msgstr "Ajouter %(name)s" + +msgid "History" +msgstr "Historique" + +msgid "View on site" +msgstr "Voir sur le site" + +msgid "Filter" +msgstr "Filtre" + +msgid "Hide counts" +msgstr "Masquer les nombres" + +msgid "Show counts" +msgstr "Afficher les nombres" + +msgid "Clear all filters" +msgstr "Effacer tous les filtres" + +msgid "Remove from sorting" +msgstr "Enlever du tri" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Priorité de tri : %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Inverser le tri" + +msgid "Toggle theme (current theme: auto)" +msgstr "Changer de thème (actuellement : automatique)" + +msgid "Toggle theme (current theme: light)" +msgstr "Changer de thème (actuellement : clair)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Changer de thème (actuellement : sombre)" + +msgid "Delete" +msgstr "Supprimer" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Supprimer l’objet %(object_name)s « %(escaped_object)s » provoquerait la " +"suppression des objets qui lui sont liés, mais votre compte ne possède pas " +"la permission de supprimer les types d’objets suivants :" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Supprimer l’objet %(object_name)s « %(escaped_object)s » provoquerait la " +"suppression des objets liés et protégés suivants :" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Voulez-vous vraiment supprimer l’objet %(object_name)s " +"« %(escaped_object)s » ? Les éléments suivants sont liés à celui-ci et " +"seront aussi supprimés :" + +msgid "Objects" +msgstr "Objets" + +msgid "Yes, I’m sure" +msgstr "Oui, je suis sûr" + +msgid "No, take me back" +msgstr "Non, revenir à la page précédente" + +msgid "Delete multiple objects" +msgstr "Supprimer plusieurs objets" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"La suppression des objets %(objects_name)s sélectionnés provoquerait la " +"suppression d’objets liés, mais votre compte n’est pas autorisé à supprimer " +"les types d’objet suivants :" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"La suppression des objets %(objects_name)s sélectionnés provoquerait la " +"suppression des objets liés et protégés suivants :" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Voulez-vous vraiment supprimer les objets %(objects_name)s sélectionnés ? " +"Tous les objets suivants et les éléments liés seront supprimés :" + +msgid "Delete?" +msgstr "Supprimer ?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " Par %(filter_title)s " + +msgid "Summary" +msgstr "Résumé" + +msgid "Recent actions" +msgstr "Actions récentes" + +msgid "My actions" +msgstr "Mes actions" + +msgid "None available" +msgstr "Aucun(e) disponible" + +msgid "Added:" +msgstr "Ajout :" + +msgid "Changed:" +msgstr "Modif. :" + +msgid "Deleted:" +msgstr "Suppr. :" + +msgid "Unknown content" +msgstr "Contenu inconnu" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"L’installation de votre base de données est incorrecte. Vérifiez que les " +"tables utiles ont été créées, et que la base est accessible par " +"l’utilisateur concerné." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Vous êtes authentifié sous le nom %(username)s, mais vous n’êtes pas " +"autorisé à accéder à cette page. Souhaitez-vous vous connecter avec un autre " +"compte utilisateur ?" + +msgid "Forgotten your password or username?" +msgstr "Mot de passe ou nom d’utilisateur oublié ?" + +msgid "Toggle navigation" +msgstr "Basculer la navigation" + +msgid "Sidebar" +msgstr "Barre latérale" + +msgid "Start typing to filter…" +msgstr "Écrivez ici pour filtrer…" + +msgid "Filter navigation items" +msgstr "Filtrer les éléments de navigation" + +msgid "Date/time" +msgstr "Date/heure" + +msgid "User" +msgstr "Utilisateur" + +msgid "Action" +msgstr "Action" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "entrée" +msgstr[1] "entrées" +msgstr[2] "entrées" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Cet objet n’a pas d’historique de modification. Il n’a probablement pas été " +"ajouté au moyen de ce site d’administration." + +msgid "Show all" +msgstr "Tout afficher" + +msgid "Save" +msgstr "Enregistrer" + +msgid "Popup closing…" +msgstr "Fenêtre en cours de fermeture…" + +msgid "Search" +msgstr "Rechercher" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s résultat" +msgstr[1] "%(counter)s résultats" +msgstr[2] "%(counter)s résultats" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s résultats" + +msgid "Save as new" +msgstr "Enregistrer en tant que nouveau" + +msgid "Save and add another" +msgstr "Enregistrer et ajouter un nouveau" + +msgid "Save and continue editing" +msgstr "Enregistrer et continuer les modifications" + +msgid "Save and view" +msgstr "Enregistrer et afficher" + +msgid "Close" +msgstr "Fermer" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Modifier l’objet %(model)s sélectionné" + +#, python-format +msgid "Add another %(model)s" +msgstr "Ajouter un autre objet %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Supprimer l’objet %(model)s sélectionné" + +#, python-format +msgid "View selected %(model)s" +msgstr "Afficher l'objet %(model)s sélectionné" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Merci pour le temps que vous avez accordé à ce site aujourd’hui." + +msgid "Log in again" +msgstr "Connectez-vous à nouveau" + +msgid "Password change" +msgstr "Modification du mot de passe" + +msgid "Your password was changed." +msgstr "Votre mot de passe a été modifié." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Pour des raisons de sécurité, saisissez votre ancien mot de passe puis votre " +"nouveau mot de passe à deux reprises afin de vérifier qu’il est correctement " +"saisi." + +msgid "Change my password" +msgstr "Modifier mon mot de passe" + +msgid "Password reset" +msgstr "Réinitialisation du mot de passe" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "" +"Votre mot de passe a été défini. Vous pouvez maintenant vous authentifier." + +msgid "Password reset confirmation" +msgstr "Confirmation de mise à jour du mot de passe" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Saisissez deux fois votre nouveau mot de passe afin de vérifier qu’il est " +"correctement saisi." + +msgid "New password:" +msgstr "Nouveau mot de passe :" + +msgid "Confirm password:" +msgstr "Confirmation du mot de passe :" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Le lien de mise à jour du mot de passe n’était pas valide, probablement en " +"raison de sa précédente utilisation. Veuillez renouveler votre demande de " +"mise à jour de mot de passe." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Nous vous avons envoyé par courriel les instructions pour changer de mot de " +"passe, pour autant qu’un compte existe avec l’adresse que vous avez " +"indiquée. Vous devriez recevoir rapidement ce message." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Si vous ne recevez pas de message, vérifiez que vous avez saisi l’adresse " +"avec laquelle vous vous êtes enregistré et contrôlez votre dossier de " +"pourriels." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Vous recevez ce message en réponse à votre demande de réinitialisation du " +"mot de passe de votre compte sur %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "" +"Veuillez vous rendre sur cette page et choisir un nouveau mot de passe :" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Votre nom d’utilisateur, en cas d’oubli :" + +msgid "Thanks for using our site!" +msgstr "Merci d’utiliser notre site !" + +#, python-format +msgid "The %(site_name)s team" +msgstr "L’équipe %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Mot de passe perdu ? Saisissez votre adresse électronique ci-dessous et nous " +"vous enverrons les instructions pour en créer un nouveau." + +msgid "Email address:" +msgstr "Adresse électronique :" + +msgid "Reset my password" +msgstr "Réinitialiser mon mot de passe" + +msgid "Select all objects on this page for an action" +msgstr "Sélectionner tous les objets de cette page en vue d’une action" + +msgid "All dates" +msgstr "Toutes les dates" + +#, python-format +msgid "Select %s" +msgstr "Sélectionnez %s" + +#, python-format +msgid "Select %s to change" +msgstr "Sélectionnez l’objet %s à changer" + +#, python-format +msgid "Select %s to view" +msgstr "Sélectionnez l’objet %s à afficher" + +msgid "Date:" +msgstr "Date :" + +msgid "Time:" +msgstr "Heure :" + +msgid "Lookup" +msgstr "Recherche" + +msgid "Currently:" +msgstr "Actuellement :" + +msgid "Change:" +msgstr "Modifier :" diff --git a/external_sources/django/django/contrib/admin/locale/fr/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/fr/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..1fe647a --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/fr/LC_MESSAGES/djangojs.po @@ -0,0 +1,332 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Claude Paroz , 2014-2017,2020-2023 +# Claude Paroz , 2011-2012 +# Jannis Leidel , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 15:04-0300\n" +"PO-Revision-Date: 2023-12-04 07:59+0000\n" +"Last-Translator: Claude Paroz , 2014-2017,2020-2023\n" +"Language-Team: French (http://app.transifex.com/django/django/language/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "%s disponible(s)" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Ceci est une liste des « %s » disponibles. Vous pouvez en choisir en les " +"sélectionnant dans la zone ci-dessous, puis en cliquant sur la flèche " +"« Choisir » entre les deux zones." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Écrivez dans cette zone pour filtrer la liste des « %s » disponibles." + +msgid "Filter" +msgstr "Filtrer" + +msgid "Choose all" +msgstr "Tout choisir" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Cliquez pour choisir tous les « %s » en une seule opération." + +msgid "Choose" +msgstr "Choisir" + +msgid "Remove" +msgstr "Enlever" + +#, javascript-format +msgid "Chosen %s" +msgstr "Choix des « %s »" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Ceci est la liste des « %s » choisi(e)s. Vous pouvez en enlever en les " +"sélectionnant dans la zone ci-dessous, puis en cliquant sur la flèche « " +"Enlever » entre les deux zones." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "" +"Écrivez dans cette zone pour filtrer la liste des « %s » sélectionné·e·s." + +msgid "Remove all" +msgstr "Tout enlever" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Cliquez pour enlever tous les « %s » en une seule opération." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%s option sélectionnée invisible" +msgstr[1] "%s options sélectionnées invisibles" +msgstr[2] "%s options sélectionnées invisibles" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s sur %(cnt)s sélectionné" +msgstr[1] "%(sel)s sur %(cnt)s sélectionnés" +msgstr[2] "%(sel)s sur %(cnt)s sélectionnés" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Vous avez des modifications non sauvegardées sur certains champs éditables. " +"Si vous lancez une action, ces modifications vont être perdues." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Vous avez sélectionné une action, mais vous n'avez pas encore enregistré " +"certains champs modifiés. Cliquez sur OK pour enregistrer. Vous devrez " +"réappliquer l'action." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Vous avez sélectionné une action, et vous n'avez fait aucune modification " +"sur des champs. Vous cherchez probablement le bouton Envoyer et non le " +"bouton Enregistrer." + +msgid "Now" +msgstr "Maintenant" + +msgid "Midnight" +msgstr "Minuit" + +msgid "6 a.m." +msgstr "6:00" + +msgid "Noon" +msgstr "Midi" + +msgid "6 p.m." +msgstr "18:00" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Note : l'heure du serveur précède votre heure de %s heure." +msgstr[1] "Note : l'heure du serveur précède votre heure de %s heures." +msgstr[2] "Note : l'heure du serveur précède votre heure de %s heures." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Note : votre heure précède l'heure du serveur de %s heure." +msgstr[1] "Note : votre heure précède l'heure du serveur de %s heures." +msgstr[2] "Note : votre heure précède l'heure du serveur de %s heures." + +msgid "Choose a Time" +msgstr "Choisir une heure" + +msgid "Choose a time" +msgstr "Choisir une heure" + +msgid "Cancel" +msgstr "Annuler" + +msgid "Today" +msgstr "Aujourd'hui" + +msgid "Choose a Date" +msgstr "Choisir une date" + +msgid "Yesterday" +msgstr "Hier" + +msgid "Tomorrow" +msgstr "Demain" + +msgid "January" +msgstr "Janvier" + +msgid "February" +msgstr "Février" + +msgid "March" +msgstr "Mars" + +msgid "April" +msgstr "Avril" + +msgid "May" +msgstr "Mai" + +msgid "June" +msgstr "Juin" + +msgid "July" +msgstr "Juillet" + +msgid "August" +msgstr "Août" + +msgid "September" +msgstr "Septembre" + +msgid "October" +msgstr "Octobre" + +msgid "November" +msgstr "Novembre" + +msgid "December" +msgstr "Décembre" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "jan" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "fév" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "mar" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "avr" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "mai" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "jun" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "jui" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "aoû" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "sep" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "oct" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "nov" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "déc" + +msgid "Sunday" +msgstr "dimanche" + +msgid "Monday" +msgstr "lundi" + +msgid "Tuesday" +msgstr "mardi" + +msgid "Wednesday" +msgstr "mercredi" + +msgid "Thursday" +msgstr "jeudi" + +msgid "Friday" +msgstr "vendredi" + +msgid "Saturday" +msgstr "samedi" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "dim" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "lun" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "mar" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "mer" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "jeu" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "ven" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "sam" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "D" + +msgctxt "one letter Monday" +msgid "M" +msgstr "L" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "M" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "M" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "J" + +msgctxt "one letter Friday" +msgid "F" +msgstr "V" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "S" + +msgid "Show" +msgstr "Afficher" + +msgid "Hide" +msgstr "Masquer" diff --git a/external_sources/django/django/contrib/admin/locale/fy/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/fy/LC_MESSAGES/django.po new file mode 100644 index 0000000..52310d3 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/fy/LC_MESSAGES/django.po @@ -0,0 +1,609 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-01-17 11:07+0100\n" +"PO-Revision-Date: 2015-01-18 08:31+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Western Frisian (http://www.transifex.com/projects/p/django/" +"language/fy/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fy\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "" + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "" + +msgid "Are you sure?" +msgstr "" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "" + +msgid "Administration" +msgstr "" + +msgid "All" +msgstr "" + +msgid "Yes" +msgstr "" + +msgid "No" +msgstr "" + +msgid "Unknown" +msgstr "" + +msgid "Any date" +msgstr "" + +msgid "Today" +msgstr "" + +msgid "Past 7 days" +msgstr "" + +msgid "This month" +msgstr "" + +msgid "This year" +msgstr "" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" + +msgid "Action:" +msgstr "" + +msgid "action time" +msgstr "" + +msgid "object id" +msgstr "" + +msgid "object repr" +msgstr "" + +msgid "action flag" +msgstr "" + +msgid "change message" +msgstr "" + +msgid "log entry" +msgstr "" + +msgid "log entries" +msgstr "" + +#, python-format +msgid "Added \"%(object)s\"." +msgstr "" + +#, python-format +msgid "Changed \"%(object)s\" - %(changes)s" +msgstr "" + +#, python-format +msgid "Deleted \"%(object)s.\"" +msgstr "" + +msgid "LogEntry Object" +msgstr "" + +msgid "None" +msgstr "" + +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" + +#, python-format +msgid "Changed %s." +msgstr "" + +msgid "and" +msgstr "" + +#, python-format +msgid "Added %(name)s \"%(object)s\"." +msgstr "" + +#, python-format +msgid "Changed %(list)s for %(name)s \"%(object)s\"." +msgstr "" + +#, python-format +msgid "Deleted %(name)s \"%(object)s\"." +msgstr "" + +msgid "No fields changed." +msgstr "" + +#, python-format +msgid "" +"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "" + +#, python-format +msgid "" +"The %(name)s \"%(obj)s\" was added successfully. You may add another " +"%(name)s below." +msgstr "" + +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "" + +#, python-format +msgid "" +"The %(name)s \"%(obj)s\" was changed successfully. You may edit it again " +"below." +msgstr "" + +#, python-format +msgid "" +"The %(name)s \"%(obj)s\" was changed successfully. You may add another " +"%(name)s below." +msgstr "" + +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" + +msgid "No action selected." +msgstr "" + +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "" + +#, python-format +msgid "%(name)s object with primary key %(key)r does not exist." +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "" + +#, python-format +msgid "Change %s" +msgstr "" + +msgid "Database error" +msgstr "" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "" + +#, python-format +msgid "Change history: %s" +msgstr "" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" + +msgid "Django site admin" +msgstr "" + +msgid "Django administration" +msgstr "" + +msgid "Site administration" +msgstr "" + +msgid "Log in" +msgstr "" + +#, python-format +msgid "%(app)s administration" +msgstr "" + +msgid "Page not found" +msgstr "" + +msgid "We're sorry, but the requested page could not be found." +msgstr "" + +msgid "Home" +msgstr "" + +msgid "Server error" +msgstr "" + +msgid "Server error (500)" +msgstr "" + +msgid "Server Error (500)" +msgstr "" + +msgid "" +"There's been an error. It's been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +msgid "Run the selected action" +msgstr "" + +msgid "Go" +msgstr "" + +msgid "Click here to select the objects across all pages" +msgstr "" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "" + +msgid "Clear selection" +msgstr "" + +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" + +msgid "Enter a username and password." +msgstr "" + +msgid "Change password" +msgstr "" + +msgid "Please correct the error below." +msgstr "" + +msgid "Please correct the errors below." +msgstr "" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" + +msgid "Welcome," +msgstr "" + +msgid "View site" +msgstr "" + +msgid "Documentation" +msgstr "" + +msgid "Log out" +msgstr "" + +msgid "Add" +msgstr "" + +msgid "History" +msgstr "" + +msgid "View on site" +msgstr "" + +#, python-format +msgid "Add %(name)s" +msgstr "" + +msgid "Filter" +msgstr "" + +msgid "Remove from sorting" +msgstr "" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "" + +msgid "Toggle sorting" +msgstr "" + +msgid "Delete" +msgstr "" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" + +msgid "Objects" +msgstr "" + +msgid "Yes, I'm sure" +msgstr "" + +msgid "No, take me back" +msgstr "" + +msgid "Delete multiple objects" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" + +msgid "Change" +msgstr "" + +msgid "Remove" +msgstr "" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "" + +msgid "Delete?" +msgstr "" + +#, python-format +msgid " By %(filter_title)s " +msgstr "" + +msgid "Summary" +msgstr "" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "" + +msgid "You don't have permission to edit anything." +msgstr "" + +msgid "Recent Actions" +msgstr "" + +msgid "My Actions" +msgstr "" + +msgid "None available" +msgstr "" + +msgid "Unknown content" +msgstr "" + +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" + +msgid "Forgotten your password or username?" +msgstr "" + +msgid "Date/time" +msgstr "" + +msgid "User" +msgstr "" + +msgid "Action" +msgstr "" + +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" + +msgid "Show all" +msgstr "" + +msgid "Save" +msgstr "" + +#, python-format +msgid "Change selected %(model)s" +msgstr "" + +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "" + +msgid "Search" +msgstr "" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "" + +msgid "Save as new" +msgstr "" + +msgid "Save and add another" +msgstr "" + +msgid "Save and continue editing" +msgstr "" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "" + +msgid "Log in again" +msgstr "" + +msgid "Password change" +msgstr "" + +msgid "Your password was changed." +msgstr "" + +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" + +msgid "Change my password" +msgstr "" + +msgid "Password reset" +msgstr "" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "" + +msgid "Password reset confirmation" +msgstr "" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" + +msgid "New password:" +msgstr "" + +msgid "Confirm password:" +msgstr "" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" + +msgid "" +"We've emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don't receive an email, please make sure you've entered the address " +"you registered with, and check your spam folder." +msgstr "" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" + +msgid "Please go to the following page and choose a new password:" +msgstr "" + +msgid "Your username, in case you've forgotten:" +msgstr "" + +msgid "Thanks for using our site!" +msgstr "" + +#, python-format +msgid "The %(site_name)s team" +msgstr "" + +msgid "" +"Forgotten your password? Enter your email address below, and we'll email " +"instructions for setting a new one." +msgstr "" + +msgid "Email address:" +msgstr "" + +msgid "Reset my password" +msgstr "" + +msgid "All dates" +msgstr "" + +msgid "(None)" +msgstr "" + +#, python-format +msgid "Select %s" +msgstr "" + +#, python-format +msgid "Select %s to change" +msgstr "" + +msgid "Date:" +msgstr "" + +msgid "Time:" +msgstr "" + +msgid "Lookup" +msgstr "" + +msgid "Currently:" +msgstr "" + +msgid "Change:" +msgstr "" diff --git a/external_sources/django/django/contrib/admin/locale/fy/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/fy/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..ba09bad --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/fy/LC_MESSAGES/djangojs.po @@ -0,0 +1,145 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-01-17 11:07+0100\n" +"PO-Revision-Date: 2014-10-05 20:13+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Western Frisian (http://www.transifex.com/projects/p/django/" +"language/fy/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fy\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" + +msgid "Filter" +msgstr "" + +msgid "Choose all" +msgstr "" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "" + +msgid "Choose" +msgstr "" + +msgid "Remove" +msgstr "" + +#, javascript-format +msgid "Chosen %s" +msgstr "" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" + +msgid "Remove all" +msgstr "" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "" +msgstr[1] "" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" +msgstr[1] "" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +msgstr[1] "" + +msgid "Now" +msgstr "" + +msgid "Clock" +msgstr "" + +msgid "Choose a time" +msgstr "" + +msgid "Midnight" +msgstr "" + +msgid "6 a.m." +msgstr "" + +msgid "Noon" +msgstr "" + +msgid "Cancel" +msgstr "" + +msgid "Today" +msgstr "" + +msgid "Calendar" +msgstr "" + +msgid "Yesterday" +msgstr "" + +msgid "Tomorrow" +msgstr "" + +msgid "" +"January February March April May June July August September October November " +"December" +msgstr "" + +msgid "S M T W T F S" +msgstr "" + +msgid "Show" +msgstr "" + +msgid "Hide" +msgstr "" diff --git a/external_sources/django/django/contrib/admin/locale/ga/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/ga/LC_MESSAGES/django.po new file mode 100644 index 0000000..bc55f33 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ga/LC_MESSAGES/django.po @@ -0,0 +1,810 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Aindriú Mac Giolla Eoin, 2024 +# Jannis Leidel , 2011 +# Luke Blaney , 2019 +# Michael Thornhill , 2011-2012,2015 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-10-07 07:05+0000\n" +"Last-Translator: Aindriú Mac Giolla Eoin, 2024\n" +"Language-Team: Irish (http://app.transifex.com/django/django/language/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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Scrios %(verbose_name_plural) roghnaithe" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "D'éirigh le scriosadh %(count)d %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Ní féidir scriosadh %(name)s " + +msgid "Are you sure?" +msgstr "An bhfuil tú cinnte?" + +msgid "Administration" +msgstr "Riarachán" + +msgid "All" +msgstr "Gach" + +msgid "Yes" +msgstr "Tá" + +msgid "No" +msgstr "Níl" + +msgid "Unknown" +msgstr "Gan aithne" + +msgid "Any date" +msgstr "Aon dáta" + +msgid "Today" +msgstr "Inniu" + +msgid "Past 7 days" +msgstr "7 lá a chuaigh thart" + +msgid "This month" +msgstr "Táim cinnte" + +msgid "This year" +msgstr "An blian seo" + +msgid "No date" +msgstr "Gan dáta" + +msgid "Has date" +msgstr "Le dáta" + +msgid "Empty" +msgstr "Folamh" + +msgid "Not empty" +msgstr "Gan folamh" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Cuir isteach an %(username)s agus focal faire ceart le haghaidh cuntas " +"foirne. Tabhair faoi deara go bhféadfadh an dá réimsí a cás-íogair." + +msgid "Action:" +msgstr "Aicsean:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Cuir eile %(verbose_name)s" + +msgid "Remove" +msgstr "Tóg amach" + +msgid "Addition" +msgstr "Suimiú" + +msgid "Change" +msgstr "Athraigh" + +msgid "Deletion" +msgstr "Scriosadh" + +msgid "action time" +msgstr "am aicsean" + +msgid "user" +msgstr "úsáideoir" + +msgid "content type" +msgstr "cineál ábhair" + +msgid "object id" +msgstr "id oibiacht" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "repr oibiacht" + +msgid "action flag" +msgstr "brat an aicsean" + +msgid "change message" +msgstr "teachtaireacht athrú" + +msgid "log entry" +msgstr "loga iontráil" + +msgid "log entries" +msgstr "loga iontrálacha" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Curtha leis “%(object)s”." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Athraithe “%(object)s” — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Scriosta “%(object)s.”" + +msgid "LogEntry Object" +msgstr "Oibiacht LogEntry" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Cuireadh {name} “{object}”." + +msgid "Added." +msgstr "Curtha leis." + +msgid "and" +msgstr "agus" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Athraíodh {fields} le haghaidh {name} “{object}”." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "{fields} athrithe." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Scriosadh {name} “{object}”." + +msgid "No fields changed." +msgstr "Dada réimse aithraithe" + +msgid "None" +msgstr "Dada" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Coinnigh síos “Rialú”, nó “Ordú” ar Mac, chun níos mó ná ceann amháin a " +"roghnú." + +msgid "Select this object for an action - {}" +msgstr "Roghnaigh an réad seo le haghaidh gnímh - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "Cuireadh an {name} “{obj}” leis go rathúil." + +msgid "You may edit it again below." +msgstr "Thig leat é a athrú arís faoi seo." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"Cuireadh an {name} “{obj}” leis go rathúil. Is féidir leat {name} eile a " +"chur leis thíos." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"Athraíodh an {name} “{obj}” go rathúil. Is féidir leat é a chur in eagar " +"arís thíos." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"Athraíodh an {name} “{obj}” go rathúil. Is féidir leat {name} eile a chur " +"leis thíos." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "Athraíodh an {name} “{obj}” go rathúil." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Ní mór Míreanna a roghnú chun caingne a dhéanamh orthu. Níl aon mhíreanna a " +"athrú." + +msgid "No action selected." +msgstr "Uimh gníomh roghnaithe." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "D'éirigh le scriosadh %(name)s \"%(obj)s\"." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "Níl %(name)s le haitheantas “%(key)s” ann. B'fhéidir gur scriosadh é?" + +#, python-format +msgid "Add %s" +msgstr "Cuir %s le" + +#, python-format +msgid "Change %s" +msgstr "Aithrigh %s" + +#, python-format +msgid "View %s" +msgstr "Amharc ar %s" + +msgid "Database error" +msgstr "Botún bunachar sonraí" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s athraithe go rathúil" +msgstr[1] "%(count)s %(name)s athraithe go rathúil" +msgstr[2] "%(count)s %(name)s athraithe go rathúil" +msgstr[3] "%(count)s %(name)s athraithe go rathúil" +msgstr[4] "%(count)s %(name)s athraithe go rathúil" + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s roghnaithe" +msgstr[1] "Gach %(total_count)s roghnaithe" +msgstr[2] "Gach %(total_count)s roghnaithe" +msgstr[3] "Gach %(total_count)s roghnaithe" +msgstr[4] "Gach %(total_count)s roghnaithe" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 as %(cnt)s roghnaithe." + +#, python-format +msgid "Change history: %s" +msgstr "Athraigh stáir %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Teastaíodh scriosadh %(class_name)s %(instance)s scriosadh na rudaí a " +"bhaineann leis: %(related_objects)s" + +msgid "Django site admin" +msgstr "Riarthóir suíomh Django" + +msgid "Django administration" +msgstr "Riarachán Django" + +msgid "Site administration" +msgstr "Riaracháin an suíomh" + +msgid "Log in" +msgstr "Logáil isteach" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s riaracháin" + +msgid "Page not found" +msgstr "Ní bhfuarthas an leathanach" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Ár leithscéal, ach níorbh fhéidir an leathanach iarrtha a aimsiú." + +msgid "Home" +msgstr "Baile" + +msgid "Server error" +msgstr "Botún freastalaí" + +msgid "Server error (500)" +msgstr "Botún freastalaí (500)" + +msgid "Server Error (500)" +msgstr "Botún Freastalaí (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Tharla earráid. Tuairiscíodh do riarthóirí an tsuímh trí ríomhphost agus ba " +"cheart é a shocrú go luath. Go raibh maith agat as do foighne." + +msgid "Run the selected action" +msgstr "Rith an gníomh roghnaithe" + +msgid "Go" +msgstr "Té" + +msgid "Click here to select the objects across all pages" +msgstr "" +"Cliceáil anseo chun na hobiacht go léir a roghnú ar fud gach leathanach" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Roghnaigh gach %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Scroiseadh modhnóir" + +msgid "Breadcrumbs" +msgstr "Brioscáin aráin" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Samhlacha ins an %(name)s iarratais" + +msgid "Add" +msgstr "Cuir le" + +msgid "View" +msgstr "Amharc ar" + +msgid "You don’t have permission to view or edit anything." +msgstr "Níl cead agat aon rud a fheiceáil ná a chur in eagar." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "Níl cead agat aon rud a fheiceáil ná a chur in eagar." + +msgid "Enter a username and password." +msgstr "Cuir isteach ainm úsáideora agus focal faire." + +msgid "Change password" +msgstr "Athraigh focal faire" + +msgid "Set password" +msgstr "Socraigh pasfhocal" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Ceartaigh an earráid thíos le do thoil." +msgstr[1] "Ceartaigh na hearráidí thíos le do thoil." +msgstr[2] "Ceartaigh na hearráidí thíos le do thoil." +msgstr[3] "Ceartaigh na hearráidí thíos le do thoil." +msgstr[4] "Ceartaigh na hearráidí thíos le do thoil." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"Iontráil focal faire nua le hadhaigh an úsaideor %(username)s." + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "" +"Cumasóidh an gníomh seo fhíordheimhniú pasfhocal-bhunaithe " +"don úsáideoir seo." + +msgid "Disable password-based authentication" +msgstr "Díchumasaigh fíordheimhniú pasfhocal-bhunaithe" + +msgid "Enable password-based authentication" +msgstr "Cumasaigh fíordheimhniú pasfhocal-bhunaithe" + +msgid "Skip to main content" +msgstr "Téigh ar aghaidh chuig an bpríomhábhar" + +msgid "Welcome," +msgstr "Fáilte" + +msgid "View site" +msgstr "Breatnaigh ar an suíomh" + +msgid "Documentation" +msgstr "Doiciméadúchán" + +msgid "Log out" +msgstr "Logáil amach" + +#, python-format +msgid "Add %(name)s" +msgstr "Cuir %(name)s le" + +msgid "History" +msgstr "Stair" + +msgid "View on site" +msgstr "Breath ar suíomh" + +msgid "Filter" +msgstr "Scagaire" + +msgid "Hide counts" +msgstr "Folaigh comhaireamh" + +msgid "Show counts" +msgstr "Taispeáin comhaireamh" + +msgid "Clear all filters" +msgstr "Glan na scagairí go léir" + +msgid "Remove from sorting" +msgstr "Bain as sórtáil" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Sórtáil tosaíocht: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Toggle sórtáil" + +msgid "Toggle theme (current theme: auto)" +msgstr "Scoránaigh an téama (téama reatha: uathoibríoch)" + +msgid "Toggle theme (current theme: light)" +msgstr "Scoránaigh an téama (téama reatha: solas)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Scoránaigh an téama (téama reatha: dorcha)" + +msgid "Delete" +msgstr "Cealaigh" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Má scriossan tú %(object_name)s '%(escaped_object)s' scriosfaidh oibiachtí " +"gaolta. Ach níl cead ag do cuntas na oibiacht a leanúint a scriosadh:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Bheadh Scriosadh an %(object_name)s '%(escaped_object)s' a cheangal ar an " +"méid seo a leanas a scriosadh nithe cosanta a bhaineann le:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"An bhfuil tú cinnte na %(object_name)s \"%(escaped_object)s\" a scroiseadh?" +"Beidh gach oibiacht a leanúint scroiste freisin:" + +msgid "Objects" +msgstr "Oibiachtaí" + +msgid "Yes, I’m sure" +msgstr "Sea, táim cinnte" + +msgid "No, take me back" +msgstr "Ní hea, tóg ar ais mé" + +msgid "Delete multiple objects" +msgstr "Scrios na réadanna" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Scriosadh an roghnaithe %(objects_name)s a bheadh mar thoradh ar na nithe " +"gaolmhara a scriosadh, ach níl cead do chuntas a scriosadh na cineálacha seo " +"a leanas na cuspóirí:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Teastaíonn scriosadh na %(objects_name)s roghnaithe scriosadh na hoibiacht " +"gaolta cosainte a leanúint:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"An bhfuil tú cinnte gur mian leat a scriosadh %(objects_name)s roghnaithe? " +"Beidh gach ceann de na nithe seo a leanas agus a n-ítimí gaolta scroiste:" + +msgid "Delete?" +msgstr "Cealaigh?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " Trí %(filter_title)s " + +msgid "Summary" +msgstr "Achoimre" + +msgid "Recent actions" +msgstr "Gníomhartha le déanaí" + +msgid "My actions" +msgstr "Mo ghníomhartha" + +msgid "None available" +msgstr "Dada ar fáil" + +msgid "Added:" +msgstr "Curtha leis:" + +msgid "Changed:" +msgstr "Athraithe:" + +msgid "Deleted:" +msgstr "Scriosta:" + +msgid "Unknown content" +msgstr "Inneachair anaithnid" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Tá rud éigin cearr le suiteáil do bhunachar sonraí. Cinntigh go bhfuil na " +"táblaí bunachar sonraí cuí cruthaithe, agus cinntigh go bhfuil an bunachar " +"sonraí inléite ag an úsáideoir cuí." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Tá tú fíordheimhnithe mar %(username)s, ach níl cead agat an leathanach seo " +"a rochtain. Ar mhaith leat logáil isteach i gcuntas eile?" + +msgid "Forgotten your password or username?" +msgstr "Dearmad déanta ar do focal faire nó ainm úsaideora" + +msgid "Toggle navigation" +msgstr "Scoránaigh an nascleanúint" + +msgid "Sidebar" +msgstr "Barra Taoibh" + +msgid "Start typing to filter…" +msgstr "Tosaigh ag clóscríobh chun an scagaire…" + +msgid "Filter navigation items" +msgstr "Scag míreanna nascleanúna" + +msgid "Date/time" +msgstr "Dáta/am" + +msgid "User" +msgstr "Úsaideoir" + +msgid "Action" +msgstr "Aicsean" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "iontráil" +msgstr[1] "iontrálacha" +msgstr[2] "iontrálacha" +msgstr[3] "iontrálacha" +msgstr[4] "iontrálacha" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Níl stair athruithe ag an réad seo. Is dócha nár cuireadh leis tríd an " +"suíomh riaracháin seo." + +msgid "Show all" +msgstr "Taispéan gach rud" + +msgid "Save" +msgstr "Sábháil" + +msgid "Popup closing…" +msgstr "Preabfhuinneog ag dúnadh…" + +msgid "Search" +msgstr "Cuardach" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s toradh" +msgstr[1] "%(counter)s torthaí" +msgstr[2] "%(counter)s torthaí" +msgstr[3] "%(counter)s torthaí" +msgstr[4] "%(counter)s torthaí" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s iomlán" + +msgid "Save as new" +msgstr "Sabháil mar nua" + +msgid "Save and add another" +msgstr "Sabháil agus cuir le ceann eile" + +msgid "Save and continue editing" +msgstr "Sábhail agus lean ag cuir in eagar" + +msgid "Save and view" +msgstr "Sabháil agus amharc ar" + +msgid "Close" +msgstr "Druid" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Athraigh roghnaithe %(model)s" + +#, python-format +msgid "Add another %(model)s" +msgstr "Cuir le %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Scrios roghnaithe %(model)s" + +#, python-format +msgid "View selected %(model)s" +msgstr "Féach ar %(model)s roghnaithe" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "" +"Go raibh maith agat as roinnt ama ardchaighdeáin a chaitheamh leis an suíomh " +"Gréasáin inniu." + +msgid "Log in again" +msgstr "Logáil isteacj arís" + +msgid "Password change" +msgstr "Athrú focal faire" + +msgid "Your password was changed." +msgstr "Bhí do focal faire aithraithe." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Cuir isteach do sheanphasfhocal, ar mhaithe le slándáil, agus ansin cuir " +"isteach do phasfhocal nua faoi dhó ionas gur féidir linn a fhíorú gur " +"chlóscríobh tú i gceart é." + +msgid "Change my password" +msgstr "Athraigh mo focal faire" + +msgid "Password reset" +msgstr "Athsocraigh focal faire" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Tá do focal faire réidh. Is féidir leat logáil isteach anois." + +msgid "Password reset confirmation" +msgstr "Deimhniú athshocraigh focal faire" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Le do thoil, iontráil do focal faire dhá uaire cé go mbeimid in ann a " +"seiceal go bhfuil sé scríobhte isteach i gceart." + +msgid "New password:" +msgstr "Focal faire nua:" + +msgid "Confirm password:" +msgstr "Deimhnigh focal faire:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Bhí nasc athshocraigh an focal faire mícheart, b'fheidir mar go raibh sé " +"úsaidte cheana. Le do thoil, iarr ar athsocraigh focal faire nua." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Chuireamar ríomhphost chugat treoracha maidir le do phasfhocal a shocrú, má " +"tá cuntas ann leis an ríomhphost a chuir tú isteach. Ba cheart duit iad a " +"fháil go luath." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Mura bhfaigheann tú ríomhphost, cinntigh le do thoil gur chuir tú isteach an " +"seoladh ar chláraigh tú leis, agus seiceáil d’fhillteán turscair." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Tá an ríomhphost seo á fháil agat toisc gur iarr tú athshocrú pasfhocail do " +"do chuntas úsáideora ag %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "" +"Le do thoil té go dtí an leathanach a leanúint agus roghmaigh focal faire " +"nua:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "D’ainm úsáideora, ar eagla go bhfuil dearmad déanta agat ar:" + +msgid "Thanks for using our site!" +msgstr "Go raibh maith agat le hadhaigh do cuairt!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Foireann an %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Dearmad déanta agat ar do phasfhocal? Cuir isteach do sheoladh ríomhphoist " +"thíos, agus seolfaimid treoracha ríomhphoist chun ceann nua a shocrú." + +msgid "Email address:" +msgstr "Seoladh ríomhphoist:" + +msgid "Reset my password" +msgstr "Athsocraigh mo focal faire" + +msgid "Select all objects on this page for an action" +msgstr "Roghnaigh gach oibiacht ar an leathanach seo le haghaidh gnímh" + +msgid "All dates" +msgstr "Gach dáta" + +#, python-format +msgid "Select %s" +msgstr "Roghnaigh %s" + +#, python-format +msgid "Select %s to change" +msgstr "Roghnaigh %s a athrú" + +#, python-format +msgid "Select %s to view" +msgstr "Roghnaigh %s le féachaint" + +msgid "Date:" +msgstr "Dáta:" + +msgid "Time:" +msgstr "Am:" + +msgid "Lookup" +msgstr "Cuardach" + +msgid "Currently:" +msgstr "Faoi láthair:" + +msgid "Change:" +msgstr "Athraigh:" diff --git a/external_sources/django/django/contrib/admin/locale/ga/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/ga/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..6f6e50d --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ga/LC_MESSAGES/djangojs.po @@ -0,0 +1,341 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Aindriú Mac Giolla Eoin, 2024 +# Jannis Leidel , 2011 +# Luke Blaney , 2019 +# Michael Thornhill , 2011-2012,2015 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-10-07 07:59+0000\n" +"Last-Translator: Aindriú Mac Giolla Eoin, 2024\n" +"Language-Team: Irish (http://app.transifex.com/django/django/language/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" + +#, javascript-format +msgid "Available %s" +msgstr "%s ar fáil" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Is é seo an liosta %s ar fáil. Is féidir leat a roghnú roinnt ag roghnú acu " +"sa bhosca thíos agus ansin cliceáil ar an saighead \"Roghnaigh\" idir an dá " +"boscaí." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" +"Scríobh isteach sa bhosca seo a scagadh síos ar an liosta de %s ar fáil." + +msgid "Filter" +msgstr "Scagaire" + +msgid "Choose all" +msgstr "Roghnaigh iomlán" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Cliceáil anseo chun %s go léir a roghnú." + +msgid "Choose" +msgstr "Roghnaigh" + +msgid "Remove" +msgstr "Bain amach" + +#, javascript-format +msgid "Chosen %s" +msgstr "Roghnófar %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Is é seo an liosta de %s roghnaithe. Is féidir leat iad a bhaint amach má " +"roghnaionn tú cuid acu sa bhosca thíos agus ansin cliceáil ar an saighead " +"\"Bain\" idir an dá boscaí." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "" +"Clóscríobh isteach sa bhosca seo chun liosta na %s roghnaithe a scagadh." + +msgid "Remove all" +msgstr "Scrois gach ceann" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Cliceáil anseo chun %s go léir roghnaithe a scroiseadh." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "Níl an rogha roghnaithe %s le feiceáil" +msgstr[1] "Níl %s roghanna roghnaithe le feiceáil" +msgstr[2] "Níl %s roghanna roghnaithe le feiceáil" +msgstr[3] "Níl %s roghanna roghnaithe le feiceáil" +msgstr[4] "Níl %s roghanna roghnaithe le feiceáil" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s de %(cnt)s roghnaithe" +msgstr[1] "%(sel)s de %(cnt)s roghnaithe" +msgstr[2] "%(sel)s de %(cnt)s roghnaithe" +msgstr[3] "%(sel)s de %(cnt)s roghnaithe" +msgstr[4] "%(sel)s de %(cnt)s roghnaithe" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Tá aithrithe nach bhfuil sabhailte ar chuid do na réimse. Má ritheann tú " +"gníomh, caillfidh tú do chuid aithrithe." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Tá gníomh roghnaithe agat, ach níor shábháil tú d'athruithe ar réimsí aonair " +"fós. Cliceáil OK le do thoil a shábháil. Beidh ort an t-aicsean a rith arís." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Tá gníomh roghnaithe agat, agus níl aon athruithe déanta agat ar réimsí " +"aonair. Is dócha go bhfuil an cnaipe Téigh á lorg agat seachas an cnaipe " +"Sábháil." + +msgid "Now" +msgstr "Anois" + +msgid "Midnight" +msgstr "Meán oíche" + +msgid "6 a.m." +msgstr "6 a.m." + +msgid "Noon" +msgstr "Nóin" + +msgid "6 p.m." +msgstr "6in" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Tabhair faoi deara: Tá tú %s uair a chloig roimh am an friothálaí." +msgstr[1] "Tabhair faoi deara: Tá tú %s uair a chloig roimh am an friothálaí." +msgstr[2] "Tabhair faoi deara: Tá tú %s uair a chloig roimh am an friothálaí." +msgstr[3] "Tabhair faoi deara: Tá tú %s uair a chloig roimh am an friothálaí." +msgstr[4] "Tabhair faoi deara: Tá tú %s uair a chloig roimh am an friothálaí." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +"Tabhair faoi deara: Tá tú %s uair a chloig taobh thiar am an friothálaí." +msgstr[1] "" +"Tabhair faoi deara: Tá tú %s uair a chloig taobh thiar am an friothálaí." +msgstr[2] "" +"Tabhair faoi deara: Tá tú %s uair a chloig taobh thiar am an friothálaí." +msgstr[3] "" +"Tabhair faoi deara: Tá tú %s uair a chloig taobh thiar am an friothálaí." +msgstr[4] "" +"Tabhair faoi deara: Tá tú %s uair a chloig taobh thiar am an friothálaí." + +msgid "Choose a Time" +msgstr "Roghnaigh Am" + +msgid "Choose a time" +msgstr "Roghnaigh am" + +msgid "Cancel" +msgstr "Cealaigh" + +msgid "Today" +msgstr "Inniu" + +msgid "Choose a Date" +msgstr "Roghnaigh Dáta" + +msgid "Yesterday" +msgstr "Inné" + +msgid "Tomorrow" +msgstr "Amárach" + +msgid "January" +msgstr "Eanáir" + +msgid "February" +msgstr "Feabhra" + +msgid "March" +msgstr "Márta" + +msgid "April" +msgstr "Aibreán" + +msgid "May" +msgstr "Bealtaine" + +msgid "June" +msgstr "Meitheamh" + +msgid "July" +msgstr "Iúil" + +msgid "August" +msgstr "Lúnasa" + +msgid "September" +msgstr "Meán Fómhair" + +msgid "October" +msgstr "Deireadh Fómhair" + +msgid "November" +msgstr "Samhain" + +msgid "December" +msgstr "Nollaig" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Ean" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Feabh" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Már" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Aib" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "Beal" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Meith" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Lúil" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Lún" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Meán Fóm" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Deireadh Fóm" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Sam" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Noll" + +msgid "Sunday" +msgstr "Domhnach" + +msgid "Monday" +msgstr "Dé Luain" + +msgid "Tuesday" +msgstr "Dé Máirt" + +msgid "Wednesday" +msgstr "Dé Céadaoin" + +msgid "Thursday" +msgstr "Déardaoin" + +msgid "Friday" +msgstr "Dé hAoine" + +msgid "Saturday" +msgstr "Dé Sathairn" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "Dom" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "Lua" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "Mái" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "Céa" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "Déa" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "Aoi" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "Sat" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "D" + +msgctxt "one letter Monday" +msgid "M" +msgstr "L" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "M" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "C" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "D" + +msgctxt "one letter Friday" +msgid "F" +msgstr "A" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "S" diff --git a/external_sources/django/django/contrib/admin/locale/gd/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/gd/LC_MESSAGES/django.po new file mode 100644 index 0000000..030f4b6 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/gd/LC_MESSAGES/django.po @@ -0,0 +1,754 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# GunChleoc, 2015-2017,2021 +# GunChleoc, 2015 +# GunChleoc, 2015 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-09-21 10:22+0200\n" +"PO-Revision-Date: 2021-10-27 12:57+0000\n" +"Last-Translator: GunChleoc\n" +"Language-Team: Gaelic, Scottish (http://www.transifex.com/django/django/" +"language/gd/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gd\n" +"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : " +"(n > 2 && n < 20) ? 2 : 3;\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Sguab às na %(verbose_name_plural)s a chaidh a thaghadh" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Chaidh %(count)d %(items)s a sguabadh às." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Chan urrainn dhuinn %(name)s a sguabadh às" + +msgid "Are you sure?" +msgstr "A bheil thu cinnteach?" + +msgid "Administration" +msgstr "Rianachd" + +msgid "All" +msgstr "Na h-uile" + +msgid "Yes" +msgstr "Tha" + +msgid "No" +msgstr "Chan eil" + +msgid "Unknown" +msgstr "Chan eil fhios" + +msgid "Any date" +msgstr "Ceann-là sam bith" + +msgid "Today" +msgstr "An-diugh" + +msgid "Past 7 days" +msgstr "Na 7 làithean seo chaidh" + +msgid "This month" +msgstr "Am mìos seo" + +msgid "This year" +msgstr "Am bliadhna" + +msgid "No date" +msgstr "Gun cheann-là" + +msgid "Has date" +msgstr "Tha ceann-là aige" + +msgid "Empty" +msgstr "Falamh" + +msgid "Not empty" +msgstr "Neo-fhalamh" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Cuir a-steach %(username)s agus facal-faire ceart airson cunntas neach-" +"obrach. Thoir an aire gum bi aire do litrichean mòra ’s beaga air an dà " +"raon, ma dh’fhaoidte." + +msgid "Action:" +msgstr "Gnìomh:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Cuir %(verbose_name)s eile ris" + +msgid "Remove" +msgstr "Thoir air falbh" + +msgid "Addition" +msgstr "Cur ris" + +msgid "Change" +msgstr "Atharraich" + +msgid "Deletion" +msgstr "Sguabadh às" + +msgid "action time" +msgstr "àm a’ ghnìomha" + +msgid "user" +msgstr "cleachdaiche" + +msgid "content type" +msgstr "seòrsa susbainte" + +msgid "object id" +msgstr "id an oibceict" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "riochdachadh oibseict" + +msgid "action flag" +msgstr "bratach a’ ghnìomha" + +msgid "change message" +msgstr "teachdaireachd atharrachaidh" + +msgid "log entry" +msgstr "innteart loga" + +msgid "log entries" +msgstr "innteartan loga" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Chaidh “%(object)s” a chur ris." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Chaidh “%(object)s” atharrachadh – %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Chaidh “%(object)s” a sguabadh às." + +msgid "LogEntry Object" +msgstr "Oibseact innteart an loga" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Chaidh {name} “{object}” a chur ris." + +msgid "Added." +msgstr "Chaidh a chur ris." + +msgid "and" +msgstr "agus" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Chaidh {fields} atharrachadh airson {name} “{object}”." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Chaidh {fields} atharrachadh." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Chaidh {name} “{object}” a sguabadh às." + +msgid "No fields changed." +msgstr "Cha deach raon atharrachadh." + +msgid "None" +msgstr "Chan eil gin" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "Cum sìos “Control” no “Command” air Mac gus iomadh nì a thaghadh." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "Chaidh {name} “{obj}” a chur ris." + +msgid "You may edit it again below." +msgstr "’S urrainn dhut a dheasachadh a-rithist gu h-ìosal." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"Chaidh {name} “%{obj}” a chur ris. ’S urrainn dhut {name} eile a chur ris gu " +"h-ìosal." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"Chaidh {name} “{obj}” atharrachadh. ’S urrainn dhut a dheasachadh a-rithist " +"gu h-ìosal." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "" +"Chaidh {name} “{obj}” a chur ris. ’S urrainn dhut a dheasachadh a-rithist gu " +"h-ìosal." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"Chaidh {name} “{obj}” atharrachadh. ’S urrainn dhut {name} eile a chur ris " +"gu h-ìosal." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "Chaidh {name} “{obj}” atharrachadh." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Feumaidh tu nithean a thaghadh mus dèan thu gnìomh orra. Cha deach nì " +"atharrachadh." + +msgid "No action selected." +msgstr "Cha deach gnìomh a thaghadh." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "Chaidh %(name)s “%(obj)s” a sguabadh às." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "" +"Chan eil %(name)s leis an ID \"%(key)s\" ann. 'S dòcha gun deach a sguabadh " +"às?" + +#, python-format +msgid "Add %s" +msgstr "Cuir %s ris" + +#, python-format +msgid "Change %s" +msgstr "Atharraich %s" + +#, python-format +msgid "View %s" +msgstr "Seall %s" + +msgid "Database error" +msgstr "Mearachd an stòir-dhàta" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "Chaidh %(count)s %(name)s atharrachadh." +msgstr[1] "Chaidh %(count)s %(name)s atharrachadh." +msgstr[2] "Chaidh %(count)s %(name)s atharrachadh." +msgstr[3] "Chaidh %(count)s %(name)s atharrachadh." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "Chaidh %(total_count)s a thaghadh" +msgstr[1] "Chaidh a h-uile %(total_count)s a thaghadh" +msgstr[2] "Chaidh a h-uile %(total_count)s a thaghadh" +msgstr[3] "Chaidh a h-uile %(total_count)s a thaghadh" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "Chaidh 0 à %(cnt)s a thaghadh" + +#, python-format +msgid "Change history: %s" +msgstr "Eachdraidh nan atharraichean: %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Gus %(class_name)s %(instance)s a sguabadh às, bhiodh againn ris na h-" +"oibseactan dàimheach dìonta seo a sguabadh às cuideachd: %(related_objects)s" + +msgid "Django site admin" +msgstr "Rianachd làraich Django" + +msgid "Django administration" +msgstr "Rianachd Django" + +msgid "Site administration" +msgstr "Rianachd na làraich" + +msgid "Log in" +msgstr "Clàraich a-steach" + +#, python-format +msgid "%(app)s administration" +msgstr "Rianachd %(app)s" + +msgid "Page not found" +msgstr "Cha deach an duilleag a lorg" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Tha sinn duilich ach cha do lorg sinn an duilleag a dh’iarr thu." + +msgid "Home" +msgstr "Dhachaigh" + +msgid "Server error" +msgstr "Mearachd an fhrithealaiche" + +msgid "Server error (500)" +msgstr "Mearachd an fhrithealaiche (500)" + +msgid "Server Error (500)" +msgstr "Mearachd an fhrithealaiche (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Chaidh rudeigin cearr. Fhuair rianairean na làraich aithris air a’ phost-d " +"agus tha sinn an dùil gun dèid a chàradh a dh’aithghearr. Mòran taing airson " +"d’ fhoighidinn." + +msgid "Run the selected action" +msgstr "Ruith an gnìomh a thagh thu" + +msgid "Go" +msgstr "Siuthad" + +msgid "Click here to select the objects across all pages" +msgstr "" +"Briog an-seo gus na h-oibseactan a thaghadh air feadh nan duilleagan uile" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Tagh a h-uile %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Falamhaich an taghadh" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Modailean ann an aplacaid %(name)s" + +msgid "Add" +msgstr "Cuir ris" + +msgid "View" +msgstr "Seall" + +msgid "You don’t have permission to view or edit anything." +msgstr "Chan eil cead agad gus dad a shealltainn no a dheasachadh." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Cuir ainm-cleachdaiche is facal-faire a-steach an toiseach. ’S urrainn dhut " +"barrachd roghainnean a’ chleachdaiche a dheasachadh an uairsin." + +msgid "Enter a username and password." +msgstr "Cuir ainm-cleachdaiche ’s facal-faire a-steach." + +msgid "Change password" +msgstr "Atharraich am facal-faire" + +msgid "Please correct the error below." +msgstr "Feuch an cuir thu a’ mhearachd gu h-ìosal gu ceart." + +msgid "Please correct the errors below." +msgstr "Feuch an cuir thu na mearachdan gu h-ìosal gu ceart." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"Cuir a-steach facal-faire ùr airson a’ chleachdaiche %(username)s." + +msgid "Welcome," +msgstr "Fàilte," + +msgid "View site" +msgstr "Seall an làrach" + +msgid "Documentation" +msgstr "Docamaideadh" + +msgid "Log out" +msgstr "Clàraich a-mach" + +#, python-format +msgid "Add %(name)s" +msgstr "Cuir %(name)s ris" + +msgid "History" +msgstr "An eachdraidh" + +msgid "View on site" +msgstr "Seall e air an làrach" + +msgid "Filter" +msgstr "Criathraich" + +msgid "Clear all filters" +msgstr "Falamhaich gach crithrag" + +msgid "Remove from sorting" +msgstr "Thoir air falbh on t-seòrsachadh" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Prìomhachas an t-seòrsachaidh: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Toglaich an seòrsachadh" + +msgid "Delete" +msgstr "Sguab às" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Nan sguabadh tu às %(object_name)s “%(escaped_object)s”, rachadh oibseactan " +"dàimheach a sguabadh às cuideachd ach chan eil cead aig a’ chunntas agad gus " +"na seòrsaichean de dh’oibseact seo a sguabadh às:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Nan sguabadh tu às %(object_name)s “%(escaped_object)s”, bhiodh againn ris " +"na h-oibseactan dàimheach dìonta seo a sguabadh às cuideachd:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"A bheil thu cinnteach gu bheil thu airson %(object_name)s " +"“%(escaped_object)s” a sguabadh às? Thèid a h-uile nì dàimheach a sguabadh " +"às cuideachd:" + +msgid "Objects" +msgstr "Oibseactan" + +msgid "Yes, I’m sure" +msgstr "Tha mi cinnteach" + +msgid "No, take me back" +msgstr "Chan eil, air ais leam" + +msgid "Delete multiple objects" +msgstr "Sguab às iomadh oibseact" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Nan sguabadh tu às a’ %(objects_name)s a thagh thu, rachadh oibseactan " +"dàimheach a sguabadh às cuideachd ach chan eil cead aig a’ chunntas agad gus " +"na seòrsaichean de dh’oibseact seo a sguabadh às:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Nan sguabadh tu às a’ %(objects_name)s a thagh thu, bhiodh againn ris na h-" +"oibseactan dàimheach dìonta seo a sguabadh às cuideachd:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"A bheil thu cinnteach gu bheil thu airson a’ %(objects_name)s a thagh thu a " +"sguabadh às? Thèid a h-uile oibseact seo ’s na nithean dàimheach aca a " +"sguabadh às:" + +msgid "Delete?" +msgstr "A bheil thu airson a sguabadh às?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " le %(filter_title)s " + +msgid "Summary" +msgstr "Gearr-chunntas" + +msgid "Recent actions" +msgstr "Gnìomhan o chionn goirid" + +msgid "My actions" +msgstr "Na gnìomhan agam" + +msgid "None available" +msgstr "Chan eil gin ann" + +msgid "Unknown content" +msgstr "Susbaint nach aithne dhuinn" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Chaidh rudeigin cearr le stàladh an stòir-dhàta agad. Dèan cinnteach gun " +"deach na clàran stòir-dhàta iomchaidh a chruthachadh agus gur urrainn dhan " +"chleachdaiche iomchaidh an stòr-dàta a leughadh." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Chaidh do dhearbhadh mar %(username)s ach chan eil ùghdarras agad gus an " +"duilleag seo inntrigeadh. Am bu toigh leat clàradh a-steach le cunntas eile?" + +msgid "Forgotten your password or username?" +msgstr "" +"An do dhìochuimhnich thu am facal-faire no an t-ainm-cleachdaiche agad?" + +msgid "Toggle navigation" +msgstr "Toglaich an t-seòladaireachd" + +msgid "Start typing to filter…" +msgstr "Tòisich air sgrìobhadh airson criathradh…" + +msgid "Filter navigation items" +msgstr "Criathraich nithean na seòladaireachd" + +msgid "Date/time" +msgstr "Ceann-là ’s àm" + +msgid "User" +msgstr "Cleachdaiche" + +msgid "Action" +msgstr "Gnìomh" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Chan eil eachdraidh nan atharraichean aig an oibseact seo. Dh’fhaoidte nach " +"deach a chur ris leis an làrach rianachd seo." + +msgid "Show all" +msgstr "Seall na h-uile" + +msgid "Save" +msgstr "Sàbhail" + +msgid "Popup closing…" +msgstr "Tha a’ phriob-uinneag ’ga dùnadh…" + +msgid "Search" +msgstr "Lorg" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s toradh" +msgstr[1] "%(counter)s thoradh" +msgstr[2] "%(counter)s toraidhean" +msgstr[3] "%(counter)s toradh" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s gu h-iomlan" + +msgid "Save as new" +msgstr "Sàbhail mar fhear ùr" + +msgid "Save and add another" +msgstr "Sàbhail is cuir fear eile ris" + +msgid "Save and continue editing" +msgstr "Sàbhail is deasaich a-rithist" + +msgid "Save and view" +msgstr "Sàbhail is seall" + +msgid "Close" +msgstr "Dùin" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Atharraich a’ %(model)s a thagh thu" + +#, python-format +msgid "Add another %(model)s" +msgstr "Cuir %(model)s eile ris" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Sguab às a’ %(model)s a thagh thu" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "" +"Mòran taing gun do chuir thu seachad deagh-àm air an làrach-lìn an-diugh." + +msgid "Log in again" +msgstr "Clàraich a-steach a-rithist" + +msgid "Password change" +msgstr "Atharrachadh an facail-fhaire" + +msgid "Your password was changed." +msgstr "Chaidh am facal-faire agad atharrachadh." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Cuir a-steach an seann fhacal-faire agad ri linn tèarainteachd agus cuir a-" +"steach am facal-faire ùr agad dà thuras an uairsin ach an dearbhaich sinn " +"nach do rinn thu mearachd sgrìobhaidh." + +msgid "Change my password" +msgstr "Atharraich am facal-faire agam" + +msgid "Password reset" +msgstr "Ath-shuidheachadh an fhacail-fhaire" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "" +"Chaidh am facal-faire agad a shuidheachadh. Faodaidh tu clàradh a-steach a-" +"nis." + +msgid "Password reset confirmation" +msgstr "Dearbhadh air ath-shuidheachadh an fhacail-fhaire" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Cuir a-steach am facal-faire ùr agad dà thuras ach an dearbhaich sinn nach " +"do rinn thu mearachd sgrìobhaidh." + +msgid "New password:" +msgstr "Am facal-faire ùr:" + +msgid "Confirm password:" +msgstr "Dearbhaich am facal-faire:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Bha an ceangal gus am facal-faire ath-suidheachadh mì-dhligheach; ’s dòcha " +"gun deach a chleachdadh mar-thà. Iarr ath-shuidheachadh an fhacail-fhaire às " +"ùr." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Chuir sinn stiùireadh thugad air mar a dh’ath-shuidhicheas tu am facal-faire " +"agad air a’ phost-d dhan chunntas puist-d a chuir thu a-steach. Bu chòir " +"dhut fhaighinn a dh’aithghearr." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Mura faigh thu post-d, dèan cinnteach gun do chuir thu a-steach an seòladh " +"puist-d leis an do chlàraich thu agus thoir sùil air pasgan an spama agad." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Fhuair thu am post-d seo air sgàth ’s gun do dh’iarr thu ath-shuidheachadh " +"an fhacail-fhaire agad airson a’ chunntais cleachdaiche agad air " +"%(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Tadhail air an duilleag seo is tagh facal-faire ùr:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "" +"Seo an t-ainm-cleachdaiche agad air eagal ’s gun do dhìochuimhnich thu e:" + +msgid "Thanks for using our site!" +msgstr "Mòran taing airson an làrach againn a chleachdadh!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Sgioba %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Na dhìochuimhnich thu am facal-faire agad? Cuir a-steach an seòladh puist-d " +"agad gu h-ìosal agus cuiridh sinn stiùireadh thugad gus fear ùr a " +"shuidheachadh air a’ phost-d." + +msgid "Email address:" +msgstr "Seòladh puist-d:" + +msgid "Reset my password" +msgstr "Ath-shuidhich am facal-faire agam" + +msgid "All dates" +msgstr "A h-uile ceann-là" + +#, python-format +msgid "Select %s" +msgstr "Tagh %s" + +#, python-format +msgid "Select %s to change" +msgstr "Tagh %s gus atharrachadh" + +#, python-format +msgid "Select %s to view" +msgstr "Tagh %s gus a shealltainn" + +msgid "Date:" +msgstr "Ceann-là:" + +msgid "Time:" +msgstr "Àm:" + +msgid "Lookup" +msgstr "Lorg" + +msgid "Currently:" +msgstr "An-dràsta:" + +msgid "Change:" +msgstr "Atharrachadh:" diff --git a/external_sources/django/django/contrib/admin/locale/gd/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/gd/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..f8b6c1f --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/gd/LC_MESSAGES/djangojs.po @@ -0,0 +1,286 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# GunChleoc, 2015-2016 +# GunChleoc, 2015 +# GunChleoc, 2015 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-15 09:00+0100\n" +"PO-Revision-Date: 2021-07-15 10:43+0000\n" +"Last-Translator: GunChleoc\n" +"Language-Team: Gaelic, Scottish (http://www.transifex.com/django/django/" +"language/gd/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gd\n" +"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : " +"(n > 2 && n < 20) ? 2 : 3;\n" + +#, javascript-format +msgid "Available %s" +msgstr "%s ri am faighinn" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Seo liosta de %s a tha ri am faighinn. Gus feadhainn a thaghadh, tagh iad sa " +"bhogsa gu h-ìosal agus briog air an t-saighead “Tagh” eadar an dà bhogsa an " +"uair sin." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" +"Sgrìobh sa bhogsa seo gus an liosta de %s ri am faighinn a chriathradh." + +msgid "Filter" +msgstr "Criathraich" + +msgid "Choose all" +msgstr "Tagh na h-uile" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Briog gus a h-uile %s a thaghadh aig an aon àm." + +msgid "Choose" +msgstr "Tagh" + +msgid "Remove" +msgstr "Thoir air falbh" + +#, javascript-format +msgid "Chosen %s" +msgstr "%s a chaidh a thaghadh" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Seo liosta de %s a chaidh a thaghadh. Gus feadhainn a thoirt air falbh, tagh " +"iad sa bhogsa gu h-ìosal agus briog air an t-saighead “Thoir air falbh” " +"eadar an dà bhogsa an uair sin." + +msgid "Remove all" +msgstr "Thoir air falbh na h-uile" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Briog gus a h-uile %s a chaidh a thaghadh a thoirt air falbh." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "Chaidh %(sel)s à %(cnt)s a thaghadh" +msgstr[1] "Chaidh %(sel)s à %(cnt)s a thaghadh" +msgstr[2] "Chaidh %(sel)s à %(cnt)s a thaghadh" +msgstr[3] "Chaidh %(sel)s à %(cnt)s a thaghadh" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Tha atharraichean gun sàbhaladh agad ann an raon no dhà fa leth a ghabhas " +"deasachadh. Ma ruitheas tu gnìomh, thèid na dh’atharraich thu gun a " +"shàbhaladh air chall." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Thagh thu gnìomh ach cha do shàbhail thu na dh’atharraich thu ann an " +"raointean fa leth. Briog air “Ceart ma-thà” gus seo a shàbhaladh. Feumaidh " +"tu an gnìomh a ruith a-rithist." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Thagh thu gnìomh agus cha do rinn thu atharrachadh air ran fa leth sam bith. " +"’S dòcha gu bheil thu airson am putan “Siuthad” a chleachdadh seach am putan " +"“Sàbhail”." + +msgid "Now" +msgstr "An-dràsta" + +msgid "Midnight" +msgstr "Meadhan-oidhche" + +msgid "6 a.m." +msgstr "6m" + +msgid "Noon" +msgstr "Meadhan-latha" + +msgid "6 p.m." +msgstr "6f" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" +"An aire: Tha thu %s uair a thìde air thoiseach àm an fhrithealaiche." +msgstr[1] "" +"An aire: Tha thu %s uair a thìde air thoiseach àm an fhrithealaiche." +msgstr[2] "" +"An aire: Tha thu %s uairean a thìde air thoiseach àm an fhrithealaiche." +msgstr[3] "" +"An aire: Tha thu %s uair a thìde air thoiseach àm an fhrithealaiche." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +"An aire: Tha thu %s uair a thìde air dheireadh àm an fhrithealaiche." +msgstr[1] "" +"An aire: Tha thu %s uair a thìde air dheireadh àm an fhrithealaiche." +msgstr[2] "" +"An aire: Tha thu %s uairean a thìde air dheireadh àm an fhrithealaiche." +msgstr[3] "" +"An aire: Tha thu %s uair a thìde air dheireadh àm an fhrithealaiche." + +msgid "Choose a Time" +msgstr "Tagh àm" + +msgid "Choose a time" +msgstr "Tagh àm" + +msgid "Cancel" +msgstr "Sguir dheth" + +msgid "Today" +msgstr "An-diugh" + +msgid "Choose a Date" +msgstr "Tagh ceann-là" + +msgid "Yesterday" +msgstr "An-dè" + +msgid "Tomorrow" +msgstr "A-màireach" + +msgid "January" +msgstr "Am Faoilleach" + +msgid "February" +msgstr "An Gearran" + +msgid "March" +msgstr "Am Màrt" + +msgid "April" +msgstr "An Giblean" + +msgid "May" +msgstr "An Cèitean" + +msgid "June" +msgstr "An t-Ògmhios" + +msgid "July" +msgstr "An t-Iuchar" + +msgid "August" +msgstr "An Lùnastal" + +msgid "September" +msgstr "An t-Sultain" + +msgid "October" +msgstr "An Dàmhair" + +msgid "November" +msgstr "An t-Samhain" + +msgid "December" +msgstr "An Dùbhlachd" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Faoi" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Gearr" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Màrt" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Gibl" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "Cèit" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Ògmh" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Iuch" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Lùna" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Sult" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Dàmh" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Samh" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Dùbh" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "Dò" + +msgctxt "one letter Monday" +msgid "M" +msgstr "Lu" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "Mà" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "Ci" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "Da" + +msgctxt "one letter Friday" +msgid "F" +msgstr "hA" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "Sa" + +msgid "Show" +msgstr "Seall" + +msgid "Hide" +msgstr "Falaich" diff --git a/external_sources/django/django/contrib/admin/locale/gl/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/gl/LC_MESSAGES/django.po new file mode 100644 index 0000000..0e4faca --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/gl/LC_MESSAGES/django.po @@ -0,0 +1,795 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Denís Bermúdez Delgado , 2021 +# fasouto , 2011-2012 +# fonso , 2011,2013 +# fasouto , 2017 +# Jannis Leidel , 2011 +# Leandro Regueiro , 2013 +# 948a55bc37dd6d642f1875bb84258fff_07a28cc , 2011-2012 +# Pablo, 2015 +# X Bello , 2023-2024 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 07:05+0000\n" +"Last-Translator: X Bello , 2023-2024\n" +"Language-Team: Galician (http://app.transifex.com/django/django/language/" +"gl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Borrar %(verbose_name_plural)s seleccionados." + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Borrado exitosamente %(count)d %(items)s" + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Non foi posíble eliminar %(name)s" + +msgid "Are you sure?" +msgstr "¿Está seguro?" + +msgid "Administration" +msgstr "Administración" + +msgid "All" +msgstr "Todo" + +msgid "Yes" +msgstr "Si" + +msgid "No" +msgstr "Non" + +msgid "Unknown" +msgstr "Descoñecido" + +msgid "Any date" +msgstr "Calquera data" + +msgid "Today" +msgstr "Hoxe" + +msgid "Past 7 days" +msgstr "Últimos 7 días" + +msgid "This month" +msgstr "Este mes" + +msgid "This year" +msgstr "Este ano" + +msgid "No date" +msgstr "Sen data" + +msgid "Has date" +msgstr "Ten data" + +msgid "Empty" +msgstr "Baleiro" + +msgid "Not empty" +msgstr "Non baleiro" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Por favor, insira os %(username)s e contrasinal dunha conta de persoal. Teña " +"en conta que ambos os dous campos distingues maiúsculas e minúsculas." + +msgid "Action:" +msgstr "Acción:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Engadir outro %(verbose_name)s" + +msgid "Remove" +msgstr "Retirar" + +msgid "Addition" +msgstr "Engadido" + +msgid "Change" +msgstr "Modificar" + +msgid "Deletion" +msgstr "Borrado" + +msgid "action time" +msgstr "hora da acción" + +msgid "user" +msgstr "usuario" + +msgid "content type" +msgstr "tipo de contido" + +msgid "object id" +msgstr "id do obxecto" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "repr do obxecto" + +msgid "action flag" +msgstr "código do tipo de acción" + +msgid "change message" +msgstr "cambiar mensaxe" + +msgid "log entry" +msgstr "entrada de rexistro" + +msgid "log entries" +msgstr "entradas de rexistro" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Engadido %(object)s" + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Cambiado “%(object)s” — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Eliminado “%(object)s.”" + +msgid "LogEntry Object" +msgstr "Obxecto LogEntry" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Engadido {name} “{object}”." + +msgid "Added." +msgstr "Engadido." + +msgid "and" +msgstr "e" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Cambiados {fields} por {name} “{object}”." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Cambiados {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Eliminado {name} “{object}”." + +msgid "No fields changed." +msgstr "Non se modificou ningún campo." + +msgid "None" +msgstr "Ningún" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +" Para seleccionar máis dunha entrada, manteña premida a tecla “Control”, ou " +"“Comando” nun Mac." + +msgid "Select this object for an action - {}" +msgstr "Seleccione este obxeto para unha acción - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "Engadiuse correctamente {name} “{obj}”." + +msgid "You may edit it again below." +msgstr "Pode editalo outra vez abaixo." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"Engadiuse correctamente {name} “{obj}”. Pode engadir outro {name} abaixo." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "Modificouse correctamente {name} “{obj}”. Pode editalo de novo abaixo." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"Modificouse correctamente {name} “{obj}”. Pode engadir outro {name} abaixo." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "Modificouse correctamente {name} “{obj}”." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Debe seleccionar ítems para poder facer accións con eles. Ningún ítem foi " +"cambiado." + +msgid "No action selected." +msgstr "Non se elixiu ningunha acción." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "Eliminouse correctamente %(name)s “%(obj)s”." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "Non existe %(name)s ca ID “%(key)s”. Ó mellor foi borrado?" + +#, python-format +msgid "Add %s" +msgstr "Engadir %s" + +#, python-format +msgid "Change %s" +msgstr "Modificar %s" + +#, python-format +msgid "View %s" +msgstr "Ver %s" + +msgid "Database error" +msgstr "Erro da base de datos" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s foi cambiado satisfactoriamente." +msgstr[1] "%(count)s %(name)s foron cambiados satisfactoriamente." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s seleccionado." +msgstr[1] "Tódolos %(total_count)s seleccionados." + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 de %(cnt)s seleccionados." + +#, python-format +msgid "Change history: %s" +msgstr "Histórico de cambios: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"O borrado de %(class_name)s %(instance)s precisaría borrar os seguintes " +"obxetos relacionados: %(related_objects)s" + +msgid "Django site admin" +msgstr "Administración de sitio Django" + +msgid "Django administration" +msgstr "Administración de Django" + +msgid "Site administration" +msgstr "Administración do sitio" + +msgid "Log in" +msgstr "Iniciar sesión" + +#, python-format +msgid "%(app)s administration" +msgstr "administración de %(app)s " + +msgid "Page not found" +msgstr "Páxina non atopada" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Sentímolo, pero non se atopou a páxina solicitada." + +msgid "Home" +msgstr "Inicio" + +msgid "Server error" +msgstr "Erro no servidor" + +msgid "Server error (500)" +msgstr "Erro no servidor (500)" + +msgid "Server Error (500)" +msgstr "Erro no servidor (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Ocorreu un erro. Os administradores do sitio foron informados por email e " +"debería ser arranxado pronto. Grazas pola súa paciencia." + +msgid "Run the selected action" +msgstr "Executar a acción seleccionada" + +msgid "Go" +msgstr "Ir" + +msgid "Click here to select the objects across all pages" +msgstr "Fai clic aquí para seleccionar os obxectos en tódalas páxinas" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Seleccionar todos os %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Limpar selección" + +msgid "Breadcrumbs" +msgstr "Migas de pan" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Modelos na aplicación %(name)s" + +msgid "Add" +msgstr "Engadir" + +msgid "View" +msgstr "Vista" + +msgid "You don’t have permission to view or edit anything." +msgstr "Non ten permiso para ver ou editar nada." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Primeiro insira un nome de usuario e un contrasinal. Despois poderá editar " +"máis opcións de usuario." + +msgid "Enter a username and password." +msgstr "Introduza un nome de usuario e contrasinal." + +msgid "Change password" +msgstr "Cambiar contrasinal" + +msgid "Set password" +msgstr "Configurar contrasinal" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Por favor corrixa o erro de abaixo." +msgstr[1] "Por favor corrixa o erro de abaixo." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"Insira un novo contrasinal para o usuario %(username)s." + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "" +"Esta acción vai habilitar a autentificación basada en " +"contrasinal para este usuario." + +msgid "Disable password-based authentication" +msgstr "Deshabilitar a autentificación basada en contrasinal" + +msgid "Enable password-based authentication" +msgstr "Habilitar a autentificación basada en contrasinal" + +msgid "Skip to main content" +msgstr "Saltar ó contido principal" + +msgid "Welcome," +msgstr "Benvido," + +msgid "View site" +msgstr "Ver sitio" + +msgid "Documentation" +msgstr "Documentación" + +msgid "Log out" +msgstr "Rematar sesión" + +#, python-format +msgid "Add %(name)s" +msgstr "Engadir %(name)s" + +msgid "History" +msgstr "Historial" + +msgid "View on site" +msgstr "Ver no sitio" + +msgid "Filter" +msgstr "Filtro" + +msgid "Hide counts" +msgstr "Agochar contas" + +msgid "Show counts" +msgstr "Amosar contas" + +msgid "Clear all filters" +msgstr "Borrar tódolos filtros" + +msgid "Remove from sorting" +msgstr "Eliminar da clasificación" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Prioridade de clasificación: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Activar clasificación" + +msgid "Toggle theme (current theme: auto)" +msgstr "Escoller tema (tema actual: auto)" + +msgid "Toggle theme (current theme: light)" +msgstr "Escoller tema (tema actual: claro)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Escoller tema (tema actual: escuro)" + +msgid "Delete" +msgstr "Eliminar" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Borrar o %(object_name)s '%(escaped_object)s' resultaría na eliminación de " +"elementos relacionados, pero a súa conta non ten permiso para borrar os " +"seguintes tipos de elementos:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Para borrar o obxecto %(object_name)s '%(escaped_object)s' requiriríase " +"borrar os seguintes obxectos protexidos relacionados:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Seguro que quere borrar o %(object_name)s \"%(escaped_object)s\"? " +"Eliminaranse os seguintes obxectos relacionados:" + +msgid "Objects" +msgstr "Obxectos" + +msgid "Yes, I’m sure" +msgstr "Sí, estou seguro" + +msgid "No, take me back" +msgstr "Non, lévame de volta" + +msgid "Delete multiple objects" +msgstr "Eliminar múltiples obxectos" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Borrar os obxectos %(objects_name)s seleccionados resultaría na eliminación " +"de obxectos relacionados, pero a súa conta non ten permiso para borrar os " +"seguintes tipos de obxecto:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Para borrar os obxectos %(objects_name)s relacionados requiriríase eliminar " +"os seguintes obxectos protexidos relacionados:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Está seguro de que quere borrar os obxectos %(objects_name)s seleccionados? " +"Serán eliminados todos os seguintes obxectos e elementos relacionados on " +"eles:" + +msgid "Delete?" +msgstr "¿Eliminar?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " Por %(filter_title)s " + +msgid "Summary" +msgstr "Sumario" + +msgid "Recent actions" +msgstr "Accións recentes" + +msgid "My actions" +msgstr "As miñas accións" + +msgid "None available" +msgstr "Ningunha dispoñíbel" + +msgid "Added:" +msgstr "Engadido:" + +msgid "Changed:" +msgstr "Modificado:" + +msgid "Deleted:" +msgstr "Eliminado:" + +msgid "Unknown content" +msgstr "Contido descoñecido" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Hai un problema coa súa instalación de base de datos. Asegúrese de que se " +"creasen as táboas axeitadas na base de datos, e de que o usuario apropiado " +"teña permisos para lela." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Está identificado como %(username)s, pero non está autorizado para acceder a " +"esta páxina. Gustaríalle identificarse con una conta diferente?" + +msgid "Forgotten your password or username?" +msgstr "¿Olvidou o usuario ou contrasinal?" + +msgid "Toggle navigation" +msgstr "Activar navegación" + +msgid "Sidebar" +msgstr "Barra lateral" + +msgid "Start typing to filter…" +msgstr "Comece a escribir para filtrar…" + +msgid "Filter navigation items" +msgstr "Filtrar ítems de navegación" + +msgid "Date/time" +msgstr "Data/hora" + +msgid "User" +msgstr "Usuario" + +msgid "Action" +msgstr "Acción" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "entrada" +msgstr[1] "entradas" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Este obxecto non ten histórico de cambios. Posibelmente non se creou usando " +"este sitio de administración." + +msgid "Show all" +msgstr "Amosar todo" + +msgid "Save" +msgstr "Gardar" + +msgid "Popup closing…" +msgstr "Pechando popup…" + +msgid "Search" +msgstr "Busca" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s resultado. " +msgstr[1] "%(counter)s resultados." + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s en total" + +msgid "Save as new" +msgstr "Gardar como novo" + +msgid "Save and add another" +msgstr "Gardar e engadir outro" + +msgid "Save and continue editing" +msgstr "Gardar e seguir modificando" + +msgid "Save and view" +msgstr "Gardar e ver" + +msgid "Close" +msgstr "Pechar" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Cambiar %(model)s seleccionado" + +#, python-format +msgid "Add another %(model)s" +msgstr "Engadir outro %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Eliminar %(model)s seleccionado" + +#, python-format +msgid "View selected %(model)s" +msgstr "Ver %(model)s seleccionado" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Grazas polo tempo que dedicou ao sitio web." + +msgid "Log in again" +msgstr "Entrar de novo" + +msgid "Password change" +msgstr "Cambiar o contrasinal" + +msgid "Your password was changed." +msgstr "Cambiouse o seu contrasinal." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Por razóns de seguridade, introduza o contrasinal actual, e despois " +"introduza o novo contrasinal dúas veces para verificar que o escribiu " +"correctamente." + +msgid "Change my password" +msgstr "Cambiar o contrasinal" + +msgid "Password reset" +msgstr "Recuperar o contrasinal" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "" +"A túa clave foi gardada.\n" +"Xa podes entrar." + +msgid "Password reset confirmation" +msgstr "Confirmación de reseteo da contrasinal" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Por favor insira a súa contrasinal dúas veces para que podamos verificar se " +"a escribiu correctamente." + +msgid "New password:" +msgstr "Contrasinal novo:" + +msgid "Confirm password:" +msgstr "Confirmar contrasinal:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"A ligazón de reseteo da contrasinal non é válida, posiblemente porque xa foi " +"usada. Por favor pida un novo reseteo da contrasinal." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Acabamos de enviarlle as instrucións para configurar o contrasinal ao " +"enderezo de email que nos indicou. Debería recibilas axiña." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Se non recibe un email, por favor asegúrese de que escribiu a dirección ca " +"que se rexistrou, e comprobe a carpeta de spam." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Recibe este email porque solicitou restablecer o contrasinal para a súa " +"conta de usuario en %(site_name)s" + +msgid "Please go to the following page and choose a new password:" +msgstr "Por favor vaia á seguinte páxina e elixa una nova contrasinal:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "No caso de que o esquecese, o seu nome de usuario é:" + +msgid "Thanks for using our site!" +msgstr "Grazas por usar o noso sitio web!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "O equipo de %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Esqueceu o contrasinal? Insira o seu enderezo de email embaixo e " +"enviarémoslle as instrucións para configurar un novo." + +msgid "Email address:" +msgstr "Enderezo de correo electrónico:" + +msgid "Reset my password" +msgstr "Recuperar o meu contrasinal" + +msgid "Select all objects on this page for an action" +msgstr "Seleccione tódolos obxetos desta páxina para unha acción" + +msgid "All dates" +msgstr "Todas as datas" + +#, python-format +msgid "Select %s" +msgstr "Seleccione un/unha %s" + +#, python-format +msgid "Select %s to change" +msgstr "Seleccione %s que modificar" + +#, python-format +msgid "Select %s to view" +msgstr "Seleccione %s para ver" + +msgid "Date:" +msgstr "Data:" + +msgid "Time:" +msgstr "Hora:" + +msgid "Lookup" +msgstr "Procurar" + +msgid "Currently:" +msgstr "Actualmente:" + +msgid "Change:" +msgstr "Modificar:" diff --git a/external_sources/django/django/contrib/admin/locale/gl/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/gl/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..b414adc --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/gl/LC_MESSAGES/djangojs.po @@ -0,0 +1,329 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# fasouto , 2011 +# fonso , 2011,2013 +# Jannis Leidel , 2011 +# Leandro Regueiro , 2013 +# X Bello , 2023 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 15:04-0300\n" +"PO-Revision-Date: 2023-12-04 07:59+0000\n" +"Last-Translator: X Bello , 2023\n" +"Language-Team: Galician (http://app.transifex.com/django/django/language/" +"gl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "%s dispoñíbeis" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Esta é unha lista de %s dispoñíbeis. Pode escoller algúns seleccionándoos na " +"caixa inferior e a continuación facendo clic na frecha \"Escoller\" situada " +"entre as dúas caixas." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Escriba nesta caixa para filtrar a lista de %s dispoñíbeis." + +msgid "Filter" +msgstr "Filtro" + +msgid "Choose all" +msgstr "Escoller todo" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Prema para escoller todos/as os/as '%s' dunha vez." + +msgid "Choose" +msgstr "Escoller" + +msgid "Remove" +msgstr "Retirar" + +#, javascript-format +msgid "Chosen %s" +msgstr "%s escollido/a(s)" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Esta é a lista de %s escollidos/as. Pode eliminar algúns seleccionándoos na " +"caixa inferior e a continuación facendo clic na frecha \"Eliminar\" situada " +"entre as dúas caixas." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "Escriba nesta caixa para filtrar a lista de %s seleccionados." + +msgid "Remove all" +msgstr "Retirar todos" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Faga clic para eliminar da lista todos/as os/as '%s' escollidos/as." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%s opción seleccionada non visible" +msgstr[1] "%s opcións seleccionadas non visibles" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s de %(cnt)s escollido" +msgstr[1] "%(sel)s de %(cnt)s escollidos" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Tes cambios sen guardar en campos editables individuales. Se executas unha " +"acción, os cambios non gardados perderanse." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Escolleu unha acción, pero aínda non gardou os cambios nos campos " +"individuais. Prema OK para gardar. Despois terá que volver executar a acción." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Escolleu unha acción, pero aínda non gardou os cambios nos campos " +"individuais. Probablemente estea buscando o botón Ir no canto do botón " +"Gardar." + +msgid "Now" +msgstr "Agora" + +msgid "Midnight" +msgstr "Medianoite" + +msgid "6 a.m." +msgstr "6 da mañá" + +msgid "Noon" +msgstr "Mediodía" + +msgid "6 p.m." +msgstr "6 da tarde" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Nota: Está %s hora por diante da hora do servidor." +msgstr[1] "Nota: Está %s horas por diante da hora do servidor." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Nota: Está %s hora por detrás da hora do servidor." +msgstr[1] "Nota: Está %s horas por detrás da hora do servidor." + +msgid "Choose a Time" +msgstr "Escolla unha Hora" + +msgid "Choose a time" +msgstr "Escolla unha hora" + +msgid "Cancel" +msgstr "Cancelar" + +msgid "Today" +msgstr "Hoxe" + +msgid "Choose a Date" +msgstr "Escolla unha Data" + +msgid "Yesterday" +msgstr "Onte" + +msgid "Tomorrow" +msgstr "Mañá" + +msgid "January" +msgstr "Xaneiro" + +msgid "February" +msgstr "Febreiro" + +msgid "March" +msgstr "Marzo" + +msgid "April" +msgstr "Abril" + +msgid "May" +msgstr "Maio" + +msgid "June" +msgstr "Xuño" + +msgid "July" +msgstr "Xullo" + +msgid "August" +msgstr "Agosto" + +msgid "September" +msgstr "Setembro" + +msgid "October" +msgstr "Outubro" + +msgid "November" +msgstr "Novembro" + +msgid "December" +msgstr "Decembro" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Xan" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Feb" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Mar" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Abr" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "Maio" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Xuñ" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Xul" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Ago" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Set" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Out" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Nov" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Dec" + +msgid "Sunday" +msgstr "Domingo" + +msgid "Monday" +msgstr "Luns" + +msgid "Tuesday" +msgstr "Martes" + +msgid "Wednesday" +msgstr "Mércores" + +msgid "Thursday" +msgstr "Xoves" + +msgid "Friday" +msgstr "Venres" + +msgid "Saturday" +msgstr "Sábado" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "Domingo" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "Lun" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "Mar" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "Mér" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "Xov" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "Ven" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "Sáb" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "D" + +msgctxt "one letter Monday" +msgid "M" +msgstr "L" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "M" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "M" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "X" + +msgctxt "one letter Friday" +msgid "F" +msgstr "V" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "S" + +msgid "Show" +msgstr "Amosar" + +msgid "Hide" +msgstr "Esconder" diff --git a/external_sources/django/django/contrib/admin/locale/he/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/he/LC_MESSAGES/django.po new file mode 100644 index 0000000..136ffff --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/he/LC_MESSAGES/django.po @@ -0,0 +1,771 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# 534b44a19bf18d20b71ecc4eb77c572f_db336e9 , 2011 +# Jannis Leidel , 2011 +# Meir Kriheli , 2011-2015,2017,2019-2020,2023 +# Menachem G., 2021 +# Yaron Shahrabani , 2020-2021 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 11:41-0300\n" +"PO-Revision-Date: 2023-12-04 07:05+0000\n" +"Last-Translator: Meir Kriheli , " +"2011-2015,2017,2019-2020,2023\n" +"Language-Team: Hebrew (http://app.transifex.com/django/django/language/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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "מחק %(verbose_name_plural)s שנבחרו" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d %(items)s נמחקו בהצלחה." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "לא ניתן למחוק %(name)s" + +msgid "Are you sure?" +msgstr "להמשיך?" + +msgid "Administration" +msgstr "ניהול" + +msgid "All" +msgstr "הכול" + +msgid "Yes" +msgstr "כן" + +msgid "No" +msgstr "לא" + +msgid "Unknown" +msgstr "לא ידוע" + +msgid "Any date" +msgstr "כל תאריך" + +msgid "Today" +msgstr "היום" + +msgid "Past 7 days" +msgstr "בשבוע האחרון" + +msgid "This month" +msgstr "החודש" + +msgid "This year" +msgstr "השנה" + +msgid "No date" +msgstr "ללא תאריך" + +msgid "Has date" +msgstr "עם תאריך" + +msgid "Empty" +msgstr "ריק" + +msgid "Not empty" +msgstr "לא ריק" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"נא להזין את %(username)s והסיסמה הנכונים לחשבון איש צוות. נא לשים לב כי שני " +"השדות רגישים לאותיות גדולות/קטנות." + +msgid "Action:" +msgstr "פעולה" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "הוספת %(verbose_name)s" + +msgid "Remove" +msgstr "להסיר" + +msgid "Addition" +msgstr "הוספה" + +msgid "Change" +msgstr "שינוי" + +msgid "Deletion" +msgstr "מחיקה" + +msgid "action time" +msgstr "זמן פעולה" + +msgid "user" +msgstr "משתמש" + +msgid "content type" +msgstr "סוג תוכן" + +msgid "object id" +msgstr "מזהה אובייקט" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "ייצוג אובייקט" + +msgid "action flag" +msgstr "דגל פעולה" + +msgid "change message" +msgstr "הערה לשינוי" + +msgid "log entry" +msgstr "רישום יומן" + +msgid "log entries" +msgstr "רישומי יומן" + +#, python-format +msgid "Added “%(object)s”." +msgstr "„%(object)s” נוסף." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "בוצע שינוי \"%(object)s\" — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "„%(object)s” נמחקו." + +msgid "LogEntry Object" +msgstr "אובייקט LogEntry" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "בוצעה הוספת {name} “{object}”." + +msgid "Added." +msgstr "נוסף." + +msgid "and" +msgstr "ו" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "בוצע שינוי {fields} עבור {name} “{object}”." + +#, python-brace-format +msgid "Changed {fields}." +msgstr " {fields} שונו." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "בוצעה מחיקת {name} “{object}”." + +msgid "No fields changed." +msgstr "אף שדה לא השתנה." + +msgid "None" +msgstr "ללא" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "יש להחזיק \"Control\" או \"Command\" במק, כדי לבחור יותר מאחד." + +msgid "Select this object for an action - {}" +msgstr "בחירת אובייקט זה עבור פעולה - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "הוספת {name} “{obj}” בוצעה בהצלחה." + +msgid "You may edit it again below." +msgstr "ניתן לערוך שוב מתחת." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "הוספת {name} “{obj}” בוצעה בהצלחה. ניתן להוסיף עוד {name} מתחת." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "שינוי {name} “{obj}” בוצע בהצלחה. ניתן לערוך שוב מתחת." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "הוספת {name} “{obj}” בוצעה בהצלחה. ניתן לערוך שוב מתחת." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "עדכון {name} \"{obj}\" בוצע בהצלחה. ניתן להוסיף עוד {name} מתחת." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "שינוי {name} \"{obj}\" בוצע בהצלחה." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "יש לסמן פריטים כדי לבצע עליהם פעולות. לא שונו פריטים." + +msgid "No action selected." +msgstr "לא נבחרה פעולה." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "מחיקת %(name)s “%(obj)s” בוצעה בהצלחה." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "%(name)s עם ID \"%(key)s\" לא במצאי. אולי זה נמחק?" + +#, python-format +msgid "Add %s" +msgstr "הוספת %s" + +#, python-format +msgid "Change %s" +msgstr "שינוי %s" + +#, python-format +msgid "View %s" +msgstr "צפיה ב%s" + +msgid "Database error" +msgstr "שגיאת בסיס נתונים" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "שינוי %(count)s %(name)s בוצע בהצלחה." +msgstr[1] "שינוי %(count)s %(name)s בוצע בהצלחה." +msgstr[2] "שינוי %(count)s %(name)s בוצע בהצלחה." +msgstr[3] "שינוי %(count)s %(name)s בוצע בהצלחה." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s נבחר" +msgstr[1] "כל ה־%(total_count)s נבחרו" +msgstr[2] "כל ה־%(total_count)s נבחרו" +msgstr[3] "כל ה־%(total_count)s נבחרו" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 מ %(cnt)s נבחרים" + +#, python-format +msgid "Change history: %s" +msgstr "היסטוריית שינוי: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"מחיקת %(class_name)s %(instance)s תדרוש מחיקת האובייקטים הקשורים והמוגנים " +"הבאים: %(related_objects)s" + +msgid "Django site admin" +msgstr "ניהול אתר Django" + +msgid "Django administration" +msgstr "ניהול Django" + +msgid "Site administration" +msgstr "ניהול אתר" + +msgid "Log in" +msgstr "כניסה" + +#, python-format +msgid "%(app)s administration" +msgstr "ניהול %(app)s" + +msgid "Page not found" +msgstr "דף לא קיים" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "אנו מתנצלים, העמוד המבוקש אינו קיים." + +msgid "Home" +msgstr "דף הבית" + +msgid "Server error" +msgstr "שגיאת שרת" + +msgid "Server error (500)" +msgstr "שגיאת שרת (500)" + +msgid "Server Error (500)" +msgstr "שגיאת שרת (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"התרחשה שגיאה. היא דווחה למנהלי האתר בדוא\"ל ותתוקן בקרוב. תודה על סבלנותך." + +msgid "Run the selected action" +msgstr "הפעל את הפעולה שבחרת בה." + +msgid "Go" +msgstr "בצע" + +msgid "Click here to select the objects across all pages" +msgstr "לחיצה כאן תבחר את האובייקטים בכל העמודים" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "בחירת כל %(total_count)s ה־%(module_name)s" + +msgid "Clear selection" +msgstr "איפוס בחירה" + +msgid "Breadcrumbs" +msgstr "פירורי לחם" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "מודלים ביישום %(name)s" + +msgid "Add" +msgstr "הוספה" + +msgid "View" +msgstr "צפיה" + +msgid "You don’t have permission to view or edit anything." +msgstr "אין לך כלל הרשאות צפיה או עריכה." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"ראשית יש להזין שם משתמש וססמה. לאחר מכן ניתן יהיה לערוך אפשרויות משתמש " +"נוספות." + +msgid "Enter a username and password." +msgstr "נא לשים שם משתמש וסיסמה." + +msgid "Change password" +msgstr "שינוי סיסמה" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "נא לתקן את השגיאה מתחת." +msgstr[1] "נא לתקן את השגיאות מתחת." +msgstr[2] "נא לתקן את השגיאות מתחת." +msgstr[3] "נא לתקן את השגיאות מתחת." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "יש להזין סיסמה חדשה עבור המשתמש %(username)s." + +msgid "Skip to main content" +msgstr "דילוג לתוכן העיקרי" + +msgid "Welcome," +msgstr "שלום," + +msgid "View site" +msgstr "צפיה באתר" + +msgid "Documentation" +msgstr "תיעוד" + +msgid "Log out" +msgstr "יציאה" + +#, python-format +msgid "Add %(name)s" +msgstr "הוספת %(name)s" + +msgid "History" +msgstr "היסטוריה" + +msgid "View on site" +msgstr "צפיה באתר" + +msgid "Filter" +msgstr "סינון" + +msgid "Hide counts" +msgstr "הסתרת ספירות" + +msgid "Show counts" +msgstr "הצגת ספירות" + +msgid "Clear all filters" +msgstr "ניקוי כל הסינונים" + +msgid "Remove from sorting" +msgstr "הסרה ממיון" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "עדיפות מיון: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "החלף כיוון מיון" + +msgid "Toggle theme (current theme: auto)" +msgstr "החלפת ערכת נושא (נוכחית: אוטומטית)" + +msgid "Toggle theme (current theme: light)" +msgstr "החלפת ערכת נושא (נוכחית: בהירה)" + +msgid "Toggle theme (current theme: dark)" +msgstr "החלפת ערכת נושא (נוכחית: כהה)" + +msgid "Delete" +msgstr "מחיקה" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"מחיקת %(object_name)s '%(escaped_object)s' מצריכה מחיקת אובייקטים מקושרים, " +"אך לחשבון שלך אין הרשאות למחיקת סוגי האובייקטים הבאים:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"מחיקת ה%(object_name)s '%(escaped_object)s' תדרוש מחיקת האובייקטים הקשורים " +"והמוגנים הבאים:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"האם ברצונך למחוק את %(object_name)s \"%(escaped_object)s\"? כל הפריטים " +"הקשורים הבאים יימחקו:" + +msgid "Objects" +msgstr "אובייקטים" + +msgid "Yes, I’m sure" +msgstr "כן, בבטחה" + +msgid "No, take me back" +msgstr "לא, קח אותי חזרה." + +msgid "Delete multiple objects" +msgstr "מחק כמה פריטים" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"מחיקת ב%(objects_name)s הנבחרת תביא במחיקת אובייקטים קשורים, אבל החשבון שלך " +"אינו הרשאה למחוק את הסוגים הבאים של אובייקטים:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"מחיקת ה%(objects_name)s אשר סימנת תדרוש מחיקת האובייקטים הקשורים והמוגנים " +"הבאים:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"האם אתה בטוח שאתה רוצה למחוק את ה%(objects_name)s הנבחר? כל האובייקטים הבאים " +"ופריטים הקשורים להם יימחקו:" + +msgid "Delete?" +msgstr "מחיקה ?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " לפי %(filter_title)s " + +msgid "Summary" +msgstr "סיכום" + +msgid "Recent actions" +msgstr "פעולות אחרונות" + +msgid "My actions" +msgstr "הפעולות שלי" + +msgid "None available" +msgstr "לא נמצאו" + +msgid "Added:" +msgstr "נוספו:" + +msgid "Changed:" +msgstr "שונו:" + +msgid "Deleted:" +msgstr "נמחקו:" + +msgid "Unknown content" +msgstr "תוכן לא ידוע" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"משהו שגוי בהתקנת בסיס הנתונים שלך. יש לוודא יצירת הטבלאות המתאימות וקיום " +"הרשאות קריאה על בסיס הנתונים עבור המשתמש המתאים." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"התחברת בתור %(username)s, אך אין לך הרשאות גישה לעמוד זה. האם ברצונך להתחבר " +"בתור משתמש אחר?" + +msgid "Forgotten your password or username?" +msgstr "שכחת את שם המשתמש והסיסמה שלך ?" + +msgid "Toggle navigation" +msgstr "החלפת מצב סרגל ניווט" + +msgid "Sidebar" +msgstr "סרגל צד" + +msgid "Start typing to filter…" +msgstr "התחל להקליד כדי לסנן..." + +msgid "Filter navigation items" +msgstr "סנן פריטי ניווט" + +msgid "Date/time" +msgstr "תאריך/שעה" + +msgid "User" +msgstr "משתמש" + +msgid "Action" +msgstr "פעולה" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "רשומה" +msgstr[1] "רשומה" +msgstr[2] "רשומות" +msgstr[3] "רשומות" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "לאובייקט זה אין היסטוריית שינויים. כנראה לא נוסף דרך ממשק הניהול." + +msgid "Show all" +msgstr "הצג הכל" + +msgid "Save" +msgstr "שמירה" + +msgid "Popup closing…" +msgstr "חלון צץ נסגר..." + +msgid "Search" +msgstr "חיפוש" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "תוצאה %(counter)s" +msgstr[1] "%(counter)s תוצאות" +msgstr[2] "%(counter)s תוצאות" +msgstr[3] "%(counter)s תוצאות" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s סה\"כ" + +msgid "Save as new" +msgstr "שמירה כחדש" + +msgid "Save and add another" +msgstr "שמירה והוספת אחר" + +msgid "Save and continue editing" +msgstr "שמירה והמשך עריכה" + +msgid "Save and view" +msgstr "שמירה וצפיה" + +msgid "Close" +msgstr "סגירה" + +#, python-format +msgid "Change selected %(model)s" +msgstr "שינוי %(model)s הנבחר." + +#, python-format +msgid "Add another %(model)s" +msgstr "הוספת %(model)s נוסף." + +#, python-format +msgid "Delete selected %(model)s" +msgstr "מחיקת %(model)s הנבחר." + +#, python-format +msgid "View selected %(model)s" +msgstr "צפיה ב%(model)s אשר נבחרו." + +msgid "Thanks for spending some quality time with the web site today." +msgstr "תודה על בילוי זמן איכות עם האתר." + +msgid "Log in again" +msgstr "התחבר/י שוב" + +msgid "Password change" +msgstr "שינוי סיסמה" + +msgid "Your password was changed." +msgstr "סיסמתך שונתה." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"נא להזין את הססמה הישנה שלך, למען האבטחה, ולאחר מכן את הססמה החדשה שלך " +"פעמיים כדי שנוכל לוודא שהקלדת אותה נכון." + +msgid "Change my password" +msgstr "שנה את סיסמתי" + +msgid "Password reset" +msgstr "איפוס סיסמה" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "ססמתך נשמרה. כעת ניתן להתחבר." + +msgid "Password reset confirmation" +msgstr "אימות איפוס סיסמה" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "נא להזין את סיסמתך החדשה פעמיים כדי שנוכל לוודא שהקלדת אותה כראוי." + +msgid "New password:" +msgstr "סיסמה חדשה:" + +msgid "Confirm password:" +msgstr "אימות סיסמה:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"הקישור לאיפוס הסיסמה אינו חוקי. ייתכן והשתמשו בו כבר. נא לבקש איפוס סיסמה " +"חדש." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"שלחנו לך הוראות לקביעת הססמה, בהנחה שקיים חשבון עם כתובת הדואר האלקטרוני " +"שהזנת. ההוראות אמורות להתקבל בקרוב." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"אם לא קיבלת דואר אלקטרוני, נא לוודא שהזנת את הכתובת שנרשמת עימה ושההודעה לא " +"נחתה בתיקיית דואר הזבל." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"הודעה זו נשלחה אליך עקב בקשתך לאיפוס הסיסמה עבור המשתמש שלך באתר " +"%(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "נא להגיע לעמוד הבא ולבחור סיסמה חדשה:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "שם המשתמש שלך במקרה ושכחת:" + +msgid "Thanks for using our site!" +msgstr "תודה על השימוש באתר שלנו!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "צוות %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"שכחת את הססמה שלך? נא להזין את כתובת הדואר האלקטרוני מתחת ואנו נשלח הוראות " +"לקביעת ססמה חדשה." + +msgid "Email address:" +msgstr "כתובת דוא\"ל:" + +msgid "Reset my password" +msgstr "אפס את סיסמתי" + +msgid "Select all objects on this page for an action" +msgstr "בחירת כל האובייקטים בעמוד זה עבור פעולה" + +msgid "All dates" +msgstr "כל התאריכים" + +#, python-format +msgid "Select %s" +msgstr "בחירת %s" + +#, python-format +msgid "Select %s to change" +msgstr "בחירת %s לשינוי" + +#, python-format +msgid "Select %s to view" +msgstr "בחירת %s לצפיה" + +msgid "Date:" +msgstr "תאריך:" + +msgid "Time:" +msgstr "שעה:" + +msgid "Lookup" +msgstr "חפש" + +msgid "Currently:" +msgstr "נוכחי:" + +msgid "Change:" +msgstr "שינוי:" diff --git a/external_sources/django/django/contrib/admin/locale/he/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/he/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..1946efc --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/he/LC_MESSAGES/djangojs.po @@ -0,0 +1,334 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# 534b44a19bf18d20b71ecc4eb77c572f_db336e9 , 2012 +# Jannis Leidel , 2011 +# Meir Kriheli , 2011-2012,2014-2015,2017,2020,2023 +# Yaron Shahrabani , 2021 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 15:04-0300\n" +"PO-Revision-Date: 2023-12-04 07:59+0000\n" +"Last-Translator: Meir Kriheli , " +"2011-2012,2014-2015,2017,2020,2023\n" +"Language-Team: Hebrew (http://app.transifex.com/django/django/language/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" + +#, javascript-format +msgid "Available %s" +msgstr "אפשרויות %s זמינות" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"זו רשימת %s הזמינים לבחירה. ניתן לבחור חלק ע\"י סימון בתיבה מתחת ולחיצה על " +"חץ \"בחר\" בין שתי התיבות." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "ניתן להקליד בתיבה זו כדי לסנן %s." + +msgid "Filter" +msgstr "סינון" + +msgid "Choose all" +msgstr "בחירת הכל" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "בחירת כל ה%s בבת אחת." + +msgid "Choose" +msgstr "בחר" + +msgid "Remove" +msgstr "הסרה" + +#, javascript-format +msgid "Chosen %s" +msgstr "%s אשר נבחרו" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"זו רשימת %s אשר נבחרו. ניתן להסיר חלק ע\"י בחירה בתיבה מתחת ולחיצה על חץ " +"\"הסרה\" בין שתי התיבות." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "ניתן להקליד בתיבה זו כדי לסנן את רשימת %s הנבחרים." + +msgid "Remove all" +msgstr "הסרת הכל" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "הסרת כל %s אשר נבחרו בבת אחת." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "אפשרות נבחרת %s אינה גלויה." +msgstr[1] "%s אפשרויות נבחרות אינן גלויות." +msgstr[2] "%s אפשרויות נבחרות אינן גלויות." +msgstr[3] "%s אפשרויות נבחרות אינן גלויות." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s מ %(cnt)s נבחרות" +msgstr[1] "%(sel)s מ %(cnt)s נבחרות" +msgstr[2] "%(sel)s מ %(cnt)s נבחרות" +msgstr[3] "%(sel)s מ %(cnt)s נבחרות" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"יש לך שינויים שלא נשמרו על שדות יחידות. אם אתה מפעיל פעולה, שינויים שלא " +"נשמרו יאבדו." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"בחרת פעולה, אך לא שמרת עדיין את השינויים לשדות בודדים. נא ללחוץ על אישור כדי " +"לשמור. יהיה עליך להפעיל את הפעולה עוד פעם." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"בחרת פעולה, אך לא ביצעת שינויים בשדות. כנראה חיפשת את כפתור בצע במקום כפתור " +"שמירה." + +msgid "Now" +msgstr "כעת" + +msgid "Midnight" +msgstr "חצות" + +msgid "6 a.m." +msgstr "6 בבוקר" + +msgid "Noon" +msgstr "12 בצהריים" + +msgid "6 p.m." +msgstr "6 אחר הצהריים" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "הערה: את/ה %s שעה לפני זמן השרת." +msgstr[1] "הערה: את/ה %s שעות לפני זמן השרת." +msgstr[2] "הערה: את/ה %s שעות לפני זמן השרת." +msgstr[3] "הערה: את/ה %s שעות לפני זמן השרת." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "הערה: את/ה %s שעה אחרי זמן השרת." +msgstr[1] "הערה: את/ה %s שעות אחרי זמן השרת." +msgstr[2] "הערה: את/ה %s שעות אחרי זמן השרת." +msgstr[3] "הערה: את/ה %s שעות אחרי זמן השרת." + +msgid "Choose a Time" +msgstr "בחירת שעה" + +msgid "Choose a time" +msgstr "בחירת שעה" + +msgid "Cancel" +msgstr "ביטול" + +msgid "Today" +msgstr "היום" + +msgid "Choose a Date" +msgstr "בחירת תאריך" + +msgid "Yesterday" +msgstr "אתמול" + +msgid "Tomorrow" +msgstr "מחר" + +msgid "January" +msgstr "ינואר" + +msgid "February" +msgstr "פברואר" + +msgid "March" +msgstr "מרץ" + +msgid "April" +msgstr "אפריל" + +msgid "May" +msgstr "מאי" + +msgid "June" +msgstr "יוני" + +msgid "July" +msgstr "יולי" + +msgid "August" +msgstr "אוגוסט" + +msgid "September" +msgstr "ספטמבר" + +msgid "October" +msgstr "אוקטובר" + +msgid "November" +msgstr "נובמבר" + +msgid "December" +msgstr "דצמבר" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "ינו׳" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "פבר׳" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "מרץ" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "אפר׳" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "מאי" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "יונ׳" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "יול׳" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "אוג׳" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "ספט׳" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "אוק׳" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "נוב׳" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "דצמ׳" + +msgid "Sunday" +msgstr "ראשון" + +msgid "Monday" +msgstr "שני" + +msgid "Tuesday" +msgstr "שלישי" + +msgid "Wednesday" +msgstr "רביעי" + +msgid "Thursday" +msgstr "חמישי" + +msgid "Friday" +msgstr "שישי" + +msgid "Saturday" +msgstr "שבת" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "א" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "ב" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "ג" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "ד" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "ה" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "ו" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "ש" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "א" + +msgctxt "one letter Monday" +msgid "M" +msgstr "ב" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "ג" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "ד" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "ה" + +msgctxt "one letter Friday" +msgid "F" +msgstr "ו" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "ש" + +msgid "Show" +msgstr "הצג" + +msgid "Hide" +msgstr "הסתר" diff --git a/external_sources/django/django/contrib/admin/locale/hi/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/hi/LC_MESSAGES/django.po new file mode 100644 index 0000000..5193539 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/hi/LC_MESSAGES/django.po @@ -0,0 +1,706 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# alkuma , 2013 +# Chandan kumar , 2012 +# Jannis Leidel , 2011 +# Pratik , 2013 +# Sandeep Satavlekar , 2011 +# Vaarun Sinha, 2022 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-05-17 05:10-0500\n" +"PO-Revision-Date: 2022-07-25 07:05+0000\n" +"Last-Translator: Vaarun Sinha\n" +"Language-Team: Hindi (http://www.transifex.com/django/django/language/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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "चुने हुए %(verbose_name_plural)s हटा दीजिये " + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d %(items)s सफलतापूर्वक हटा दिया गया है |" + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "%(name)s नहीं हटा सकते" + +msgid "Are you sure?" +msgstr "क्या आप निश्चित हैं?" + +msgid "Administration" +msgstr "" + +msgid "All" +msgstr "सभी" + +msgid "Yes" +msgstr "हाँ" + +msgid "No" +msgstr "नहीं" + +msgid "Unknown" +msgstr "अनजान" + +msgid "Any date" +msgstr "कोई भी तारीख" + +msgid "Today" +msgstr "आज" + +msgid "Past 7 days" +msgstr "पिछले 7 दिन" + +msgid "This month" +msgstr "इस महीने" + +msgid "This year" +msgstr "इस साल" + +msgid "No date" +msgstr "" + +msgid "Has date" +msgstr "" + +msgid "Empty" +msgstr "" + +msgid "Not empty" +msgstr "" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"कृपया कर्मचारी खाते का सही %(username)s व कूटशब्द भरें। भरते समय दीर्घाक्षर और लघु अक्षर " +"का खयाल रखें।" + +msgid "Action:" +msgstr " क्रिया:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "एक और %(verbose_name)s जोड़ें " + +msgid "Remove" +msgstr "निकालें" + +msgid "Addition" +msgstr "" + +msgid "Change" +msgstr "बदलें" + +msgid "Deletion" +msgstr "" + +msgid "action time" +msgstr "कार्य के लिए समय" + +msgid "user" +msgstr "" + +msgid "content type" +msgstr "" + +msgid "object id" +msgstr "वस्तु की आईडी " + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "वस्तु का निरूपण" + +msgid "action flag" +msgstr "कार्य ध्वज" + +msgid "change message" +msgstr "परिवर्तन सन्देश" + +msgid "log entry" +msgstr "लॉग प्रविष्टि" + +msgid "log entries" +msgstr "लॉग प्रविष्टियाँ" + +#, python-format +msgid "Added “%(object)s”." +msgstr "" + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "" + +msgid "LogEntry Object" +msgstr "LogEntry ऑब्जेक्ट" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "" + +msgid "Added." +msgstr "" + +msgid "and" +msgstr "और" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "" + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "" + +msgid "No fields changed." +msgstr "कोई क्षेत्र नहीं बदला" + +msgid "None" +msgstr "कोई नहीं" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "" + +msgid "You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "कार्रवाई हेतु आयटम सही अनुक्रम में चुने जाने चाहिए | कोई आइटम नहीं बदले गये हैं." + +msgid "No action selected." +msgstr "कोई कार्रवाई नहीं चुनी है |" + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "" + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "%s बढाएं" + +#, python-format +msgid "Change %s" +msgstr "%s बदलो" + +#, python-format +msgid "View %s" +msgstr "" + +msgid "Database error" +msgstr "डेटाबेस त्रुटि" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s का परिवर्तन कामयाब हुआ |" +msgstr[1] "%(count)s %(name)s का परिवर्तन कामयाब हुआ |" + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s चुने" +msgstr[1] "सभी %(total_count)s चुने " + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "%(cnt)s में से 0 चुने" + +#, python-format +msgid "Change history: %s" +msgstr "इतिहास बदलो: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" + +msgid "Django site admin" +msgstr "ज्याँगो साइट प्रशासन" + +msgid "Django administration" +msgstr "ज्याँगो प्रशासन" + +msgid "Site administration" +msgstr "साइट प्रशासन" + +msgid "Log in" +msgstr "लॉगिन" + +#, python-format +msgid "%(app)s administration" +msgstr "" + +msgid "Page not found" +msgstr "पृष्ठ लापता" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "" + +msgid "Home" +msgstr "गृह" + +msgid "Server error" +msgstr "सर्वर त्रुटि" + +msgid "Server error (500)" +msgstr "सर्वर त्रुटि (500)" + +msgid "Server Error (500)" +msgstr "सर्वर त्रुटि (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +msgid "Run the selected action" +msgstr "चयनित कार्रवाई चलाइये" + +msgid "Go" +msgstr "आगे बढ़े" + +msgid "Click here to select the objects across all pages" +msgstr "सभी पृष्ठों पर मौजूद वस्तुओं को चुनने के लिए यहाँ क्लिक करें " + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "तमाम %(total_count)s %(module_name)s चुनें" + +msgid "Clear selection" +msgstr "चयन खालिज किया जाये " + +#, python-format +msgid "Models in the %(name)s application" +msgstr "%(name)s अनुप्रयोग के प्रतिरूप" + +msgid "Add" +msgstr "बढाएं" + +msgid "View" +msgstr "" + +msgid "You don’t have permission to view or edit anything." +msgstr "" + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" + +msgid "Enter a username and password." +msgstr "उपयोगकर्ता का नाम और कूटशब्द दर्ज करें." + +msgid "Change password" +msgstr "पासवर्ड बदलें" + +msgid "Please correct the error below." +msgstr "" + +msgid "Please correct the errors below." +msgstr "" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "%(username)s प्रवोक्ता के लिए नयी कूटशब्द दर्ज करें ।" + +msgid "Welcome," +msgstr "आपका स्वागत है," + +msgid "View site" +msgstr "" + +msgid "Documentation" +msgstr "दस्तावेज़ीकरण" + +msgid "Log out" +msgstr "लॉग आउट" + +#, python-format +msgid "Add %(name)s" +msgstr "%(name)s बढाएं" + +msgid "History" +msgstr "इतिहास" + +msgid "View on site" +msgstr "साइट पे देखें" + +msgid "Filter" +msgstr "छन्नी" + +msgid "Clear all filters" +msgstr "" + +msgid "Remove from sorting" +msgstr "श्रेणीकरण से हटाये " + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "श्रेणीकरण प्राथमिकता : %(priority_number)s" + +msgid "Toggle sorting" +msgstr "टॉगल श्रेणीकरण" + +msgid "Delete" +msgstr "मिटाएँ" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"%(object_name)s '%(escaped_object)s' को मिटाने पर सम्बंधित वस्तुएँ भी मिटा दी " +"जाएगी, परन्तु आप के खाते में निम्नलिखित प्रकार की वस्तुओं को मिटाने की अनुमति नहीं हैं |" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"%(object_name)s '%(escaped_object)s' को हटाने के लिए उनसे संबंधित निम्नलिखित " +"संरक्षित वस्तुओं को हटाने की आवश्यकता होगी:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"क्या आप %(object_name)s \"%(escaped_object)s\" हटाना चाहते हैं? निम्नलिखित सभी " +"संबंधित वस्तुएँ नष्ट की जाएगी" + +msgid "Objects" +msgstr "" + +msgid "Yes, I’m sure" +msgstr "" + +msgid "No, take me back" +msgstr "" + +msgid "Delete multiple objects" +msgstr "अनेक वस्तुएं हटाएँ" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"चयनित %(objects_name)s हटाने पर उस से सम्बंधित वस्तुएं भी हट जाएगी, परन्तु आपके खाते में " +"वस्तुओं के निम्नलिखित प्रकार हटाने की अनुमति नहीं है:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"चयनित %(objects_name)s को हटाने के पश्चात् निम्नलिखित संरक्षित संबंधित वस्तुओं को हटाने " +"की आवश्यकता होगी |" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"क्या आप ने पक्का तय किया हैं की चयनित %(objects_name)s को नष्ट किया जाये ? " +"निम्नलिखित सभी वस्तुएं और उनसे सम्बंधित वस्तुए भी नष्ट की जाएगी:" + +msgid "Delete?" +msgstr "मिटाएँ ?" + +#, python-format +msgid " By %(filter_title)s " +msgstr "%(filter_title)s द्वारा" + +msgid "Summary" +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "My actions" +msgstr "" + +msgid "None available" +msgstr " कोई भी उपलब्ध नहीं" + +msgid "Unknown content" +msgstr "अज्ञात सामग्री" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" + +msgid "Forgotten your password or username?" +msgstr "अपना पासवर्ड या उपयोगकर्ता नाम भूल गये हैं?" + +msgid "Toggle navigation" +msgstr "" + +msgid "Start typing to filter…" +msgstr "" + +msgid "Filter navigation items" +msgstr "" + +msgid "Date/time" +msgstr "तिथि / समय" + +msgid "User" +msgstr "उपभोक्ता" + +msgid "Action" +msgstr "कार्य" + +msgid "entry" +msgstr "" + +msgid "entries" +msgstr "" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" + +msgid "Show all" +msgstr "सभी दिखाएँ" + +msgid "Save" +msgstr "सुरक्षित कीजिये" + +msgid "Popup closing…" +msgstr "" + +msgid "Search" +msgstr "खोज" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s परिणाम" +msgstr[1] "%(counter)s परिणाम" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s कुल परिणाम" + +msgid "Save as new" +msgstr "नये सा सहेजें" + +msgid "Save and add another" +msgstr "सहेजें और एक और जोडें" + +msgid "Save and continue editing" +msgstr "सहेजें और संपादन करें" + +msgid "Save and view" +msgstr "" + +msgid "Close" +msgstr "" + +#, python-format +msgid "Change selected %(model)s" +msgstr "" + +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "" + +#, python-format +msgid "View selected %(model)s" +msgstr "" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "" + +msgid "Log in again" +msgstr "फिर से लॉगिन कीजिए" + +msgid "Password change" +msgstr "कूटशब्द बदलें" + +msgid "Your password was changed." +msgstr "आपके कूटशब्द को बदला गया है" + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" + +msgid "Change my password" +msgstr "कूटशब्द बदलें" + +msgid "Password reset" +msgstr "कूटशब्द पुनस्थाप" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "आपके कूटशब्द को स्थापित किया गया है । अब आप लॉगिन कर सकते है ।" + +msgid "Password reset confirmation" +msgstr "कूटशब्द पुष्टि" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "कृपया आपके नये कूटशब्द को दो बार दर्ज करें ताकि हम उसकी सत्याप्ती कर सकते है ।" + +msgid "New password:" +msgstr "नया कूटशब्द " + +msgid "Confirm password:" +msgstr "कूटशब्द पुष्टि कीजिए" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"कूटशब्द पुनस्थाप संपर्क अमान्य है, संभावना है कि उसे उपयोग किया गया है। कृपया फिर से कूटशब्द " +"पुनस्थाप की आवेदन करें ।" + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"आपको यह डाक इसलिए आई है क्योंकि आप ने %(site_name)s पर अपने खाते का कूटशब्द बदलने का " +"अनुरोध किया था |" + +msgid "Please go to the following page and choose a new password:" +msgstr "कृपया निम्नलिखित पृष्ठ पर नया कूटशब्द चुनिये :" + +msgid "Your username, in case you’ve forgotten:" +msgstr "" + +msgid "Thanks for using our site!" +msgstr "हमारे साइट को उपयोग करने के लिए धन्यवाद ।" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s दल" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" + +msgid "Email address:" +msgstr "डाक पता -" + +msgid "Reset my password" +msgstr " मेरे कूटशब्द की पुनःस्थापना" + +msgid "All dates" +msgstr "सभी तिथियों" + +#, python-format +msgid "Select %s" +msgstr "%s चुनें" + +#, python-format +msgid "Select %s to change" +msgstr "%s के बदली के लिए चयन करें" + +#, python-format +msgid "Select %s to view" +msgstr "" + +msgid "Date:" +msgstr "तिथि:" + +msgid "Time:" +msgstr "समय:" + +msgid "Lookup" +msgstr "लुक अप" + +msgid "Currently:" +msgstr "फ़िलहाल - " + +msgid "Change:" +msgstr "बदलाव -" diff --git a/external_sources/django/django/contrib/admin/locale/hi/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/hi/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..78b49e7 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/hi/LC_MESSAGES/djangojs.po @@ -0,0 +1,217 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Chandan kumar , 2012 +# Jannis Leidel , 2011 +# Sandeep Satavlekar , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"PO-Revision-Date: 2017-09-19 16:41+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Hindi (http://www.transifex.com/django/django/language/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" + +#, javascript-format +msgid "Available %s" +msgstr "उपलब्ध %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"यह उपलब्ध %s की सूची है. आप उन्हें नीचे दिए गए बॉक्स में से चयन करके कुछ को चुन सकते हैं और " +"उसके बाद दो बॉक्स के बीच \"चुनें\" तीर पर क्लिक करें." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "इस बॉक्स में टाइप करने के लिए नीचे उपलब्ध %s की सूची को फ़िल्टर करें." + +msgid "Filter" +msgstr "छानना" + +msgid "Choose all" +msgstr "सभी चुनें" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "एक ही बार में सभी %s को चुनने के लिए क्लिक करें." + +msgid "Choose" +msgstr "चुनें" + +msgid "Remove" +msgstr "हटाना" + +#, javascript-format +msgid "Chosen %s" +msgstr "चुनें %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"यह उपलब्ध %s की सूची है. आप उन्हें नीचे दिए गए बॉक्स में से चयन करके कुछ को हटा सकते हैं और " +"उसके बाद दो बॉक्स के बीच \"हटायें\" तीर पर क्लिक करें." + +msgid "Remove all" +msgstr "सभी को हटाएँ" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "एक ही बार में सभी %s को हटाने के लिए क्लिक करें." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(cnt)s में से %(sel)s चुना गया हैं" +msgstr[1] "%(cnt)s में से %(sel)s चुने गए हैं" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"स्वतंत्र सम्पादनक्षम क्षेत्र/स्तम्भ में किये हुए बदल अभी रक्षित नहीं हैं | अगर आप कुछ कार्रवाई " +"करते हो तो वे खो जायेंगे |" + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"आप ने कार्रवाई तो चुनी हैं, पर स्वतंत्र सम्पादनक्षम क्षेत्र/स्तम्भ में किये हुए बदल अभी सुरक्षित " +"नहीं किये हैं| उन्हें सुरक्षित करने के लिए कृपया 'ओके' क्लिक करे | आप को चुनी हुई कार्रवाई " +"दोबारा चलानी होगी |" + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"आप ने कार्रवाई चुनी हैं, और आप ने स्वतंत्र सम्पादनक्षम क्षेत्र/स्तम्भ में बदल नहीं किये हैं| " +"संभवतः 'सेव' बटन के बजाय आप 'गो' बटन ढून्ढ रहे हो |" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" +msgstr[1] "" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +msgstr[1] "" + +msgid "Now" +msgstr "अब" + +msgid "Choose a Time" +msgstr "" + +msgid "Choose a time" +msgstr "एक समय चुनें" + +msgid "Midnight" +msgstr "मध्यरात्री" + +msgid "6 a.m." +msgstr "सुबह 6 बजे" + +msgid "Noon" +msgstr "दोपहर" + +msgid "6 p.m." +msgstr "" + +msgid "Cancel" +msgstr "रद्द करें" + +msgid "Today" +msgstr "आज" + +msgid "Choose a Date" +msgstr "" + +msgid "Yesterday" +msgstr "कल (बीता)" + +msgid "Tomorrow" +msgstr "कल" + +msgid "January" +msgstr "" + +msgid "February" +msgstr "" + +msgid "March" +msgstr "" + +msgid "April" +msgstr "" + +msgid "May" +msgstr "" + +msgid "June" +msgstr "" + +msgid "July" +msgstr "" + +msgid "August" +msgstr "" + +msgid "September" +msgstr "" + +msgid "October" +msgstr "" + +msgid "November" +msgstr "" + +msgid "December" +msgstr "" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "" + +msgctxt "one letter Monday" +msgid "M" +msgstr "" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "" + +msgctxt "one letter Friday" +msgid "F" +msgstr "" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "" + +msgid "Show" +msgstr "दिखाओ" + +msgid "Hide" +msgstr " छिपाओ" diff --git a/external_sources/django/django/contrib/admin/locale/hr/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/hr/LC_MESSAGES/django.po new file mode 100644 index 0000000..b919286 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/hr/LC_MESSAGES/django.po @@ -0,0 +1,716 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# aljosa , 2011,2013 +# Bojan Mihelač , 2012 +# Filip Cuk , 2016 +# Goran Zugelj , 2018 +# Jannis Leidel , 2011 +# Mislav Cimperšak , 2013,2015-2016 +# Ylodi , 2015 +# Vedran Linić , 2019 +# Ylodi , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-01-16 20:42+0100\n" +"PO-Revision-Date: 2019-02-19 06:44+0000\n" +"Last-Translator: Vedran Linić \n" +"Language-Team: Croatian (http://www.transifex.com/django/django/language/" +"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" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Uspješno izbrisano %(count)d %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Nije moguće izbrisati %(name)s" + +msgid "Are you sure?" +msgstr "Jeste li sigurni?" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Izbrišite odabrane %(verbose_name_plural)s" + +msgid "Administration" +msgstr "Administracija" + +msgid "All" +msgstr "Svi" + +msgid "Yes" +msgstr "Da" + +msgid "No" +msgstr "Ne" + +msgid "Unknown" +msgstr "Nepoznat pojam" + +msgid "Any date" +msgstr "Bilo koji datum" + +msgid "Today" +msgstr "Danas" + +msgid "Past 7 days" +msgstr "Prošlih 7 dana" + +msgid "This month" +msgstr "Ovaj mjesec" + +msgid "This year" +msgstr "Ova godina" + +msgid "No date" +msgstr "Nema datuma" + +msgid "Has date" +msgstr "Ima datum" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Molimo unesite ispravno %(username)s i lozinku za pristup. Imajte na umu da " +"oba polja mogu biti velika i mala slova." + +msgid "Action:" +msgstr "Akcija:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Dodaj još jedan %(verbose_name)s" + +msgid "Remove" +msgstr "Ukloni" + +msgid "Addition" +msgstr "" + +msgid "Change" +msgstr "Promijeni" + +msgid "Deletion" +msgstr "" + +msgid "action time" +msgstr "vrijeme akcije" + +msgid "user" +msgstr "korisnik" + +msgid "content type" +msgstr "tip sadržaja" + +msgid "object id" +msgstr "id objekta" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "repr objekta" + +msgid "action flag" +msgstr "oznaka akcije" + +msgid "change message" +msgstr "promijeni poruku" + +msgid "log entry" +msgstr "zapis" + +msgid "log entries" +msgstr "zapisi" + +#, python-format +msgid "Added \"%(object)s\"." +msgstr "Dodano \"%(object)s\"." + +#, python-format +msgid "Changed \"%(object)s\" - %(changes)s" +msgstr "Promijenjeno \"%(object)s\" - %(changes)s" + +#, python-format +msgid "Deleted \"%(object)s.\"" +msgstr "Obrisano \"%(object)s.\"" + +msgid "LogEntry Object" +msgstr "Log zapis" + +#, python-brace-format +msgid "Added {name} \"{object}\"." +msgstr "" + +msgid "Added." +msgstr "Dodano." + +msgid "and" +msgstr "i" + +#, python-brace-format +msgid "Changed {fields} for {name} \"{object}\"." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "" + +#, python-brace-format +msgid "Deleted {name} \"{object}\"." +msgstr "" + +msgid "No fields changed." +msgstr "Nije bilo promjena polja." + +msgid "None" +msgstr "Nijedan" + +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" +"Držite \"Control\" ili \"Command\" na Mac-u kako bi odabrali više od jednog " +"objekta. " + +#, python-brace-format +msgid "The {name} \"{obj}\" was added successfully." +msgstr "" + +msgid "You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Unosi moraju biti odabrani da bi se nad njima mogle izvršiti akcije. Nijedan " +"unos nije promijenjen." + +msgid "No action selected." +msgstr "Nije odabrana akcija." + +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "%(name)s \"%(obj)s\" uspješno izbrisan." + +#, python-format +msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "Novi unos (%s)" + +#, python-format +msgid "Change %s" +msgstr "Promijeni %s" + +#, python-format +msgid "View %s" +msgstr "" + +msgid "Database error" +msgstr "Pogreška u bazi" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s uspješno promijenjen." +msgstr[1] "%(count)s %(name)s uspješno promijenjeno." +msgstr[2] "%(count)s %(name)s uspješno promijenjeno." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s odabrano" +msgstr[1] "Svih %(total_count)s odabrano" +msgstr[2] "Svih %(total_count)s odabrano" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 od %(cnt)s odabrano" + +#, python-format +msgid "Change history: %s" +msgstr "Promijeni povijest: %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Brisanje %(class_name)s %(instance)s bi zahtjevalo i brisanje sljedećih " +"zaštićenih povezanih objekata: %(related_objects)s" + +msgid "Django site admin" +msgstr "Django administracija stranica" + +msgid "Django administration" +msgstr "Django administracija" + +msgid "Site administration" +msgstr "Administracija stranica" + +msgid "Log in" +msgstr "Prijavi se" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s administracija" + +msgid "Page not found" +msgstr "Stranica nije pronađena" + +msgid "We're sorry, but the requested page could not be found." +msgstr "Ispričavamo se, ali tražena stranica nije pronađena." + +msgid "Home" +msgstr "Početna" + +msgid "Server error" +msgstr "Greška na serveru" + +msgid "Server error (500)" +msgstr "Greška na serveru (500)" + +msgid "Server Error (500)" +msgstr "Greška na serveru (500)" + +msgid "" +"There's been an error. It's been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Dogodila se greška. Administratori su obaviješteni putem elektroničke pošte " +"te bi greška uskoro trebala biti ispravljena. Hvala na strpljenju." + +msgid "Run the selected action" +msgstr "Izvrši odabranu akciju" + +msgid "Go" +msgstr "Idi" + +msgid "Click here to select the objects across all pages" +msgstr "Klikni ovdje da bi odabrao unose kroz sve stranice" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Odaberi svih %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Očisti odabir" + +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"Prvo, unesite korisničko ime i lozinku. Onda možete promijeniti više " +"postavki korisnika." + +msgid "Enter a username and password." +msgstr "Unesite korisničko ime i lozinku." + +msgid "Change password" +msgstr "Promijeni lozinku" + +msgid "Please correct the error below." +msgstr "" + +msgid "Please correct the errors below." +msgstr "Molimo ispravite navedene greške." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Unesite novu lozinku za korisnika %(username)s." + +msgid "Welcome," +msgstr "Dobrodošli," + +msgid "View site" +msgstr "Pogledaj stranicu" + +msgid "Documentation" +msgstr "Dokumentacija" + +msgid "Log out" +msgstr "Odjava" + +#, python-format +msgid "Add %(name)s" +msgstr "Novi unos - %(name)s" + +msgid "History" +msgstr "Povijest" + +msgid "View on site" +msgstr "Pogledaj na stranicama" + +msgid "Filter" +msgstr "Filter" + +msgid "Remove from sorting" +msgstr "Odstrani iz sortiranja" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Prioritet sortiranja: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Preklopi sortiranje" + +msgid "Delete" +msgstr "Izbriši" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Brisanje %(object_name)s '%(escaped_object)s' rezultiralo bi brisanjem " +"povezanih objekta, ali vi nemate privilegije za brisanje navedenih objekta: " + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Brisanje %(object_name)s '%(escaped_object)s' bi zahtijevalo i brisanje " +"sljedećih zaštićenih povezanih objekata:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Jeste li sigurni da želite izbrisati %(object_name)s \"%(escaped_object)s\"? " +"Svi navedeni objekti biti će izbrisani:" + +msgid "Objects" +msgstr "Objekti" + +msgid "Yes, I'm sure" +msgstr "Da, siguran sam" + +msgid "No, take me back" +msgstr "Ne, vrati me natrag" + +msgid "Delete multiple objects" +msgstr "Izbriši više unosa." + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Brisanje odabranog %(objects_name)s rezultiralo bi brisanjem povezanih " +"objekta, ali vaš korisnički račun nema dozvolu za brisanje sljedeće vrste " +"objekata:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Brisanje odabranog %(objects_name)s će zahtijevati brisanje sljedećih " +"zaštićenih povezanih objekata:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Jeste li sigurni da želite izbrisati odabrane %(objects_name)s ? Svi " +"sljedeći objekti i povezane stavke će biti izbrisani:" + +msgid "View" +msgstr "Prikaz" + +msgid "Delete?" +msgstr "Izbriši?" + +#, python-format +msgid " By %(filter_title)s " +msgstr "Po %(filter_title)s " + +msgid "Summary" +msgstr "Sažetak" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Modeli u aplikaciji %(name)s" + +msgid "Add" +msgstr "Novi unos" + +msgid "You don't have permission to view or edit anything." +msgstr "Nemate dozvole za pregled ili izmjenu." + +msgid "Recent actions" +msgstr "Nedavne promjene" + +msgid "My actions" +msgstr "Moje promjene" + +msgid "None available" +msgstr "Nije dostupno" + +msgid "Unknown content" +msgstr "Sadržaj nepoznat" + +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Nešto nije uredu sa instalacijom/postavkama baze. Provjerite jesu li " +"potrebne tablice u bazi kreirane i provjerite je li baza dostupna korisniku." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Prijavljeni ste kao %(username)s, ali nemate dopuštenje za pristup traženoj " +"stranici. Želite li se prijaviti drugim korisničkim računom?" + +msgid "Forgotten your password or username?" +msgstr "Zaboravili ste lozinku ili korisničko ime?" + +msgid "Date/time" +msgstr "Datum/vrijeme" + +msgid "User" +msgstr "Korisnik" + +msgid "Action" +msgstr "Akcija" + +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"Ovaj objekt nema povijest promjena. Moguće je da nije dodan korištenjem ove " +"administracije." + +msgid "Show all" +msgstr "Prikaži sve" + +msgid "Save" +msgstr "Spremi" + +msgid "Popup closing…" +msgstr "" + +msgid "Search" +msgstr "Traži" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s rezultat" +msgstr[1] "%(counter)s rezultata" +msgstr[2] "%(counter)s rezultata" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s ukupno" + +msgid "Save as new" +msgstr "Spremi kao novi unos" + +msgid "Save and add another" +msgstr "Spremi i unesi novi unos" + +msgid "Save and continue editing" +msgstr "Spremi i nastavi uređivati" + +msgid "Save and view" +msgstr "" + +msgid "Close" +msgstr "Zatvori" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Promijeni označene %(model)s" + +#, python-format +msgid "Add another %(model)s" +msgstr "Dodaj još jedan %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Obriši odabrane %(model)s" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Hvala što ste proveli malo kvalitetnog vremena na stranicama danas." + +msgid "Log in again" +msgstr "Prijavite se ponovo" + +msgid "Password change" +msgstr "Promjena lozinke" + +msgid "Your password was changed." +msgstr "Vaša lozinka je promijenjena." + +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Molim unesite staru lozinku, zbog sigurnosti, i onda unesite novu lozinku " +"dvaput da bi mogli provjeriti jeste li je ispravno unijeli." + +msgid "Change my password" +msgstr "Promijeni moju lozinku" + +msgid "Password reset" +msgstr "Resetiranje lozinke" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Vaša lozinka je postavljena. Sada se možete prijaviti." + +msgid "Password reset confirmation" +msgstr "Potvrda promjene lozinke" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Molimo vas da unesete novu lozinku dvaput da bi mogli provjeriti jeste li je " +"ispravno unijeli." + +msgid "New password:" +msgstr "Nova lozinka:" + +msgid "Confirm password:" +msgstr "Potvrdi lozinku:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Link za resetiranje lozinke je neispravan, vjerojatno jer je već korišten. " +"Molimo zatražite novo resetiranje lozinke." + +msgid "" +"We've emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Elektroničkom poštom smo vam poslali upute za postavljanje Vaše zaporke, ako " +"postoji korisnički račun s e-mail adresom koju ste unijeli. Uskoro bi ih " +"trebali primiti. " + +msgid "" +"If you don't receive an email, please make sure you've entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Ako niste primili e-mail provjerite da li ste ispravno unijeli adresu s " +"kojom ste se registrirali i provjerite spam sandučić." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Primili ste ovu poruku jer ste zatražili postavljanje nove lozinke za svoj " +"korisnički račun na %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Molimo otiđite do sljedeće stranice i odaberite novu lozinku:" + +msgid "Your username, in case you've forgotten:" +msgstr "Vaše korisničko ime, u slučaju da ste zaboravili:" + +msgid "Thanks for using our site!" +msgstr "Hvala šta koristite naše stranice!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s tim" + +msgid "" +"Forgotten your password? Enter your email address below, and we'll email " +"instructions for setting a new one." +msgstr "" +"Zaboravili ste lozinku? Unesite vašu e-mail adresu ispod i poslati ćemo vam " +"upute kako postaviti novu." + +msgid "Email address:" +msgstr "E-mail adresa:" + +msgid "Reset my password" +msgstr "Resetiraj moju lozinku" + +msgid "All dates" +msgstr "Svi datumi" + +#, python-format +msgid "Select %s" +msgstr "Odaberi %s" + +#, python-format +msgid "Select %s to change" +msgstr "Odaberi za promjenu - %s" + +#, python-format +msgid "Select %s to view" +msgstr "" + +msgid "Date:" +msgstr "Datum:" + +msgid "Time:" +msgstr "Vrijeme:" + +msgid "Lookup" +msgstr "Potraži" + +msgid "Currently:" +msgstr "Trenutno:" + +msgid "Change:" +msgstr "Promijeni:" diff --git a/external_sources/django/django/contrib/admin/locale/hr/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/hr/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..0878d8a --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/hr/LC_MESSAGES/djangojs.po @@ -0,0 +1,223 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# aljosa , 2011 +# Bojan Mihelač , 2012 +# Davor Lučić , 2011 +# Jannis Leidel , 2011 +# Mislav Cimperšak , 2015 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" +"PO-Revision-Date: 2017-09-19 16:41+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Croatian (http://www.transifex.com/django/django/language/" +"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" + +#, javascript-format +msgid "Available %s" +msgstr "Dostupno %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Ovo je popis dostupnih %s. Možete dodati pojedine na način da ih izaberete u " +"polju ispod i kliknete \"Izaberi\" strelicu između dva polja. " + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Tipkajte u ovo polje da filtrirate listu dostupnih %s." + +msgid "Filter" +msgstr "Filter" + +msgid "Choose all" +msgstr "Odaberi sve" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Kliknite da odabrete sve %s odjednom." + +msgid "Choose" +msgstr "Izaberi" + +msgid "Remove" +msgstr "Ukloni" + +#, javascript-format +msgid "Chosen %s" +msgstr "Odabrano %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Ovo je popis odabranih %s. Možete ukloniti pojedine na način da ih izaberete " +"u polju ispod i kliknete \"Ukloni\" strelicu između dva polja. " + +msgid "Remove all" +msgstr "Ukloni sve" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Kliknite da uklonite sve izabrane %s odjednom." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "odabrano %(sel)s od %(cnt)s" +msgstr[1] "odabrano %(sel)s od %(cnt)s" +msgstr[2] "odabrano %(sel)s od %(cnt)s" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Neke promjene nisu spremljene na pojedinim polja za uređivanje. Ako " +"pokrenete akciju, nespremljene promjene će biti izgubljene." + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"Odabrali ste akciju, ali niste još spremili promjene na pojedinim polja. " +"Molimo kliknite OK za spremanje. Morat ćete ponovno pokrenuti akciju." + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Odabrali ste akciju, a niste napravili nikakve izmjene na pojedinim poljima. " +"Vjerojatno tražite gumb Idi umjesto gumb Spremi." + +msgid "Now" +msgstr "Sada" + +msgid "Midnight" +msgstr "Ponoć" + +msgid "6 a.m." +msgstr "6 ujutro" + +msgid "Noon" +msgstr "Podne" + +msgid "6 p.m." +msgstr "6 popodne" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +msgid "Choose a Time" +msgstr "Izaberite vrijeme" + +msgid "Choose a time" +msgstr "Izaberite vrijeme" + +msgid "Cancel" +msgstr "Odustani" + +msgid "Today" +msgstr "Danas" + +msgid "Choose a Date" +msgstr "Odaberite datum" + +msgid "Yesterday" +msgstr "Jučer" + +msgid "Tomorrow" +msgstr "Sutra" + +msgid "January" +msgstr "" + +msgid "February" +msgstr "" + +msgid "March" +msgstr "" + +msgid "April" +msgstr "" + +msgid "May" +msgstr "" + +msgid "June" +msgstr "" + +msgid "July" +msgstr "" + +msgid "August" +msgstr "" + +msgid "September" +msgstr "" + +msgid "October" +msgstr "" + +msgid "November" +msgstr "" + +msgid "December" +msgstr "" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "" + +msgctxt "one letter Monday" +msgid "M" +msgstr "" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "" + +msgctxt "one letter Friday" +msgid "F" +msgstr "" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "" + +msgid "Show" +msgstr "Prikaži" + +msgid "Hide" +msgstr "Sakri" diff --git a/external_sources/django/django/contrib/admin/locale/hsb/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/hsb/LC_MESSAGES/django.po new file mode 100644 index 0000000..eca6bc4 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/hsb/LC_MESSAGES/django.po @@ -0,0 +1,792 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Michael Wolf , 2016-2024 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-10-07 07:05+0000\n" +"Last-Translator: Michael Wolf , 2016-2024\n" +"Language-Team: Upper Sorbian (http://app.transifex.com/django/django/" +"language/hsb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hsb\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " +"n%100==4 ? 2 : 3);\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Wubrane %(verbose_name_plural)s zhašeć" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d %(items)s je so wuspěšnje zhašało." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "%(name)s njeda so zhašeć." + +msgid "Are you sure?" +msgstr "Sće wěsty?" + +msgid "Administration" +msgstr "Administracija" + +msgid "All" +msgstr "Wšě" + +msgid "Yes" +msgstr "Haj" + +msgid "No" +msgstr "Ně" + +msgid "Unknown" +msgstr "Njeznaty" + +msgid "Any date" +msgstr "Někajki datum" + +msgid "Today" +msgstr "Dźensa" + +msgid "Past 7 days" +msgstr "Zańdźene 7 dnjow" + +msgid "This month" +msgstr "Tutón měsac" + +msgid "This year" +msgstr "Lětsa" + +msgid "No date" +msgstr "Žadyn datum" + +msgid "Has date" +msgstr "Ma datum" + +msgid "Empty" +msgstr "Prózdny" + +msgid "Not empty" +msgstr "Njeprózdny" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Prošu zapodajće korektne %(username)s a hesło za personalne konto. Dźiwajće " +"na to, zo wobě poli móžetej mjez wulko- a małopisanjom rozeznawać." + +msgid "Action:" +msgstr "Akcija:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Přidajće nowe %(verbose_name)s" + +msgid "Remove" +msgstr "Wotstronić" + +msgid "Addition" +msgstr "Přidaće" + +msgid "Change" +msgstr "Změnić" + +msgid "Deletion" +msgstr "Zhašenje" + +msgid "action time" +msgstr "akciski čas" + +msgid "user" +msgstr "wužiwar" + +msgid "content type" +msgstr "wobsahowy typ" + +msgid "object id" +msgstr "objektowy id" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "objektowa reprezentacija" + +msgid "action flag" +msgstr "akciske markěrowanje" + +msgid "change message" +msgstr "změnowa powěsć" + +msgid "log entry" +msgstr "protokolowy zapisk" + +msgid "log entries" +msgstr "protokolowe zapiski" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Je so „%(object)s“ přidał." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Je so „%(object)s“ změnił - %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Je so „%(object)s“ zhašał." + +msgid "LogEntry Object" +msgstr "Objekt LogEntry" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Je so {name} „{object}“ přidał." + +msgid "Added." +msgstr "Přidaty." + +msgid "and" +msgstr "a" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Je so {fields} za {name} „{object}“ změnił." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "{fields} změnjene." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Je so {name} „{object}“ zhašał." + +msgid "No fields changed." +msgstr "Žane pola změnjene." + +msgid "None" +msgstr "Žadyn" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Dźeržće „ctrl“ abo „cmd“ na Mac stłóčeny, zo byšće wjace hač jedyn wubrał." + +msgid "Select this object for an action - {}" +msgstr "Wubjerće tutón objekt za akciju – {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "{name} „{obj}“ je so wuspěšnje přidał." + +msgid "You may edit it again below." +msgstr "Móžeće deleka unowa wobdźěłać." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"{name} „{obj}“ je so wuspěšnje přidał. Móžeće deleka dalši {name} přidać." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "{name} „{obj}“ je so wuspěšnje změnił. Móžeće jón deleka wobdźěłować." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"{name} „{obj}“ je so wuspěšnje změnił. Móžeće deleka dalši {name} přidać." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "{name} „{obj}“ je so wuspěšnje změnił." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Dyrbiće zapiski wubrać, zo byšće akcije z nimi wuwjesć. Zapiski njejsu so " +"změnili." + +msgid "No action selected." +msgstr "žana akcija wubrana." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s „%(obj)s“ je so wuspěšnje zhašał." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "%(name)s z ID „%(key)s“ njeeksistuje. Je so snano zhašało?" + +#, python-format +msgid "Add %s" +msgstr "%s přidać" + +#, python-format +msgid "Change %s" +msgstr "%s změnić" + +#, python-format +msgid "View %s" +msgstr "%s pokazać" + +msgid "Database error" +msgstr "Zmylk datoweje banki" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s je so wuspěšnje změnił." +msgstr[1] "%(count)s %(name)s stej so wuspěšnje změniłoj." +msgstr[2] "%(count)s %(name)s su so wuspěšnje změnili." +msgstr[3] "%(count)s %(name)s je so wuspěšnje změniło." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s wubrany" +msgstr[1] "%(total_count)s wubranej" +msgstr[2] "%(total_count)s wubrane" +msgstr[3] "%(total_count)s wubranych" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 z %(cnt)s wubranych" + +#, python-format +msgid "Change history: %s" +msgstr "Změnowa historija: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Zo bychu so %(class_name)s %(instance)s zhašeli, dyrbja so slědowace škitane " +"přisłušne objekty zhašeć: %(related_objects)s" + +msgid "Django site admin" +msgstr "Administrator sydła Django" + +msgid "Django administration" +msgstr "Administracija Django" + +msgid "Site administration" +msgstr "Sydłowa administracija" + +msgid "Log in" +msgstr "Přizjewić" + +#, python-format +msgid "%(app)s administration" +msgstr "Administracija %(app)s" + +msgid "Page not found" +msgstr "Strona njeje so namakała" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Je nam žel, ale požadana strona njeda so namakać." + +msgid "Home" +msgstr "Startowa strona" + +msgid "Server error" +msgstr "Serwerowy zmylk" + +msgid "Server error (500)" +msgstr "Serwerowy zmylk (500)" + +msgid "Server Error (500)" +msgstr "Serwerowy zmylk (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Zmylk je wustupił. Je so sydłowym administratoram přez e-mejl zdźělił a " +"dyrbjał so bórze wotstronić. Dźakujemy so za wašu sćerpliwosć." + +msgid "Run the selected action" +msgstr "Wubranu akciju wuwjesć" + +msgid "Go" +msgstr "Start" + +msgid "Click here to select the objects across all pages" +msgstr "Klikńće tu, zo byšće objekty wšěch stronow wubrać" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Wubjerće wšě %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Wuběr wotstronić" + +msgid "Breadcrumbs" +msgstr "Chlěbowe srjódki" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Modele w nałoženju %(name)s" + +msgid "Add" +msgstr "Přidać" + +msgid "View" +msgstr "Pokazać" + +msgid "You don’t have permission to view or edit anything." +msgstr "Nimaće prawo něšto pokazać abo wobdźěłać." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Zapodajće najprjedy wužiwarske mjeno a hesło. Potom móžeće dalše wužiwarske " +"nastajenja wobdźěłować." + +msgid "Enter a username and password." +msgstr "Zapodajće wužiwarske mjeno a hesło." + +msgid "Change password" +msgstr "Hesło změnić" + +msgid "Set password" +msgstr "Hesło postajić" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Prošu porjedźće slědowacy zmylk." +msgstr[1] "Prošu porjedźće slědowacej zmylkaj." +msgstr[2] "Prošu porjedźće slědowace zmylki." +msgstr[3] "Prošu porjedźće slědowace zmylki." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Zapodajće nowe hesło za %(username)s." + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "" +"Tuta akcija awtentifikacija na zakładźe hesła za tutoho wužiwarja " +"zmóžni ." + +msgid "Disable password-based authentication" +msgstr "Awtentifikaciju na zakładźe hesła znjemóžnić" + +msgid "Enable password-based authentication" +msgstr "Awtentifikaciju na zakładźe hesła zmóžnić" + +msgid "Skip to main content" +msgstr "Dale k hłownemu wobsahej" + +msgid "Welcome," +msgstr "Witajće," + +msgid "View site" +msgstr "Sydło pokazać" + +msgid "Documentation" +msgstr "Dokumentacija" + +msgid "Log out" +msgstr "Wotzjewić" + +#, python-format +msgid "Add %(name)s" +msgstr "%(name)s přidać" + +msgid "History" +msgstr "Historija" + +msgid "View on site" +msgstr "Na sydle pokazać" + +msgid "Filter" +msgstr "Filtrować" + +msgid "Hide counts" +msgstr "Ličby schować" + +msgid "Show counts" +msgstr "Ličby pokazać" + +msgid "Clear all filters" +msgstr "Wšě filtry zhašeć" + +msgid "Remove from sorting" +msgstr "Ze sortěrowanja wotstronić" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Sortěrowanski porjad: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Sortěrowanje přepinać" + +msgid "Toggle theme (current theme: auto)" +msgstr "Drastu změnić (aktualna drasta: auto)" + +msgid "Toggle theme (current theme: light)" +msgstr "Drastu změnić (aktualna drasta: swětła)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Drastu změnić (aktualna drasta: ćmowa)" + +msgid "Delete" +msgstr "Zhašeć" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Hdyž so %(object_name)s '%(escaped_object)s' zhašeja, so tež přisłušne " +"objekty zhašeja, ale waše konto nima prawo slědowace typy objektow zhašeć:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Zo by so %(object_name)s '%(escaped_object)s' zhašało, dyrbja so slědowace " +"přisłušne objekty zhašeć:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Chceće woprawdźe %(object_name)s \"%(escaped_object)s\" zhašeć? Wšě " +"slědowace přisłušne zapiski so zhašeja:" + +msgid "Objects" +msgstr "Objekty" + +msgid "Yes, I’m sure" +msgstr "Haj, sym sej wěsty" + +msgid "No, take me back" +msgstr "Ně, prošu wróćo" + +msgid "Delete multiple objects" +msgstr "Wjacore objekty zhašeć" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Hdyž so wubrany %(objects_name)s zhaša, so přisłušne objekty zhašeja, ale " +"waše konto nima prawo slědowace typy objektow zhašeć: " + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Hdyž so wubrany %(objects_name)s zhaša, so slědowace škitane přisłušne " +"objekty zhašeja:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Chceće woprawdźe wubrane %(objects_name)s zhašeć? Wšě slědowace objekty a " +"jich přisłušne zapiski so zhašeja:" + +msgid "Delete?" +msgstr "Zhašeć?" + +#, python-format +msgid " By %(filter_title)s " +msgstr "Po %(filter_title)s " + +msgid "Summary" +msgstr "Zjeće" + +msgid "Recent actions" +msgstr "Najnowše akcije" + +msgid "My actions" +msgstr "Moje akcije" + +msgid "None available" +msgstr "Žadyn k dispoziciji" + +msgid "Added:" +msgstr "Přidaty:" + +msgid "Changed:" +msgstr "Změnjeny:" + +msgid "Deleted:" +msgstr "Zhašany:" + +msgid "Unknown content" +msgstr "Njeznaty wobsah" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Něšto je so z instalaciju datoweje banki nimokuliło. Zawěsćće, zo wotpowědne " +"tabele datoweje banki su so wutworili, a, zo datowa banka da so wot " +"wotpowědneho wužiwarja čitać." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Sće jako %(username)s awtentifikowany, ale nimaće přistup na tutu stronu. " +"Chceće so pola druheho konta přizjewić?" + +msgid "Forgotten your password or username?" +msgstr "Sće swoje hesło abo wužiwarske mjeno zabył?" + +msgid "Toggle navigation" +msgstr "Nawigaciju přepinać" + +msgid "Sidebar" +msgstr "Bóčnica" + +msgid "Start typing to filter…" +msgstr "Pisajće, zo byšće filtrował …" + +msgid "Filter navigation items" +msgstr "Nawigaciske zapiski fitrować" + +msgid "Date/time" +msgstr "Datum/čas" + +msgid "User" +msgstr "Wužiwar" + +msgid "Action" +msgstr "Akcija" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "zapisk" +msgstr[1] "zapiskaj" +msgstr[2] "zapiski" +msgstr[3] "zapiskow" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Tutón objekt nima změnowu historiju. Njeje so najskerje přez tute " +"administratorowe sydło přidał." + +msgid "Show all" +msgstr "Wšě pokazać" + +msgid "Save" +msgstr "Składować" + +msgid "Popup closing…" +msgstr "Wuskakowace wokno so začinja…" + +msgid "Search" +msgstr "Pytać" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s wuslědk" +msgstr[1] "%(counter)s wuslědkaj" +msgstr[2] "%(counter)s wuslědki" +msgstr[3] "%(counter)s wuslědkow" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s dohromady" + +msgid "Save as new" +msgstr "Jako nowy składować" + +msgid "Save and add another" +msgstr "Skłaodwac a druhi přidać" + +msgid "Save and continue editing" +msgstr "Składować a dale wobdźěłować" + +msgid "Save and view" +msgstr "Składować a pokazać" + +msgid "Close" +msgstr "Začinić" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Wubrane %(model)s změnić" + +#, python-format +msgid "Add another %(model)s" +msgstr "Druhi %(model)s přidać" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Wubrane %(model)s zhašeć" + +#, python-format +msgid "View selected %(model)s" +msgstr "Wubrany %(model)s pokazać" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "" +"Wulki dźak, zo sće sej čas brał, zo byšće kwalitu websydła dźensa " +"přepruwował." + +msgid "Log in again" +msgstr "Znowa přizjewić" + +msgid "Password change" +msgstr "Hesło změnić" + +msgid "Your password was changed." +msgstr "Waše hesło je so změniło." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Prošu zapodajće swoje stare hesło k swojemu škitej a potom swoje nowe hesło " +"dwójce, zo bychmy móhli přepruwować, hač sće jo korektnje zapodał." + +msgid "Change my password" +msgstr "Moje hesło změnić" + +msgid "Password reset" +msgstr "Hesło wróćo stajić" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Waše hesło je so nastajiło. Móžeće pokročować a so nětko přizjewić." + +msgid "Password reset confirmation" +msgstr "Wobkrućenje wróćostajenja hesła" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Prošu zapodajće swoje hesło dwójce, zo bychmy móhli přepruwować, hač sće jo " +"korektnje zapodał." + +msgid "New password:" +msgstr "Nowe hesło:" + +msgid "Confirm password:" +msgstr "Hesło wobkrućić:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Wotkaz za wróćostajenje hesła bě njepłaćiwy, snano dokelž je so hižo wužił. " +"Prošu prošće wo nowe wróćostajenje hesła." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Smy wam e-mejlku z instrukcijemi wo nastajenju wašeho hesła pósłali, jeli " +"konto ze zapodatej e-mejlowej adresu eksistuje. Wy dyrbjał ju bórze dóstać." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Jeli e-mejlku njedóstawaće, přepruwujće prošu adresu, z kotrejž sće so " +"zregistrował a hladajće do swojeho spamoweho rjadowaka." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Dóstawaće tutu e-mejlku, dokelž sće wo wróćostajenje hesła za swoje " +"wužiwarske konto na at %(site_name)s prosył." + +msgid "Please go to the following page and choose a new password:" +msgstr "Prošu dźiće k slědowacej stronje a wubjerće nowe hesło:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Waše wužiwarske mjeno, jeli sće jo zabył:" + +msgid "Thanks for using our site!" +msgstr "Wulki dźak za wužiwanje našeho sydła!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Team %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Sće swoje hesło zabył? Zapodajće deleka swoju e-mejlowu adresu a pósćelemy " +"wam instrukcije za postajenje noweho hesła přez e-mejl." + +msgid "Email address:" +msgstr "E-mejlowa adresa:" + +msgid "Reset my password" +msgstr "Moje hesło wróćo stajić" + +msgid "Select all objects on this page for an action" +msgstr "Wubjerće wšě objekty na tutej stronje za akciju" + +msgid "All dates" +msgstr "Wšě daty" + +#, python-format +msgid "Select %s" +msgstr "%s wubrać" + +#, python-format +msgid "Select %s to change" +msgstr "%s wubrać, zo by so změniło" + +#, python-format +msgid "Select %s to view" +msgstr "%s wubrać, kotryž ma so pokazać" + +msgid "Date:" +msgstr "Datum:" + +msgid "Time:" +msgstr "Čas:" + +msgid "Lookup" +msgstr "Pytanje" + +msgid "Currently:" +msgstr "Tuchylu:" + +msgid "Change:" +msgstr "Změnić:" diff --git a/external_sources/django/django/contrib/admin/locale/hsb/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/hsb/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..9649979 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/hsb/LC_MESSAGES/djangojs.po @@ -0,0 +1,337 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Michael Wolf , 2016,2020-2023 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 15:04-0300\n" +"PO-Revision-Date: 2023-12-04 07:59+0000\n" +"Last-Translator: Michael Wolf , 2016,2020-2023\n" +"Language-Team: Upper Sorbian (http://app.transifex.com/django/django/" +"language/hsb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hsb\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " +"n%100==4 ? 2 : 3);\n" + +#, javascript-format +msgid "Available %s" +msgstr "%s k dispoziciji" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"To je lisćina k dispoziciji stejacych %s. Móžeće někotre z nich w slědowacym " +"kašćiku wubrać a potom na šipk „Wubrać“ mjez kašćikomaj kliknyć." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" +"Zapisajće do tutoho kašćika, zo byšće někotre z lisćiny k dispoziciji " +"stejacych %s wufiltrował." + +msgid "Filter" +msgstr "Filtrować" + +msgid "Choose all" +msgstr "Wšě wubrać" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Klikńće, zo byšće wšě %s naraz wubrał." + +msgid "Choose" +msgstr "Wubrać" + +msgid "Remove" +msgstr "Wotstronić" + +#, javascript-format +msgid "Chosen %s" +msgstr "Wubrane %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"To je lisćina wubranych %s. Móžeće někotre z nich wotstronić, hdyž je w " +"slědowacym kašćiku wuběraće a potom na šipk „Wotstronić“ mjez kašćikomaj " +"kliknjeće." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "" +"Zapisajće do tutoho kašćika, zo byšće někotre z lisćiny wubranych %s " +"wufiltrował." + +msgid "Remove all" +msgstr "Wšě wotstronić" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Klikńće, zo byšće wšě wubrane %s naraz wotstronił." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%swubrane nastajenje njewidźomne" +msgstr[1] "%swubranej nastajeni njewidźomnej" +msgstr[2] "%s wubrane nastajenja njewidźomne" +msgstr[3] "%swubranych nastajenjow njewidźomne" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s z %(cnt)s wubrany" +msgstr[1] "%(sel)s z %(cnt)s wubranej" +msgstr[2] "%(sel)s z %(cnt)s wubrane" +msgstr[3] "%(sel)s z %(cnt)s wubranych" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Maće njeskładowane změny za jednotliwe wobdźěłujomne pola. Jeli akciju " +"wuwjedźeće, so waše njeskładowane změny zhubja." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Sće akciju wubrał, ale njejsće hišće swoje změny na jednoliwych polach " +"składował. Prošu klikńće na „W porjadku, zo byšće składował. Dyrbiće akciju " +"znowa wuwjesć." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Sće akciju wubrał, a njejsće žane změny na jednotliwych polach přewjedł. " +"Pytajće najskerje za tłóčatkom „Pósłać“ město tłóčatka „Składować“." + +msgid "Now" +msgstr "Nětko" + +msgid "Midnight" +msgstr "Połnóc" + +msgid "6 a.m." +msgstr "6:00 hodź. dopołdnja" + +msgid "Noon" +msgstr "připołdnjo" + +msgid "6 p.m." +msgstr "6 hodź. popołdnju" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Kedźbu: Waš čas je wo %s hodźinu před serwerowym časom." +msgstr[1] "Kedźbu: Waš čas je wo %s hodźin před serwerowym časom." +msgstr[2] "Kedźbu: Waš čas je wo %s hodźiny před serwerowym časom." +msgstr[3] "Kedźbu: Waš čas je wo %s hodźin před serwerowym časom." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Kedźbu: Waš čas je wo %s hodźinu za serwerowym časom." +msgstr[1] "Kedźbu: Waš čas je wo %s hodźinje za serwerowym časom." +msgstr[2] "Kedźbu: Waš čas je wo %s hodźiny za serwerowym časom." +msgstr[3] "Kedźbu: Waš čas je wo %s hodźin za serwerowym časom." + +msgid "Choose a Time" +msgstr "Wubjerće čas" + +msgid "Choose a time" +msgstr "Wubjerće čas" + +msgid "Cancel" +msgstr "Přetorhnyć" + +msgid "Today" +msgstr "Dźensa" + +msgid "Choose a Date" +msgstr "Wubjerće datum" + +msgid "Yesterday" +msgstr "Wčera" + +msgid "Tomorrow" +msgstr "Jutře" + +msgid "January" +msgstr "Januar" + +msgid "February" +msgstr "Februar" + +msgid "March" +msgstr "Měrc" + +msgid "April" +msgstr "Apryl" + +msgid "May" +msgstr "Meja" + +msgid "June" +msgstr "Junij" + +msgid "July" +msgstr "Julij" + +msgid "August" +msgstr "Awgust" + +msgid "September" +msgstr "September" + +msgid "October" +msgstr "Oktober" + +msgid "November" +msgstr "Nowember" + +msgid "December" +msgstr "December" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Jan." + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Feb." + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Měr." + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Apr." + +msgctxt "abbrev. month May" +msgid "May" +msgstr "Meja" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Jun." + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Jul." + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Awg." + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Sep." + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Okt." + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Now." + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Dec." + +msgid "Sunday" +msgstr "Njedźela" + +msgid "Monday" +msgstr "Póndźela" + +msgid "Tuesday" +msgstr "Wutora" + +msgid "Wednesday" +msgstr "Srjeda" + +msgid "Thursday" +msgstr "Štwórtk" + +msgid "Friday" +msgstr "Pjatk" + +msgid "Saturday" +msgstr "Sobota" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "Nje" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "Pón" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "Wut" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "Srj" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "Štw" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "Pja" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "Sob" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "Nj" + +msgctxt "one letter Monday" +msgid "M" +msgstr "Pó" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "Wu" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "Sr" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "Št" + +msgctxt "one letter Friday" +msgid "F" +msgstr "Pj" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "So" + +msgid "Show" +msgstr "Pokazać" + +msgid "Hide" +msgstr "Schować" diff --git a/external_sources/django/django/contrib/admin/locale/hu/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/hu/LC_MESSAGES/django.po new file mode 100644 index 0000000..ef84090 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/hu/LC_MESSAGES/django.po @@ -0,0 +1,786 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Ádám Krizsány , 2015 +# Akos Zsolt Hochrein , 2018 +# András Veres-Szentkirályi, 2016,2018-2020,2023 +# Balázs R, 2023 +# Istvan Farkas , 2019 +# Jannis Leidel , 2011 +# János R, 2017 +# János R, 2014 +# Kristóf Gruber <>, 2012 +# slink , 2011 +# Szilveszter Farkas , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 11:41-0300\n" +"PO-Revision-Date: 2023-12-04 07:05+0000\n" +"Last-Translator: András Veres-Szentkirályi, 2016,2018-2020,2023\n" +"Language-Team: Hungarian (http://app.transifex.com/django/django/language/" +"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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Kiválasztott %(verbose_name_plural)s törlése" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d %(items)s sikeresen törölve lett." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "%(name)s törlése nem sikerült" + +msgid "Are you sure?" +msgstr "Biztos benne?" + +msgid "Administration" +msgstr "Adminisztráció" + +msgid "All" +msgstr "Mind" + +msgid "Yes" +msgstr "Igen" + +msgid "No" +msgstr "Nem" + +msgid "Unknown" +msgstr "Ismeretlen" + +msgid "Any date" +msgstr "Bármely dátum" + +msgid "Today" +msgstr "Ma" + +msgid "Past 7 days" +msgstr "Utolsó 7 nap" + +msgid "This month" +msgstr "Ez a hónap" + +msgid "This year" +msgstr "Ez az év" + +msgid "No date" +msgstr "Nincs dátuma" + +msgid "Has date" +msgstr "Van dátuma" + +msgid "Empty" +msgstr "Üres" + +msgid "Not empty" +msgstr "Nem üres" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Adja meg egy adminisztrációra jogosult %(username)s és jelszavát. Vegye " +"figyelembe, hogy mindkét mező megkülönböztetheti a kis- és nagybetűket." + +msgid "Action:" +msgstr "Művelet:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Újabb %(verbose_name)s hozzáadása" + +msgid "Remove" +msgstr "Törlés" + +msgid "Addition" +msgstr "Hozzáadás" + +msgid "Change" +msgstr "Módosítás" + +msgid "Deletion" +msgstr "Törlés" + +msgid "action time" +msgstr "művelet időpontja" + +msgid "user" +msgstr "felhasználó" + +msgid "content type" +msgstr "tartalom típusa" + +msgid "object id" +msgstr "objektum id" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "objektum repr" + +msgid "action flag" +msgstr "művelet jelölés" + +msgid "change message" +msgstr "üzenet módosítása" + +msgid "log entry" +msgstr "naplóbejegyzés" + +msgid "log entries" +msgstr "naplóbejegyzések" + +#, python-format +msgid "Added “%(object)s”." +msgstr "\"%(object)s\" hozzáadva." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "\"%(object)s\" módosítva — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "\"%(object)s\" törölve." + +msgid "LogEntry Object" +msgstr "Naplóbejegyzés objektum" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "\"{object}\" {name} hozzáadva." + +msgid "Added." +msgstr "Hozzáadva." + +msgid "and" +msgstr "és" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "\"{object}\" {name} {fields} módosítva." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "{fields} módosítva." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "\"{object}\" {name} törölve." + +msgid "No fields changed." +msgstr "Egy mező sem változott." + +msgid "None" +msgstr "Egyik sem" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Több elem kiválasztásához tartsa nyomva a \"Control\" gombot, vagy Mac " +"gépeken a \"Command\" gombot." + +msgid "Select this object for an action - {}" +msgstr "Objektum kijelölése egy művelethez - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "A(z) \"{obj}\" {name} sikeresen hozzáadva." + +msgid "You may edit it again below." +msgstr "Alább ismét szerkesztheti." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"A(z) \"{obj}\" {name} sikeresen hozzáadva. Alább hozzadhat egy új {name} " +"rekordot." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "A(z) \"{obj}\" {name} sikeresen módosítva. Alább újra szerkesztheti." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "A(z) \"{obj}\" {name} sikeresen hozzáadva. Alább újra szerkesztheti." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"A(z) \"{obj}\" {name} sikeresen módosítva. Alább hozzáadhat egy új {name} " +"rekordot." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "A(z) \"{obj}\" {name} sikeresen módosítva." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"A műveletek végrehajtásához ki kell választani legalább egy elemet. Semmi " +"sem lett módosítva." + +msgid "No action selected." +msgstr "Nem választott ki műveletet." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "A(z) \"%(obj)s\" %(name)s törölve lett." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "" +"A(z) \"%(key)s\" azonosítójú %(name)s nem létezik. Esetleg törölve lett?" + +#, python-format +msgid "Add %s" +msgstr "Új %s" + +#, python-format +msgid "Change %s" +msgstr "%s módosítása" + +#, python-format +msgid "View %s" +msgstr "%s megtekintése" + +msgid "Database error" +msgstr "Adatbázishiba" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s sikeresen módosítva lett." +msgstr[1] "%(count)s %(name)s sikeresen módosítva lett." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s kiválasztva" +msgstr[1] "%(total_count)s kiválasztva" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 kiválasztva ennyiből: %(cnt)s" + +#, python-format +msgid "Change history: %s" +msgstr "Változások története: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"%(instance)s %(class_name)s törlése az alábbi kapcsolódó védett objektumok " +"törlését is magával vonná: %(related_objects)s" + +msgid "Django site admin" +msgstr "Django honlapadminisztráció" + +msgid "Django administration" +msgstr "Django adminisztráció" + +msgid "Site administration" +msgstr "Honlap karbantartása" + +msgid "Log in" +msgstr "Bejelentkezés" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s adminisztráció" + +msgid "Page not found" +msgstr "Nincs ilyen oldal" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Sajnáljuk, de a keresett oldal nem található." + +msgid "Home" +msgstr "Kezdőlap" + +msgid "Server error" +msgstr "Szerverhiba" + +msgid "Server error (500)" +msgstr "Szerverhiba (500)" + +msgid "Server Error (500)" +msgstr "Szerverhiba (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Hiba történt. Az oldal kezelőjét e-mailben értesítettük, a hiba rövidesen " +"javítva lesz. Köszönjük a türelmet." + +msgid "Run the selected action" +msgstr "Kiválasztott művelet futtatása" + +msgid "Go" +msgstr "Mehet" + +msgid "Click here to select the objects across all pages" +msgstr "Kattintson ide több oldalnyi objektum kiválasztásához" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Az összes %(module_name)s kiválasztása, összesen %(total_count)s db" + +msgid "Clear selection" +msgstr "Kiválasztás törlése" + +msgid "Breadcrumbs" +msgstr "Breadcrumb navigáció" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "%(name)s alkalmazásban elérhető modellek." + +msgid "Add" +msgstr "Új" + +msgid "View" +msgstr "Megtekintés" + +msgid "You don’t have permission to view or edit anything." +msgstr "Jelenleg nincs jogosultsága bármit megtekinteni vagy szerkeszteni." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Először adjon meg egy felhasználónevet és jelszót. A mentés után a többi " +"felhasználói adat is szerkeszthető lesz." + +msgid "Enter a username and password." +msgstr "Írjon be egy felhasználónevet és jelszót." + +msgid "Change password" +msgstr "Jelszó megváltoztatása" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Kérem javítsa a lenti hibát." +msgstr[1] "Kérem javítsa a lenti hibákat." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"Adjon meg egy új jelszót %(username)s nevű felhasználónak." + +msgid "Skip to main content" +msgstr "Ugrás az oldal fő részéhez" + +msgid "Welcome," +msgstr "Üdvözlöm," + +msgid "View site" +msgstr "Honlap megtekintése" + +msgid "Documentation" +msgstr "Dokumentáció" + +msgid "Log out" +msgstr "Kijelentkezés" + +#, python-format +msgid "Add %(name)s" +msgstr "Új %(name)s" + +msgid "History" +msgstr "Történet" + +msgid "View on site" +msgstr "Megtekintés a honlapon" + +msgid "Filter" +msgstr "Szűrő" + +msgid "Hide counts" +msgstr "Számok elrejtése" + +msgid "Show counts" +msgstr "Számok megjelenítése" + +msgid "Clear all filters" +msgstr "Összes szűrő törlése" + +msgid "Remove from sorting" +msgstr "Eltávolítás a rendezésből" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Prioritás rendezésnél: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Rendezés megfordítása" + +msgid "Toggle theme (current theme: auto)" +msgstr "Téma váltás (jelenleg: auto)" + +msgid "Toggle theme (current theme: light)" +msgstr "Téma váltás (jelenleg: világos)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Téma váltás (jelenleg: sötét)" + +msgid "Delete" +msgstr "Törlés" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"\"%(escaped_object)s\" %(object_name)s törlése a kapcsolódó objektumok " +"törlését is eredményezi, de a hozzáférése nem engedi a következő típusú " +"objektumok törlését:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"\"%(escaped_object)s\" %(object_name)s törlése az alábbi kapcsolódó " +"objektumok törlését is maga után vonja:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Biztos hogy törli a következőt: \"%(escaped_object)s\" (típus: " +"%(object_name)s)? A összes további kapcsolódó elem is törlődik:" + +msgid "Objects" +msgstr "Objektumok" + +msgid "Yes, I’m sure" +msgstr "Igen, biztos vagyok benne" + +msgid "No, take me back" +msgstr "Nem, forduljunk vissza" + +msgid "Delete multiple objects" +msgstr "Több elem törlése" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"A kiválasztott %(objects_name)s törlése kapcsolódó objektumok törlését vonja " +"maga után, de az alábbi objektumtípusok törléséhez nincs megfelelő " +"jogosultsága:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"A kiválasztott %(objects_name)s törlése az alábbi védett kapcsolódó " +"objektumok törlését is maga után vonja:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Biztosan törölni akarja a kiválasztott %(objects_name)s objektumokat? Minden " +"alábbi objektum, és a hozzájuk kapcsolódóak is törlésre kerülnek:" + +msgid "Delete?" +msgstr "Törli?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " %(filter_title)s szerint " + +msgid "Summary" +msgstr "Összegzés" + +msgid "Recent actions" +msgstr "Legutóbbi műveletek" + +msgid "My actions" +msgstr "Az én műveleteim" + +msgid "None available" +msgstr "Nincs elérhető" + +msgid "Added:" +msgstr "Hozzáadva:" + +msgid "Changed:" +msgstr "Szerkesztve:" + +msgid "Deleted:" +msgstr "Törölve:" + +msgid "Unknown content" +msgstr "Ismeretlen tartalom" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Valami probléma van az adatbázissal. Kérjük győződjön meg róla, hogy a " +"megfelelő táblák létre lettek hozva, és hogy a megfelelő felhasználónak van " +"rájuk olvasási joga." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Jelenleg be vagy lépve mint %(username)s, de nincs jogod elérni ezt az " +"oldalt. Szeretnél belépni egy másik fiókkal?" + +msgid "Forgotten your password or username?" +msgstr "Elfelejtette jelszavát vagy felhasználónevét?" + +msgid "Toggle navigation" +msgstr "Navigáció megjelenítése/elrejtése" + +msgid "Sidebar" +msgstr "Oldalsáv" + +msgid "Start typing to filter…" +msgstr "Kezdjen el gépelni a szűréshez..." + +msgid "Filter navigation items" +msgstr "Navigációs elemek szűrése" + +msgid "Date/time" +msgstr "Dátum/idő" + +msgid "User" +msgstr "Felhasználó" + +msgid "Action" +msgstr "Művelet" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "bejegyzés" +msgstr[1] "bejegyzés" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Ennek az objektumnak nincs változás naplója. Valószínűleg nem az admin " +"felületen keresztül lett rögzítve." + +msgid "Show all" +msgstr "Mutassa mindet" + +msgid "Save" +msgstr "Mentés" + +msgid "Popup closing…" +msgstr "A popup bezáródik…" + +msgid "Search" +msgstr "Keresés" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s találat" +msgstr[1] "%(counter)s találat" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s összesen" + +msgid "Save as new" +msgstr "Mentés újként" + +msgid "Save and add another" +msgstr "Mentés és másik hozzáadása" + +msgid "Save and continue editing" +msgstr "Mentés és a szerkesztés folytatása" + +msgid "Save and view" +msgstr "Mentés és megtekintés" + +msgid "Close" +msgstr "Bezárás" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Kiválasztott %(model)s szerkesztése" + +#, python-format +msgid "Add another %(model)s" +msgstr "Újabb %(model)s hozzáadása" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Kiválasztott %(model)s törlése" + +#, python-format +msgid "View selected %(model)s" +msgstr "Kiválasztott %(model)s megtekintése" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Köszönjük, hogy egy kis minőségi időt eltöltött ma a honlapunkon." + +msgid "Log in again" +msgstr "Jelentkezzen be újra" + +msgid "Password change" +msgstr "Jelszó megváltoztatása" + +msgid "Your password was changed." +msgstr "Megváltozott a jelszava." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Kérjük a biztoság kedvéért adja meg a jelenlegi jelszavát, majd az újat, " +"kétszer, hogy biztosak lehessünk abban, hogy megfelelően gépelte be." + +msgid "Change my password" +msgstr "Jelszavam megváltoztatása" + +msgid "Password reset" +msgstr "Jelszó beállítása" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Jelszava beállításra került. Most már bejelentkezhet." + +msgid "Password reset confirmation" +msgstr "Jelszó beállítás megerősítése" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Írja be az új jelszavát kétszer, hogy megbizonyosodhassunk annak " +"helyességéről." + +msgid "New password:" +msgstr "Új jelszó:" + +msgid "Confirm password:" +msgstr "Jelszó megerősítése:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"A jelszóbeállító link érvénytelen. Ennek egyik oka az lehet, hogy már " +"felhasználták. Kérem indítson új jelszóbeállítást." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Amennyiben a megadott e-mail címhez tartozik fiók, elküldtük e-mailben a " +"leírást, hogy hogyan tudja megváltoztatni a jelszavát. Hamarosan meg kell " +"érkeznie." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Ha nem kapja meg a levelet, kérjük ellenőrizze, hogy a megfelelő e-mail " +"címet adta-e meg, illetve nézze meg a levélszemét mappában is." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Azért kapja ezt az e-mailt, mert jelszavának visszaállítását kérte ezen a " +"weboldalon: %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Kérjük látogassa meg a következő oldalt, és válasszon egy új jelszót:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "A felhasználóneve, amennyiben nem emlékezne rá:" + +msgid "Thanks for using our site!" +msgstr "Köszönjük, hogy használta honlapunkat!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s csapat" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Elfelejtette jelszavát? Adja meg az e-mail-címet, amellyel regisztrált " +"oldalunkon, és e-mailben elküldjük a leírását, hogy hogyan tud újat " +"beállítani." + +msgid "Email address:" +msgstr "E-mail cím:" + +msgid "Reset my password" +msgstr "Jelszavam törlése" + +msgid "Select all objects on this page for an action" +msgstr "Minden objektum kijelölése egy művelethez" + +msgid "All dates" +msgstr "Minden dátum" + +#, python-format +msgid "Select %s" +msgstr "%s kiválasztása" + +#, python-format +msgid "Select %s to change" +msgstr "Válasszon ki egyet a módosításhoz (%s)" + +#, python-format +msgid "Select %s to view" +msgstr "Válasszon ki egyet a megtekintéshez (%s)" + +msgid "Date:" +msgstr "Dátum:" + +msgid "Time:" +msgstr "Idő:" + +msgid "Lookup" +msgstr "Keresés" + +msgid "Currently:" +msgstr "Jelenleg:" + +msgid "Change:" +msgstr "Módosítás:" diff --git a/external_sources/django/django/contrib/admin/locale/hu/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/hu/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..d21b38a --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/hu/LC_MESSAGES/djangojs.po @@ -0,0 +1,329 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# András Veres-Szentkirályi, 2016,2020-2021,2023 +# Attila Nagy <>, 2012 +# Balázs R, 2023 +# Jannis Leidel , 2011 +# János R, 2011 +# Máté Őry , 2012 +# Szilveszter Farkas , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 15:04-0300\n" +"PO-Revision-Date: 2023-12-04 07:59+0000\n" +"Last-Translator: András Veres-Szentkirályi, 2016,2020-2021,2023\n" +"Language-Team: Hungarian (http://app.transifex.com/django/django/language/" +"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" + +#, javascript-format +msgid "Available %s" +msgstr "Elérhető %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Ez az elérhető %s listája. Úgy választhat közülük, hogy rákattint az alábbi " +"dobozban, és megnyomja a dobozok közti \"Választás\" nyilat." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Írjon a mezőbe az elérhető %s szűréséhez." + +msgid "Filter" +msgstr "Szűrő" + +msgid "Choose all" +msgstr "Mindet kijelölni" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Kattintson az összes %s kiválasztásához." + +msgid "Choose" +msgstr "Választás" + +msgid "Remove" +msgstr "Eltávolítás" + +#, javascript-format +msgid "Chosen %s" +msgstr "%s kiválasztva" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Ez a kiválasztott %s listája. Eltávolíthat közülük, ha rákattint, majd a két " +"doboz közti \"Eltávolítás\" nyílra kattint." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "Írjon a mezőbe a kiválasztott %s szűréséhez." + +msgid "Remove all" +msgstr "Összes törlése" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Kattintson az összes %s eltávolításához." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%s kiválasztott elem nem látható" +msgstr[1] "%s kiválasztott elem nem látható" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s/%(cnt)s kijelölve" +msgstr[1] "%(sel)s/%(cnt)s kijelölve" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Még el nem mentett módosításai vannak egyes szerkeszthető mezőkön. Ha most " +"futtat egy műveletet, akkor a módosítások elvesznek." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Kiválasztott egy műveletet, de nem mentette az egyes mezőkhöz kapcsolódó " +"módosításait. Kattintson az OK gombra a mentéshez. Újra kell futtatnia az " +"műveletet." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Kiválasztott egy műveletet, és nem módosított egyetlen mezőt sem. " +"Feltehetően a Mehet gombot keresi a Mentés helyett." + +msgid "Now" +msgstr "Most" + +msgid "Midnight" +msgstr "Éjfél" + +msgid "6 a.m." +msgstr "Reggel 6 óra" + +msgid "Noon" +msgstr "Dél" + +msgid "6 p.m." +msgstr "Este 6 óra" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Megjegyzés: %s órával a szerveridő előtt jársz" +msgstr[1] "Megjegyzés: %s órával a szerveridő előtt jársz" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Megjegyzés: %s órával a szerveridő mögött jársz" +msgstr[1] "Megjegyzés: %s órával a szerveridő mögött jársz" + +msgid "Choose a Time" +msgstr "Válassza ki az időt" + +msgid "Choose a time" +msgstr "Válassza ki az időt" + +msgid "Cancel" +msgstr "Mégsem" + +msgid "Today" +msgstr "Ma" + +msgid "Choose a Date" +msgstr "Válassza ki a dátumot" + +msgid "Yesterday" +msgstr "Tegnap" + +msgid "Tomorrow" +msgstr "Holnap" + +msgid "January" +msgstr "január" + +msgid "February" +msgstr "február" + +msgid "March" +msgstr "március" + +msgid "April" +msgstr "április" + +msgid "May" +msgstr "május" + +msgid "June" +msgstr "június" + +msgid "July" +msgstr "július" + +msgid "August" +msgstr "augusztus" + +msgid "September" +msgstr "szeptember" + +msgid "October" +msgstr "október" + +msgid "November" +msgstr "november" + +msgid "December" +msgstr "december" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "jan" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "feb" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "már" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "ápr" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "máj" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "jún" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "júl" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "aug" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "szep" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "okt" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "nov" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "dec" + +msgid "Sunday" +msgstr "vasárnap" + +msgid "Monday" +msgstr "hétfő" + +msgid "Tuesday" +msgstr "kedd" + +msgid "Wednesday" +msgstr "szerda" + +msgid "Thursday" +msgstr "csütörtök" + +msgid "Friday" +msgstr "péntek" + +msgid "Saturday" +msgstr "szombat" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "vas" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "hét" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "kedd" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "sze" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "csüt" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "pén" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "szo" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "V" + +msgctxt "one letter Monday" +msgid "M" +msgstr "H" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "K" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "S" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "C" + +msgctxt "one letter Friday" +msgid "F" +msgstr "P" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "S" + +msgid "Show" +msgstr "Mutat" + +msgid "Hide" +msgstr "Elrejt" diff --git a/external_sources/django/django/contrib/admin/locale/hy/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/hy/LC_MESSAGES/django.po new file mode 100644 index 0000000..b39e1a7 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/hy/LC_MESSAGES/django.po @@ -0,0 +1,708 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Սմբատ Պետրոսյան , 2014 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-05-21 14:16-0300\n" +"PO-Revision-Date: 2018-11-01 20:23+0000\n" +"Last-Translator: Ruben Harutyunov \n" +"Language-Team: Armenian (http://www.transifex.com/django/django/language/" +"hy/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hy\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Հաջողությամբ հեռացվել է %(count)d %(items)s։" + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Հնարավոր չէ հեռացնել %(name)s" + +msgid "Are you sure?" +msgstr "Համոզված ե՞ք" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Հեռացնել նշված %(verbose_name_plural)sը" + +msgid "Administration" +msgstr "Ադմինիստրավորում" + +msgid "All" +msgstr "Բոլորը" + +msgid "Yes" +msgstr "Այո" + +msgid "No" +msgstr "Ոչ" + +msgid "Unknown" +msgstr "Անհայտ" + +msgid "Any date" +msgstr "Ցանկացած ամսաթիվ" + +msgid "Today" +msgstr "Այսօր" + +msgid "Past 7 days" +msgstr "Անցած 7 օրերին" + +msgid "This month" +msgstr "Այս ամիս" + +msgid "This year" +msgstr "Այս տարի" + +msgid "No date" +msgstr "" + +msgid "Has date" +msgstr "" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "Մուտքագրեք անձնակազմի պրոֆիլի ճիշտ %(username)s և գաղտնաբառ։" + +msgid "Action:" +msgstr "Գործողություն" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Ավելացնել այլ %(verbose_name)s" + +msgid "Remove" +msgstr "Հեռացնել" + +msgid "Addition" +msgstr "" + +msgid "Change" +msgstr "Փոփոխել" + +msgid "Deletion" +msgstr "" + +msgid "action time" +msgstr "գործողության ժամանակ" + +msgid "user" +msgstr "օգտագործող" + +msgid "content type" +msgstr "կոնտենտի տիպ" + +msgid "object id" +msgstr "օբյեկտի id" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/3/library/functions.html#repr) +msgid "object repr" +msgstr "օբյեկտի repr" + +msgid "action flag" +msgstr "գործողության դրոշ" + +msgid "change message" +msgstr "փոփոխել հաղորդագրությունը" + +msgid "log entry" +msgstr "log գրառում" + +msgid "log entries" +msgstr "log գրառումներ" + +#, python-format +msgid "Added \"%(object)s\"." +msgstr "%(object)s֊ը ավելացվեց " + +#, python-format +msgid "Changed \"%(object)s\" - %(changes)s" +msgstr "%(object)s֊ը փոփոխվեց ֊ %(changes)s" + +#, python-format +msgid "Deleted \"%(object)s.\"" +msgstr "%(object)s-ը հեռացվեց" + +msgid "LogEntry Object" +msgstr "LogEntry օբյեկտ" + +#, python-brace-format +msgid "Added {name} \"{object}\"." +msgstr "" + +msgid "Added." +msgstr "Ավելացվեց։" + +msgid "and" +msgstr "և" + +#, python-brace-format +msgid "Changed {fields} for {name} \"{object}\"." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "" + +#, python-brace-format +msgid "Deleted {name} \"{object}\"." +msgstr "" + +msgid "No fields changed." +msgstr "Ոչ մի դաշտ չփոփոխվեց։" + +msgid "None" +msgstr "Ոչինչ" + +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" +"Սեղմեք \"Control\", կամ \"Command\" Mac֊ի մրա, մեկից ավելին ընտրելու համար։" + +#, python-brace-format +msgid "The {name} \"{obj}\" was added successfully." +msgstr "" + +msgid "You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Օբյեկտների հետ գործողություն կատարելու համար նրանք պետք է ընտրվեն․ Ոչ մի " +"օբյեկտ չի փոփոխվել։" + +msgid "No action selected." +msgstr "Գործողությունը ընտրված չէ։" + +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "%(name)s %(obj)s֊ը հաջողությամբ հեռացվեց։" + +#, python-format +msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "Ավելացնել %s" + +#, python-format +msgid "Change %s" +msgstr "Փոփոխել %s" + +#, python-format +msgid "View %s" +msgstr "" + +msgid "Database error" +msgstr "Տվյալների բազաի սխալ" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s հաջողությամբ փոփոխվեց։" +msgstr[1] "%(count)s %(name)s հաջողությամբ փոփոխվեցին։" + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "Ընտրված են %(total_count)s" +msgstr[1] "Բոլոր %(total_count)s֊ը ընտրված են " + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "%(cnt)s֊ից 0֊ն ընտրված է" + +#, python-format +msgid "Change history: %s" +msgstr "Փոփոխությունների պատմություն %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(instance)s %(class_name)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"%(instance)s %(class_name)s֊ը հեռացնելու համար անհրաժեշտ է հեռացնել նրա հետ " +"կապված պաշտպանված օբյեկտները՝ %(related_objects)s" + +msgid "Django site admin" +msgstr "Django կայքի ադմինիստրավորման էջ" + +msgid "Django administration" +msgstr "Django ադմինիստրավորում" + +msgid "Site administration" +msgstr "Կայքի ադմինիստրավորում" + +msgid "Log in" +msgstr "Մուտք" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s ադմինիստրավորում" + +msgid "Page not found" +msgstr "Էջը գտնված չէ" + +msgid "We're sorry, but the requested page could not be found." +msgstr "Ներողություն ենք հայցում, բայց հարցվող Էջը գտնված չէ" + +msgid "Home" +msgstr "Գլխավոր" + +msgid "Server error" +msgstr "Սերվերի սխալ" + +msgid "Server error (500)" +msgstr "Սերվերի սխալ (500)" + +msgid "Server Error (500)" +msgstr "Սերվերի սխալ (500)" + +msgid "" +"There's been an error. It's been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Առաջացել է սխալ։ Ադմինիստրատորները տեղեկացվել են դրա մասին էլեկտրոնային " +"փոստի միջոցով և այն կուղղվի կարճ ժամանակահատվածի ընդացքում․ Շնորհակալ ենք " +"ձեր համբերության համար։" + +msgid "Run the selected action" +msgstr "Կատարել ընտրված գործողությունը" + +msgid "Go" +msgstr "Կատարել" + +msgid "Click here to select the objects across all pages" +msgstr "Սեղմեք այստեղ բոլոր էջերից օբյեկտներ ընտրելու համար" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Ընտրել բոլոր %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Չեղարկել ընտրությունը" + +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"Սկզբում մուտքագրեք օգտագործողի անունը և գաղտնաբառը․ Հետո դուք " +"հնարավորություն կունենաք խմբագրել ավելին։" + +msgid "Enter a username and password." +msgstr "Մուտքագրեք օգտագործողի անունը և գաղտնաբառը։" + +msgid "Change password" +msgstr "Փոխել գաղտնաբառը" + +msgid "Please correct the error below." +msgstr "Ուղղեք ստորև նշված սխալը։" + +msgid "Please correct the errors below." +msgstr "Ուղղեք ստորև նշված սխալները․" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"Մուտքագրեք նոր գաղտնաբառ %(username)s օգտագործողի համար։" + +msgid "Welcome," +msgstr "Բարի գալուստ, " + +msgid "View site" +msgstr "Դիտել կայքը" + +msgid "Documentation" +msgstr "Դոկումենտացիա" + +msgid "Log out" +msgstr "Դուրս գալ" + +#, python-format +msgid "Add %(name)s" +msgstr "Ավելացնել %(name)s" + +msgid "History" +msgstr "Պատմություն" + +msgid "View on site" +msgstr "Դիտել կայքում" + +msgid "Filter" +msgstr "Ֆիլտրել" + +msgid "Remove from sorting" +msgstr "Հեռացնել դասակարգումից" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Դասակարգման առաջնություն՝ %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Toggle sorting" + +msgid "Delete" +msgstr "Հեռացնել" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"%(object_name)s '%(escaped_object)s'֊ի հեռացումը կարող է հանգեցնել նրա հետ " +"կապված օբյեկտների հեռացմանը, բայց դուք չունեք իրավունք հեռացնել այդ տիպի " +"օբյեկտներ․" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"%(object_name)s '%(escaped_object)s'֊ը հեռացնելու համար կարող է անհրաժեշտ " +"լինել հեռացնել նրա հետ կապված պաշտպանված օբյեկտները։" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Համոզված ե՞ք, որ ուզում եք հեռացնել %(object_name)s \"%(escaped_object)s\"֊" +"ը։ նրա հետ կապված այս բոլոր օբյեկտները կհեռացվեն․" + +msgid "Objects" +msgstr "Օբյեկտներ" + +msgid "Yes, I'm sure" +msgstr "Այո, ես համոզված եմ" + +msgid "No, take me back" +msgstr "Ոչ, տարեք ենձ ետ" + +msgid "Delete multiple objects" +msgstr "Հեռացնել մի քանի օբյեկտ" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"%(objects_name)s֊ների հեռացումը կարող է հանգեցնել նրա հետ կապված օբյեկտների " +"հեռացմանը, բայց դուք չունեք իրավունք հեռացնել այդ տիպի օբյեկտներ․" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"%(objects_name)s֊ը հեռացնելու համար կարող է անհրաժեշտ լինել հեռացնել նրա հետ " +"կապված պաշտպանված օբյեկտները։" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Համոզված ե՞ք, որ ուզում եք հեռացնել նշված %(objects_name)s֊ները։ Այս բոլոր " +"օբյեկտները, ինչպես նաև նրանց հետ կապված օբյեկտները կհեռացվեն․" + +msgid "View" +msgstr "" + +msgid "Delete?" +msgstr "Հեռացնե՞լ" + +#, python-format +msgid " By %(filter_title)s " +msgstr "%(filter_title)s " + +msgid "Summary" +msgstr "Ամփոփում" + +#, python-format +msgid "Models in the %(name)s application" +msgstr " %(name)s հավելվածի մոդել" + +msgid "Add" +msgstr "Ավելացնել" + +msgid "You don't have permission to view or edit anything." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "My actions" +msgstr "" + +msgid "None available" +msgstr "Ոչինք չկա" + +msgid "Unknown content" +msgstr "Անհայտ կոնտենտ" + +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Ինչ֊որ բան այն չէ ձեր տվյալների բազայի հետ։ Համոզվեք, որ համապատասխան " +"աղյուսակները ստեղծվել են և համոզվեք, որ համապատասխան օգտագործողը կարող է " +"կարդալ բազան։" + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Դուք մուտք եք գործել որպես %(username)s, բայց իրավունք չունեք դիտելու այս " +"էջը։ Ցանկանում ե՞ք մուտք գործել որպես այլ օգտագործող" + +msgid "Forgotten your password or username?" +msgstr "Մոռացել ե՞ք օգտագործողի անունը կամ գաղտնաբառը" + +msgid "Date/time" +msgstr "Ամսաթիվ/Ժամանակ" + +msgid "User" +msgstr "Օգտագործող" + +msgid "Action" +msgstr "Գործողություն" + +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"Այս օբյեկտը չունի փոփոխման պատմություն։ Այն հավանաբար ավելացված չէ " +"ադմինիստրավորման էջից։" + +msgid "Show all" +msgstr "Ցույց տալ բոլորը" + +msgid "Save" +msgstr "Պահպանել" + +msgid "Popup closing..." +msgstr "Ելնող պատուհանը փակվում է" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Փոփոխել ընտրված %(model)s տիպի օբյեկտը" + +#, python-format +msgid "View selected %(model)s" +msgstr "" + +#, python-format +msgid "Add another %(model)s" +msgstr "Ավելացնել այլ %(model)s տիպի օբյեկտ" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Հեռացնել ընտրված %(model)s տիպի օբյեկտը" + +msgid "Search" +msgstr "Փնտրել" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s արդյունք" +msgstr[1] "%(counter)s արդյունքներ" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s ընդհանուր" + +msgid "Save as new" +msgstr "Պահպանել որպես նոր" + +msgid "Save and add another" +msgstr "Պահպանել և ավելացնել նորը" + +msgid "Save and continue editing" +msgstr "Պահպանել և շարունակել խմբագրել" + +msgid "Save and view" +msgstr "" + +msgid "Close" +msgstr "" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Շնորհակալություն մեր կայքում ինչ֊որ ժամանակ ծախսելու համար։" + +msgid "Log in again" +msgstr "Մուտք գործել նորից" + +msgid "Password change" +msgstr "Փոխել գաղտնաբառը" + +msgid "Your password was changed." +msgstr "Ձեր գաղտնաբառը փոխվել է" + +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Մուտքագրեք ձեր հին գաղտնաբառը։ Անվտանգության նկատառումներով մուտքագրեք ձեր " +"նոր գաղտնաբառը երկու անգամ, որպեսզի մենք համոզված լինենք, որ այն ճիշտ է " +"հավաքված։" + +msgid "Change my password" +msgstr "Փոխել իմ գաղտնաբառը" + +msgid "Password reset" +msgstr "Գաղտնաբառի փոփոխում" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Ձեր գաղտնաբառը պահպանված է․ Կարող եք մուտք գործել։" + +msgid "Password reset confirmation" +msgstr "Գաղտնաբառի փոփոխման հաստատում" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Մուտքագրեք ձեր նոր գաղտնաբառը երկու անգամ, որպեսզի մենք համոզված լինենք, որ " +"այն ճիշտ է հավաքված։" + +msgid "New password:" +msgstr "Նոր գաղտնաբառ․" + +msgid "Confirm password:" +msgstr "Նոր գաղտնաբառը նորից․" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Գաղտնաբառի փոփոխման հղում է սխալ է, հավանաբար այն արդեն օգտագործվել է․ Դուք " +"կարող եք ստանալ նոր հղում։" + +msgid "" +"We've emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Մենք ուղարկեցինք ձեր էլեկտրոնային փոստի հասցեին գաղտնաբառը փոփոխելու " +"հրահանգներ․ Դուք շուտով կստանաք դրանք։" + +msgid "" +"If you don't receive an email, please make sure you've entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Եթե դուք չեք ստացել էլեկտրոնային նամակ, համոզվեք, որ հավաքել եք այն հասցեն, " +"որով գրանցվել եք և ստուգեք ձեր սպամի թղթապանակը։" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Դուք ստացել եք այս նամակը, քանի որ ցանկացել եք փոխել ձեր գաղտնաբառը " +"%(site_name)s կայքում։" + +msgid "Please go to the following page and choose a new password:" +msgstr "Բացեք հետևյալ էջը և ընտրեք նոր գաղտնաբառ։" + +msgid "Your username, in case you've forgotten:" +msgstr "Եթե դուք մոռացել եք ձեր օգտագործողի անունը․" + +msgid "Thanks for using our site!" +msgstr "Շնորհակալություն մեր կայքից օգտվելու համար։" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s կայքի թիմ" + +msgid "" +"Forgotten your password? Enter your email address below, and we'll email " +"instructions for setting a new one." +msgstr "" +"Մոռացել ե՞ք ձեր գաղտնաբառը Մուտքագրեք ձեր էլեկտրոնային փոստի հասցեն և մենք " +"կուղարկենք ձեզ հրահանգներ նորը ստանալու համար։" + +msgid "Email address:" +msgstr "Email հասցե․" + +msgid "Reset my password" +msgstr "Փոխել գաղտնաբառը" + +msgid "All dates" +msgstr "Բոլոր ամսաթվերը" + +#, python-format +msgid "Select %s" +msgstr "Ընտրեք %s" + +#, python-format +msgid "Select %s to change" +msgstr "Ընտրեք %s փոխելու համար" + +#, python-format +msgid "Select %s to view" +msgstr "" + +msgid "Date:" +msgstr "Ամսաթիվ․" + +msgid "Time:" +msgstr "Ժամանակ․" + +msgid "Lookup" +msgstr "Որոնում" + +msgid "Currently:" +msgstr "Հիմա․" + +msgid "Change:" +msgstr "Փոփոխել" diff --git a/external_sources/django/django/contrib/admin/locale/hy/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/hy/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..e209f54 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/hy/LC_MESSAGES/djangojs.po @@ -0,0 +1,219 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Ruben Harutyunov , 2018 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" +"PO-Revision-Date: 2019-01-15 10:40+0100\n" +"Last-Translator: Ruben Harutyunov \n" +"Language-Team: Armenian (http://www.transifex.com/django/django/language/" +"hy/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hy\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "Հասանելի %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Սա հասանելի %s ցուցակ է։ Դուք կարող եք ընտրել նրանցից որոշները ընտրելով " +"դրանք ստորև գտնվող վանդակում և սեղմելով երկու վանդակների միջև գտնվող \"Ընտրել" +"\" սլաքը։" + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Մուտքագրեք այս դաշտում հասանելի %s ցուցակը ֆիլտրելու համար։" + +msgid "Filter" +msgstr "Ֆիլտրել" + +msgid "Choose all" +msgstr "Ընտրել բոլորը" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Սեղմեք բոլոր %sը ընտրելու համար։" + +msgid "Choose" +msgstr "Ընտրել" + +msgid "Remove" +msgstr "Հեռացնել" + +#, javascript-format +msgid "Chosen %s" +msgstr "Ընտրված %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Սա հասանելի %sի ցուցակ է։ Դուք կարող եք հեռացնել նրանցից որոշները ընտրելով " +"դրանք ստորև գտնվող վանդակում և սեղմելով երկու վանդակների միջև գտնվող " +"\"Հեռացնել\" սլաքը։" + +msgid "Remove all" +msgstr "Հեռացնել բոլորը" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Սեղմեք բոլոր %sը հեռացնելու համար։" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "Ընտրված է %(cnt)s-ից %(sel)s-ը" +msgstr[1] "Ընտրված է %(cnt)s-ից %(sel)s-ը" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Դուք ունեք չպահպանված անհատական խմբագրելի դաշտեր։ Եթե դուք կատարեք " +"գործողությունը, ձեր չպահպանված փոփոխությունները կկորեն։" + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"Դուք ընտրել եք գործողություն, բայց դեռ չեք պահպանել անհատական խմբագրելի " +"դաշտերի փոփոխությունները Սեղմեք OK պահպանելու համար։ Անհրաժեշտ կլինի " +"վերագործարկել գործողությունը" + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Դուք ընտրել եք գործողություն, բայց դեռ չեք կատարել որևէ անհատական խմբագրելի " +"դաշտերի փոփոխություն Ձեզ հավանաբար պետք է Կատարել կոճակը, Պահպանել կոճակի " +"փոխարեն" + +msgid "Now" +msgstr "Հիմա" + +msgid "Midnight" +msgstr "Կեսգիշեր" + +msgid "6 a.m." +msgstr "6 a.m." + +msgid "Noon" +msgstr "Կեսօր" + +msgid "6 p.m." +msgstr "6 p.m." + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Ձեր ժամը առաջ է սերվերի ժամանակից %s ժամով" +msgstr[1] "Ձեր ժամը առաջ է սերվերի ժամանակից %s ժամով" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Ձեր ժամը հետ է սերվերի ժամանակից %s ժամով" +msgstr[1] "Ձեր ժամը հետ է սերվերի ժամանակից %s ժամով" + +msgid "Choose a Time" +msgstr "Ընտրեք ժամանակ" + +msgid "Choose a time" +msgstr "Ընտրեք ժամանակ" + +msgid "Cancel" +msgstr "Չեղարկել" + +msgid "Today" +msgstr "Այսօր" + +msgid "Choose a Date" +msgstr "Ընտրեք ամսաթիվ" + +msgid "Yesterday" +msgstr "Երեկ" + +msgid "Tomorrow" +msgstr "Վաղը" + +msgid "January" +msgstr "Հունվար" + +msgid "February" +msgstr "Փետրվար" + +msgid "March" +msgstr "Մարտ" + +msgid "April" +msgstr "Ապրիլ" + +msgid "May" +msgstr "Մայիս" + +msgid "June" +msgstr "Հունիս" + +msgid "July" +msgstr "Հուլիս" + +msgid "August" +msgstr "Օգոստոս" + +msgid "September" +msgstr "Սեպտեմբեր" + +msgid "October" +msgstr "Հոկտեմբեր" + +msgid "November" +msgstr "Նոյեմբեր" + +msgid "December" +msgstr "Դեկտեմբեր" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "Կ" + +msgctxt "one letter Monday" +msgid "M" +msgstr "Ե" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "Ե" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "Չ" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "Հ" + +msgctxt "one letter Friday" +msgid "F" +msgstr "ՈՒ" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "Շ" + +msgid "Show" +msgstr "Ցույց տալ" + +msgid "Hide" +msgstr "Թաքցնել" diff --git a/external_sources/django/django/contrib/admin/locale/ia/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/ia/LC_MESSAGES/django.po new file mode 100644 index 0000000..f7986c9 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ia/LC_MESSAGES/django.po @@ -0,0 +1,664 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Martijn Dekker , 2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-19 16:49+0100\n" +"PO-Revision-Date: 2017-09-19 16:41+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Interlingua (http://www.transifex.com/django/django/language/" +"ia/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ia\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d %(items)s delite con successo." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Non pote deler %(name)s" + +msgid "Are you sure?" +msgstr "Es tu secur?" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Deler le %(verbose_name_plural)s seligite" + +msgid "Administration" +msgstr "" + +msgid "All" +msgstr "Totes" + +msgid "Yes" +msgstr "Si" + +msgid "No" +msgstr "No" + +msgid "Unknown" +msgstr "Incognite" + +msgid "Any date" +msgstr "Omne data" + +msgid "Today" +msgstr "Hodie" + +msgid "Past 7 days" +msgstr "Ultime 7 dies" + +msgid "This month" +msgstr "Iste mense" + +msgid "This year" +msgstr "Iste anno" + +msgid "No date" +msgstr "" + +msgid "Has date" +msgstr "" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" + +msgid "Action:" +msgstr "Action:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Adder un altere %(verbose_name)s" + +msgid "Remove" +msgstr "Remover" + +msgid "action time" +msgstr "hora de action" + +msgid "user" +msgstr "" + +msgid "content type" +msgstr "" + +msgid "object id" +msgstr "id de objecto" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/3/library/functions.html#repr) +msgid "object repr" +msgstr "repr de objecto" + +msgid "action flag" +msgstr "marca de action" + +msgid "change message" +msgstr "message de cambio" + +msgid "log entry" +msgstr "entrata de registro" + +msgid "log entries" +msgstr "entratas de registro" + +#, python-format +msgid "Added \"%(object)s\"." +msgstr "\"%(object)s\" addite." + +#, python-format +msgid "Changed \"%(object)s\" - %(changes)s" +msgstr "\"%(object)s\" cambiate - %(changes)s" + +#, python-format +msgid "Deleted \"%(object)s.\"" +msgstr "\"%(object)s\" delite." + +msgid "LogEntry Object" +msgstr "Objecto LogEntry" + +#, python-brace-format +msgid "Added {name} \"{object}\"." +msgstr "" + +msgid "Added." +msgstr "" + +msgid "and" +msgstr "e" + +#, python-brace-format +msgid "Changed {fields} for {name} \"{object}\"." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "" + +#, python-brace-format +msgid "Deleted {name} \"{object}\"." +msgstr "" + +msgid "No fields changed." +msgstr "Nulle campo cambiate." + +msgid "None" +msgstr "Nulle" + +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was added successfully." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Es necessari seliger elementos pro poter exequer actiones. Nulle elemento ha " +"essite cambiate." + +msgid "No action selected." +msgstr "Nulle action seligite." + +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "Le %(name)s \"%(obj)s\" ha essite delite con successo." + +#, python-format +msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "Adder %s" + +#, python-format +msgid "Change %s" +msgstr "Cambiar %s" + +msgid "Database error" +msgstr "Error in le base de datos" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s cambiate con successo." +msgstr[1] "%(count)s %(name)s cambiate con successo." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s seligite" +msgstr[1] "Tote le %(total_count)s seligite" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 de %(cnt)s seligite" + +#, python-format +msgid "Change history: %s" +msgstr "Historia de cambiamentos: %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" + +msgid "Django site admin" +msgstr "Administration del sito Django" + +msgid "Django administration" +msgstr "Administration de Django" + +msgid "Site administration" +msgstr "Administration del sito" + +msgid "Log in" +msgstr "Aperir session" + +#, python-format +msgid "%(app)s administration" +msgstr "" + +msgid "Page not found" +msgstr "Pagina non trovate" + +msgid "We're sorry, but the requested page could not be found." +msgstr "Regrettabilemente, le pagina requestate non poteva esser trovate." + +msgid "Home" +msgstr "Initio" + +msgid "Server error" +msgstr "Error del servitor" + +msgid "Server error (500)" +msgstr "Error del servitor (500)" + +msgid "Server Error (500)" +msgstr "Error del servitor (500)" + +msgid "" +"There's been an error. It's been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +msgid "Run the selected action" +msgstr "Exequer le action seligite" + +msgid "Go" +msgstr "Va" + +msgid "Click here to select the objects across all pages" +msgstr "Clicca hic pro seliger le objectos in tote le paginas" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Seliger tote le %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Rader selection" + +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"Primo, specifica un nomine de usator e un contrasigno. Postea, tu potera " +"modificar plus optiones de usator." + +msgid "Enter a username and password." +msgstr "Specifica un nomine de usator e un contrasigno." + +msgid "Change password" +msgstr "Cambiar contrasigno" + +msgid "Please correct the error below." +msgstr "Per favor corrige le errores sequente." + +msgid "Please correct the errors below." +msgstr "" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"Specifica un nove contrasigno pro le usator %(username)s." + +msgid "Welcome," +msgstr "Benvenite," + +msgid "View site" +msgstr "" + +msgid "Documentation" +msgstr "Documentation" + +msgid "Log out" +msgstr "Clauder session" + +#, python-format +msgid "Add %(name)s" +msgstr "Adder %(name)s" + +msgid "History" +msgstr "Historia" + +msgid "View on site" +msgstr "Vider in sito" + +msgid "Filter" +msgstr "Filtro" + +msgid "Remove from sorting" +msgstr "Remover del ordination" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Prioritate de ordination: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Alternar le ordination" + +msgid "Delete" +msgstr "Deler" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Deler le %(object_name)s '%(escaped_object)s' resultarea in le deletion de " +"objectos associate, me tu conto non ha le permission de deler objectos del " +"sequente typos:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Deler le %(object_name)s '%(escaped_object)s' necessitarea le deletion del " +"sequente objectos associate protegite:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Es tu secur de voler deler le %(object_name)s \"%(escaped_object)s\"? Tote " +"le sequente objectos associate essera delite:" + +msgid "Objects" +msgstr "" + +msgid "Yes, I'm sure" +msgstr "Si, io es secur" + +msgid "No, take me back" +msgstr "" + +msgid "Delete multiple objects" +msgstr "Deler plure objectos" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Deler le %(objects_name)s seligite resultarea in le deletion de objectos " +"associate, ma tu conto non ha le permission de deler objectos del sequente " +"typos:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Deler le %(objects_name)s seligite necessitarea le deletion del sequente " +"objectos associate protegite:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Es tu secur de voler deler le %(objects_name)s seligite? Tote le sequente " +"objectos e le objectos associate a illo essera delite:" + +msgid "Change" +msgstr "Cambiar" + +msgid "Delete?" +msgstr "Deler?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " Per %(filter_title)s " + +msgid "Summary" +msgstr "" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "" + +msgid "Add" +msgstr "Adder" + +msgid "You don't have permission to edit anything." +msgstr "Tu non ha le permission de modificar alcun cosa." + +msgid "Recent actions" +msgstr "" + +msgid "My actions" +msgstr "" + +msgid "None available" +msgstr "Nihil disponibile" + +msgid "Unknown content" +msgstr "Contento incognite" + +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Il ha un problema con le installation del base de datos. Assecura te que le " +"tabellas correcte ha essite create, e que le base de datos es legibile pro " +"le usator appropriate." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" + +msgid "Forgotten your password or username?" +msgstr "Contrasigno o nomine de usator oblidate?" + +msgid "Date/time" +msgstr "Data/hora" + +msgid "User" +msgstr "Usator" + +msgid "Action" +msgstr "Action" + +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"Iste objecto non ha un historia de cambiamentos. Illo probabilemente non " +"esseva addite per medio de iste sito administrative." + +msgid "Show all" +msgstr "Monstrar toto" + +msgid "Save" +msgstr "Salveguardar" + +msgid "Popup closing..." +msgstr "" + +#, python-format +msgid "Change selected %(model)s" +msgstr "" + +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "" + +msgid "Search" +msgstr "Cercar" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s resultato" +msgstr[1] "%(counter)s resultatos" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s in total" + +msgid "Save as new" +msgstr "Salveguardar como nove" + +msgid "Save and add another" +msgstr "Salveguardar e adder un altere" + +msgid "Save and continue editing" +msgstr "Salveguardar e continuar le modification" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Gratias pro haber passate un tempore agradabile con iste sito web." + +msgid "Log in again" +msgstr "Aperir session de novo" + +msgid "Password change" +msgstr "Cambio de contrasigno" + +msgid "Your password was changed." +msgstr "Tu contrasigno ha essite cambiate." + +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Per favor specifica tu ancian contrasigno, pro securitate, e postea " +"specifica tu nove contrasigno duo vices pro verificar que illo es scribite " +"correctemente." + +msgid "Change my password" +msgstr "Cambiar mi contrasigno" + +msgid "Password reset" +msgstr "Reinitialisar contrasigno" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Tu contrasigno ha essite reinitialisate. Ora tu pote aperir session." + +msgid "Password reset confirmation" +msgstr "Confirmation de reinitialisation de contrasigno" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Per favor scribe le nove contrasigno duo vices pro verificar que illo es " +"scribite correctemente." + +msgid "New password:" +msgstr "Nove contrasigno:" + +msgid "Confirm password:" +msgstr "Confirma contrasigno:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Le ligamine pro le reinitialisation del contrasigno esseva invalide, forsan " +"perque illo ha jam essite usate. Per favor submitte un nove demanda de " +"reinitialisation del contrasigno." + +msgid "" +"We've emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don't receive an email, please make sure you've entered the address " +"you registered with, and check your spam folder." +msgstr "" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" + +msgid "Please go to the following page and choose a new password:" +msgstr "Per favor va al sequente pagina pro eliger un nove contrasigno:" + +msgid "Your username, in case you've forgotten:" +msgstr "Tu nomine de usator, in caso que tu lo ha oblidate:" + +msgid "Thanks for using our site!" +msgstr "Gratias pro usar nostre sito!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Le equipa de %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we'll email " +"instructions for setting a new one." +msgstr "" + +msgid "Email address:" +msgstr "" + +msgid "Reset my password" +msgstr "Reinitialisar mi contrasigno" + +msgid "All dates" +msgstr "Tote le datas" + +#, python-format +msgid "Select %s" +msgstr "Selige %s" + +#, python-format +msgid "Select %s to change" +msgstr "Selige %s a modificar" + +msgid "Date:" +msgstr "Data:" + +msgid "Time:" +msgstr "Hora:" + +msgid "Lookup" +msgstr "Recerca" + +msgid "Currently:" +msgstr "" + +msgid "Change:" +msgstr "" diff --git a/external_sources/django/django/contrib/admin/locale/ia/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/ia/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..8285097 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ia/LC_MESSAGES/djangojs.po @@ -0,0 +1,216 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Martijn Dekker , 2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"PO-Revision-Date: 2017-09-19 16:41+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Interlingua (http://www.transifex.com/django/django/language/" +"ia/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ia\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "%s disponibile" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Ecce le lista de %s disponibile. Tu pote seliger alcunes in le quadro " +"sequente; postea clicca le flecha \"Seliger\" inter le duo quadros." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Scribe in iste quadro pro filtrar le lista de %s disponibile." + +msgid "Filter" +msgstr "Filtrar" + +msgid "Choose all" +msgstr "Seliger totes" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Clicca pro seliger tote le %s immediatemente." + +msgid "Choose" +msgstr "Seliger" + +msgid "Remove" +msgstr "Remover" + +#, javascript-format +msgid "Chosen %s" +msgstr "Le %s seligite" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Ecce le lista de %s seligite. Tu pote remover alcunes per seliger los in le " +"quadro sequente e cliccar le flecha \"Remover\" inter le duo quadros." + +msgid "Remove all" +msgstr "Remover totes" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Clicca pro remover tote le %s seligite immediatemente." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s de %(cnt)s seligite" +msgstr[1] "%(sel)s de %(cnt)s seligite" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Il ha cambiamentos non salveguardate in certe campos modificabile. Si tu " +"exeque un action, iste cambiamentos essera perdite." + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"Tu ha seligite un action, ma tu non ha salveguardate le cambiamentos in " +"certe campos. Per favor clicca OK pro salveguardar los. Tu debera re-exequer " +"le action." + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Tu ha seligite un action, e tu non ha facite cambiamentos in alcun campo. Tu " +"probabilemente cerca le button Va e non le button Salveguardar." + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" +msgstr[1] "" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +msgstr[1] "" + +msgid "Now" +msgstr "Ora" + +msgid "Choose a Time" +msgstr "" + +msgid "Choose a time" +msgstr "Selige un hora" + +msgid "Midnight" +msgstr "Medienocte" + +msgid "6 a.m." +msgstr "6 a.m." + +msgid "Noon" +msgstr "Mediedie" + +msgid "6 p.m." +msgstr "" + +msgid "Cancel" +msgstr "Cancellar" + +msgid "Today" +msgstr "Hodie" + +msgid "Choose a Date" +msgstr "" + +msgid "Yesterday" +msgstr "Heri" + +msgid "Tomorrow" +msgstr "Deman" + +msgid "January" +msgstr "" + +msgid "February" +msgstr "" + +msgid "March" +msgstr "" + +msgid "April" +msgstr "" + +msgid "May" +msgstr "" + +msgid "June" +msgstr "" + +msgid "July" +msgstr "" + +msgid "August" +msgstr "" + +msgid "September" +msgstr "" + +msgid "October" +msgstr "" + +msgid "November" +msgstr "" + +msgid "December" +msgstr "" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "" + +msgctxt "one letter Monday" +msgid "M" +msgstr "" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "" + +msgctxt "one letter Friday" +msgid "F" +msgstr "" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "" + +msgid "Show" +msgstr "Monstrar" + +msgid "Hide" +msgstr "Celar" diff --git a/external_sources/django/django/contrib/admin/locale/id/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/id/LC_MESSAGES/django.po new file mode 100644 index 0000000..791412e --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/id/LC_MESSAGES/django.po @@ -0,0 +1,789 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Bayu Satiyo , 2024 +# Claude Paroz , 2014 +# Fery Setiawan , 2015-2019,2021-2024 +# Jannis Leidel , 2011 +# M Asep Indrayana , 2015 +# oon arfiandwi (OonID) , 2016,2020 +# rodin , 2011-2013 +# rodin , 2013-2017 +# sag​e , 2019 +# Sutrisno Efendi , 2015 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-10-07 07:05+0000\n" +"Last-Translator: Fery Setiawan , 2015-2019,2021-2024\n" +"Language-Team: Indonesian (http://app.transifex.com/django/django/language/" +"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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Hapus %(verbose_name_plural)s yang dipilih" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Sukses menghapus %(count)d %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Tidak dapat menghapus %(name)s" + +msgid "Are you sure?" +msgstr "Yakin?" + +msgid "Administration" +msgstr "Administrasi" + +msgid "All" +msgstr "Semua" + +msgid "Yes" +msgstr "Ya" + +msgid "No" +msgstr "Tidak" + +msgid "Unknown" +msgstr "Tidak diketahui" + +msgid "Any date" +msgstr "Kapanpun" + +msgid "Today" +msgstr "Hari ini" + +msgid "Past 7 days" +msgstr "Tujuh hari terakhir" + +msgid "This month" +msgstr "Bulan ini" + +msgid "This year" +msgstr "Tahun ini" + +msgid "No date" +msgstr "Tidak ada tanggal" + +msgid "Has date" +msgstr "Ada tanggal" + +msgid "Empty" +msgstr "Kosong" + +msgid "Not empty" +msgstr "Tidak kosong" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Masukkan nama pengguna %(username)s dan sandi yang benar untuk akun staf. " +"Huruf besar/kecil pada bidang ini berpengaruh." + +msgid "Action:" +msgstr "Aksi:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Tambahkan %(verbose_name)s lagi" + +msgid "Remove" +msgstr "Hapus" + +msgid "Addition" +msgstr "Tambahan" + +msgid "Change" +msgstr "Ubah" + +msgid "Deletion" +msgstr "Penghapusan" + +msgid "action time" +msgstr "waktu aksi" + +msgid "user" +msgstr "pengguna" + +msgid "content type" +msgstr "jenis isi" + +msgid "object id" +msgstr "id objek" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "representasi objek" + +msgid "action flag" +msgstr "jenis aksi" + +msgid "change message" +msgstr "ganti pesan" + +msgid "log entry" +msgstr "entri pencatatan" + +msgid "log entries" +msgstr "entri pencatatan" + +#, python-format +msgid "Added “%(object)s”." +msgstr "“%(object)s” ditambahkan." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "“%(object)s” diubah — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "“%(object)s” dihapus." + +msgid "LogEntry Object" +msgstr "Objek LogEntry" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "{name} “{object}” ditambahkan." + +msgid "Added." +msgstr "Ditambahkan." + +msgid "and" +msgstr "dan" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "{fields} diubah untuk {name} “{object}”." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "{fields} berubah." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "{name} “{object}” dihapus." + +msgid "No fields changed." +msgstr "Tidak ada bidang yang berubah." + +msgid "None" +msgstr "None" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Tekan “Control”, atau “Command” pada Mac, untuk memilih lebih dari satu." + +msgid "Select this object for an action - {}" +msgstr "Pilih objek ini untuk suatu aksi - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "{name} “{obj}” berhasil ditambahkan." + +msgid "You may edit it again below." +msgstr "Anda dapat menyunting itu kembali di bawah." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"{name} “{obj}” berhasil ditambahkan. Anda dapat menambahkan {name} lain di " +"bawah." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"{name} “{obj}” berhasil diubah. Anda dapat mengeditnya kembali di bawah." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"{name} “{obj}” berhasil diubah. Anda dapat menambahkan {name} lain di bawah." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "{name} “{obj}” berhasil diubah." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Objek harus dipilih sebelum dimanipulasi. Tidak ada objek yang berubah." + +msgid "No action selected." +msgstr "Tidak ada aksi yang dipilih." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s “%(obj)s” berhasil dihapus." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "%(name)s dengan ID “%(key)s” tidak ada. Mungkin telah dihapus?" + +#, python-format +msgid "Add %s" +msgstr "Tambahkan %s" + +#, python-format +msgid "Change %s" +msgstr "Ubah %s" + +#, python-format +msgid "View %s" +msgstr "Lihat %s" + +msgid "Database error" +msgstr "Galat basis data" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s berhasil diubah." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s dipilih" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 dari %(cnt)s dipilih" + +#, python-format +msgid "Change history: %s" +msgstr "Ubah riwayat: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Menghapus %(class_name)s %(instance)s memerlukan penghapusanobjek " +"terlindungi yang terkait sebagai berikut: %(related_objects)s" + +msgid "Django site admin" +msgstr "Admin situs Django" + +msgid "Django administration" +msgstr "Administrasi Django" + +msgid "Site administration" +msgstr "Administrasi situs" + +msgid "Log in" +msgstr "Masuk" + +#, python-format +msgid "%(app)s administration" +msgstr "Administrasi %(app)s" + +msgid "Page not found" +msgstr "Laman tidak ditemukan" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Maaf, laman yang Anda minta tidak ditemukan." + +msgid "Home" +msgstr "Beranda" + +msgid "Server error" +msgstr "Galat server" + +msgid "Server error (500)" +msgstr "Galat server (500)" + +msgid "Server Error (500)" +msgstr "Galat Server (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Terjadi sebuah galat dan telah dilaporkan ke administrator situs melalui " +"surel untuk diperbaiki. Terima kasih atas pengertian Anda." + +msgid "Run the selected action" +msgstr "Jalankan aksi terpilih" + +msgid "Go" +msgstr "Buka" + +msgid "Click here to select the objects across all pages" +msgstr "Klik di sini untuk memilih semua objek pada semua laman" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Pilih seluruh %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Bersihkan pilihan" + +msgid "Breadcrumbs" +msgstr "Breadcrumbs" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Model pada aplikasi %(name)s" + +msgid "Add" +msgstr "Tambah" + +msgid "View" +msgstr "Lihat" + +msgid "You don’t have permission to view or edit anything." +msgstr "Anda tidak memiliki izin untuk melihat atau mengedit apa pun." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Pertama-tama, masukkan nama pengguna dan sandi. Anda akan dapat mengubah " +"opsi pengguna lebih lengkap setelah itu." + +msgid "Enter a username and password." +msgstr "Masukkan nama pengguna dan sandi." + +msgid "Change password" +msgstr "Ganti sandi" + +msgid "Set password" +msgstr "Setel sandi" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Harap perbaiki kesalahan dibawah." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Masukkan sandi baru untuk pengguna %(username)s." + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "" +"Tindakan ini akan enable autentifikasi brerdasarkan-sandi " +"untuk pengguna ini." + +msgid "Disable password-based authentication" +msgstr "Tiadakan autentifikasu berdasarkan-sandi" + +msgid "Enable password-based authentication" +msgstr "Adakan autentifikasu berdasarkan-sandi" + +msgid "Skip to main content" +msgstr "Lewati ke isi utama" + +msgid "Welcome," +msgstr "Selamat datang," + +msgid "View site" +msgstr "Lihat situs" + +msgid "Documentation" +msgstr "Dokumentasi" + +msgid "Log out" +msgstr "Keluar" + +#, python-format +msgid "Add %(name)s" +msgstr "Tambahkan %(name)s" + +msgid "History" +msgstr "Riwayat" + +msgid "View on site" +msgstr "Lihat di situs" + +msgid "Filter" +msgstr "Filter" + +msgid "Hide counts" +msgstr "Sembunyikan hitungan" + +msgid "Show counts" +msgstr "Tampilkan hitungan" + +msgid "Clear all filters" +msgstr "Hapus semua penyaringan" + +msgid "Remove from sorting" +msgstr "Dihapus dari pengurutan" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Prioritas pengurutan: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Ubah pengurutan" + +msgid "Toggle theme (current theme: auto)" +msgstr "Ganti tema (tema saat ini: otomatis)" + +msgid "Toggle theme (current theme: light)" +msgstr "Ganti tema (tema saat ini: terang)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Ganti tema (tema saat ini: gelap)" + +msgid "Delete" +msgstr "Hapus" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Menghapus %(object_name)s '%(escaped_object)s' akan menghapus objek lain " +"yang terkait, tetapi akun Anda tidak memiliki izin untuk menghapus objek " +"dengan tipe berikut:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Menghapus %(object_name)s '%(escaped_object)s' memerlukan penghapusan objek " +"terlindungi yang terkait sebagai berikut:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Yakin ingin menghapus %(object_name)s \"%(escaped_object)s\"? Semua objek " +"lain yang terkait juga akan dihapus:" + +msgid "Objects" +msgstr "Objek" + +msgid "Yes, I’m sure" +msgstr "Ya, saya yakin" + +msgid "No, take me back" +msgstr "Tidak, bawa saya kembali" + +msgid "Delete multiple objects" +msgstr "Hapus beberapa objek sekaligus" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Menghapus %(objects_name)s terpilih akan menghapus objek yang terkait, " +"tetapi akun Anda tidak memiliki izin untuk menghapus objek dengan tipe " +"berikut:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Menghapus %(objects_name)s terpilih memerlukan penghapusan objek terlindungi " +"yang terkait sebagai berikut:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Yakin akan menghapus %(objects_name)s terpilih? Semua objek berikut beserta " +"objek terkait juga akan dihapus:" + +msgid "Delete?" +msgstr "Hapus?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " Berdasarkan %(filter_title)s " + +msgid "Summary" +msgstr "Ringkasan" + +msgid "Recent actions" +msgstr "Tindakan terbaru" + +msgid "My actions" +msgstr "Tindakan saya" + +msgid "None available" +msgstr "Tidak ada yang tersedia" + +msgid "Added:" +msgstr "Ditambahkan:" + +msgid "Changed:" +msgstr "Berubah:" + +msgid "Deleted:" +msgstr "Dihapus:" + +msgid "Unknown content" +msgstr "Konten tidak diketahui" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Ada masalah dengan instalasi basis data Anda. Pastikan tabel yang sesuai " +"pada basis data telah dibuat dan dapat dibaca oleh pengguna yang sesuai." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Anda diautentikasi sebagai %(username)s, tapi tidak diperbolehkan untuk " +"mengakses halaman ini. Ingin mencoba mengakses menggunakan akun yang lain?" + +msgid "Forgotten your password or username?" +msgstr "Lupa nama pengguna atau sandi?" + +msgid "Toggle navigation" +msgstr "Alihkan navigasi" + +msgid "Sidebar" +msgstr "Sidebar" + +msgid "Start typing to filter…" +msgstr "Mulai mengetik untuk menyaring..." + +msgid "Filter navigation items" +msgstr "Navigasi pencarian barang" + +msgid "Date/time" +msgstr "Tanggal/waktu" + +msgid "User" +msgstr "Pengguna" + +msgid "Action" +msgstr "Aksi" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "masukan" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Objek ini tidak memiliki riwayat perubahan. Mungkin objek ini tidak " +"ditambahkan melalui situs administrasi ini." + +msgid "Show all" +msgstr "Tampilkan semua" + +msgid "Save" +msgstr "Simpan" + +msgid "Popup closing…" +msgstr "Menutup jendela sembulan..." + +msgid "Search" +msgstr "Cari" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s buah" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s total" + +msgid "Save as new" +msgstr "Simpan sebagai baru" + +msgid "Save and add another" +msgstr "Simpan dan tambahkan lagi" + +msgid "Save and continue editing" +msgstr "Simpan dan terus mengedit" + +msgid "Save and view" +msgstr "Simpan dan tampilkan" + +msgid "Close" +msgstr "Tutup" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Ubah %(model)s yang dipilih" + +#, python-format +msgid "Add another %(model)s" +msgstr "Tambahkan %(model)s yang lain" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Hapus %(model)s yang dipilih" + +#, python-format +msgid "View selected %(model)s" +msgstr "Menampilkan %(model)s terpilih" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "" +"Terima kasih untuk meluangkan waktu berkualitas dengan jaringan situs hari " +"ini." + +msgid "Log in again" +msgstr "Masuk kembali" + +msgid "Password change" +msgstr "Ubah sandi" + +msgid "Your password was changed." +msgstr "Sandi Anda telah diubah." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Masukkan sandi lama Anda, demi alasan keamanan, dan masukkan sandi baru Anda " +"dua kali untuk memastikan Anda tidak salah mengetikkannya." + +msgid "Change my password" +msgstr "Ubah sandi saya" + +msgid "Password reset" +msgstr "Setel ulang sandi" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Sandi Anda telah diperbarui. Silakan masuk." + +msgid "Password reset confirmation" +msgstr "Konfirmasi penyetelan ulang sandi" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Masukkan sandi baru dua kali untuk memastikan Anda tidak salah " +"mengetikkannya." + +msgid "New password:" +msgstr "Sandi baru:" + +msgid "Confirm password:" +msgstr "Konfirmasi sandi:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Tautan penyetelan ulang sandi tidak valid. Kemungkinan karena tautan " +"tersebut telah dipakai sebelumnya. Ajukan permintaan penyetelan sandi sekali " +"lagi." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Kami telah mengirimi Anda surel berisi petunjuk untuk mengatur sandi Anda, " +"jika ada akun dengan alamat surel yang sesuai. Anda seharusnya menerima " +"surel tersebut sesaat lagi." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Jika Anda tidak menerima surel, pastikan Anda telah memasukkan alamat yang " +"digunakan saat pendaftaran serta periksa folder spam Anda." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Anda menerima email ini karena Anda meminta penyetelan ulang sandi untuk " +"akun pengguna di %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Kunjungi laman di bawah ini dan ketikkan sandi baru:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Nama pengguna Anda, jika lupa:" + +msgid "Thanks for using our site!" +msgstr "Terima kasih telah menggunakan situs kami!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Tim %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Lupa sandi Anda? Masukkan alamat surel Anda di bawah ini dan kami akan " +"mengirimkan petunjuk untuk mengatur sandi baru Anda." + +msgid "Email address:" +msgstr "Alamat email:" + +msgid "Reset my password" +msgstr "Setel ulang sandi saya" + +msgid "Select all objects on this page for an action" +msgstr "Pilih semua objek di halaman ini untuk suatu aksi" + +msgid "All dates" +msgstr "Semua tanggal" + +#, python-format +msgid "Select %s" +msgstr "Pilih %s" + +#, python-format +msgid "Select %s to change" +msgstr "Pilih %s untuk diubah" + +#, python-format +msgid "Select %s to view" +msgstr "Pilih %s untuk melihat" + +msgid "Date:" +msgstr "Tanggal:" + +msgid "Time:" +msgstr "Waktu:" + +msgid "Lookup" +msgstr "Cari" + +msgid "Currently:" +msgstr "Saat ini:" + +msgid "Change:" +msgstr "Ubah:" diff --git a/external_sources/django/django/contrib/admin/locale/id/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/id/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..bfb31c8 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/id/LC_MESSAGES/djangojs.po @@ -0,0 +1,325 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Fery Setiawan , 2015-2016,2021-2023 +# Jannis Leidel , 2011 +# oon arfiandwi (OonID) , 2020 +# rodin , 2011-2012 +# rodin , 2014,2016 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 15:04-0300\n" +"PO-Revision-Date: 2023-12-04 07:59+0000\n" +"Last-Translator: Fery Setiawan , 2015-2016,2021-2023\n" +"Language-Team: Indonesian (http://app.transifex.com/django/django/language/" +"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" + +#, javascript-format +msgid "Available %s" +msgstr "%s yang tersedia" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Berikut adalah daftar %s yang tersedia. Anda dapat memilih satu atau lebih " +"dengan memilihnya pada kotak di bawah, lalu mengeklik tanda panah \"Pilih\" " +"di antara kedua kotak." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Ketik pada kotak ini untuk menyaring daftar %s yang tersedia." + +msgid "Filter" +msgstr "Filter" + +msgid "Choose all" +msgstr "Pilih semua" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Pilih untuk memilih seluruh %s sekaligus." + +msgid "Choose" +msgstr "Pilih" + +msgid "Remove" +msgstr "Hapus" + +#, javascript-format +msgid "Chosen %s" +msgstr "%s terpilih" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Berikut adalah daftar %s yang terpilih. Anda dapat menghapus satu atau lebih " +"dengan memilihnya pada kotak di bawah, lalu mengeklik tanda panah \"Hapus\" " +"di antara kedua kotak." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "Ketik di dalam kotak utnuk menyaring daftar dar %s terpilih." + +msgid "Remove all" +msgstr "Hapus semua" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Klik untuk menghapus semua pilihan %s sekaligus." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%s pilihan terpilih tidak muncul" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s dari %(cnt)s terpilih" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Beberapa perubahan bidang yang Anda lakukan belum tersimpan. Perubahan yang " +"telah dilakukan akan hilang." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Anda telah memilih tindakan, tetapi Anda belum menyimpan perubahan ke masing-" +"masing bidang. Silakan klik OK untuk menyimpan. Anda harus menjalankan " +"kembali tindakan tersebut." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Anda telah memilih tindakan, dan Anda belum membuat perubahan apa pun di " +"setiap bidang. Anda mungkin mencari tombol Buka daripada tombol Simpan." + +msgid "Now" +msgstr "Sekarang" + +msgid "Midnight" +msgstr "Tengah malam" + +msgid "6 a.m." +msgstr "6 pagi" + +msgid "Noon" +msgstr "Siang" + +msgid "6 p.m." +msgstr "18.00" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Catatan: Waktu Anda lebih cepat %s jam dibandingkan waktu server." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Catatan: Waktu Anda lebih lambat %s jam dibandingkan waktu server." + +msgid "Choose a Time" +msgstr "Pilih Waktu" + +msgid "Choose a time" +msgstr "Pilih waktu" + +msgid "Cancel" +msgstr "Batal" + +msgid "Today" +msgstr "Hari ini" + +msgid "Choose a Date" +msgstr "Pilih Tanggal" + +msgid "Yesterday" +msgstr "Kemarin" + +msgid "Tomorrow" +msgstr "Besok" + +msgid "January" +msgstr "Januari" + +msgid "February" +msgstr "Februari" + +msgid "March" +msgstr "Maret" + +msgid "April" +msgstr "April" + +msgid "May" +msgstr "Mei" + +msgid "June" +msgstr "Juni" + +msgid "July" +msgstr "Juli" + +msgid "August" +msgstr "Agustus" + +msgid "September" +msgstr "September" + +msgid "October" +msgstr "Oktober" + +msgid "November" +msgstr "November" + +msgid "December" +msgstr "Desember" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Jan" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Feb" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Mar" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Apr" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "Mei" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Jun" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Jul" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Agu" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Sep" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Okt" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Nov" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Des" + +msgid "Sunday" +msgstr "" + +msgid "Monday" +msgstr "" + +msgid "Tuesday" +msgstr "" + +msgid "Wednesday" +msgstr "" + +msgid "Thursday" +msgstr "" + +msgid "Friday" +msgstr "" + +msgid "Saturday" +msgstr "" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "M" + +msgctxt "one letter Monday" +msgid "M" +msgstr "S" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "S" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "R" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "K" + +msgctxt "one letter Friday" +msgid "F" +msgstr "J" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "S" + +msgid "Show" +msgstr "Bentangkan" + +msgid "Hide" +msgstr "Ciutkan" diff --git a/external_sources/django/django/contrib/admin/locale/io/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/io/LC_MESSAGES/django.po new file mode 100644 index 0000000..ddf09c2 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/io/LC_MESSAGES/django.po @@ -0,0 +1,668 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Viko Bartero , 2014 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-19 16:49+0100\n" +"PO-Revision-Date: 2017-09-20 01:58+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Ido (http://www.transifex.com/django/django/language/io/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: io\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d %(items)s eliminesis sucesoze." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Onu ne povas eliminar %(name)s" + +msgid "Are you sure?" +msgstr "Ka vu esas certa?" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Eliminar selektita %(verbose_name_plural)s" + +msgid "Administration" +msgstr "" + +msgid "All" +msgstr "Omni" + +msgid "Yes" +msgstr "Yes" + +msgid "No" +msgstr "No" + +msgid "Unknown" +msgstr "Nekonocato" + +msgid "Any date" +msgstr "Irga dato" + +msgid "Today" +msgstr "Hodie" + +msgid "Past 7 days" +msgstr "7 antea dii" + +msgid "This month" +msgstr "Ca monato" + +msgid "This year" +msgstr "Ca yaro" + +msgid "No date" +msgstr "" + +msgid "Has date" +msgstr "" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Skribez la korekta %(username)s e pasvorto di kelka staff account. Remarkez " +"ke both feldi darfas rikonocar miniskulo e mayuskulo." + +msgid "Action:" +msgstr "Ago:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Agregar altra %(verbose_name)s" + +msgid "Remove" +msgstr "Eliminar" + +msgid "action time" +msgstr "horo dil ago" + +msgid "user" +msgstr "" + +msgid "content type" +msgstr "" + +msgid "object id" +msgstr "id dil objekto" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/3/library/functions.html#repr) +msgid "object repr" +msgstr "repr dil objekto" + +msgid "action flag" +msgstr "flago dil ago" + +msgid "change message" +msgstr "chanjar mesajo" + +msgid "log entry" +msgstr "logo informo" + +msgid "log entries" +msgstr "logo informi" + +#, python-format +msgid "Added \"%(object)s\"." +msgstr "\"%(object)s\" agregesis." + +#, python-format +msgid "Changed \"%(object)s\" - %(changes)s" +msgstr "\"%(object)s\" chanjesis - %(changes)s" + +#, python-format +msgid "Deleted \"%(object)s.\"" +msgstr "\"%(object)s\" eliminesis." + +msgid "LogEntry Object" +msgstr "LogEntry Objekto" + +#, python-brace-format +msgid "Added {name} \"{object}\"." +msgstr "" + +msgid "Added." +msgstr "" + +msgid "and" +msgstr "e" + +#, python-brace-format +msgid "Changed {fields} for {name} \"{object}\"." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "" + +#, python-brace-format +msgid "Deleted {name} \"{object}\"." +msgstr "" + +msgid "No fields changed." +msgstr "Nula feldo chanjesis." + +msgid "None" +msgstr "Nula" + +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was added successfully." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Onu devas selektar la objekti por aplikar oli irga ago. Nula objekto " +"chanjesis." + +msgid "No action selected." +msgstr "Nula ago selektesis." + +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "La %(name)s \"%(obj)s\" eliminesis sucesoze." + +#, python-format +msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "Agregar %s" + +#, python-format +msgid "Change %s" +msgstr "Chanjar %s" + +msgid "Database error" +msgstr "Eroro del datumaro" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s chanjesis sucesoze." +msgstr[1] "%(count)s %(name)s chanjesis sucesoze." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s selektita" +msgstr[1] "La %(total_count)s selektita" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "Selektita 0 di %(cnt)s" + +#, python-format +msgid "Change history: %s" +msgstr "Modifikuro historio: %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Por eliminar %(class_name)s %(instance)s on mustas eliminar la sequanta " +"protektita objekti relatita: %(related_objects)s" + +msgid "Django site admin" +msgstr "Django situo admin" + +msgid "Django administration" +msgstr "Django administreyo" + +msgid "Site administration" +msgstr "Administrayo dil ret-situo" + +msgid "Log in" +msgstr "Startar sesiono" + +#, python-format +msgid "%(app)s administration" +msgstr "" + +msgid "Page not found" +msgstr "La pagino ne renkontresis" + +msgid "We're sorry, but the requested page could not be found." +msgstr "Pardonez, ma la demandita pagino ne renkontresis." + +msgid "Home" +msgstr "Hemo" + +msgid "Server error" +msgstr "Eroro del servilo" + +msgid "Server error (500)" +msgstr "Eroro del servilo (500)" + +msgid "Server Error (500)" +msgstr "Eroro del servilo (500)" + +msgid "" +"There's been an error. It's been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Eroro eventis. Ico informesis per e-posto a la administranti dil ret-situo e " +"la eroro esos korektigata balde. Danko pro vua pacienteso." + +msgid "Run the selected action" +msgstr "Exekutar la selektita ago" + +msgid "Go" +msgstr "Irar" + +msgid "Click here to select the objects across all pages" +msgstr "Kliktez hike por selektar la objekti di omna pagini" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Selektar omna %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Desfacar selekto" + +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"Unesme, skribez uzer-nomo ed pasvorto. Pos, vu povos modifikar altra uzer-" +"selekto." + +msgid "Enter a username and password." +msgstr "Skribez uzer-nomo ed pasvorto." + +msgid "Change password" +msgstr "Chanjar pasvorto" + +msgid "Please correct the error below." +msgstr "Korektigez la eroro infre." + +msgid "Please correct the errors below." +msgstr "Korektigez la erori infre." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Skribez nova pasvorto por la uzero %(username)s." + +msgid "Welcome," +msgstr "Bonvenez," + +msgid "View site" +msgstr "" + +msgid "Documentation" +msgstr "Dokumento" + +msgid "Log out" +msgstr "Klozar sesiono" + +#, python-format +msgid "Add %(name)s" +msgstr "Agregar %(name)s" + +msgid "History" +msgstr "Historio" + +msgid "View on site" +msgstr "Vidar en la ret-situo" + +msgid "Filter" +msgstr "Filtrar" + +msgid "Remove from sorting" +msgstr "Eskartar de klasifiko" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Precedo dil klasifiko: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Aktivar/desaktivar klasifiko" + +msgid "Delete" +msgstr "Eliminar" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Eliminar la %(object_name)s '%(escaped_object)s' eliminos relatita objekti, " +"ma vua account ne havas permiso por eliminar la sequanta objekti:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Eliminar la %(object_name)s '%(escaped_object)s' eliminus la sequanta " +"protektita objekti relatita:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Ka vu volas eliminar la %(object_name)s \"%(escaped_object)s\"? Omna " +"sequanta objekti relatita eliminesos:" + +msgid "Objects" +msgstr "" + +msgid "Yes, I'm sure" +msgstr "Yes, me esas certa" + +msgid "No, take me back" +msgstr "" + +msgid "Delete multiple objects" +msgstr "Eliminar multopla objekti" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Eliminar la selektita %(objects_name)s eliminos relatita objekti, ma vua " +"account ne havas permiso por eliminar la sequanta objekti:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Eliminar la selektita %(objects_name)s eliminos la sequanta protektita " +"objekti relatita:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Ka vu volas eliminar la selektita %(objects_name)s? Omna sequanta objekti ed " +"olia relatita objekti eliminesos:" + +msgid "Change" +msgstr "Modifikar" + +msgid "Delete?" +msgstr "Ka eliminar?" + +#, python-format +msgid " By %(filter_title)s " +msgstr "Per %(filter_title)s " + +msgid "Summary" +msgstr "" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Modeli en la %(name)s apliko" + +msgid "Add" +msgstr "Agregar" + +msgid "You don't have permission to edit anything." +msgstr "Vu ne havas permiso por facar modifiki." + +msgid "Recent actions" +msgstr "" + +msgid "My actions" +msgstr "" + +msgid "None available" +msgstr "Nulo disponebla" + +msgid "Unknown content" +msgstr "Nekonocata kontenajo" + +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Vua datumaro instaluro esas defektiva. Verifikez ke la datumaro tabeli " +"kreadesis e ke la uzero havas permiso por lektar la datumaro." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" + +msgid "Forgotten your password or username?" +msgstr "Ka vu obliviis vua pasvorto od uzer-nomo?" + +msgid "Date/time" +msgstr "Dato/horo" + +msgid "User" +msgstr "Uzero" + +msgid "Action" +msgstr "Ago" + +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"Ica objekto ne havas chanjo-historio. Olu forsan ne agregesis per ica " +"administrala ret-situo." + +msgid "Show all" +msgstr "Montrar omni" + +msgid "Save" +msgstr "Salvar" + +msgid "Popup closing..." +msgstr "" + +#, python-format +msgid "Change selected %(model)s" +msgstr "" + +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "" + +msgid "Search" +msgstr "Serchar" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s resulto" +msgstr[1] "%(counter)s resulti" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s totala" + +msgid "Save as new" +msgstr "Salvar kom nova" + +msgid "Save and add another" +msgstr "Salvar ed agregar altra" + +msgid "Save and continue editing" +msgstr "Salvar e durar la modifiko" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Danko pro vua spensita tempo en la ret-situo hodie." + +msgid "Log in again" +msgstr "Ristartar sesiono" + +msgid "Password change" +msgstr "Pasvorto chanjo" + +msgid "Your password was changed." +msgstr "Vua pasvorto chanjesis." + +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Por kauciono, skribez vua anta pasvorto e pos skribez vua nova pasvorto " +"dufoye por verifikar ke olu skribesis korekte." + +msgid "Change my password" +msgstr "Modifikar mea pasvorto" + +msgid "Password reset" +msgstr "Pasvorto chanjo" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Vua pasvorto chanjesis. Vu darfas startar sesiono nun." + +msgid "Password reset confirmation" +msgstr "Pasvorto chanjo konfirmo" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Skribez vua nova pasvorto dufoye por verifikar ke olu skribesis korekte." + +msgid "New password:" +msgstr "Nova pasvorto:" + +msgid "Confirm password:" +msgstr "Konfirmez pasvorto:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"La link por chanjar pasvorto ne esis valida, forsan pro ke olu ja uzesis. " +"Demandez nova pasvorto chanjo." + +msgid "" +"We've emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don't receive an email, please make sure you've entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Se vu ne recevas mesajo, verifikez ke vu skribis la sama e-posto adreso " +"uzita por vua registro e lektez vua spam mesaji." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Vu esas recevanta ica mesajo pro ke vu demandis pasvorto chanjo por vua " +"uzero account che %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Irez al sequanta pagino e selektez nova pasvorto:" + +msgid "Your username, in case you've forgotten:" +msgstr "Vua uzernomo, se vu obliviis olu:" + +msgid "Thanks for using our site!" +msgstr "Danko pro uzar nia ret-situo!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "La equipo di %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we'll email " +"instructions for setting a new one." +msgstr "" +"Ka vu obliviis vua pasvorto? Skribez vua e-posto adreso infre e ni sendos " +"instrucioni por kreadar nova pasvorto." + +msgid "Email address:" +msgstr "E-postala adreso:" + +msgid "Reset my password" +msgstr "Chanjar mea pasvorto" + +msgid "All dates" +msgstr "Omna dati" + +#, python-format +msgid "Select %s" +msgstr "Selektar %s" + +#, python-format +msgid "Select %s to change" +msgstr "Selektar %s por chanjar" + +msgid "Date:" +msgstr "Dato:" + +msgid "Time:" +msgstr "Horo:" + +msgid "Lookup" +msgstr "Serchado" + +msgid "Currently:" +msgstr "Aktuale" + +msgid "Change:" +msgstr "Chanjo:" diff --git a/external_sources/django/django/contrib/admin/locale/io/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/io/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..d7be82e --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/io/LC_MESSAGES/djangojs.po @@ -0,0 +1,145 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-01-17 11:07+0100\n" +"PO-Revision-Date: 2014-10-05 20:11+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Ido (http://www.transifex.com/projects/p/django/language/" +"io/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: io\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" + +msgid "Filter" +msgstr "" + +msgid "Choose all" +msgstr "" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "" + +msgid "Choose" +msgstr "" + +msgid "Remove" +msgstr "" + +#, javascript-format +msgid "Chosen %s" +msgstr "" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" + +msgid "Remove all" +msgstr "" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "" +msgstr[1] "" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" +msgstr[1] "" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +msgstr[1] "" + +msgid "Now" +msgstr "" + +msgid "Clock" +msgstr "" + +msgid "Choose a time" +msgstr "" + +msgid "Midnight" +msgstr "" + +msgid "6 a.m." +msgstr "" + +msgid "Noon" +msgstr "" + +msgid "Cancel" +msgstr "" + +msgid "Today" +msgstr "" + +msgid "Calendar" +msgstr "" + +msgid "Yesterday" +msgstr "" + +msgid "Tomorrow" +msgstr "" + +msgid "" +"January February March April May June July August September October November " +"December" +msgstr "" + +msgid "S M T W T F S" +msgstr "" + +msgid "Show" +msgstr "" + +msgid "Hide" +msgstr "" diff --git a/external_sources/django/django/contrib/admin/locale/is/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/is/LC_MESSAGES/django.po new file mode 100644 index 0000000..868a452 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/is/LC_MESSAGES/django.po @@ -0,0 +1,720 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Dagur Ammendrup , 2019 +# Hafsteinn Einarsson , 2011-2012 +# Jannis Leidel , 2011 +# 479d446b5da12875beba10cac54e9faf_a7ca1e7 , 2013 +# Thordur Sigurdsson , 2016-2020 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-07-14 19:53+0200\n" +"PO-Revision-Date: 2020-07-14 22:38+0000\n" +"Last-Translator: Transifex Bot <>\n" +"Language-Team: Icelandic (http://www.transifex.com/django/django/language/" +"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" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Eyddi %(count)d %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Get ekki eytt %(name)s" + +msgid "Are you sure?" +msgstr "Ertu viss?" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Eyða völdum %(verbose_name_plural)s" + +msgid "Administration" +msgstr "Vefstjórn" + +msgid "All" +msgstr "Allt" + +msgid "Yes" +msgstr "Já" + +msgid "No" +msgstr "Nei" + +msgid "Unknown" +msgstr "Óþekkt" + +msgid "Any date" +msgstr "Allar dagsetningar" + +msgid "Today" +msgstr "Dagurinn í dag" + +msgid "Past 7 days" +msgstr "Síðustu 7 dagar" + +msgid "This month" +msgstr "Þessi mánuður" + +msgid "This year" +msgstr "Þetta ár" + +msgid "No date" +msgstr "Engin dagsetning" + +msgid "Has date" +msgstr "Hefur dagsetningu" + +msgid "Empty" +msgstr "Tómt" + +msgid "Not empty" +msgstr "Ekki tómt" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Vinsamlegast sláðu inn rétt %(username)s og lykilorð fyrir starfsmanna " +"aðgang. Takið eftir að í báðum reitum skipta há- og lágstafir máli." + +msgid "Action:" +msgstr "Aðgerð:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Bæta við öðrum %(verbose_name)s" + +msgid "Remove" +msgstr "Fjarlægja" + +msgid "Addition" +msgstr "Viðbót" + +msgid "Change" +msgstr "Breyta" + +msgid "Deletion" +msgstr "Eyðing" + +msgid "action time" +msgstr "tími aðgerðar" + +msgid "user" +msgstr "notandi" + +msgid "content type" +msgstr "efnistag" + +msgid "object id" +msgstr "kenni hlutar" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "framsetning hlutar" + +msgid "action flag" +msgstr "aðgerðarveifa" + +msgid "change message" +msgstr "breyta skilaboði" + +msgid "log entry" +msgstr "kladdafærsla" + +msgid "log entries" +msgstr "kladdafærslur" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Bætti við „%(object)s“." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Breytti „%(object)s“ — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Eyddi „%(object)s.“" + +msgid "LogEntry Object" +msgstr "LogEntry hlutur" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Bætti við {name} „{object}“." + +msgid "Added." +msgstr "Bætti við." + +msgid "and" +msgstr "og" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Breytti {fields} fyrir {name} „{object}“." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Breytti {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Eyddi {name} „{object}“." + +msgid "No fields changed." +msgstr "Engum reitum breytt." + +msgid "None" +msgstr "Ekkert" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Haltu inni „Control“, eða „Command“ á Mac til þess að velja fleira en eitt." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "{name} „{obj}“ var bætt við." + +msgid "You may edit it again below." +msgstr "Þú mátt breyta þessu aftur hér að neðan." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"{name} „{obj}“ hefur verið bætt við. Þú getur bætt við öðru {name} að neðan." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "{name} „{obj}“ hefur verið breytt. Þú getur breytt því aftur að neðan." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "" +"{name} „{obj}“ hefur verið bætt við. Þú getur breytt því aftur að neðan." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"{name} \"{obj}\" hefur verið breytt. Þú getur bætt við öðru {name} að neðan." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "{name} „{obj}“ hefur verið breytt." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Hlutir verða að vera valdir til að framkvæma aðgerðir á þeim. Engu hefur " +"verið breytt." + +msgid "No action selected." +msgstr "Engin aðgerð valin." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s „%(obj)s“ var eytt." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "%(name)s með ID \"%(key)s\" er ekki til. Var því mögulega eytt?" + +#, python-format +msgid "Add %s" +msgstr "Bæta við %s" + +#, python-format +msgid "Change %s" +msgstr "Breyta %s" + +#, python-format +msgid "View %s" +msgstr "Skoða %s" + +msgid "Database error" +msgstr "Gagnagrunnsvilla" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s var breytt." +msgstr[1] "%(count)s %(name)s var breytt." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "Allir %(total_count)s valdir" +msgstr[1] "Allir %(total_count)s valdir" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 af %(cnt)s valin" + +#, python-format +msgid "Change history: %s" +msgstr "Breytingarsaga: %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Að eyða %(class_name)s %(instance)s þyrfti að eyða eftirfarandi tengdum " +"hlutum: %(related_objects)s" + +msgid "Django site admin" +msgstr "Django vefstjóri" + +msgid "Django administration" +msgstr "Django vefstjórn" + +msgid "Site administration" +msgstr "Vefstjóri" + +msgid "Log in" +msgstr "Skrá inn" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s vefstjórn" + +msgid "Page not found" +msgstr "Síða fannst ekki" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Því miður fannst umbeðin síða ekki." + +msgid "Home" +msgstr "Heim" + +msgid "Server error" +msgstr "Kerfisvilla" + +msgid "Server error (500)" +msgstr "Kerfisvilla (500)" + +msgid "Server Error (500)" +msgstr "Kerfisvilla (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Villa kom upp. Hún hefur verið tilkynnt til vefstjóra með tölvupósti og ætti " +"að lagast fljótlega. Þökkum þolinmæðina." + +msgid "Run the selected action" +msgstr "Keyra valda aðgerð" + +msgid "Go" +msgstr "Áfram" + +msgid "Click here to select the objects across all pages" +msgstr "Smelltu hér til að velja alla hluti" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Velja alla %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Hreinsa val" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Módel í appinu %(name)s" + +msgid "Add" +msgstr "Bæta við" + +msgid "View" +msgstr "Skoða" + +msgid "You don’t have permission to view or edit anything." +msgstr "Þú hefur ekki réttindi til að skoða eða breyta neinu." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Fyrst, settu inn notendanafn og lykilorð. Svo geturðu breytt öðrum " +"notendamöguleikum." + +msgid "Enter a username and password." +msgstr "Sláðu inn notandanafn og lykilorð." + +msgid "Change password" +msgstr "Breyta lykilorði" + +msgid "Please correct the error below." +msgstr "Vinsamlegast lagfærðu villuna fyrir neðan." + +msgid "Please correct the errors below." +msgstr "Vinsamlegast leiðréttu villurnar hér að neðan." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Settu inn nýtt lykilorð fyrir notandann %(username)s." + +msgid "Welcome," +msgstr "Velkomin(n)," + +msgid "View site" +msgstr "Skoða vef" + +msgid "Documentation" +msgstr "Skjölun" + +msgid "Log out" +msgstr "Skrá út" + +#, python-format +msgid "Add %(name)s" +msgstr "Bæta við %(name)s" + +msgid "History" +msgstr "Saga" + +msgid "View on site" +msgstr "Skoða á vef" + +msgid "Filter" +msgstr "Sía" + +msgid "Clear all filters" +msgstr "Hreinsa allar síur" + +msgid "Remove from sorting" +msgstr "Taka úr röðun" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Forgangur röðunar: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Röðun af/á" + +msgid "Delete" +msgstr "Eyða" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Eyðing á %(object_name)s „%(escaped_object)s“ hefði í för með sér eyðingu á " +"tengdum hlutum en þú hefur ekki réttindi til að eyða eftirfarandi hlutum:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Að eyða %(object_name)s „%(escaped_object)s“ þyrfti að eyða eftirfarandi " +"tengdum hlutum:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Ertu viss um að þú viljir eyða %(object_name)s „%(escaped_object)s“? Öllu " +"eftirfarandi verður eytt:" + +msgid "Objects" +msgstr "Hlutir" + +msgid "Yes, I’m sure" +msgstr "Já ég er viss." + +msgid "No, take me back" +msgstr "Nei, fara til baka" + +msgid "Delete multiple objects" +msgstr "Eyða mörgum hlutum." + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Að eyða völdu %(objects_name)s leiðir til þess að skyldum hlutum er eytt, en " +"þinn aðgangur hefur ekki réttindi til að eyða eftirtöldum hlutum:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Að eyða völdum %(objects_name)s myndi leiða til þess að eftirtöldum skyldum " +"hlutum yrði eytt:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Ertu viss um að þú viljir eyða völdum %(objects_name)s? Öllum eftirtöldum " +"hlutum og skyldum hlutum verður eytt:" + +msgid "Delete?" +msgstr "Eyða?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " Eftir %(filter_title)s " + +msgid "Summary" +msgstr "Samantekt" + +msgid "Recent actions" +msgstr "Nýlegar aðgerðir" + +msgid "My actions" +msgstr "Mínar aðgerðir" + +msgid "None available" +msgstr "Engin fáanleg" + +msgid "Unknown content" +msgstr "Óþekkt innihald" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Eitthvað er að gagnagrunnsuppsetningu. Gakktu úr skugga um að allar töflur " +"séu til staðar og að notandinn hafi aðgang að grunninum." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Þú ert skráður inn sem %(username)s, en ert ekki með réttindi að þessari " +"síðu. Viltu skrá þig inn sem annar notandi?" + +msgid "Forgotten your password or username?" +msgstr "Gleymt notandanafn eða lykilorð?" + +msgid "Toggle navigation" +msgstr "" + +msgid "Date/time" +msgstr "Dagsetning/tími" + +msgid "User" +msgstr "Notandi" + +msgid "Action" +msgstr "Aðgerð" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Þessi hlutur hefur enga breytingasögu. Hann var líklega ekki búinn til á " +"þessu stjórnunarsvæði." + +msgid "Show all" +msgstr "Sýna allt" + +msgid "Save" +msgstr "Vista" + +msgid "Popup closing…" +msgstr "Sprettigluggi lokast..." + +msgid "Search" +msgstr "Leita" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s niðurstaða" +msgstr[1] "%(counter)s niðurstöður" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s í heildina" + +msgid "Save as new" +msgstr "Vista sem nýtt" + +msgid "Save and add another" +msgstr "Vista og búa til nýtt" + +msgid "Save and continue editing" +msgstr "Vista og halda áfram að breyta" + +msgid "Save and view" +msgstr "Vista og skoða" + +msgid "Close" +msgstr "Loka" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Breyta völdu %(model)s" + +#, python-format +msgid "Add another %(model)s" +msgstr "Bæta við %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Eyða völdu %(model)s" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Takk fyrir að verja tíma í vefsíðuna í dag." + +msgid "Log in again" +msgstr "Skráðu þig inn aftur" + +msgid "Password change" +msgstr "Breyta lykilorði" + +msgid "Your password was changed." +msgstr "Lykilorði þínu var breytt" + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Vinsamlegast skrifaðu gamla lykilorðið þitt til öryggis. Sláðu svo nýja " +"lykilorðið tvisvar inn svo að hægt sé að ganga úr skugga um að þú hafir ekki " +"gert innsláttarvillu." + +msgid "Change my password" +msgstr "Breyta lykilorðinu mínu" + +msgid "Password reset" +msgstr "Endurstilla lykilorð" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Lykilorðið var endurstillt. Þú getur núna skráð þig inn á vefsvæðið." + +msgid "Password reset confirmation" +msgstr "Staðfesting endurstillingar lykilorðs" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Vinsamlegast settu inn nýja lykilorðið tvisvar til að forðast " +"innsláttarvillur." + +msgid "New password:" +msgstr "Nýtt lykilorð:" + +msgid "Confirm password:" +msgstr "Staðfestu lykilorð:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Endurstilling lykilorðs tókst ekki. Slóðin var ógild. Hugsanlega hefur hún " +"nú þegar verið notuð. Vinsamlegast biddu um nýja endurstillingu." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Við höfum sent þér tölvupóst með leiðbeiningum til að endurstilla lykilorðið " +"þitt, sé aðgangur til með netfanginu sem þú slóst inn. Þú ættir að fá " +"leiðbeiningarnar fljótlega. " + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Ef þú færð ekki tölvupóstinn, gakktu úr skugga um að netfangið sem þú slóst " +"inn sé það sama og þú notaðir til að stofna aðganginn og að það hafi ekki " +"lent í spamsíu." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Þú ert að fá þennan tölvupóst því þú baðst um endurstillingu á lykilorði " +"fyrir aðganginn þinn á %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Vinsamlegast farðu á eftirfarandi síðu og veldu nýtt lykilorð:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Notandanafnið þitt ef þú skyldir hafa gleymt því:" + +msgid "Thanks for using our site!" +msgstr "Takk fyrir að nota vefinn okkar!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s hópurinn" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Hefurðu gleymt lykilorðinu þínu? Sláðu inn netfangið þitt hér að neðan og " +"við sendum þér tölvupóst með leiðbeiningum til að setja nýtt lykilorð. " + +msgid "Email address:" +msgstr "Netfang:" + +msgid "Reset my password" +msgstr "Endursstilla lykilorðið mitt" + +msgid "All dates" +msgstr "Allar dagsetningar" + +#, python-format +msgid "Select %s" +msgstr "Veldu %s" + +#, python-format +msgid "Select %s to change" +msgstr "Veldu %s til að breyta" + +#, python-format +msgid "Select %s to view" +msgstr "Veldu %s til að skoða" + +msgid "Date:" +msgstr "Dagsetning:" + +msgid "Time:" +msgstr "Tími:" + +msgid "Lookup" +msgstr "Fletta upp" + +msgid "Currently:" +msgstr "Eins og er:" + +msgid "Change:" +msgstr "Breyta:" diff --git a/external_sources/django/django/contrib/admin/locale/is/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/is/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..5ddb17c --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/is/LC_MESSAGES/djangojs.po @@ -0,0 +1,267 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# gudbergur , 2012 +# Hafsteinn Einarsson , 2011-2012 +# Jannis Leidel , 2011 +# Matt R, 2018 +# Thordur Sigurdsson , 2016-2017,2020-2021 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-15 09:00+0100\n" +"PO-Revision-Date: 2021-04-06 17:37+0000\n" +"Last-Translator: Thordur Sigurdsson \n" +"Language-Team: Icelandic (http://www.transifex.com/django/django/language/" +"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" + +#, javascript-format +msgid "Available %s" +msgstr "Fáanleg %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Þetta er listi af því %s sem er í boði. Þú getur ákveðið hluti með því að " +"velja þá í boxinu að neðan og ýta svo á \"Velja\" örina milli boxana tveggja." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Skrifaðu í boxið til að sía listann af því %s sem er í boði." + +msgid "Filter" +msgstr "Sía" + +msgid "Choose all" +msgstr "Velja öll" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Smelltu til að velja allt %s í einu." + +msgid "Choose" +msgstr "Veldu" + +msgid "Remove" +msgstr "Fjarlægja" + +#, javascript-format +msgid "Chosen %s" +msgstr "Valin %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Þetta er listinn af völdu %s. Þú getur fjarlægt hluti með því að velja þá í " +"boxinu að neðan og ýta svo á \"Eyða\" örina á milli boxana tveggja." + +msgid "Remove all" +msgstr "Eyða öllum" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Smelltu til að fjarlægja allt valið %s í einu." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] " %(sel)s í %(cnt)s valin" +msgstr[1] " %(sel)s í %(cnt)s valin" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Enn eru óvistaðar breytingar í reitum. Ef þú keyrir aðgerð munu breytingar " +"ekki verða vistaðar." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Þú hefur valið aðgerð en hefur ekki vistað breytingar á reitum. Vinsamlegast " +"veldu 'Í lagi' til að vista. Þú þarft að endurkeyra aðgerðina." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Þú hefur valið aðgerð en hefur ekki gert breytingar á reitum. Þú ert líklega " +"að leita að 'Fara' hnappnum frekar en 'Vista' hnappnum." + +msgid "Now" +msgstr "Núna" + +msgid "Midnight" +msgstr "Miðnætti" + +msgid "6 a.m." +msgstr "6 f.h." + +msgid "Noon" +msgstr "Hádegi" + +msgid "6 p.m." +msgstr "6 e.h." + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Athugaðu að þú ert %s klukkustund á undan tíma vefþjóns." +msgstr[1] "Athugaðu að þú ert %s klukkustundum á undan tíma vefþjóns." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Athugaðu að þú ert %s klukkustund á eftir tíma vefþjóns." +msgstr[1] "Athugaðu að þú ert %s klukkustundum á eftir tíma vefþjóns." + +msgid "Choose a Time" +msgstr "Veldu tíma" + +msgid "Choose a time" +msgstr "Veldu tíma" + +msgid "Cancel" +msgstr "Hætta við" + +msgid "Today" +msgstr "Í dag" + +msgid "Choose a Date" +msgstr "Veldu dagsetningu" + +msgid "Yesterday" +msgstr "Í gær" + +msgid "Tomorrow" +msgstr "Á morgun" + +msgid "January" +msgstr "janúar" + +msgid "February" +msgstr "febrúar" + +msgid "March" +msgstr "mars" + +msgid "April" +msgstr "apríl" + +msgid "May" +msgstr "maí" + +msgid "June" +msgstr "júní" + +msgid "July" +msgstr "júlí" + +msgid "August" +msgstr "ágúst" + +msgid "September" +msgstr "september" + +msgid "October" +msgstr "október" + +msgid "November" +msgstr "nóvember" + +msgid "December" +msgstr "desember" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Jan" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Feb" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Mar" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Apr" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "Maí" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Jún" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Júl" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Ágú" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Sep" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Okt" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Nóv" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Des" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "S" + +msgctxt "one letter Monday" +msgid "M" +msgstr "M" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "Þ" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "M" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "F" + +msgctxt "one letter Friday" +msgid "F" +msgstr "F" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "L" + +msgid "Show" +msgstr "Sýna" + +msgid "Hide" +msgstr "Fela" diff --git a/external_sources/django/django/contrib/admin/locale/it/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/it/LC_MESSAGES/django.po new file mode 100644 index 0000000..3671884 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/it/LC_MESSAGES/django.po @@ -0,0 +1,798 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# 0d21a39e384d88c2313b89b5042c04cb, 2017 +# Carlo Miron , 2018-2019 +# Davide Targa , 2021 +# Denis Darii , 2011 +# Flavio Curella , 2013 +# Franky Bonanno, 2023 +# Jannis Leidel , 2011 +# Luciano De Falco Alfano, 2016 +# Marco Bonetti, 2014 +# Mirco Grillo , 2018,2020 +# Nicola Larosa , 2013 +# palmux , 2014-2015,2021 +# Paolo Melchiorre , 2022-2023 +# Mattia Procopio , 2015 +# Stefano Brentegani , 2015 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 11:41-0300\n" +"PO-Revision-Date: 2023-12-04 07:05+0000\n" +"Last-Translator: Franky Bonanno, 2023\n" +"Language-Team: Italian (http://app.transifex.com/django/django/language/" +"it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Cancella %(verbose_name_plural)s selezionati" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Cancellati/e con successo %(count)d %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Impossibile cancellare %(name)s " + +msgid "Are you sure?" +msgstr "Confermi?" + +msgid "Administration" +msgstr "Amministrazione" + +msgid "All" +msgstr "Tutti" + +msgid "Yes" +msgstr "Sì" + +msgid "No" +msgstr "No" + +msgid "Unknown" +msgstr "Sconosciuto" + +msgid "Any date" +msgstr "Qualsiasi data" + +msgid "Today" +msgstr "Oggi" + +msgid "Past 7 days" +msgstr "Ultimi 7 giorni" + +msgid "This month" +msgstr "Questo mese" + +msgid "This year" +msgstr "Quest'anno" + +msgid "No date" +msgstr "Senza data" + +msgid "Has date" +msgstr "Ha la data" + +msgid "Empty" +msgstr "Vuoto" + +msgid "Not empty" +msgstr "Non vuoto" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Inserisci %(username)s e password corretti per un account di staff. Nota che " +"entrambi i campi distinguono maiuscole e minuscole." + +msgid "Action:" +msgstr "Azione:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Aggiungi un altro %(verbose_name)s." + +msgid "Remove" +msgstr "Elimina" + +msgid "Addition" +msgstr "Aggiunta " + +msgid "Change" +msgstr "Modifica" + +msgid "Deletion" +msgstr "Eliminazione" + +msgid "action time" +msgstr "momento dell'azione" + +msgid "user" +msgstr "utente" + +msgid "content type" +msgstr "content type" + +msgid "object id" +msgstr "id dell'oggetto" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "rappr. dell'oggetto" + +msgid "action flag" +msgstr "flag di azione" + +msgid "change message" +msgstr "messaggio di modifica" + +msgid "log entry" +msgstr "voce di log" + +msgid "log entries" +msgstr "voci di log" + +#, python-format +msgid "Added “%(object)s”." +msgstr "\"%(object)s\" aggiunto." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "%(object)s%(changes)s modificati" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "\"%(object)s\" cancellato." + +msgid "LogEntry Object" +msgstr "Oggetto LogEntry" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Aggiunto {name} \"{object}\"." + +msgid "Added." +msgstr "Aggiunto." + +msgid "and" +msgstr "e" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Modificati {fields} per {name} \"{object}\"." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Modificati {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Eliminato {name} \"{object}\"." + +msgid "No fields changed." +msgstr "Nessun campo modificato." + +msgid "None" +msgstr "Nessuno" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Tieni premuto \"Control\", o \"Command\" su Mac, per selezionarne più di uno." + +msgid "Select this object for an action - {}" +msgstr "Seleziona questo oggetto per intraprendere un'azione - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "Il {name} \"{obj}\" è stato aggiunto con successo." + +msgid "You may edit it again below." +msgstr "Puoi modificarlo di nuovo qui sotto." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"Il {name} \"{obj}\" è stato aggiunto con successo. Puoi aggiungere un altro " +"{name} qui sotto." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"Il {name} \"{obj}\" è stato modificato con successo. Puoi modificarlo " +"nuovamente qui sotto." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "" +"Il {name} \"{obj}\" è stato aggiunto con successo. Puoi modificarlo " +"nuovamente qui sotto." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"Il {name} \"{obj}\" è stato modificato con successo. Puoi aggiungere un " +"altro {name} qui sotto." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "Il {name} \"{obj}\" è stato modificato con successo." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Occorre selezionare degli oggetti per potervi eseguire azioni. Nessun " +"oggetto è stato cambiato." + +msgid "No action selected." +msgstr "Nessuna azione selezionata." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s \"%(obj)s\" cancellato correttamente." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "" +"%(name)s con ID \"%(key)s\" non esiste. Probabilmente è stato cancellato?" + +#, python-format +msgid "Add %s" +msgstr "Aggiungi %s" + +#, python-format +msgid "Change %s" +msgstr "Modifica %s" + +#, python-format +msgid "View %s" +msgstr "Vista %s" + +msgid "Database error" +msgstr "Errore del database" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s modificato correttamente." +msgstr[1] "%(count)s %(name)s modificati correttamente." +msgstr[2] "%(count)s %(name)s modificati correttamente." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s selezionato" +msgstr[1] "Tutti i %(total_count)s selezionati" +msgstr[2] "Tutti i %(total_count)s selezionati" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 di %(cnt)s selezionati" + +#, python-format +msgid "Change history: %s" +msgstr "Tracciato delle modifiche: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"La cancellazione di %(class_name)s %(instance)s richiederebbe l'eliminazione " +"dei seguenti oggetti protetti correlati: %(related_objects)s" + +msgid "Django site admin" +msgstr "Amministrazione sito Django" + +msgid "Django administration" +msgstr "Amministrazione Django" + +msgid "Site administration" +msgstr "Amministrazione sito" + +msgid "Log in" +msgstr "Accedi" + +#, python-format +msgid "%(app)s administration" +msgstr "Amministrazione %(app)s" + +msgid "Page not found" +msgstr "Pagina non trovata" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Spiacenti, ma la pagina richiesta non è stata trovata." + +msgid "Home" +msgstr "Pagina iniziale" + +msgid "Server error" +msgstr "Errore del server" + +msgid "Server error (500)" +msgstr "Errore del server (500)" + +msgid "Server Error (500)" +msgstr "Errore del server (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Si è verificato un errore. Gli amministratori del sito ne sono stati " +"informati per email, e vi porranno rimedio a breve. Grazie per la vostra " +"pazienza." + +msgid "Run the selected action" +msgstr "Esegui l'azione selezionata" + +msgid "Go" +msgstr "Vai" + +msgid "Click here to select the objects across all pages" +msgstr "Clicca qui per selezionare gli oggetti da tutte le pagine." + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Seleziona tutti %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Annulla la selezione" + +msgid "Breadcrumbs" +msgstr "Breadcrumbs" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Modelli nell'applicazione %(name)s" + +msgid "Add" +msgstr "Aggiungi" + +msgid "View" +msgstr "Vista" + +msgid "You don’t have permission to view or edit anything." +msgstr "Non hai i permessi per visualizzare o modificare nulla." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Prima di tutto inserisci nome utente e password. Poi potrai modificare le " +"altre impostazioni utente." + +msgid "Enter a username and password." +msgstr "Inserisci nome utente e password." + +msgid "Change password" +msgstr "Modifica password" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Si prega di correggere l'errore sottostante." +msgstr[1] "Si prega di correggere gli errori sottostanti." +msgstr[2] "Si prega di correggere gli errori sottostanti." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"Inserisci una nuova password per l'utente %(username)s." + +msgid "Skip to main content" +msgstr "Passa al contenuto principale" + +msgid "Welcome," +msgstr "Benvenuto," + +msgid "View site" +msgstr "Visualizza il sito" + +msgid "Documentation" +msgstr "Documentazione" + +msgid "Log out" +msgstr "Annulla l'accesso" + +#, python-format +msgid "Add %(name)s" +msgstr "Aggiungi %(name)s" + +msgid "History" +msgstr "Storia" + +msgid "View on site" +msgstr "Vedi sul sito" + +msgid "Filter" +msgstr "Filtra" + +msgid "Hide counts" +msgstr "Nascondi i conteggi " + +msgid "Show counts" +msgstr "Mostra i conteggi " + +msgid "Clear all filters" +msgstr "Cancella tutti i filtri" + +msgid "Remove from sorting" +msgstr "Elimina dall'ordinamento" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Priorità d'ordinamento: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Abilita/disabilita ordinamento" + +msgid "Toggle theme (current theme: auto)" +msgstr "Cambia tema (tema corrente: auto)" + +msgid "Toggle theme (current theme: light)" +msgstr "Cambia tema (tema corrente: chiaro)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Cambia tema (tema corrente: scuro)" + +msgid "Delete" +msgstr "Cancella" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"La cancellazione di %(object_name)s '%(escaped_object)s' causerebbe la " +"cancellazione di oggetti collegati, ma questo account non ha i permessi per " +"cancellare i seguenti tipi di oggetti:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"La cancellazione di %(object_name)s '%(escaped_object)s' richiederebbe " +"l'eliminazione dei seguenti oggetti protetti correlati:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Sicuro di voler cancellare %(object_name)s \"%(escaped_object)s\"? Tutti i " +"seguenti oggetti collegati verranno cancellati:" + +msgid "Objects" +msgstr "Oggetti" + +msgid "Yes, I’m sure" +msgstr "Sì, sono sicuro" + +msgid "No, take me back" +msgstr "No, torna indietro" + +msgid "Delete multiple objects" +msgstr "Cancella più oggetti" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Per eliminare l'elemento %(objects_name)s selezionato è necessario rimuovere " +"anche gli oggetti correlati, ma il tuo account non dispone " +"dell'autorizzazione a eliminare i seguenti tipi di oggetti:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"L'eliminazione dell'elemento %(objects_name)s selezionato richiederebbe la " +"rimozione dei seguenti oggetti protetti correlati:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Confermi la cancellazione dell'elemento %(objects_name)s selezionato? " +"Saranno rimossi tutti i seguenti oggetti e le loro voci correlate:" + +msgid "Delete?" +msgstr "Cancellare?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " Per %(filter_title)s " + +msgid "Summary" +msgstr "Riepilogo" + +msgid "Recent actions" +msgstr "Azioni recenti" + +msgid "My actions" +msgstr "Le mie azioni" + +msgid "None available" +msgstr "Nulla disponibile" + +msgid "Added:" +msgstr "Aggiunto" + +msgid "Changed:" +msgstr "Cambiato " + +msgid "Deleted:" +msgstr "Eliminato " + +msgid "Unknown content" +msgstr "Contenuto sconosciuto" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Qualcosa non è andato a buon fine nell'installazione del database. " +"Assicurati che le tabelle del database siano state create, e che il database " +"sia leggibile dall'utente corretto." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Ti sei autenticato come %(username)s, ma non sei autorizzato ad accedere a " +"questa pagina. Vorresti autenticarti con un altro account?" + +msgid "Forgotten your password or username?" +msgstr "Hai dimenticato la password o lo username?" + +msgid "Toggle navigation" +msgstr "Abilita/disabilita navigazione" + +msgid "Sidebar" +msgstr "Barra laterale" + +msgid "Start typing to filter…" +msgstr "Inizia a scrivere per filtrare..." + +msgid "Filter navigation items" +msgstr "Filtra gli oggetti di navigazione" + +msgid "Date/time" +msgstr "Data/ora" + +msgid "User" +msgstr "Utente" + +msgid "Action" +msgstr "Azione" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "voce" +msgstr[1] "voci" +msgstr[2] "voci" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Questo oggetto non ha cambiamenti registrati. Probabilmente non è stato " +"creato con questo sito di amministrazione." + +msgid "Show all" +msgstr "Mostra tutto" + +msgid "Save" +msgstr "Salva" + +msgid "Popup closing…" +msgstr "Chiusura popup..." + +msgid "Search" +msgstr "Cerca" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s risultato" +msgstr[1] "%(counter)s risultati" +msgstr[2] "%(counter)s risultati" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s in tutto" + +msgid "Save as new" +msgstr "Salva come nuovo" + +msgid "Save and add another" +msgstr "Salva e aggiungi un altro" + +msgid "Save and continue editing" +msgstr "Salva e continua le modifiche" + +msgid "Save and view" +msgstr "Salva e visualizza" + +msgid "Close" +msgstr "Chiudi" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Modifica la selezione %(model)s" + +#, python-format +msgid "Add another %(model)s" +msgstr "Aggiungi un altro %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Elimina la selezione %(model)s" + +#, python-format +msgid "View selected %(model)s" +msgstr "Visualizza il %(model)s selezionato" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Grazie per avere trascorso del tempo di qualità sul sito oggi." + +msgid "Log in again" +msgstr "Accedi di nuovo" + +msgid "Password change" +msgstr "Cambio password" + +msgid "Your password was changed." +msgstr "La tua password è stata cambiata." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Inserisci la password attuale, per ragioni di sicurezza, e poi la nuova " +"password due volte, per verificare di averla scritta correttamente." + +msgid "Change my password" +msgstr "Modifica la mia password" + +msgid "Password reset" +msgstr "Reimposta la password" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "La tua password è stata impostata. Ora puoi effettuare l'accesso." + +msgid "Password reset confirmation" +msgstr "Conferma reimpostazione password" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Inserisci la nuova password due volte, per verificare di averla scritta " +"correttamente." + +msgid "New password:" +msgstr "Nuova password:" + +msgid "Confirm password:" +msgstr "Conferma la password:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Il link per la reimpostazione della password non era valido, forse perché " +"era già stato usato. Richiedi una nuova reimpostazione della password." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Abbiamo inviato istruzioni per impostare la password, se esiste un account " +"valido all'indirizzo email che hai indicato. Dovresti riceverle a breve." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Se non ricevi un messaggio email, accertati di aver inserito l'indirizzo con " +"cui ti sei registrato, e controlla la cartella dello spam." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Ricevi questa mail perché hai richiesto di reimpostare la password del tuo " +"account utente presso %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Vai alla pagina seguente e scegli una nuova password:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Il tuo nome utente, in caso tu l'abbia dimenticato:" + +msgid "Thanks for using our site!" +msgstr "Grazie per aver usato il nostro sito!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Il team di %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Password dimenticata? Inserisci il tuo indirizzo email qui sotto e ti " +"invieremo le istruzioni per impostarne una nuova." + +msgid "Email address:" +msgstr "Indirizzo email:" + +msgid "Reset my password" +msgstr "Reimposta la mia password" + +msgid "Select all objects on this page for an action" +msgstr "" +"Seleziona tutti gli oggetti di questa pagina per intraprendere un'azione " + +msgid "All dates" +msgstr "Tutte le date" + +#, python-format +msgid "Select %s" +msgstr "Scegli %s" + +#, python-format +msgid "Select %s to change" +msgstr "Scegli %s da modificare" + +#, python-format +msgid "Select %s to view" +msgstr "Seleziona %s per visualizzarlo" + +msgid "Date:" +msgstr "Data:" + +msgid "Time:" +msgstr "Ora:" + +msgid "Lookup" +msgstr "Consultazione" + +msgid "Currently:" +msgstr "Attualmente:" + +msgid "Change:" +msgstr "Modifica:" diff --git a/external_sources/django/django/contrib/admin/locale/it/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/it/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..73a00fd --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/it/LC_MESSAGES/djangojs.po @@ -0,0 +1,287 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Denis Darii , 2011 +# Jannis Leidel , 2011 +# Luciano De Falco Alfano, 2016 +# Marco Bonetti, 2014 +# Mirco Grillo , 2020 +# Nicola Larosa , 2011-2012 +# palmux , 2015,2021 +# Paolo Melchiorre , 2022-2023 +# Stefano Brentegani , 2015 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-03-17 03:19-0500\n" +"PO-Revision-Date: 2023-04-25 07:59+0000\n" +"Last-Translator: Paolo Melchiorre , 2022-2023\n" +"Language-Team: Italian (http://www.transifex.com/django/django/language/" +"it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "%s disponibili" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Questa è la lista dei %s disponibili. Puoi sceglierne alcuni selezionandoli " +"nella casella qui sotto e poi facendo clic sulla freccia \"Scegli\" tra le " +"due caselle." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Scrivi in questa casella per filtrare l'elenco dei %s disponibili." + +msgid "Filter" +msgstr "Filtro" + +msgid "Choose all" +msgstr "Scegli tutto" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Fai clic per scegliere tutti i %s in una volta." + +msgid "Choose" +msgstr "Scegli" + +msgid "Remove" +msgstr "Elimina" + +#, javascript-format +msgid "Chosen %s" +msgstr "%s scelti" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Questa è la lista dei %s scelti. Puoi eliminarne alcuni selezionandoli nella " +"casella qui sotto e poi facendo clic sulla freccia \"Elimina\" tra le due " +"caselle." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "Scrivi in questa casella per filtrare l'elenco dei %s selezionati." + +msgid "Remove all" +msgstr "Elimina tutti" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Fai clic per eliminare tutti i %s in una volta." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%s opzione selezionata non visibile" +msgstr[1] "%s opzioni selezionate non visibili" +msgstr[2] "%s opzioni selezionate non visibili" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s di %(cnt)s selezionato" +msgstr[1] "%(sel)s di %(cnt)s selezionati" +msgstr[2] "%(sel)s di %(cnt)s selezionati" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Ci sono aggiornamenti non salvati su singoli campi modificabili. Se esegui " +"un'azione, le modifiche non salvate andranno perse." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Hai selezionato un'azione, ma non hai ancora salvato le modifiche apportate " +"a campi singoli. Fai clic su OK per salvare. Poi dovrai rieseguire l'azione." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Hai selezionato un'azione e non hai ancora apportato alcuna modifica ai " +"campi singoli. Probabilmente stai cercando il pulsante Vai, invece di Salva." + +msgid "Now" +msgstr "Adesso" + +msgid "Midnight" +msgstr "Mezzanotte" + +msgid "6 a.m." +msgstr "6 del mattino" + +msgid "Noon" +msgstr "Mezzogiorno" + +msgid "6 p.m." +msgstr "6 del pomeriggio" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Nota: Sei %s ora in anticipo rispetto al server." +msgstr[1] "Nota: Sei %s ore in anticipo rispetto al server." +msgstr[2] "Nota: Sei %s ore in anticipo rispetto al server." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Nota: Sei %s ora in ritardo rispetto al server." +msgstr[1] "Nota: Sei %s ore in ritardo rispetto al server." +msgstr[2] "Nota: Sei %s ore in ritardo rispetto al server." + +msgid "Choose a Time" +msgstr "Scegli un orario" + +msgid "Choose a time" +msgstr "Scegli un orario" + +msgid "Cancel" +msgstr "Annulla" + +msgid "Today" +msgstr "Oggi" + +msgid "Choose a Date" +msgstr "Scegli una data" + +msgid "Yesterday" +msgstr "Ieri" + +msgid "Tomorrow" +msgstr "Domani" + +msgid "January" +msgstr "Gennaio" + +msgid "February" +msgstr "Febbraio" + +msgid "March" +msgstr "Marzo" + +msgid "April" +msgstr "Aprile" + +msgid "May" +msgstr "Maggio" + +msgid "June" +msgstr "Giugno" + +msgid "July" +msgstr "Luglio" + +msgid "August" +msgstr "Agosto" + +msgid "September" +msgstr "Settembre" + +msgid "October" +msgstr "Ottobre" + +msgid "November" +msgstr "Novembre" + +msgid "December" +msgstr "Dicembre" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Gen" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Feb" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Mar" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Apr" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "Mag" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Giu" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Lug" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Ago" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Set" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Ott" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Nov" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Dic" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "D" + +msgctxt "one letter Monday" +msgid "M" +msgstr "L" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "Ma" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "Me" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "G" + +msgctxt "one letter Friday" +msgid "F" +msgstr "V" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "S" + +msgid "Show" +msgstr "Mostra" + +msgid "Hide" +msgstr "Nascondi" diff --git a/external_sources/django/django/contrib/admin/locale/ja/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/ja/LC_MESSAGES/django.po new file mode 100644 index 0000000..ac42d38 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ja/LC_MESSAGES/django.po @@ -0,0 +1,784 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# akiyoko , 2020 +# Claude Paroz , 2016 +# Goto Hayato , 2019 +# Hiroki Sawano, 2022 +# Jannis Leidel , 2011 +# Masaya, 2023 +# Shinichi Katsumata , 2019 +# Shinya Okano , 2012-2018,2021,2023 +# TANIGUCHI Taichi, 2022 +# Takuro Onoue , 2020 +# Takuya N , 2020 +# Tetsuya Morimoto , 2011 +# 上田慶祐 , 2015 +# 余田大輝, 2024 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 07:05+0000\n" +"Last-Translator: 余田大輝, 2024\n" +"Language-Team: Japanese (http://app.transifex.com/django/django/language/" +"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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "選択された %(verbose_name_plural)s の削除" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d 個の %(items)s を削除しました。" + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "%(name)s が削除できません" + +msgid "Are you sure?" +msgstr "よろしいですか?" + +msgid "Administration" +msgstr "管理" + +msgid "All" +msgstr "全て" + +msgid "Yes" +msgstr "はい" + +msgid "No" +msgstr "いいえ" + +msgid "Unknown" +msgstr "不明" + +msgid "Any date" +msgstr "いつでも" + +msgid "Today" +msgstr "今日" + +msgid "Past 7 days" +msgstr "過去 7 日間" + +msgid "This month" +msgstr "今月" + +msgid "This year" +msgstr "今年" + +msgid "No date" +msgstr "日付なし" + +msgid "Has date" +msgstr "日付あり" + +msgid "Empty" +msgstr "空" + +msgid "Not empty" +msgstr "空でない" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"スタッフアカウントの正しい%(username)sとパスワードを入力してください。どちら" +"のフィールドも大文字と小文字は区別されます。" + +msgid "Action:" +msgstr "操作:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "%(verbose_name)s の追加" + +msgid "Remove" +msgstr "削除" + +msgid "Addition" +msgstr "追加" + +msgid "Change" +msgstr "変更" + +msgid "Deletion" +msgstr "削除" + +msgid "action time" +msgstr "操作時刻" + +msgid "user" +msgstr "ユーザー" + +msgid "content type" +msgstr "コンテンツタイプ" + +msgid "object id" +msgstr "オブジェクト ID" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "オブジェクトの文字列表現" + +msgid "action flag" +msgstr "操作種別" + +msgid "change message" +msgstr "変更メッセージ" + +msgid "log entry" +msgstr "ログエントリー" + +msgid "log entries" +msgstr "ログエントリー" + +#, python-format +msgid "Added “%(object)s”." +msgstr "“%(object)s” を追加しました。" + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "“%(object)s” を変更しました — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "“%(object)s” を削除しました。" + +msgid "LogEntry Object" +msgstr "ログエントリー オブジェクト" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "{name} “{object}” を追加しました。" + +msgid "Added." +msgstr "追加されました。" + +msgid "and" +msgstr "と" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "{name} “{object}” の {fields} を変更しました。" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "{fields} を変更しました。" + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "{name} “{object}” を削除しました。" + +msgid "No fields changed." +msgstr "変更はありませんでした。" + +msgid "None" +msgstr "None" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"複数選択するときには Control キーを押したまま選択してください。Mac は " +"Command キーを使ってください" + +msgid "Select this object for an action - {}" +msgstr "アクション用にこのオブジェクトを選択 - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "{name} “{obj}” を追加しました。" + +msgid "You may edit it again below." +msgstr "以下で再度編集できます。" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "{name} “{obj}” を追加しました。別の {name} を以下から追加できます。" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "{name} “{obj}” を変更しました。以下から再度編集できます。" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "{name} “{obj}” を変更しました。 別の {name} を以下から追加できます。" + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "{name} “{obj}” を変更しました。" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"操作を実行するには、対象を選択する必要があります。何も変更されませんでした。" + +msgid "No action selected." +msgstr "操作が選択されていません。" + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s “%(obj)s” を削除しました。" + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "" +"ID “%(key)s” の%(name)sは見つかりませんでした。削除された可能性があります。" + +#, python-format +msgid "Add %s" +msgstr "%s を追加" + +#, python-format +msgid "Change %s" +msgstr "%s を変更" + +#, python-format +msgid "View %s" +msgstr "%sを表示" + +msgid "Database error" +msgstr "データベースエラー" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s 個の %(name)s を変更しました。" + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s 個選択されました" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "%(cnt)s個の内ひとつも選択されていません" + +#, python-format +msgid "Change history: %s" +msgstr "変更履歴: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"%(class_name)s %(instance)s を削除するには以下の保護された関連オブジェクトを" +"削除することになります: %(related_objects)s" + +msgid "Django site admin" +msgstr "Django サイト管理" + +msgid "Django administration" +msgstr "Django 管理サイト" + +msgid "Site administration" +msgstr "サイト管理" + +msgid "Log in" +msgstr "ログイン" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s 管理" + +msgid "Page not found" +msgstr "ページが見つかりません" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "申し訳ありませんが、お探しのページは見つかりませんでした。" + +msgid "Home" +msgstr "ホーム" + +msgid "Server error" +msgstr "サーバーエラー" + +msgid "Server error (500)" +msgstr "サーバーエラー (500)" + +msgid "Server Error (500)" +msgstr "サーバーエラー (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"エラーが発生しました。サイト管理者にメールで報告されたので、修正されるまでし" +"ばらくお待ちください。" + +msgid "Run the selected action" +msgstr "選択された操作を実行" + +msgid "Go" +msgstr "実行" + +msgid "Click here to select the objects across all pages" +msgstr "全ページの項目を選択するにはここをクリック" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "%(total_count)s個ある%(module_name)s を全て選択" + +msgid "Clear selection" +msgstr "選択を解除" + +msgid "Breadcrumbs" +msgstr "パンくずリスト" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "%(name)s アプリケーション内のモデル" + +msgid "Add" +msgstr "追加" + +msgid "View" +msgstr "表示" + +msgid "You don’t have permission to view or edit anything." +msgstr "表示または変更のためのパーミッションがありません。" + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"まずユーザー名とパスワードを登録してください。その後詳細情報が編集可能になり" +"ます。" + +msgid "Enter a username and password." +msgstr "ユーザー名とパスワードを入力してください。" + +msgid "Change password" +msgstr "パスワードの変更" + +msgid "Set password" +msgstr "パスワードを設定" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "下記のエラーを修正してください。" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"%(username)sさんの新しいパスワードを入力してください。" + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "" +"このアクションは、このユーザーに対するパスワードによる認証を有効にします。" + +msgid "Disable password-based authentication" +msgstr "パスワードによる認証の無効化" + +msgid "Enable password-based authentication" +msgstr "パスワードによる認証の有効化" + +msgid "Skip to main content" +msgstr "スキップしてメインコンテンツへ" + +msgid "Welcome," +msgstr "ようこそ" + +msgid "View site" +msgstr "サイトを表示" + +msgid "Documentation" +msgstr "ドキュメント" + +msgid "Log out" +msgstr "ログアウト" + +#, python-format +msgid "Add %(name)s" +msgstr "%(name)s を追加" + +msgid "History" +msgstr "履歴" + +msgid "View on site" +msgstr "サイト上で表示" + +msgid "Filter" +msgstr "フィルター" + +msgid "Hide counts" +msgstr "件数を非表示" + +msgid "Show counts" +msgstr "件数を表示" + +msgid "Clear all filters" +msgstr "全てのフィルターを解除" + +msgid "Remove from sorting" +msgstr "ソート条件から外します" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "ソート優先順位: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "昇順降順を切り替えます" + +msgid "Toggle theme (current theme: auto)" +msgstr "テーマを切り替え (現在のテーマ: 自動)" + +msgid "Toggle theme (current theme: light)" +msgstr "テーマを切り替え (現在のテーマ: ライト)" + +msgid "Toggle theme (current theme: dark)" +msgstr "テーマを切り替え (現在のテーマ: ダーク)" + +msgid "Delete" +msgstr "削除" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"%(object_name)s '%(escaped_object)s' の削除時に関連づけられたオブジェクトも削" +"除しようとしましたが、あなたのアカウントには以下のタイプのオブジェクトを削除" +"するパーミッションがありません:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"%(object_name)s '%(escaped_object)s' を削除するには以下の保護された関連オブ" +"ジェクトを削除することになります:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"%(object_name)s \"%(escaped_object)s\"を削除しますか? 関連づけられている以下" +"のオブジェクトも全て削除されます:" + +msgid "Objects" +msgstr "オブジェクト" + +msgid "Yes, I’m sure" +msgstr "はい、大丈夫です" + +msgid "No, take me back" +msgstr "戻る" + +msgid "Delete multiple objects" +msgstr "複数のオブジェクトを削除します" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"選択した %(objects_name)s を削除すると関連するオブジェクトも削除しますが、あ" +"なたのアカウントは以下のオブジェクト型を削除する権限がありません:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"選択した %(objects_name)s を削除すると以下の保護された関連オブジェクトを削除" +"することになります:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"本当に選択した %(objects_name)s を削除しますか? 以下の全てのオブジェクトと関" +"連する要素が削除されます:" + +msgid "Delete?" +msgstr "削除しますか?" + +#, python-format +msgid " By %(filter_title)s " +msgstr "%(filter_title)s で絞り込む" + +msgid "Summary" +msgstr "概要" + +msgid "Recent actions" +msgstr "最近行った操作" + +msgid "My actions" +msgstr "自分の操作" + +msgid "None available" +msgstr "利用不可" + +msgid "Added:" +msgstr "追加されました:" + +msgid "Changed:" +msgstr "変更されました:" + +msgid "Deleted:" +msgstr "削除されました:" + +msgid "Unknown content" +msgstr "不明なコンテント" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"データベースのインストールに問題があります。適切なデータベーステーブルが作ら" +"れているか、適切なユーザーがデータベースを読み込み可能かを確認してください。" + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"あなたは %(username)s として認証されましたが、このページへのアクセス許可があ" +"りません。他のアカウントでログインしますか?" + +msgid "Forgotten your password or username?" +msgstr "パスワードまたはユーザー名を忘れましたか?" + +msgid "Toggle navigation" +msgstr "ナビゲーションを切り替えます" + +msgid "Sidebar" +msgstr "サイドバー" + +msgid "Start typing to filter…" +msgstr "絞り込みの入力..." + +msgid "Filter navigation items" +msgstr "ナビゲーション項目の絞り込み" + +msgid "Date/time" +msgstr "日付/時刻" + +msgid "User" +msgstr "ユーザー" + +msgid "Action" +msgstr "操作" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "エントリー" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"このオブジェクトには変更履歴がありません。おそらくこの管理サイトで追加したも" +"のではありません。" + +msgid "Show all" +msgstr "全件表示" + +msgid "Save" +msgstr "保存" + +msgid "Popup closing…" +msgstr "ポップアップを閉じています..." + +msgid "Search" +msgstr "検索" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "結果 %(counter)s" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "全 %(full_result_count)s 件" + +msgid "Save as new" +msgstr "新規保存" + +msgid "Save and add another" +msgstr "保存してもう一つ追加" + +msgid "Save and continue editing" +msgstr "保存して編集を続ける" + +msgid "Save and view" +msgstr "保存して表示" + +msgid "Close" +msgstr "閉じる" + +#, python-format +msgid "Change selected %(model)s" +msgstr "選択された %(model)s の変更" + +#, python-format +msgid "Add another %(model)s" +msgstr "%(model)s の追加" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "選択された %(model)s を削除" + +#, python-format +msgid "View selected %(model)s" +msgstr "選択された %(model)s を表示" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "ご利用ありがとうございました。" + +msgid "Log in again" +msgstr "もう一度ログイン" + +msgid "Password change" +msgstr "パスワードの変更" + +msgid "Your password was changed." +msgstr "あなたのパスワードは変更されました" + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"セキュリティ上の理由から元のパスワードの入力が必要です。新しいパスワードは正" +"しく入力したか確認できるように二度入力してください。" + +msgid "Change my password" +msgstr "パスワードの変更" + +msgid "Password reset" +msgstr "パスワードをリセット" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "パスワードがセットされました。ログインしてください。" + +msgid "Password reset confirmation" +msgstr "パスワードリセットの確認" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "確認のために、新しいパスワードを二回入力してください。" + +msgid "New password:" +msgstr "新しいパスワード:" + +msgid "Confirm password:" +msgstr "新しいパスワード (確認用) :" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"パスワードリセットのリンクが不正です。おそらくこのリンクは既に使われていま" +"す。もう一度パスワードリセットしてください。" + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"入力されたメールアドレスを持つアカウントが存在する場合、パスワードを設定する" +"ためのメールを送信しました。すぐに届くはずです。" + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"メールが届かない場合は、登録したメールアドレスを入力したか確認し、スパムフォ" +"ルダに入っていないか確認してください。" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"このメールは %(site_name)s で、あなたのアカウントのパスワードリセットが要求さ" +"れたため、送信されました。" + +msgid "Please go to the following page and choose a new password:" +msgstr "次のページで新しいパスワードを選んでください:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "あなたのユーザー名 (もし忘れていたら):" + +msgid "Thanks for using our site!" +msgstr "ご利用ありがとうございました!" + +#, python-format +msgid "The %(site_name)s team" +msgstr " %(site_name)s チーム" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"パスワードを忘れましたか? メールアドレスを以下に入力すると、新しいパスワード" +"の設定方法をお知らせします。" + +msgid "Email address:" +msgstr "メールアドレス:" + +msgid "Reset my password" +msgstr "パスワードをリセット" + +msgid "Select all objects on this page for an action" +msgstr "アクション用にこのページのすべてのオブジェクトを選択" + +msgid "All dates" +msgstr "いつでも" + +#, python-format +msgid "Select %s" +msgstr "%s を選択" + +#, python-format +msgid "Select %s to change" +msgstr "変更する %s を選択" + +#, python-format +msgid "Select %s to view" +msgstr "表示する%sを選択" + +msgid "Date:" +msgstr "日付:" + +msgid "Time:" +msgstr "時刻:" + +msgid "Lookup" +msgstr "検索" + +msgid "Currently:" +msgstr "現在の値:" + +msgid "Change:" +msgstr "変更後:" diff --git a/external_sources/django/django/contrib/admin/locale/ja/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/ja/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..55e78db --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ja/LC_MESSAGES/djangojs.po @@ -0,0 +1,322 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Goto Hayato , 2021 +# Jannis Leidel , 2011 +# Shinya Okano , 2012,2014-2016,2023 +# Taichi Taniguchi, 2022 +# Takuro Onoue , 2020 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 15:04-0300\n" +"PO-Revision-Date: 2023-12-04 07:59+0000\n" +"Last-Translator: Shinya Okano , 2012,2014-2016,2023\n" +"Language-Team: Japanese (http://app.transifex.com/django/django/language/" +"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" + +#, javascript-format +msgid "Available %s" +msgstr "利用可能 %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"これが使用可能な %s のリストです。下のボックスで項目を選択し、2つのボックス間" +"の \"選択\"の矢印をクリックして、いくつかを選択することができます。" + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "使用可能な %s のリストを絞り込むには、このボックスに入力します。" + +msgid "Filter" +msgstr "フィルター" + +msgid "Choose all" +msgstr "全て選択" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "クリックするとすべての %s を選択します。" + +msgid "Choose" +msgstr "選択" + +msgid "Remove" +msgstr "削除" + +#, javascript-format +msgid "Chosen %s" +msgstr "選択された %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"これが選択された %s のリストです。下のボックスで選択し、2つのボックス間の " +"\"削除\"矢印をクリックして一部を削除することができます。" + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "選択された%sのリストを絞り込むには、このボックスに入力します。" + +msgid "Remove all" +msgstr "すべて削除" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "クリックするとすべての %s を選択から削除します。" + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "選択された%s件のオプションは非表示です。" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(cnt)s個中%(sel)s個選択" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"フィールドに未保存の変更があります。操作を実行すると未保存の変更は失われま" +"す。" + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"操作を選択しましたが、フィールドに未保存の変更があります。OKをクリックして保" +"存してください。その後、操作を再度実行する必要があります。" + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"操作を選択しましたが、フィールドに変更はありませんでした。もしかして保存ボタ" +"ンではなくて実行ボタンをお探しですか。" + +msgid "Now" +msgstr "現在" + +msgid "Midnight" +msgstr "0時" + +msgid "6 a.m." +msgstr "午前 6 時" + +msgid "Noon" +msgstr "12時" + +msgid "6 p.m." +msgstr "午後 6 時" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "ノート: あなたの環境はサーバー時間より、%s時間進んでいます。" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "ノート: あなたの環境はサーバー時間より、%s時間遅れています。" + +msgid "Choose a Time" +msgstr "時間を選択" + +msgid "Choose a time" +msgstr "時間を選択" + +msgid "Cancel" +msgstr "キャンセル" + +msgid "Today" +msgstr "今日" + +msgid "Choose a Date" +msgstr "日付を選択" + +msgid "Yesterday" +msgstr "昨日" + +msgid "Tomorrow" +msgstr "明日" + +msgid "January" +msgstr "1月" + +msgid "February" +msgstr "2月" + +msgid "March" +msgstr "3月" + +msgid "April" +msgstr "4月" + +msgid "May" +msgstr "5月" + +msgid "June" +msgstr "6月" + +msgid "July" +msgstr "7月" + +msgid "August" +msgstr "8月" + +msgid "September" +msgstr "9月" + +msgid "October" +msgstr "10月" + +msgid "November" +msgstr "11月" + +msgid "December" +msgstr "12月" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "1月" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "2月" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "3月" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "4月" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "5月" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "6月" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "7月" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "8月" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "9月" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "10月" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "11月" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "12月" + +msgid "Sunday" +msgstr "日曜日" + +msgid "Monday" +msgstr "月曜日" + +msgid "Tuesday" +msgstr "火曜日" + +msgid "Wednesday" +msgstr "水曜日" + +msgid "Thursday" +msgstr "木曜日" + +msgid "Friday" +msgstr "金曜日" + +msgid "Saturday" +msgstr "土曜日" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "日" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "月" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "火" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "水" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "木" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "金" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "土" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "日" + +msgctxt "one letter Monday" +msgid "M" +msgstr "月" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "火" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "水" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "木" + +msgctxt "one letter Friday" +msgid "F" +msgstr "金" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "土" + +msgid "Show" +msgstr "表示" + +msgid "Hide" +msgstr "非表示" diff --git a/external_sources/django/django/contrib/admin/locale/ka/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/ka/LC_MESSAGES/django.po new file mode 100644 index 0000000..75aee9c --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ka/LC_MESSAGES/django.po @@ -0,0 +1,699 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# André Bouatchidzé , 2013-2015 +# David A. , 2011 +# Jannis Leidel , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-01-16 20:42+0100\n" +"PO-Revision-Date: 2019-01-18 00:36+0000\n" +"Last-Translator: Ramiro Morales\n" +"Language-Team: Georgian (http://www.transifex.com/django/django/language/" +"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" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d %(items)s წარმატებით წაიშალა." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "%(name)s ვერ იშლება" + +msgid "Are you sure?" +msgstr "დარწმუნებული ხართ?" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "არჩეული %(verbose_name_plural)s-ის წაშლა" + +msgid "Administration" +msgstr "ადმინისტრირება" + +msgid "All" +msgstr "ყველა" + +msgid "Yes" +msgstr "კი" + +msgid "No" +msgstr "არა" + +msgid "Unknown" +msgstr "გაურკვეველი" + +msgid "Any date" +msgstr "ნებისმიერი თარიღი" + +msgid "Today" +msgstr "დღეს" + +msgid "Past 7 days" +msgstr "ბოლო 7 დღე" + +msgid "This month" +msgstr "მიმდინარე თვე" + +msgid "This year" +msgstr "მიმდინარე წელი" + +msgid "No date" +msgstr "" + +msgid "Has date" +msgstr "" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"გთხოვთ, შეიყვანოთ სწორი %(username)s და პაროლი პერსონალის ანგარიშისთვის. " +"იქონიეთ მხედველობაში, რომ ორივე ველი ითვალისწინებს მთავრულს." + +msgid "Action:" +msgstr "მოქმედება:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "კიდევ ერთი %(verbose_name)s-ის დამატება" + +msgid "Remove" +msgstr "წაშლა" + +msgid "Addition" +msgstr "" + +msgid "Change" +msgstr "შეცვლა" + +msgid "Deletion" +msgstr "" + +msgid "action time" +msgstr "მოქმედების დრო" + +msgid "user" +msgstr "" + +msgid "content type" +msgstr "" + +msgid "object id" +msgstr "ობიექტის id" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "ობიექტის წარმ." + +msgid "action flag" +msgstr "მოქმედების დროშა" + +msgid "change message" +msgstr "შეცვლის შეტყობინება" + +msgid "log entry" +msgstr "ლოგის ერთეული" + +msgid "log entries" +msgstr "ლოგის ერთეულები" + +#, python-format +msgid "Added \"%(object)s\"." +msgstr "დამატებულია \"%(object)s\"." + +#, python-format +msgid "Changed \"%(object)s\" - %(changes)s" +msgstr "შეცვლილია \"%(object)s\" - %(changes)s" + +#, python-format +msgid "Deleted \"%(object)s.\"" +msgstr "წაშლილია \"%(object)s.\"" + +msgid "LogEntry Object" +msgstr "ჟურნალის ჩანაწერის ობიექტი" + +#, python-brace-format +msgid "Added {name} \"{object}\"." +msgstr "" + +msgid "Added." +msgstr "" + +msgid "and" +msgstr "და" + +#, python-brace-format +msgid "Changed {fields} for {name} \"{object}\"." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "" + +#, python-brace-format +msgid "Deleted {name} \"{object}\"." +msgstr "" + +msgid "No fields changed." +msgstr "არცერთი ველი არ შეცვლილა." + +msgid "None" +msgstr "არცერთი" + +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was added successfully." +msgstr "" + +msgid "You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"ობიექტებზე მოქმედებების შესასრულებლად ისინი არჩეული უნდა იყოს. არცერთი " +"ობიექტი არჩეული არ არის." + +msgid "No action selected." +msgstr "მოქმედება არჩეული არ არის." + +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "%(name)s \"%(obj)s\" წარმატებით წაიშალა." + +#, python-format +msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "დავამატოთ %s" + +#, python-format +msgid "Change %s" +msgstr "შევცვალოთ %s" + +#, python-format +msgid "View %s" +msgstr "" + +msgid "Database error" +msgstr "მონაცემთა ბაზის შეცდომა" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s წარმატებით შეიცვალა." +msgstr[1] "%(count)s %(name)s წარმატებით შეიცვალა." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s-ია არჩეული" +msgstr[1] "%(total_count)s-ია არჩეული" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "%(cnt)s-დან არცერთი არჩეული არ არის" + +#, python-format +msgid "Change history: %s" +msgstr "ცვლილებების ისტორია: %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" + +msgid "Django site admin" +msgstr "Django-ს ადმინისტრირების საიტი" + +msgid "Django administration" +msgstr "Django-ს ადმინისტრირება" + +msgid "Site administration" +msgstr "საიტის ადმინისტრირება" + +msgid "Log in" +msgstr "შესვლა" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s ადმინისტრირება" + +msgid "Page not found" +msgstr "გვერდი ვერ მოიძებნა" + +msgid "We're sorry, but the requested page could not be found." +msgstr "უკაცრავად, მოთხოვნილი გვერდი ვერ მოიძებნა." + +msgid "Home" +msgstr "საწყისი გვერდი" + +msgid "Server error" +msgstr "სერვერის შეცდომა" + +msgid "Server error (500)" +msgstr "სერვერის შეცდომა (500)" + +msgid "Server Error (500)" +msgstr "სერვერის შეცდომა (500)" + +msgid "" +"There's been an error. It's been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"მოხდა შეცდომა. ინფორმაცია მასზე გადაეცა საიტის ადმინისტრატორებს ელ. ფოსტით " +"და ის უნდა შესწორდეს უმოკლეს ვადებში. გმადლობთ მოთმინებისთვის." + +msgid "Run the selected action" +msgstr "არჩეული მოქმედების შესრულება" + +msgid "Go" +msgstr "გადასვლა" + +msgid "Click here to select the objects across all pages" +msgstr "ყველა გვერდზე არსებული ობიექტის მოსანიშნად დააწკაპეთ აქ" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "ყველა %(total_count)s %(module_name)s-ის მონიშვნა" + +msgid "Clear selection" +msgstr "მონიშვნის გასუფთავება" + +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"ჯერ შეიყვანეთ მომხმარებლის სახელი და პაროლი. ამის შემდეგ თქვენ გექნებათ " +"მომხმარებლის სხვა ოპციების რედაქტირების შესაძლებლობა." + +msgid "Enter a username and password." +msgstr "შეიყვანეთ მომხმარებლის სახელი და პაროლი" + +msgid "Change password" +msgstr "პაროლის შეცვლა" + +msgid "Please correct the error below." +msgstr "" + +msgid "Please correct the errors below." +msgstr "გთხოვთ, შეასწოროთ ქვემოთმოყვანილი შეცდომები." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"შეიყვანეთ ახალი პაროლი მომხმარებლისათვის %(username)s." + +msgid "Welcome," +msgstr "კეთილი იყოს თქვენი მობრძანება," + +msgid "View site" +msgstr "საიტის ნახვა" + +msgid "Documentation" +msgstr "დოკუმენტაცია" + +msgid "Log out" +msgstr "გამოსვლა" + +#, python-format +msgid "Add %(name)s" +msgstr "დავამატოთ %(name)s" + +msgid "History" +msgstr "ისტორია" + +msgid "View on site" +msgstr "წარმოდგენა საიტზე" + +msgid "Filter" +msgstr "ფილტრი" + +msgid "Remove from sorting" +msgstr "დალაგებიდან მოშორება" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "დალაგების პრიორიტეტი: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "დალაგების გადართვა" + +msgid "Delete" +msgstr "წავშალოთ" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"ობიექტების წაშლა: %(object_name)s '%(escaped_object)s' გამოიწვევს " +"დაკავშირებული ობიექტების წაშლას, მაგრამ თქვენ არა გაქვთ შემდეგი ტიპების " +"ობიექტების წაშლის უფლება:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"%(object_name)s ტიპის '%(escaped_object)s' ობიექტის წაშლა მოითხოვს ასევე " +"შემდეგი დაკავშირებული ობიექტების წაშლას:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"ნამდვილად გსურთ, წაშალოთ %(object_name)s \"%(escaped_object)s\"? ყველა " +"ქვემოთ მოყვანილი დაკავშირებული ობიექტი წაშლილი იქნება:" + +msgid "Objects" +msgstr "ობიექტები" + +msgid "Yes, I'm sure" +msgstr "კი, ნამდვილად" + +msgid "No, take me back" +msgstr "არა, დამაბრუნეთ უკან" + +msgid "Delete multiple objects" +msgstr "რამდენიმე ობიექტის წაშლა" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"%(objects_name)s ტიპის ობიექტის წაშლა ითხოვს ასევე შემდეგი ობიექტების " +"წაშლას, მაგრამ თქვენ არ გაქვთ ამის ნებართვა:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"არჩეული %(objects_name)s ობიექტის წაშლა მოითხოვს ასევე შემდეგი დაცული " +"დაკავშირეული ობიექტების წაშლას:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"დარწმუნებული ხართ, რომ გსურთ %(objects_name)s ობიექტის წაშლა? ყველა შემდეგი " +"ობიექტი, და მათზე დამოკიდებული ჩანაწერები წაშლილი იქნება:" + +msgid "View" +msgstr "" + +msgid "Delete?" +msgstr "წავშალოთ?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " %(filter_title)s მიხედვით " + +msgid "Summary" +msgstr "შეჯამება" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "მოდელები %(name)s აპლიკაციაში" + +msgid "Add" +msgstr "დამატება" + +msgid "You don't have permission to view or edit anything." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "My actions" +msgstr "" + +msgid "None available" +msgstr "არ არის მისაწვდომი" + +msgid "Unknown content" +msgstr "უცნობი შიგთავსი" + +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"თქვენი მონაცემთა ბაზის ინსტალაცია არაკორექტულია. დარწმუნდით, რომ მონაცემთა " +"ბაზის შესაბამისი ცხრილები შექმნილია, და მონაცემთა ბაზის წაკითხვა შეუძლია " +"შესაბამის მომხმარებელს." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" + +msgid "Forgotten your password or username?" +msgstr "დაგავიწყდათ თქვენი პაროლი ან მომხმარებლის სახელი?" + +msgid "Date/time" +msgstr "თარიღი/დრო" + +msgid "User" +msgstr "მომხმარებელი" + +msgid "Action" +msgstr "მოქმედება" + +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"ამ ობიექტს ცვლილებების ისტორია არა აქვს. როგორც ჩანს, იგი არ იყო დამატებული " +"ადმინისტრირების საიტის მეშვეობით." + +msgid "Show all" +msgstr "ვაჩვენოთ ყველა" + +msgid "Save" +msgstr "შევინახოთ" + +msgid "Popup closing…" +msgstr "" + +msgid "Search" +msgstr "ძებნა" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s შედეგი" +msgstr[1] "%(counter)s შედეგი" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "სულ %(full_result_count)s" + +msgid "Save as new" +msgstr "შევინახოთ, როგორც ახალი" + +msgid "Save and add another" +msgstr "შევინახოთ და დავამატოთ ახალი" + +msgid "Save and continue editing" +msgstr "შევინახოთ და გავაგრძელოთ რედაქტირება" + +msgid "Save and view" +msgstr "" + +msgid "Close" +msgstr "" + +#, python-format +msgid "Change selected %(model)s" +msgstr "მონიშნული %(model)s-ის შეცვლა" + +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "მონიშნული %(model)s-ის წაშლა" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "გმადლობთ, რომ დღეს ამ საიტთან მუშაობას დაუთმეთ დრო." + +msgid "Log in again" +msgstr "ხელახლა შესვლა" + +msgid "Password change" +msgstr "პაროლის შეცვლა" + +msgid "Your password was changed." +msgstr "თქვენი პაროლი შეიცვალა." + +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"გთხოვთ, უსაფრთხოების დაცვის მიზნით, შეიყვანოთ თქვენი ძველი პაროლი, შემდეგ კი " +"ახალი პაროლი ორჯერ, რათა დარწმუნდეთ, რომ იგი შეყვანილია სწორად." + +msgid "Change my password" +msgstr "შევცვალოთ ჩემი პაროლი" + +msgid "Password reset" +msgstr "პაროლის აღდგენა" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "" +"თქვენი პაროლი დაყენებულია. ახლა შეგიძლიათ გადახვიდეთ შემდეგ გვერდზე და " +"შეხვიდეთ სისტემაში." + +msgid "Password reset confirmation" +msgstr "პაროლი შეცვლის დამოწმება" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"გთხოვთ, შეიყვანეთ თქვენი ახალი პაროლი ორჯერ, რათა დავრწმუნდეთ, რომ იგი " +"სწორად ჩაბეჭდეთ." + +msgid "New password:" +msgstr "ახალი პაროლი:" + +msgid "Confirm password:" +msgstr "პაროლის დამოწმება:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"პაროლის აღდგენის ბმული არასწორი იყო, შესაძლოა იმის გამო, რომ იგი უკვე ყოფილა " +"გამოყენებული. გთხოვთ, კიდევ ერთხელ სცადოთ პაროლის აღდგენა." + +msgid "" +"We've emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don't receive an email, please make sure you've entered the address " +"you registered with, and check your spam folder." +msgstr "" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"თქვენ მიიღეთ ეს წერილი იმიტომ, რომ გააკეთეთ პაროლის თავიდან დაყენების " +"მოთხოვნა თქვენი მომხმარებლის ანგარიშისთვის %(site_name)s-ზე." + +msgid "Please go to the following page and choose a new password:" +msgstr "გთხოვთ, გადახვიდეთ შემდეგ გვერდზე და აირჩიოთ ახალი პაროლი:" + +msgid "Your username, in case you've forgotten:" +msgstr "თქვენი მომხმარებლის სახელი (თუ დაგავიწყდათ):" + +msgid "Thanks for using our site!" +msgstr "გმადლობთ, რომ იყენებთ ჩვენს საიტს!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s საიტის გუნდი" + +msgid "" +"Forgotten your password? Enter your email address below, and we'll email " +"instructions for setting a new one." +msgstr "" +"დაგავიწყდათ თქვენი პაროლი? შეიყვანეთ თქვენი ელ. ფოსტის მისამართი ქვემოთ და " +"ჩვენ გამოგიგზავნით მითითებებს ახალი პაროლის დასაყენებლად." + +msgid "Email address:" +msgstr "ელ. ფოსტის მისამართი:" + +msgid "Reset my password" +msgstr "აღვადგინოთ ჩემი პაროლი" + +msgid "All dates" +msgstr "ყველა თარიღი" + +#, python-format +msgid "Select %s" +msgstr "ავირჩიოთ %s" + +#, python-format +msgid "Select %s to change" +msgstr "აირჩიეთ %s შესაცვლელად" + +#, python-format +msgid "Select %s to view" +msgstr "" + +msgid "Date:" +msgstr "თარიღი;" + +msgid "Time:" +msgstr "დრო:" + +msgid "Lookup" +msgstr "ძიება" + +msgid "Currently:" +msgstr "ამჟამად:" + +msgid "Change:" +msgstr "შეცვლა:" diff --git a/external_sources/django/django/contrib/admin/locale/ka/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/ka/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..65ee60f --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ka/LC_MESSAGES/djangojs.po @@ -0,0 +1,218 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# André Bouatchidzé , 2013,2015 +# David A. , 2011 +# Jannis Leidel , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" +"PO-Revision-Date: 2017-09-19 16:41+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Georgian (http://www.transifex.com/django/django/language/" +"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" + +#, javascript-format +msgid "Available %s" +msgstr "მისაწვდომი %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"ეს არის მისაწვდომი %s-ის სია. ზოგიერთი მათგანის ასარჩევად, მონიშვნით ისინი " +"ქვედა სარკმელში და დააწკაპუნეთ ორ სარკმელს შორის მდებარე ისარზე \"არჩევა\" ." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "აკრიფეთ ამ სარკმელში მისაწვდომი %s-ის სიის გასაფილტრად." + +msgid "Filter" +msgstr "ფილტრი" + +msgid "Choose all" +msgstr "ავირჩიოთ ყველა" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "დააწკაპუნეთ ერთდროულად ყველა %s-ის ასარჩევად." + +msgid "Choose" +msgstr "არჩევა" + +msgid "Remove" +msgstr "წავშალოთ" + +#, javascript-format +msgid "Chosen %s" +msgstr "არჩეული %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"ეს არის არჩეული %s-ის სია. ზოგიერთი მათგანის მოსაშორებლად, მონიშვნით ისინი " +"ქვედა სარკმელში და დააწკაპუნეთ ორ სარკმელს შორის მდებარე ისარზე \"მოშორება" +"\" ." + +msgid "Remove all" +msgstr "ყველას მოშორება" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "დააწკაპუნეთ ყველა არჩეული %s-ის ერთდროულად მოსაშორებლად." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(cnt)s-დან არჩეულია %(sel)s" +msgstr[1] "%(cnt)s-დან არჩეულია %(sel)s" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"ცალკეულ ველებში შეუნახავი ცვლილებები გაქვთ! თუ მოქმედებას შეასრულებთ, " +"შეუნახავი ცვლილებები დაიკარაგება." + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"აგირჩევიათ მოქმედება, მაგრამ ცალკეული ველები ჯერ არ შეგინახიათ! გთხოვთ, " +"შენახვისთვის დააჭიროთ OK. მოქმედების ხელახლა გაშვება მოგიწევთ." + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"აგირჩევიათ მოქმედება, მაგრამ ცალკეულ ველებში ცვლილებები არ გაგიკეთებიათ! " +"სავარაუდოდ, ეძებთ ღილაკს \"Go\", და არა \"შენახვა\"" + +msgid "Now" +msgstr "ახლა" + +msgid "Midnight" +msgstr "შუაღამე" + +msgid "6 a.m." +msgstr "დილის 6 სთ" + +msgid "Noon" +msgstr "შუადღე" + +msgid "6 p.m." +msgstr "" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "შენიშვნა: თქვენ ხართ %s საათით წინ სერვერის დროზე." +msgstr[1] "შენიშვნა: თქვენ ხართ %s საათით წინ სერვერის დროზე." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "შენიშვნა: თქვენ ხართ %s საათით უკან სერვერის დროზე." +msgstr[1] "შენიშვნა: თქვენ ხართ %s საათით უკან სერვერის დროზე." + +msgid "Choose a Time" +msgstr "" + +msgid "Choose a time" +msgstr "ავირჩიოთ დრო" + +msgid "Cancel" +msgstr "უარი" + +msgid "Today" +msgstr "დღეს" + +msgid "Choose a Date" +msgstr "" + +msgid "Yesterday" +msgstr "გუშინ" + +msgid "Tomorrow" +msgstr "ხვალ" + +msgid "January" +msgstr "" + +msgid "February" +msgstr "" + +msgid "March" +msgstr "" + +msgid "April" +msgstr "" + +msgid "May" +msgstr "" + +msgid "June" +msgstr "" + +msgid "July" +msgstr "" + +msgid "August" +msgstr "" + +msgid "September" +msgstr "" + +msgid "October" +msgstr "" + +msgid "November" +msgstr "" + +msgid "December" +msgstr "" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "" + +msgctxt "one letter Monday" +msgid "M" +msgstr "" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "" + +msgctxt "one letter Friday" +msgid "F" +msgstr "" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "" + +msgid "Show" +msgstr "ვაჩვენოთ" + +msgid "Hide" +msgstr "დავმალოთ" diff --git a/external_sources/django/django/contrib/admin/locale/kab/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/kab/LC_MESSAGES/django.po new file mode 100644 index 0000000..b3d8958 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/kab/LC_MESSAGES/django.po @@ -0,0 +1,631 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-19 16:49+0100\n" +"PO-Revision-Date: 2017-10-06 11:59+0000\n" +"Last-Translator: Muḥend Belqasem \n" +"Language-Team: Kabyle (http://www.transifex.com/django/django/language/" +"kab/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: kab\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "" + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "" + +msgid "Are you sure?" +msgstr "Tebɣiḍ?" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "" + +msgid "Administration" +msgstr "Tadbelt" + +msgid "All" +msgstr "Akkw" + +msgid "Yes" +msgstr "Ih" + +msgid "No" +msgstr "Uhu" + +msgid "Unknown" +msgstr "Arussin" + +msgid "Any date" +msgstr "Yal azemz" + +msgid "Today" +msgstr "Ass-a" + +msgid "Past 7 days" +msgstr "Di 7 n wussan ineggura" + +msgid "This month" +msgstr "Aggur-agi" + +msgid "This year" +msgstr "Aseggass-agi" + +msgid "No date" +msgstr "Ulac azemz" + +msgid "Has date" +msgstr "Ɣur-s azemz" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" + +msgid "Action:" +msgstr "Tigawt:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "" + +msgid "Remove" +msgstr "Kkes" + +msgid "action time" +msgstr "akud n tigawt" + +msgid "user" +msgstr "aseqdac" + +msgid "content type" +msgstr "anaw n ugbur" + +msgid "object id" +msgstr "asulay n tɣawsa" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/3/library/functions.html#repr) +msgid "object repr" +msgstr "" + +msgid "action flag" +msgstr "anay n tigawt" + +msgid "change message" +msgstr "" + +msgid "log entry" +msgstr "anekcum n uɣmis" + +msgid "log entries" +msgstr "inekcam n uɣmis" + +#, python-format +msgid "Added \"%(object)s\"." +msgstr "" + +#, python-format +msgid "Changed \"%(object)s\" - %(changes)s" +msgstr "" + +#, python-format +msgid "Deleted \"%(object)s.\"" +msgstr "" + +msgid "LogEntry Object" +msgstr "" + +#, python-brace-format +msgid "Added {name} \"{object}\"." +msgstr "" + +msgid "Added." +msgstr "yettwarna." + +msgid "and" +msgstr "akked" + +#, python-brace-format +msgid "Changed {fields} for {name} \"{object}\"." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "" + +#, python-brace-format +msgid "Deleted {name} \"{object}\"." +msgstr "" + +msgid "No fields changed." +msgstr "" + +msgid "None" +msgstr "Ula yiwen" + +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was added successfully." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" + +msgid "No action selected." +msgstr "" + +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "" + +#, python-format +msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "Rnu %s" + +#, python-format +msgid "Change %s" +msgstr "" + +msgid "Database error" +msgstr "Agul n database" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "" + +#, python-format +msgid "Change history: %s" +msgstr "" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" + +msgid "Django site admin" +msgstr "" + +msgid "Django administration" +msgstr "" + +msgid "Site administration" +msgstr "Asmel n tedbelt" + +msgid "Log in" +msgstr "Kcem" + +#, python-format +msgid "%(app)s administration" +msgstr "" + +msgid "Page not found" +msgstr "Asebtar ulac-it" + +msgid "We're sorry, but the requested page could not be found." +msgstr "Ad nesḥissef imi asebter i d-sutreḍ ulac-it." + +msgid "Home" +msgstr "Agejdan" + +msgid "Server error" +msgstr "Tuccḍa n uqeddac" + +msgid "Server error (500)" +msgstr "" + +msgid "Server Error (500)" +msgstr "" + +msgid "" +"There's been an error. It's been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +msgid "Run the selected action" +msgstr "" + +msgid "Go" +msgstr "Ẓer" + +msgid "Click here to select the objects across all pages" +msgstr "" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "" + +msgid "Clear selection" +msgstr "" + +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" + +msgid "Enter a username and password." +msgstr "" + +msgid "Change password" +msgstr "Beddel awal n tbaḍnit" + +msgid "Please correct the error below." +msgstr "" + +msgid "Please correct the errors below." +msgstr "" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" + +msgid "Welcome," +msgstr "Anṣuf," + +msgid "View site" +msgstr "Wali asmel" + +msgid "Documentation" +msgstr "Tasemlit" + +msgid "Log out" +msgstr "Asenser" + +#, python-format +msgid "Add %(name)s" +msgstr "" + +msgid "History" +msgstr "Amazray" + +msgid "View on site" +msgstr "Wali deg usmel" + +msgid "Filter" +msgstr "Tastayt" + +msgid "Remove from sorting" +msgstr "" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "" + +msgid "Toggle sorting" +msgstr "" + +msgid "Delete" +msgstr "Mḥu" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" + +msgid "Objects" +msgstr "Tiɣawsiwin" + +msgid "Yes, I'm sure" +msgstr "" + +msgid "No, take me back" +msgstr "" + +msgid "Delete multiple objects" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" + +msgid "Change" +msgstr "Beddel" + +msgid "Delete?" +msgstr "Kkes?" + +#, python-format +msgid " By %(filter_title)s " +msgstr "" + +msgid "Summary" +msgstr "Agzul" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "" + +msgid "Add" +msgstr "Rnu" + +msgid "You don't have permission to edit anything." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "My actions" +msgstr "Tigawin-iw" + +msgid "None available" +msgstr "" + +msgid "Unknown content" +msgstr "" + +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" + +msgid "Forgotten your password or username?" +msgstr "" + +msgid "Date/time" +msgstr "Azemz/asrag" + +msgid "User" +msgstr "Amseqdac" + +msgid "Action" +msgstr "Tigawt" + +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" + +msgid "Show all" +msgstr "Sken akk" + +msgid "Save" +msgstr "Sekles" + +msgid "Popup closing..." +msgstr "" + +#, python-format +msgid "Change selected %(model)s" +msgstr "" + +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "" + +msgid "Search" +msgstr "Anadi" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "" + +msgid "Save as new" +msgstr "Sekles d amaynut:" + +msgid "Save and add another" +msgstr "" + +msgid "Save and continue editing" +msgstr "" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "" + +msgid "Log in again" +msgstr "" + +msgid "Password change" +msgstr "Abeddel n wawal uffir" + +msgid "Your password was changed." +msgstr "" + +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" + +msgid "Change my password" +msgstr "" + +msgid "Password reset" +msgstr "Awennez n wawal uffir" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "" + +msgid "Password reset confirmation" +msgstr "Asentem n uwennez n wawal uffir" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" + +msgid "New password:" +msgstr "Awal n tbaḍnit amaynut:" + +msgid "Confirm password:" +msgstr "Sentem awal uffir" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" + +msgid "" +"We've emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don't receive an email, please make sure you've entered the address " +"you registered with, and check your spam folder." +msgstr "" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" + +msgid "Please go to the following page and choose a new password:" +msgstr "" + +msgid "Your username, in case you've forgotten:" +msgstr "" + +msgid "Thanks for using our site!" +msgstr "" + +#, python-format +msgid "The %(site_name)s team" +msgstr "" + +msgid "" +"Forgotten your password? Enter your email address below, and we'll email " +"instructions for setting a new one." +msgstr "" + +msgid "Email address:" +msgstr "Tansa e-mail :" + +msgid "Reset my password" +msgstr "Wennez awal-iw uffir" + +msgid "All dates" +msgstr "Izemzen merra" + +#, python-format +msgid "Select %s" +msgstr "Fren %s" + +#, python-format +msgid "Select %s to change" +msgstr "" + +msgid "Date:" +msgstr "Azemz:" + +msgid "Time:" +msgstr "Akud:" + +msgid "Lookup" +msgstr "Anadi" + +msgid "Currently:" +msgstr "Tura:" + +msgid "Change:" +msgstr "Beddel:" diff --git a/external_sources/django/django/contrib/admin/locale/kab/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/kab/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..57f70c9 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/kab/LC_MESSAGES/djangojs.po @@ -0,0 +1,204 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"PO-Revision-Date: 2017-10-06 08:10+0000\n" +"Last-Translator: Muḥend Belqasem \n" +"Language-Team: Kabyle (http://www.transifex.com/django/django/language/" +"kab/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: kab\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "Yella %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" + +msgid "Filter" +msgstr "Tastayt" + +msgid "Choose all" +msgstr "Fren akk" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "" + +msgid "Choose" +msgstr "Fren" + +msgid "Remove" +msgstr "kkes" + +#, javascript-format +msgid "Chosen %s" +msgstr "Ifren %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" + +msgid "Remove all" +msgstr "Kkes akk" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s si %(cnt)s yettwafren" +msgstr[1] "%(sel)s si %(cnt)s ttwafernen" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" +msgstr[1] "" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +msgstr[1] "" + +msgid "Now" +msgstr "Tura" + +msgid "Choose a Time" +msgstr "Fren akud:" + +msgid "Choose a time" +msgstr "Fren akud" + +msgid "Midnight" +msgstr "Ttnaṣfa n yiḍ" + +msgid "6 a.m." +msgstr "6 f.t." + +msgid "Noon" +msgstr "Ttnaṣfa n uzal" + +msgid "6 p.m." +msgstr "6 m.d." + +msgid "Cancel" +msgstr "Sefsex" + +msgid "Today" +msgstr "Ass-a" + +msgid "Choose a Date" +msgstr "Fren azemz" + +msgid "Yesterday" +msgstr "Iḍelli" + +msgid "Tomorrow" +msgstr "Azekka" + +msgid "January" +msgstr "Yennayer" + +msgid "February" +msgstr "Fuṛaṛ" + +msgid "March" +msgstr "Meɣres" + +msgid "April" +msgstr "Yebrir" + +msgid "May" +msgstr "Mayyu" + +msgid "June" +msgstr "Yunyu" + +msgid "July" +msgstr "Yulyu" + +msgid "August" +msgstr "Ɣuct" + +msgid "September" +msgstr "Ctamber" + +msgid "October" +msgstr "Tuber" + +msgid "November" +msgstr "Wamber" + +msgid "December" +msgstr "Dujamber" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "" + +msgctxt "one letter Monday" +msgid "M" +msgstr "" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "" + +msgctxt "one letter Friday" +msgid "F" +msgstr "" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "" + +msgid "Show" +msgstr "Sken" + +msgid "Hide" +msgstr "Ffer" diff --git a/external_sources/django/django/contrib/admin/locale/kk/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/kk/LC_MESSAGES/django.po new file mode 100644 index 0000000..6d9625a --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/kk/LC_MESSAGES/django.po @@ -0,0 +1,695 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Baurzhan Muftakhidinov , 2015 +# Leo Trubach , 2017 +# Nurlan Rakhimzhanov , 2011 +# yun_man_ger , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-01-16 20:42+0100\n" +"PO-Revision-Date: 2019-01-18 00:36+0000\n" +"Last-Translator: Ramiro Morales\n" +"Language-Team: Kazakh (http://www.transifex.com/django/django/language/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" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Таңдалған %(count)d %(items)s элемент өшірілді." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "%(name)s өшіру мүмкін емес" + +msgid "Are you sure?" +msgstr "Осыған сенімдісіз бе?" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Таңдалған %(verbose_name_plural)s өшірілді" + +msgid "Administration" +msgstr "" + +msgid "All" +msgstr "Барлығы" + +msgid "Yes" +msgstr "Иә" + +msgid "No" +msgstr "Жоқ" + +msgid "Unknown" +msgstr "Белгісіз" + +msgid "Any date" +msgstr "Кез келген күн" + +msgid "Today" +msgstr "Бүгін" + +msgid "Past 7 days" +msgstr "Өткен 7 күн" + +msgid "This month" +msgstr "Осы ай" + +msgid "This year" +msgstr "Осы жыл" + +msgid "No date" +msgstr "Күні жоқ" + +msgid "Has date" +msgstr "Күні бар" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" + +msgid "Action:" +msgstr "Әрекет:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Тағы басқа %(verbose_name)s кос" + +msgid "Remove" +msgstr "Өшіру" + +msgid "Addition" +msgstr "" + +msgid "Change" +msgstr "Өзгетру" + +msgid "Deletion" +msgstr "" + +msgid "action time" +msgstr "әрекет уақыты" + +msgid "user" +msgstr "" + +msgid "content type" +msgstr "" + +msgid "object id" +msgstr "объекттің id-i" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "объекттің repr-i" + +msgid "action flag" +msgstr "әрекет белгісі" + +msgid "change message" +msgstr "хабарламаны өзгерту" + +msgid "log entry" +msgstr "Жорнал жазуы" + +msgid "log entries" +msgstr "Жорнал жазулары" + +#, python-format +msgid "Added \"%(object)s\"." +msgstr "" + +#, python-format +msgid "Changed \"%(object)s\" - %(changes)s" +msgstr "" + +#, python-format +msgid "Deleted \"%(object)s.\"" +msgstr "" + +msgid "LogEntry Object" +msgstr "" + +#, python-brace-format +msgid "Added {name} \"{object}\"." +msgstr "" + +msgid "Added." +msgstr "" + +msgid "and" +msgstr "және" + +#, python-brace-format +msgid "Changed {fields} for {name} \"{object}\"." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "" + +#, python-brace-format +msgid "Deleted {name} \"{object}\"." +msgstr "" + +msgid "No fields changed." +msgstr "Ешқандай толтырма өзгермеді." + +msgid "None" +msgstr "Ешнәрсе" + +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was added successfully." +msgstr "" + +msgid "You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Бірнәрсені өзгерту үшін бірінші оларды таңдау керек. Ешнәрсе өзгертілмеді." + +msgid "No action selected." +msgstr "Ешқандай әрекет таңдалмады." + +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "%(name)s \"%(obj)s\" сәтті өшірілді." + +#, python-format +msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "%s қосу" + +#, python-format +msgid "Change %s" +msgstr "%s өзгету" + +#, python-format +msgid "View %s" +msgstr "" + +msgid "Database error" +msgstr "Мәліметтер базасының қатесі" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "" +"one: %(count)s %(name)s өзгертілді.\n" +"\n" +"other: %(count)s %(name)s таңдалғандарының барі өзгертілді." +msgstr[1] "" +"one: %(count)s %(name)s өзгертілді.\n" +"\n" +"other: %(count)s %(name)s таңдалғандарының барі өзгертілді." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "" +"one: %(total_count)s таңдалды\n" +"\n" +"other: Барлығы %(total_count)s таңдалды" +msgstr[1] "" +"one: %(total_count)s таңдалды\n" +"\n" +"other: Барлығы %(total_count)s таңдалды" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 of %(cnt)s-ден 0 таңдалды" + +#, python-format +msgid "Change history: %s" +msgstr "Өзгерес тарихы: %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" + +msgid "Django site admin" +msgstr "Даңғо сайтының әкімі" + +msgid "Django administration" +msgstr "Даңғо әкімшілігі" + +msgid "Site administration" +msgstr "Сайт әкімшілігі" + +msgid "Log in" +msgstr "Кіру" + +#, python-format +msgid "%(app)s administration" +msgstr "" + +msgid "Page not found" +msgstr "Бет табылмады" + +msgid "We're sorry, but the requested page could not be found." +msgstr "Кешірім сұраймыз, сіздің сұраған бетіңіз табылмады." + +msgid "Home" +msgstr "Негізгі" + +msgid "Server error" +msgstr "Сервердің қатесі" + +msgid "Server error (500)" +msgstr "Сервердің қатесі (500)" + +msgid "Server Error (500)" +msgstr "Сервердің қатесі (500)" + +msgid "" +"There's been an error. It's been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +msgid "Run the selected action" +msgstr "Таңдалған әрәкетті іске қосу" + +msgid "Go" +msgstr "Алға" + +msgid "Click here to select the objects across all pages" +msgstr "Осы беттегі барлық объекттерді таңдау үшін осы жерді шертіңіз" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Осылардың %(total_count)s %(module_name)s барлығын таңдау" + +msgid "Clear selection" +msgstr "Белгілерді өшіру" + +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"Алдымен, пайдаланушының атын және құпия сөзді енгізіңіз. Содан соң, тағы " +"басқа пайдаланушы параметрлерін енгізе аласыз." + +msgid "Enter a username and password." +msgstr "Пайдаланушының атын және құпия сөзді енгізіңіз." + +msgid "Change password" +msgstr "Құпия сөзді өзгерту" + +msgid "Please correct the error below." +msgstr "" + +msgid "Please correct the errors below." +msgstr "" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"%(username)s пайдаланушы үшін жаңа құпия сөзді енгізіңіз." + +msgid "Welcome," +msgstr "Қош келдіңіз," + +msgid "View site" +msgstr "" + +msgid "Documentation" +msgstr "Құжаттама" + +msgid "Log out" +msgstr "Шығу" + +#, python-format +msgid "Add %(name)s" +msgstr "%(name)s қосу" + +msgid "History" +msgstr "Тарих" + +msgid "View on site" +msgstr "Сайтта көру" + +msgid "Filter" +msgstr "Сүзгіз" + +msgid "Remove from sorting" +msgstr "" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "" + +msgid "Toggle sorting" +msgstr "" + +msgid "Delete" +msgstr "Өшіру" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"%(object_name)s '%(escaped_object)s' объектты өшіруы байланысты объекттерін " +"өшіруді қажет етеді, бырақ сізде осындай объектерді өшіру рұқсаты жоқ:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"%(object_name)s '%(escaped_object)s' объектті өшіру осындай байлансты " +"объекттерды өшіруді қажет етеді:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"%(object_name)s \"%(escaped_object)s\" объекттерді өшіруге сенімдісіз бе? " +"Бұл байланысты элементтер де өшіріледі:" + +msgid "Objects" +msgstr "" + +msgid "Yes, I'm sure" +msgstr "Иә, сенімдімін" + +msgid "No, take me back" +msgstr "" + +msgid "Delete multiple objects" +msgstr "Бірнеше объекттерді өшіру" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"%(objects_name)s объектты өшіруы байланысты объекттерін өшіруді қажет етеді, " +"бырақ сізде осындай объектерді өшіру рұқсаты жоқ:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Таңдалған %(objects_name)s-ді(ы) өшіру, онымен байланыстағы қорғалған " +"объектілердің барлығын жояды:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Таңдаған %(objects_name)s объектіңізді өшіруге сенімдісіз бе? Себебі, " +"таңдағын объектіліріңіз және онымен байланыстағы барлық элементтер жойылады:" + +msgid "View" +msgstr "" + +msgid "Delete?" +msgstr "Өшіру?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " %(filter_title)s " + +msgid "Summary" +msgstr "" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "" + +msgid "Add" +msgstr "Қосу" + +msgid "You don't have permission to view or edit anything." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "My actions" +msgstr "" + +msgid "None available" +msgstr "Қол жетімдісі жоқ" + +msgid "Unknown content" +msgstr "Белгісіз мазмұн" + +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Дерекқор орнатуыңызда бір қате бар. Дерекқор кестелері дұрыс құрылғаның және " +"дерекқор көрсетілген дерекқор пайдаланушыда оқұ рұқсаты бар." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" + +msgid "Forgotten your password or username?" +msgstr "" + +msgid "Date/time" +msgstr "Өшіру/Уақыт" + +msgid "User" +msgstr "Қолданушы" + +msgid "Action" +msgstr "Әрекет" + +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"Бұл объекттың өзгерту тарихы жоқ. Мүмкін ол бұл сайт арқылы енгізілген жоқ." + +msgid "Show all" +msgstr "Барлығын көрсету" + +msgid "Save" +msgstr "Сақтау" + +msgid "Popup closing…" +msgstr "" + +msgid "Search" +msgstr "Іздеу" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s нәтиже" +msgstr[1] "%(counter)s нәтиже" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "Барлығы %(full_result_count)s" + +msgid "Save as new" +msgstr "Жаңадан сақтау" + +msgid "Save and add another" +msgstr "Сақта және жаңасын қос" + +msgid "Save and continue editing" +msgstr "Сақта және өзгертуді жалғастыр" + +msgid "Save and view" +msgstr "" + +msgid "Close" +msgstr "" + +#, python-format +msgid "Change selected %(model)s" +msgstr "" + +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Бүгін Веб-торапқа уақыт бөлгеніңіз үшін рахмет." + +msgid "Log in again" +msgstr "Қайтадан кіріңіз" + +msgid "Password change" +msgstr "Құпия сөзді өзгерту" + +msgid "Your password was changed." +msgstr "Құпия сөзіңіз өзгертілді." + +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Ескі құпия сөзіңізді енгізіңіз, содан сон сенімді болу үшін жаңа құпия " +"сөзіңізді екі рет енгізіңіз." + +msgid "Change my password" +msgstr "Құпия сөзімді өзгерту" + +msgid "Password reset" +msgstr "Құпия сөзді өзгерту" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Сіздің құпия сөзіңіз енгізілді. Жүйеге кіруіңізге болады." + +msgid "Password reset confirmation" +msgstr "Құпия сөзді өзгерту растау" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "Сенімді болу үшін жаңа құпия сөзіңізді екі рет енгізіңіз." + +msgid "New password:" +msgstr "Жаңа құпия сөз:" + +msgid "Confirm password:" +msgstr "Құпия сөз (растау):" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Құпия сөзді өзгерту байланыс дұрыс емес, мүмкін ол осыған дейін " +"пайдаланылды. Жаңа құпия сөзді өзгерту сұрау жіберіңіз." + +msgid "" +"We've emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don't receive an email, please make sure you've entered the address " +"you registered with, and check your spam folder." +msgstr "" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" + +msgid "Please go to the following page and choose a new password:" +msgstr "Жаңа құпия сөзді тандау үшін мынау бетке кіріңіз:" + +msgid "Your username, in case you've forgotten:" +msgstr "Егер ұмытып қалған болсаңыз, пайдалануш атыңыз:" + +msgid "Thanks for using our site!" +msgstr "Біздің веб-торабын қолданғаныңыз үшін рахмет!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s тобы" + +msgid "" +"Forgotten your password? Enter your email address below, and we'll email " +"instructions for setting a new one." +msgstr "" + +msgid "Email address:" +msgstr "" + +msgid "Reset my password" +msgstr "Құпия сөзді жаңала" + +msgid "All dates" +msgstr "Барлық мерзімдер" + +#, python-format +msgid "Select %s" +msgstr "%s таңда" + +#, python-format +msgid "Select %s to change" +msgstr "%s өзгерту үщін таңда" + +#, python-format +msgid "Select %s to view" +msgstr "" + +msgid "Date:" +msgstr "Күнтізбелік күн:" + +msgid "Time:" +msgstr "Уақыт:" + +msgid "Lookup" +msgstr "Іздеу" + +msgid "Currently:" +msgstr "" + +msgid "Change:" +msgstr "" diff --git a/external_sources/django/django/contrib/admin/locale/kk/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/kk/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..9c51f35 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/kk/LC_MESSAGES/djangojs.po @@ -0,0 +1,210 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Nurlan Rakhimzhanov , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" +"PO-Revision-Date: 2017-09-19 16:41+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Kazakh (http://www.transifex.com/django/django/language/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" + +#, javascript-format +msgid "Available %s" +msgstr "%s бар" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" + +msgid "Filter" +msgstr "Сүзгіш" + +msgid "Choose all" +msgstr "" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "" + +msgid "Choose" +msgstr "" + +msgid "Remove" +msgstr "Өшіру(жою)" + +#, javascript-format +msgid "Chosen %s" +msgstr "" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" + +msgid "Remove all" +msgstr "" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(cnt)s-ң %(sel)s-ы(і) таңдалды" +msgstr[1] "%(cnt)s-ң %(sel)s-ы(і) таңдалды" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Сіздің төмендегі өзгермелі алаңдарда(fields) өзгерістеріңіз бар. Егер артық " +"әрекет жасасаңызб сіз өзгерістеріңізді жоғалтасыз." + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"Сіз өз өзгерістеріңізді сақтамай, әрекет жасадыңыз. Өтініш, сақтау үшін ОК " +"батырмасын басыңыз және өз әрекетіңізді қайта жасап көріңіз. " + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Сіз Сақтау батырмасына қарағанда, Go(Алға) батырмасын іздеп отырған " +"боларсыз, себебі ешқандай өзгеріс жасамай, әрекет жасадыңыз." + +msgid "Now" +msgstr "Қазір" + +msgid "Midnight" +msgstr "Түн жарым" + +msgid "6 a.m." +msgstr "06" + +msgid "Noon" +msgstr "Талтүс" + +msgid "6 p.m." +msgstr "" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" +msgstr[1] "" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +msgstr[1] "" + +msgid "Choose a Time" +msgstr "" + +msgid "Choose a time" +msgstr "Уақытты таңда" + +msgid "Cancel" +msgstr "Болдырмау" + +msgid "Today" +msgstr "Бүгін" + +msgid "Choose a Date" +msgstr "" + +msgid "Yesterday" +msgstr "Кеше" + +msgid "Tomorrow" +msgstr "Ертең" + +msgid "January" +msgstr "" + +msgid "February" +msgstr "" + +msgid "March" +msgstr "" + +msgid "April" +msgstr "" + +msgid "May" +msgstr "" + +msgid "June" +msgstr "" + +msgid "July" +msgstr "" + +msgid "August" +msgstr "" + +msgid "September" +msgstr "" + +msgid "October" +msgstr "" + +msgid "November" +msgstr "" + +msgid "December" +msgstr "" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "" + +msgctxt "one letter Monday" +msgid "M" +msgstr "" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "" + +msgctxt "one letter Friday" +msgid "F" +msgstr "" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "" + +msgid "Show" +msgstr "Көрсету" + +msgid "Hide" +msgstr "Жасыру" diff --git a/external_sources/django/django/contrib/admin/locale/km/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/km/LC_MESSAGES/django.po new file mode 100644 index 0000000..8b16d1f --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/km/LC_MESSAGES/django.po @@ -0,0 +1,636 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-19 16:49+0100\n" +"PO-Revision-Date: 2017-09-19 16:41+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Khmer (http://www.transifex.com/django/django/language/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" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "" + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "" + +msgid "Are you sure?" +msgstr "តើលោកអ្នកប្រាកដទេ?" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "" + +msgid "Administration" +msgstr "" + +msgid "All" +msgstr "ទាំងអស់" + +msgid "Yes" +msgstr "យល់ព្រម" + +msgid "No" +msgstr "មិនយល់ព្រម" + +msgid "Unknown" +msgstr "មិន​ដឹង" + +msgid "Any date" +msgstr "កាល​បរិច្ឆេទណាមួយ" + +msgid "Today" +msgstr "ថ្ងៃនេះ" + +msgid "Past 7 days" +msgstr "៧​ថ្ងៃ​កន្លង​មក" + +msgid "This month" +msgstr "ខែ​នេះ" + +msgid "This year" +msgstr "ឆ្នាំ​នេះ" + +msgid "No date" +msgstr "" + +msgid "Has date" +msgstr "" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" + +msgid "Action:" +msgstr "" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "" + +msgid "Remove" +msgstr "លប់ចេញ" + +msgid "action time" +msgstr "ពេលវេលាប្រតិបត្តិការ" + +msgid "user" +msgstr "" + +msgid "content type" +msgstr "" + +msgid "object id" +msgstr "លេខ​សំគាល់​កម្មវិធី (object id)" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/3/library/functions.html#repr) +msgid "object repr" +msgstr "object repr" + +msgid "action flag" +msgstr "សកម្មភាព" + +msgid "change message" +msgstr "ផ្លាស់ប្តូរ" + +msgid "log entry" +msgstr "កំណត់ហេតុ" + +msgid "log entries" +msgstr "កំណត់ហេតុ" + +#, python-format +msgid "Added \"%(object)s\"." +msgstr "" + +#, python-format +msgid "Changed \"%(object)s\" - %(changes)s" +msgstr "" + +#, python-format +msgid "Deleted \"%(object)s.\"" +msgstr "" + +msgid "LogEntry Object" +msgstr "" + +#, python-brace-format +msgid "Added {name} \"{object}\"." +msgstr "" + +msgid "Added." +msgstr "" + +msgid "and" +msgstr "និង" + +#, python-brace-format +msgid "Changed {fields} for {name} \"{object}\"." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "" + +#, python-brace-format +msgid "Deleted {name} \"{object}\"." +msgstr "" + +msgid "No fields changed." +msgstr "ពុំមានទិន្នន័យត្រូវបានផ្លាស់ប្តូរ។" + +msgid "None" +msgstr "" + +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was added successfully." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" + +msgid "No action selected." +msgstr "" + +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "ឈ្មោះកម្មវិធី %(name)s \"%(obj)s\" ត្រូវបានលប់ដោយជោគជ័យ។" + +#, python-format +msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "បន្ថែម %s" + +#, python-format +msgid "Change %s" +msgstr "ផ្លាស់ប្តូរ %s" + +msgid "Database error" +msgstr "ទិន្នន័យមូលដ្ឋានមានបញ្ហា" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "" + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "" + +#, python-format +msgid "Change history: %s" +msgstr "សកម្មភាពផ្លាស់ប្តូរកន្លងមក : %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" + +msgid "Django site admin" +msgstr "ទំព័រគ្រប់គ្រងរបស់ Django" + +msgid "Django administration" +msgstr "ការ​គ្រប់គ្រង​របស់ ​Django" + +msgid "Site administration" +msgstr "ទំព័រគ្រប់គ្រង" + +msgid "Log in" +msgstr "ពិនិត្យចូល" + +#, python-format +msgid "%(app)s administration" +msgstr "" + +msgid "Page not found" +msgstr "ទំព័រ​ដែល​លោកអ្នកចង់​រក​នេះពុំមាន​នៅក្នុងម៉ាស៊ីនរបស់យើងខ្ញុំទេ" + +msgid "We're sorry, but the requested page could not be found." +msgstr "សួមអភ័យទោស ទំព័រ​ដែល​លោកអ្នកចង់​រក​នេះពុំមាន​នឹងក្នុងម៉ាស៊ីនរបស់យើងខ្ញុំទេ" + +msgid "Home" +msgstr "គេហទំព័រ" + +msgid "Server error" +msgstr "ម៉ាស៊ីនផ្តល់សេវាកម្ម​ មានបញ្ហា" + +msgid "Server error (500)" +msgstr "ម៉ាស៊ីនផ្តល់សេវាកម្ម​ មានបញ្ហា (៥០០)" + +msgid "Server Error (500)" +msgstr "ម៉ាស៊ីនផ្តល់សេវាកម្ម​ មានបញ្ហា  (៥០០)" + +msgid "" +"There's been an error. It's been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +msgid "Run the selected action" +msgstr "" + +msgid "Go" +msgstr "ស្វែងរក" + +msgid "Click here to select the objects across all pages" +msgstr "" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "" + +msgid "Clear selection" +msgstr "" + +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"តំបូងសូមបំពេញ ឈ្មោះជាសមាជិក និង ពាក្យសំងាត់​។ បន្ទាប់មកលោកអ្នកអាចបំពេញបន្ថែមជំរើសផ្សេងៗទៀតបាន។ " + +msgid "Enter a username and password." +msgstr "" + +msgid "Change password" +msgstr "ផ្លាស់ប្តូរពាក្យសំងាត់" + +msgid "Please correct the error below." +msgstr "" + +msgid "Please correct the errors below." +msgstr "" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" + +msgid "Welcome," +msgstr "សូមស្វាគមន៏" + +msgid "View site" +msgstr "" + +msgid "Documentation" +msgstr "ឯកសារ" + +msgid "Log out" +msgstr "ចាកចេញ" + +#, python-format +msgid "Add %(name)s" +msgstr "បន្ថែម %(name)s" + +msgid "History" +msgstr "សកម្មភាព​កន្លង​មក" + +msgid "View on site" +msgstr "មើលនៅលើគេហទំព័រដោយផ្ទាល់" + +msgid "Filter" +msgstr "ស្វែងរកជាមួយ" + +msgid "Remove from sorting" +msgstr "" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "" + +msgid "Toggle sorting" +msgstr "" + +msgid "Delete" +msgstr "លប់" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"ការលប់ %(object_name)s '%(escaped_object)s' អាចធ្វើអោយ​កម្មវិធីដែលពាក់​ព័ន្ធបាត់បង់ ។" +" ក៏ប៉ន្តែលោកអ្នក​ពុំមាន​សិទ្ធិលប់​កម្មវិធី​ប្រភេទនេះទេ។" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"តើលោកអ្នកប្រាកដជាចង់លប់ %(object_name)s \"%(escaped_object)s" +"\"? ការលប់ %(object_name)s '%(escaped_object)s' អាចធ្វើអោយ​កម្មវិធីដែលពាក់​ព័ន្ធបាត់បង់។" + +msgid "Objects" +msgstr "" + +msgid "Yes, I'm sure" +msgstr "ខ្ញុំច្បាស់​ជាចង់លប់" + +msgid "No, take me back" +msgstr "" + +msgid "Delete multiple objects" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" + +msgid "Change" +msgstr "ផ្លាស់ប្តូរ" + +msgid "Delete?" +msgstr "" + +#, python-format +msgid " By %(filter_title)s " +msgstr "ដោយ​  %(filter_title)s " + +msgid "Summary" +msgstr "" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "" + +msgid "Add" +msgstr "បន្ថែម" + +msgid "You don't have permission to edit anything." +msgstr "លោកអ្នកពុំមានសិទ្ធិ ផ្លាស់​ប្តូរ ទេ។" + +msgid "Recent actions" +msgstr "" + +msgid "My actions" +msgstr "" + +msgid "None available" +msgstr "គ្មាន" + +msgid "Unknown content" +msgstr "" + +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"មូលដ្ឋាន​ទិន្នន័យ​​​ របស់លោកអ្នក មានបញ្ហា។ តើ លោកអ្នកបាន បង្កើត តារាង​ របស់មូលដ្ឋានទិន្នន័យ​" +" ហើយឬនៅ? តើ​ លោកអ្នកប្រាកដថាសមាជិកអាចអានមូលដ្ឋានទិន្នន័យនេះ​​បានឬទេ? " + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" + +msgid "Forgotten your password or username?" +msgstr "" + +msgid "Date/time" +msgstr "Date/time" + +msgid "User" +msgstr "សមាជិក" + +msgid "Action" +msgstr "សកម្មភាព" + +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"កម្មវិធីនេះមិនមានសកម្មភាព​កន្លងមកទេ។ ប្រហែលជាសកម្មភាពទាំងនេះមិនបានធ្វើនៅទំព័រគ្រប់គ្រងនេះ។" + +msgid "Show all" +msgstr "បង្ហាញទាំងអស់" + +msgid "Save" +msgstr "រក្សាទុក" + +msgid "Popup closing..." +msgstr "" + +#, python-format +msgid "Change selected %(model)s" +msgstr "" + +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "" + +msgid "Search" +msgstr "" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "សរុបទាំងអស់ %(full_result_count)s" + +msgid "Save as new" +msgstr "រក្សាទុក" + +msgid "Save and add another" +msgstr "រក្សាទុក ហើយ បន្ថែម​ថ្មី" + +msgid "Save and continue editing" +msgstr "រក្សាទុក ហើយ កែឯកសារដដែល" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "សូមថ្លែងអំណរគុណ ដែលបានចំណាយ ពេលវេលាដ៏មានតំលៃ របស់លោកអ្នកមកទស្សនាគេហទំព័ររបស់យើងខ្ញុំ" + +msgid "Log in again" +msgstr "ពិនិត្យចូលម្តងទៀត" + +msgid "Password change" +msgstr "ផ្លាស់ប្តូរពាក្យសំងាត់" + +msgid "Your password was changed." +msgstr "ពាក្យសំងាត់របស់លោកអ្នកបានផ្លាស់ប្តូរហើយ" + +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "សូមបំពេញពាក្យសំងាត់ចាស់របស់លោកអ្នក។ ដើម្បីសុវត្ថភាព សូមបំពេញពាក្យសំងាត់ថ្មីខាងក្រោមពីរដង។" + +msgid "Change my password" +msgstr "ផ្លាស់ប្តូរពាក្យសំងាត់" + +msgid "Password reset" +msgstr "ពាក្យសំងាត់បានកំណត់សារជាថ្មី" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "" + +msgid "Password reset confirmation" +msgstr "" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" + +msgid "New password:" +msgstr "ពាក្យសំងាត់ថ្មី" + +msgid "Confirm password:" +msgstr "បំពេញពាក្យសំងាត់ថ្មីម្តងទៀត" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" + +msgid "" +"We've emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don't receive an email, please make sure you've entered the address " +"you registered with, and check your spam folder." +msgstr "" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" + +msgid "Please go to the following page and choose a new password:" +msgstr "" + +msgid "Your username, in case you've forgotten:" +msgstr "ឈ្មោះជាសមាជិកក្នុងករណីភ្លេច:" + +msgid "Thanks for using our site!" +msgstr "សូមអរគុណដែលបានប្រើប្រាស់សេវាកម្មរបស់យើងខ្ញុំ" + +#, python-format +msgid "The %(site_name)s team" +msgstr "ក្រុមរបស់គេហទំព័រ %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we'll email " +"instructions for setting a new one." +msgstr "" + +msgid "Email address:" +msgstr "" + +msgid "Reset my password" +msgstr "កំណត់ពាក្យសំងាត់សារជាថ្មី" + +msgid "All dates" +msgstr "កាលបរិច្ឆេទទាំងអស់" + +#, python-format +msgid "Select %s" +msgstr "ជ្រើសរើស %s" + +#, python-format +msgid "Select %s to change" +msgstr "ជ្រើសរើស %s ដើម្បីផ្លាស់ប្តូរ" + +msgid "Date:" +msgstr "កាលបរិច្ឆេទ" + +msgid "Time:" +msgstr "ម៉ោង" + +msgid "Lookup" +msgstr "" + +msgid "Currently:" +msgstr "" + +msgid "Change:" +msgstr "" diff --git a/external_sources/django/django/contrib/admin/locale/km/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/km/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..fbe0ae1 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/km/LC_MESSAGES/djangojs.po @@ -0,0 +1,201 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"PO-Revision-Date: 2017-09-19 16:41+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Khmer (http://www.transifex.com/django/django/language/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" + +#, javascript-format +msgid "Available %s" +msgstr "%s ដែលអាច​ជ្រើសរើសបាន" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" + +msgid "Filter" +msgstr "ស្វែងរកជាមួយ" + +msgid "Choose all" +msgstr "ជ្រើសរើសទាំងអស់" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "" + +msgid "Choose" +msgstr "" + +msgid "Remove" +msgstr "លប់ចេញ" + +#, javascript-format +msgid "Chosen %s" +msgstr "%s ដែលបានជ្រើសរើស" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" + +msgid "Remove all" +msgstr "" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" + +msgid "Now" +msgstr "ឥឡូវនេះ" + +msgid "Choose a Time" +msgstr "" + +msgid "Choose a time" +msgstr "ជ្រើសរើសម៉ោង" + +msgid "Midnight" +msgstr "អធ្រាត្រ" + +msgid "6 a.m." +msgstr "ម៉ោង ៦ ព្រឹក" + +msgid "Noon" +msgstr "ពេលថ្ងែត្រង់" + +msgid "6 p.m." +msgstr "" + +msgid "Cancel" +msgstr "លប់ចោល" + +msgid "Today" +msgstr "ថ្ងៃនេះ" + +msgid "Choose a Date" +msgstr "" + +msgid "Yesterday" +msgstr "ម្សិលមិញ" + +msgid "Tomorrow" +msgstr "ថ្ងៃស្អែក" + +msgid "January" +msgstr "" + +msgid "February" +msgstr "" + +msgid "March" +msgstr "" + +msgid "April" +msgstr "" + +msgid "May" +msgstr "" + +msgid "June" +msgstr "" + +msgid "July" +msgstr "" + +msgid "August" +msgstr "" + +msgid "September" +msgstr "" + +msgid "October" +msgstr "" + +msgid "November" +msgstr "" + +msgid "December" +msgstr "" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "" + +msgctxt "one letter Monday" +msgid "M" +msgstr "" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "" + +msgctxt "one letter Friday" +msgid "F" +msgstr "" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "" + +msgid "Show" +msgstr "" + +msgid "Hide" +msgstr "" diff --git a/external_sources/django/django/contrib/admin/locale/kn/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/kn/LC_MESSAGES/django.po new file mode 100644 index 0000000..06e63dc --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/kn/LC_MESSAGES/django.po @@ -0,0 +1,639 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-19 16:49+0100\n" +"PO-Revision-Date: 2017-09-19 16:41+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Kannada (http://www.transifex.com/django/django/language/" +"kn/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: kn\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "" + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "" + +msgid "Are you sure?" +msgstr "ಖಚಿತಪಡಿಸುವಿರಾ? " + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "" + +msgid "Administration" +msgstr "" + +msgid "All" +msgstr "ಎಲ್ಲಾ" + +msgid "Yes" +msgstr "ಹೌದು" + +msgid "No" +msgstr "ಇಲ್ಲ" + +msgid "Unknown" +msgstr "ಗೊತ್ತಿಲ್ಲ(ದ/ದ್ದು)" + +msgid "Any date" +msgstr "ಯಾವುದೇ ದಿನಾಂಕ" + +msgid "Today" +msgstr "ಈದಿನ" + +msgid "Past 7 days" +msgstr "ಕಳೆದ ೭ ದಿನಗಳು" + +msgid "This month" +msgstr "ಈ ತಿಂಗಳು" + +msgid "This year" +msgstr "ಈ ವರ್ಷ" + +msgid "No date" +msgstr "" + +msgid "Has date" +msgstr "" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" + +msgid "Action:" +msgstr "" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "" + +msgid "Remove" +msgstr "ತೆಗೆದು ಹಾಕಿ" + +msgid "action time" +msgstr "ಕ್ರಮದ(ಕ್ರಿಯೆಯ) ಸಮಯ" + +msgid "user" +msgstr "" + +msgid "content type" +msgstr "" + +msgid "object id" +msgstr "ವಸ್ತುವಿನ ಐಡಿ" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/3/library/functions.html#repr) +msgid "object repr" +msgstr "ವಸ್ತು ಪ್ರಾತಿನಿಧ್ಯ" + +msgid "action flag" +msgstr "ಕ್ರಮದ(ಕ್ರಿಯೆಯ) ಪತಾಕೆ" + +msgid "change message" +msgstr "ಬದಲಾವಣೆಯ ಸಂದೇಶ/ಸಂದೇಶ ಬದಲಿಸಿ" + +msgid "log entry" +msgstr "ಲಾಗ್ ದಾಖಲೆ" + +msgid "log entries" +msgstr "ಲಾಗ್ ದಾಖಲೆಗಳು" + +#, python-format +msgid "Added \"%(object)s\"." +msgstr "" + +#, python-format +msgid "Changed \"%(object)s\" - %(changes)s" +msgstr "" + +#, python-format +msgid "Deleted \"%(object)s.\"" +msgstr "" + +msgid "LogEntry Object" +msgstr "" + +#, python-brace-format +msgid "Added {name} \"{object}\"." +msgstr "" + +msgid "Added." +msgstr "" + +msgid "and" +msgstr "ಮತ್ತು" + +#, python-brace-format +msgid "Changed {fields} for {name} \"{object}\"." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "" + +#, python-brace-format +msgid "Deleted {name} \"{object}\"." +msgstr "" + +msgid "No fields changed." +msgstr "ಯಾವುದೇ ಅಂಶಗಳು ಬದಲಾಗಲಿಲ್ಲ." + +msgid "None" +msgstr "" + +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was added successfully." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" + +msgid "No action selected." +msgstr "" + +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "%(name)s \"%(obj)s\" ಯಶಸ್ವಿಯಾಗಿ ಅಳಿಸಲಾಯಿತು." + +#, python-format +msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "%s ಸೇರಿಸಿ" + +#, python-format +msgid "Change %s" +msgstr "%s ಅನ್ನು ಬದಲಿಸು" + +msgid "Database error" +msgstr "ದತ್ತಸಂಚಯದ ದೋಷ" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "" + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "" + +#, python-format +msgid "Change history: %s" +msgstr "ಬದಲಾವಣೆಗಳ ಇತಿಹಾಸ: %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" + +msgid "Django site admin" +msgstr "ಜಾಂಗೋ ತಾಣದ ಆಡಳಿತಗಾರರು" + +msgid "Django administration" +msgstr "ಜಾಂಗೋ ಆಡಳಿತ" + +msgid "Site administration" +msgstr "ತಾಣ ನಿರ್ವಹಣೆ" + +msgid "Log in" +msgstr "ಒಳಗೆ ಬನ್ನಿ" + +#, python-format +msgid "%(app)s administration" +msgstr "" + +msgid "Page not found" +msgstr "ಪುಟ ಸಿಗಲಿಲ್ಲ" + +msgid "We're sorry, but the requested page could not be found." +msgstr "ಕ್ಷಮಿಸಿ, ನೀವು ಕೇಳಿದ ಪುಟ ಸಿಗಲಿಲ್ಲ" + +msgid "Home" +msgstr "ಪ್ರಾರಂಭಸ್ಥಳ(ಮನೆ)" + +msgid "Server error" +msgstr "ಸರ್ವರ್ ದೋಷ" + +msgid "Server error (500)" +msgstr "ಸರ್ವರ್ ದೋಷ(೫೦೦)" + +msgid "Server Error (500)" +msgstr "ಸರ್ವರ್ ದೋಷ(೫೦೦)" + +msgid "" +"There's been an error. It's been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +msgid "Run the selected action" +msgstr "" + +msgid "Go" +msgstr "ಹೋಗಿ" + +msgid "Click here to select the objects across all pages" +msgstr "" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "" + +msgid "Clear selection" +msgstr "" + +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"ಮೊದಲು ಬಳಕೆದಾರ-ಹೆಸರು ಮತ್ತು ಪ್ರವೇಶಪದವನ್ನು ಕೊಡಿರಿ. ನಂತರ, ನೀವು ಇನ್ನಷ್ಟು ಆಯ್ಕೆಗಳನ್ನು " +"ಬದಲಿಸಬಹುದಾಗಿದೆ." + +msgid "Enter a username and password." +msgstr "" + +msgid "Change password" +msgstr "ಪ್ರವೇಶಪದ ಬದಲಿಸಿ" + +msgid "Please correct the error below." +msgstr "" + +msgid "Please correct the errors below." +msgstr "" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" + +msgid "Welcome," +msgstr "ಸುಸ್ವಾಗತ." + +msgid "View site" +msgstr "" + +msgid "Documentation" +msgstr "ವಿವರಮಾಹಿತಿ" + +msgid "Log out" +msgstr "ಹೊರಕ್ಕೆ ಹೋಗಿ" + +#, python-format +msgid "Add %(name)s" +msgstr "%(name)s ಸೇರಿಸಿ" + +msgid "History" +msgstr "ಚರಿತ್ರೆ" + +msgid "View on site" +msgstr "ತಾಣದಲ್ಲಿ ನೋಡಿ" + +msgid "Filter" +msgstr "ಸೋಸಕ" + +msgid "Remove from sorting" +msgstr "" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "" + +msgid "Toggle sorting" +msgstr "" + +msgid "Delete" +msgstr "ಅಳಿಸಿಹಾಕಿ" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"'%(escaped_object)s' %(object_name)s ಅನ್ನು ತೆಗೆದುಹಾಕುವುದರಿಂದ ಸಂಬಂಧಿತ ವಸ್ತುಗಳೂ " +"ಕಳೆದುಹೋಗುತ್ತವೆ. ಆದರೆ ನಿಮ್ಮ ಖಾತೆಗೆ ಕೆಳಕಂಡ ಬಗೆಗಳ ವಸ್ತುಗಳನ್ನು ತೆಗೆದುಹಾಕಲು " +"ಅನುಮತಿಯಿಲ್ಲ." + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" + +msgid "Objects" +msgstr "" + +msgid "Yes, I'm sure" +msgstr "ಹೌದು,ನನಗೆ ಖಚಿತವಿದೆ" + +msgid "No, take me back" +msgstr "" + +msgid "Delete multiple objects" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" + +msgid "Change" +msgstr "ಬದಲಿಸಿ/ಬದಲಾವಣೆ" + +msgid "Delete?" +msgstr "" + +#, python-format +msgid " By %(filter_title)s " +msgstr "%(filter_title)s ಇಂದ" + +msgid "Summary" +msgstr "" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "" + +msgid "Add" +msgstr "ಸೇರಿಸಿ" + +msgid "You don't have permission to edit anything." +msgstr "ಯಾವುದನ್ನೂ ತಿದ್ದಲು ನಿಮಗೆ ಅನುಮತಿ ಇಲ್ಲ ." + +msgid "Recent actions" +msgstr "" + +msgid "My actions" +msgstr "" + +msgid "None available" +msgstr "ಯಾವುದೂ ಲಭ್ಯವಿಲ್ಲ" + +msgid "Unknown content" +msgstr "" + +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"ಡಾಟಾಬೇಸನ್ನು ಇನ್ಸ್ಟಾಲ್ ಮಾಡುವಾಗ ಏನೋ ತಪ್ಪಾಗಿದೆ. ಸೂಕ್ತ ಡಾಟಾಬೇಸ್ ಕೋಷ್ಟಕಗಳು ರಚನೆಯಾಗಿ ಅರ್ಹ " +"ಬಳಕೆದಾರರು ಅವುಗಳನ್ನು ಓದಬಹುದಾಗಿದೆಯೇ ಎಂಬುದನ್ನು ಖಾತರಿ ಪಡಿಸಿಕೊಳ್ಳಿ." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" + +msgid "Forgotten your password or username?" +msgstr "" + +msgid "Date/time" +msgstr "ದಿನಾಂಕ/ಸಮಯ" + +msgid "User" +msgstr "ಬಳಕೆದಾರ" + +msgid "Action" +msgstr "ಕ್ರಮ(ಕ್ರಿಯೆ)" + +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"ಈ ವಸ್ತುವಿಗೆ ಬದಲಾವಣೆಯ ಇತಿಹಾಸವಿಲ್ಲ. ಅದು ಬಹುಶಃ ಈ ಆಡಳಿತತಾಣದ ಮೂಲಕ ಸೇರಿಸಲ್ಪಟ್ಟಿಲ್ಲ." + +msgid "Show all" +msgstr "ಎಲ್ಲವನ್ನೂ ತೋರಿಸು" + +msgid "Save" +msgstr "ಉಳಿಸಿ" + +msgid "Popup closing..." +msgstr "" + +#, python-format +msgid "Change selected %(model)s" +msgstr "" + +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "" + +msgid "Search" +msgstr "" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "ಒಟ್ಟು %(full_result_count)s" + +msgid "Save as new" +msgstr "ಹೊಸದರಂತೆ ಉಳಿಸಿ" + +msgid "Save and add another" +msgstr "ಉಳಿಸಿ ಮತ್ತು ಇನ್ನೊಂದನ್ನು ಸೇರಿಸಿ" + +msgid "Save and continue editing" +msgstr "ಉಳಿಸಿ ಮತ್ತು ತಿದ್ದುವುದನ್ನು ಮುಂದುವರಿಸಿರಿ." + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "ಈದಿನ ತಮ್ಮ ಅತ್ಯಮೂಲ್ಯವಾದ ಸಮಯವನ್ನು ನಮ್ಮ ತಾಣದಲ್ಲಿ ಕಳೆದುದಕ್ಕಾಗಿ ಧನ್ಯವಾದಗಳು." + +msgid "Log in again" +msgstr "ಮತ್ತೆ ಒಳಬನ್ನಿ" + +msgid "Password change" +msgstr "ಪ್ರವೇಶಪದ ಬದಲಾವಣೆ" + +msgid "Your password was changed." +msgstr "ನಿಮ್ಮ ಪ್ರವೇಶಪದ ಬದಲಾಯಿಸಲಾಗಿದೆ" + +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"ಭದ್ರತೆಯ ದೃಷ್ಟಿಯಿಂದ ದಯವಿಟ್ಟು ನಿಮ್ಮ ಹಳೆಯ ಪ್ರವೇಶಪದವನ್ನು ಸೂಚಿಸಿರಿ. ಆನಂತರ ನೀವು ಸರಿಯಾಗಿ " +"ಬರೆದಿದ್ದೀರೆಂದು ನಾವು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಹೊಸ ಪ್ರವೇಶಪದವನ್ನು ಎರಡು ಬಾರಿ ಬರೆಯಿರಿ." + +msgid "Change my password" +msgstr "ನನ್ನ ಪ್ರವೇಶಪದ ಬದಲಿಸಿ" + +msgid "Password reset" +msgstr "ಪ್ರವೇಶಪದವನ್ನು ಬದಲಿಸುವಿಕೆ" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "" + +msgid "Password reset confirmation" +msgstr "" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" + +msgid "New password:" +msgstr "ಹೊಸ ಪ್ರವೇಶಪದ:" + +msgid "Confirm password:" +msgstr "ಪ್ರವೇಶಪದವನ್ನು ಖಚಿತಪಡಿಸಿ:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" + +msgid "" +"We've emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don't receive an email, please make sure you've entered the address " +"you registered with, and check your spam folder." +msgstr "" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" + +msgid "Please go to the following page and choose a new password:" +msgstr "" + +msgid "Your username, in case you've forgotten:" +msgstr "ನೀವು ಮರೆತಿದ್ದಲ್ಲಿ , ನಿಮ್ಮ ಬಳಕೆದಾರ-ಹೆಸರು" + +msgid "Thanks for using our site!" +msgstr "ನಮ್ಮ ತಾಣವನ್ನು ಬಳಸಿದ್ದಕ್ದಾಗಿ ಧನ್ಯವಾದಗಳು!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s ತಂಡ" + +msgid "" +"Forgotten your password? Enter your email address below, and we'll email " +"instructions for setting a new one." +msgstr "" + +msgid "Email address:" +msgstr "" + +msgid "Reset my password" +msgstr "ನನ್ನ ಪ್ರವೇಶಪದವನ್ನು ಮತ್ತೆ ನಿರ್ಧರಿಸಿ " + +msgid "All dates" +msgstr "ಎಲ್ಲಾ ದಿನಾಂಕಗಳು" + +#, python-format +msgid "Select %s" +msgstr "%s ಆಯ್ದುಕೊಳ್ಳಿ" + +#, python-format +msgid "Select %s to change" +msgstr "ಬದಲಾಯಿಸಲು %s ಆಯ್ದುಕೊಳ್ಳಿ" + +msgid "Date:" +msgstr "ದಿನಾಂಕ:" + +msgid "Time:" +msgstr "ಸಮಯ:" + +msgid "Lookup" +msgstr "" + +msgid "Currently:" +msgstr "" + +msgid "Change:" +msgstr "" diff --git a/external_sources/django/django/contrib/admin/locale/kn/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/kn/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..0a651bc --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/kn/LC_MESSAGES/djangojs.po @@ -0,0 +1,261 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel , 2011 +# karthikbgl , 2011-2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"PO-Revision-Date: 2017-09-19 16:41+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Kannada (http://www.transifex.com/django/django/language/" +"kn/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: kn\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "ಲಭ್ಯ %s " + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" + +msgid "Filter" +msgstr "ಶೋಧಕ" + +msgid "Choose all" +msgstr "ಎಲ್ಲವನ್ನೂ ಆಯ್ದುಕೊಳ್ಳಿ" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "" + +msgid "Choose" +msgstr "" + +msgid "Remove" +msgstr "ತೆಗೆದು ಹಾಕಿ" + +#, javascript-format +msgid "Chosen %s" +msgstr "%s ಆಯ್ದುಕೊಳ್ಳಲಾಗಿದೆ" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" + +msgid "Remove all" +msgstr "ಎಲ್ಲಾ ತೆಗೆದುಹಾಕಿ" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "" +msgstr[1] "" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"ನೀವು ಪ್ರತ್ಯೇಕ ತಿದ್ದಬಲ್ಲ ಕ್ಷೇತ್ರಗಳಲ್ಲಿ ಬದಲಾವಣೆ ಉಳಿಸಿಲ್ಲ. ನಿಮ್ಮ ಉಳಿಸದ ಬದಲಾವಣೆಗಳು " +"ನಾಶವಾಗುತ್ತವೆ" + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" + +msgid "Now" +msgstr "ಈಗ" + +msgid "Midnight" +msgstr "ಮಧ್ಯರಾತ್ರಿ" + +msgid "6 a.m." +msgstr "ಬೆಳಗಿನ ೬ ಗಂಟೆ " + +msgid "Noon" +msgstr "ಮಧ್ಯಾಹ್ನ" + +msgid "6 p.m." +msgstr "" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" +msgstr[1] "" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +msgstr[1] "" + +msgid "Choose a Time" +msgstr "" + +msgid "Choose a time" +msgstr "ಸಮಯವೊಂದನ್ನು ಆರಿಸಿ" + +msgid "Cancel" +msgstr "ರದ್ದುಗೊಳಿಸಿ" + +msgid "Today" +msgstr "ಈ ದಿನ" + +msgid "Choose a Date" +msgstr "" + +msgid "Yesterday" +msgstr "ನಿನ್ನೆ" + +msgid "Tomorrow" +msgstr "ನಾಳೆ" + +msgid "January" +msgstr "" + +msgid "February" +msgstr "" + +msgid "March" +msgstr "" + +msgid "April" +msgstr "" + +msgid "May" +msgstr "" + +msgid "June" +msgstr "" + +msgid "July" +msgstr "" + +msgid "August" +msgstr "" + +msgid "September" +msgstr "" + +msgid "October" +msgstr "" + +msgid "November" +msgstr "" + +msgid "December" +msgstr "" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "" + +msgctxt "one letter Monday" +msgid "M" +msgstr "" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "" + +msgctxt "one letter Friday" +msgid "F" +msgstr "" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "" + +msgid "" +"You have already submitted this form. Are you sure you want to submit it " +"again?" +msgstr "" + +msgid "Show" +msgstr "ಪ್ರದರ್ಶನ" + +msgid "Hide" +msgstr "ಮರೆಮಾಡಲು" diff --git a/external_sources/django/django/contrib/admin/locale/ko/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/ko/LC_MESSAGES/django.po new file mode 100644 index 0000000..717f2d5 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ko/LC_MESSAGES/django.po @@ -0,0 +1,800 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jiyoon, Ha , 2016 +# DONGHO JEONG , 2020 +# Dummy Iam, 2021 +# Geonho Kim / Leo Kim , 2019 +# Gihun Ham , 2018 +# Hang Park , 2019 +# Hoseok Lee , 2016 +# Ian Y. Choi , 2015,2019 +# Jaehong Kim , 2011 +# Jannis Leidel , 2011 +# Jay Oh , 2020 +# Le Tartuffe , 2014,2016 +# Juyoung Lim, 2024 +# LEE Hwanyong , 2023 +# Seho Noh , 2018 +# Seacbyul Lee , 2017 +# 최소영, 2024 +# Taesik Yoon , 2015 +# 정훈 이, 2021 +# 박태진, 2021 +# Yang Chan Woo , 2019 +# Youngkwang Yang, 2024 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-10-07 07:05+0000\n" +"Last-Translator: Youngkwang Yang, 2024\n" +"Language-Team: Korean (http://app.transifex.com/django/django/language/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "선택된 %(verbose_name_plural)s 을/를 삭제합니다." + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d개의 %(items)s 을/를 성공적으로 삭제하였습니다." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "%(name)s를 삭제할 수 없습니다." + +msgid "Are you sure?" +msgstr "확실합니까?" + +msgid "Administration" +msgstr "관리" + +msgid "All" +msgstr "모두" + +msgid "Yes" +msgstr "예" + +msgid "No" +msgstr "아니오" + +msgid "Unknown" +msgstr "알 수 없습니다." + +msgid "Any date" +msgstr "언제나" + +msgid "Today" +msgstr "오늘" + +msgid "Past 7 days" +msgstr "지난 7일" + +msgid "This month" +msgstr "이번 달" + +msgid "This year" +msgstr "이번 해" + +msgid "No date" +msgstr "날짜 없음" + +msgid "Has date" +msgstr "날짜 있음" + +msgid "Empty" +msgstr "비어 있음" + +msgid "Not empty" +msgstr "비어 있지 않음" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"관리자 계정의 %(username)s 와 비밀번호를 입력해주세요. 대소문자를 구분해서 입" +"력해주세요." + +msgid "Action:" +msgstr "액션:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "%(verbose_name)s 더 추가하기" + +msgid "Remove" +msgstr "삭제하기" + +msgid "Addition" +msgstr "추가" + +msgid "Change" +msgstr "변경" + +msgid "Deletion" +msgstr "삭제" + +msgid "action time" +msgstr "액션 타임" + +msgid "user" +msgstr "사용자" + +msgid "content type" +msgstr "콘텐츠 타입" + +msgid "object id" +msgstr "오브젝트 아이디" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "오브젝트 표현" + +msgid "action flag" +msgstr "액션 플래그" + +msgid "change message" +msgstr "메시지 변경" + +msgid "log entry" +msgstr "로그 엔트리" + +msgid "log entries" +msgstr "로그 엔트리" + +#, python-format +msgid "Added “%(object)s”." +msgstr "\"%(object)s\"이/가 추가되었습니다." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "\"%(object)s\"이/가 \"%(changes)s\"(으)로 변경되었습니다." + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "%(object)s를 삭제했습니다." + +msgid "LogEntry Object" +msgstr "로그 엔트리 객체" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "{name} “{object}개체”를 추가했습니다." + +msgid "Added." +msgstr "추가되었습니다." + +msgid "and" +msgstr "또한" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "{name} “{object}개체”의 {fields}필드를 변경했습니다." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "{fields}가 변경되었습니다." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "{name} “{object}개체”를 삭제했습니다." + +msgid "No fields changed." +msgstr "변경된 필드가 없습니다." + +msgid "None" +msgstr "없음" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"하나 이상을 선택하려면 \"Control\" 키를 누른 채로 선택해주세요. Mac의 경우에" +"는 \"Command\" 키를 눌러주세요." + +msgid "Select this object for an action - {}" +msgstr "작업에 대한 객체를 선택합니다." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "{name} \"{obj}\"가 성공적으로 추가되었습니다." + +msgid "You may edit it again below." +msgstr "아래 내용을 수정해야 합니다." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"{name} \"{obj}\"가 성공적으로 추가되었습니다. 아래에서 다른 {name}을 추가할 " +"수 있습니다." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"{name} \"{obj}\"가 성공적으로 변경되었습니다. 아래에서 다시 수정할 수 있습니" +"다." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"{name} \"{obj}\"가 성공적으로 변경되었습니다. 아래에서 다른 {name}을 추가할 " +"수 있습니다." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "{name} \"{obj}\"가 성공적으로 변경되었습니다." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"항목들에 액션을 적용하기 위해선 먼저 항목들이 선택되어 있어야 합니다. 아무 항" +"목도 변경되지 않았습니다." + +msgid "No action selected." +msgstr "액션이 선택되지 않았습니다." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s \"%(obj)s\"이/가 성공적으로 삭제되었습니다." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "" +"ID \"%(key)s\"을/를 지닌%(name)s이/가 존재하지 않습니다. 삭제된 값이 아닌지 " +"확인해주세요." + +#, python-format +msgid "Add %s" +msgstr "%s 추가" + +#, python-format +msgid "Change %s" +msgstr "%s 변경" + +#, python-format +msgid "View %s" +msgstr "뷰 %s" + +msgid "Database error" +msgstr "데이터베이스 오류" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s개의 %(name)s이/가 변경되었습니다." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "총 %(total_count)s개가 선택되었습니다." + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "%(cnt)s 중 아무것도 선택되지 않았습니다." + +#, python-format +msgid "Change history: %s" +msgstr "변경 히스토리: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"%(class_name)s %(instance)s 을/를 삭제하려면 다음 보호상태의 연관된 오브젝트" +"들을 삭제해야 합니다: %(related_objects)s" + +msgid "Django site admin" +msgstr "Django 사이트 관리" + +msgid "Django administration" +msgstr "Django 관리" + +msgid "Site administration" +msgstr "사이트 관리" + +msgid "Log in" +msgstr "로그인" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s 관리" + +msgid "Page not found" +msgstr "페이지를 찾을 수 없습니다." + +msgid "We’re sorry, but the requested page could not be found." +msgstr "죄송합니다, 요청한 페이지를 찾을 수 없습니다." + +msgid "Home" +msgstr "홈" + +msgid "Server error" +msgstr "서버 오류" + +msgid "Server error (500)" +msgstr "서버 오류 (500)" + +msgid "Server Error (500)" +msgstr "서버 오류 (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"오류가 발생했습니다. 사이트 관리자들에게 이메일로 보고되었고 단시일 내에 수정" +"될 것입니다. 기다려주셔서 감사합니다." + +msgid "Run the selected action" +msgstr "선택한 액션을 실행합니다." + +msgid "Go" +msgstr "실행" + +msgid "Click here to select the objects across all pages" +msgstr "모든 페이지의 항목들을 선택하려면 여기를 클릭하세요." + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "%(total_count)s개의 %(module_name)s 모두를 선택합니다." + +msgid "Clear selection" +msgstr "선택 해제" + +msgid "Breadcrumbs" +msgstr "사용자 위치" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "%(name)s 애플리케이션의 모델" + +msgid "Add" +msgstr "추가" + +msgid "View" +msgstr "보기" + +msgid "You don’t have permission to view or edit anything." +msgstr "독자는 뷰 및 수정 권한이 없습니다." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"첫 번째로, 사용자명과 비밀번호를 입력하세요. 그 후, 독자는 더 많은 사용자 옵" +"션을 수정할 수 있습니다. " + +msgid "Enter a username and password." +msgstr "사용자 이름과 비밀번호를 입력하세요." + +msgid "Change password" +msgstr "비밀번호 변경" + +msgid "Set password" +msgstr "비밀번호 설정" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "아래 오류들을 수정하기 바랍니다. " + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "%(username)s 새로운 비밀번호를 입력하세요." + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "" + +msgid "Disable password-based authentication" +msgstr "" + +msgid "Enable password-based authentication" +msgstr "" + +msgid "Skip to main content" +msgstr "메인 콘텐츠로 이동" + +msgid "Welcome," +msgstr "환영합니다," + +msgid "View site" +msgstr "사이트 보기" + +msgid "Documentation" +msgstr "문서" + +msgid "Log out" +msgstr "로그아웃" + +#, python-format +msgid "Add %(name)s" +msgstr "%(name)s 추가" + +msgid "History" +msgstr "히스토리" + +msgid "View on site" +msgstr "사이트에서 보기" + +msgid "Filter" +msgstr "필터" + +msgid "Hide counts" +msgstr "개수 숨기기" + +msgid "Show counts" +msgstr "개수 표시" + +msgid "Clear all filters" +msgstr "모든 필터 삭제" + +msgid "Remove from sorting" +msgstr "정렬에서 " + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "정렬 조건 : %(priority_number)s" + +msgid "Toggle sorting" +msgstr "정렬 " + +msgid "Toggle theme (current theme: auto)" +msgstr "테마 토글 (현재 테마:자동)" + +msgid "Toggle theme (current theme: light)" +msgstr "테마 토글 (현재 테마: 밝음)" + +msgid "Toggle theme (current theme: dark)" +msgstr "테마 토글 (현재 테마: 어두움)" + +msgid "Delete" +msgstr "삭제" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"%(object_name)s \"%(escaped_object)s\" 을/를 삭제하면서관련 오브젝트를 제거하" +"고자 했으나, 지금 사용하시는 계정은 다음 타입의 오브젝트를 제거할 권한이 없습" +"니다. :" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"%(object_name)s '%(escaped_object)s'를 삭제하려면 다음 보호상태의 연관된 오브" +"젝트들을 삭제해야 합니다." + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"정말로 %(object_name)s \"%(escaped_object)s\"을/를 삭제하시겠습니까? 다음의 " +"관련 항목들이 모두 삭제됩니다. :" + +msgid "Objects" +msgstr "오브젝트" + +msgid "Yes, I’m sure" +msgstr "네, 확신합니다. " + +msgid "No, take me back" +msgstr "아뇨, 돌려주세요." + +msgid "Delete multiple objects" +msgstr "여러 개의 오브젝트 삭제" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"연관 오브젝트 삭제로 선택한 %(objects_name)s의 삭제 중, 그러나 당신의 계정은 " +"다음 오브젝트의 삭제 권한이 없습니다. " + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"%(objects_name)s를 삭제하려면 다음 보호상태의 연관된 오브젝트들을 삭제해야 합" +"니다." + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"선택한 %(objects_name)s를 정말 삭제하시겠습니까? 다음의 오브젝트와 연관 아이" +"템들이 모두 삭제됩니다:" + +msgid "Delete?" +msgstr "삭제" + +#, python-format +msgid " By %(filter_title)s " +msgstr "%(filter_title)s (으)로" + +msgid "Summary" +msgstr "개요" + +msgid "Recent actions" +msgstr "최근 활동" + +msgid "My actions" +msgstr "나의 활동" + +msgid "None available" +msgstr "이용할 수 없습니다." + +msgid "Added:" +msgstr "추가되었습니다:" + +msgid "Changed:" +msgstr "변경:" + +msgid "Deleted:" +msgstr "삭제:" + +msgid "Unknown content" +msgstr "알 수 없는 형식입니다." + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"당신의 데이터베이스 설치, 설치본에 오류가 있습니다. \n" +"적합한 데이터베이스 테이블이 생성되었는지 확인하고, 데이터베이스가 적합한 사" +"용자가 열람할 수 있는 지 확인하십시오. " + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"%(username)s 로 인증되어 있지만, 이 페이지에 접근 가능한 권한이 없습니다. 다" +"른 계정으로 로그인하시겠습니까?" + +msgid "Forgotten your password or username?" +msgstr "아이디 또는 비밀번호를 분실하였습니까?" + +msgid "Toggle navigation" +msgstr "토글 메뉴" + +msgid "Sidebar" +msgstr "사이드바" + +msgid "Start typing to filter…" +msgstr "필터에 타이핑 시작..." + +msgid "Filter navigation items" +msgstr "탐색 항목 필터링" + +msgid "Date/time" +msgstr "날짜/시간" + +msgid "User" +msgstr "사용자" + +msgid "Action" +msgstr "액션" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "항목" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"이 개체는 변경 기록이 없습니다. 아마도 이 관리자 사이트를 통해 추가되지 않았" +"을 것입니다. " + +msgid "Show all" +msgstr "모두 표시" + +msgid "Save" +msgstr "저장" + +msgid "Popup closing…" +msgstr "팝업 닫는중..." + +msgid "Search" +msgstr "검색" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "결과 %(counter)s개 나옴" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "총 %(full_result_count)s건" + +msgid "Save as new" +msgstr "새로 저장" + +msgid "Save and add another" +msgstr "저장 및 다른 이름으로 추가" + +msgid "Save and continue editing" +msgstr "저장 및 편집 계속" + +msgid "Save and view" +msgstr "저장하고 조회하기" + +msgid "Close" +msgstr "닫기" + +#, python-format +msgid "Change selected %(model)s" +msgstr "선택된 %(model)s 변경" + +#, python-format +msgid "Add another %(model)s" +msgstr "%(model)s 추가" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "선택된 %(model)s 제거" + +#, python-format +msgid "View selected %(model)s" +msgstr "선택된 %(model)s 보기" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "사이트를 이용해 주셔서 고맙습니다." + +msgid "Log in again" +msgstr "다시 로그인하기" + +msgid "Password change" +msgstr "비밀번호 변경" + +msgid "Your password was changed." +msgstr "비밀번호가 변경되었습니다." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"독자의 과거 비밀번호를 입력한 후, 보안을 위해 새로운 비밀번호을 두 번 입력하" +"여 옳은 입력인 지 확인할 수 있도록 하십시오." + +msgid "Change my password" +msgstr "비밀번호 변경" + +msgid "Password reset" +msgstr "비밀번호 초기화" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "비밀번호가 설정되었습니다. 이제 로그인하세요." + +msgid "Password reset confirmation" +msgstr "비밀번호 초기화 확인" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"새로운 비밀번호를 정확히 입력했는지 확인할 수 있도록 두 번 입력하시기 바랍니" +"다." + +msgid "New password:" +msgstr "새로운 비밀번호:" + +msgid "Confirm password:" +msgstr "새로운 비밀번호 (확인):" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"비밀번호 초기화 링크가 이미 사용되어 올바르지 않습니다. 비밀번호 초기화를 다" +"시 해주세요." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"계정이 존재한다면, 독자가 입력한 이메일로 비밀번호 설정 안내문을 발송했습니" +"다. 곧 수신할 수 있을 것입니다. " + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"만약 이메일을 받지 못하였다면, 등록하신 이메일을 다시 확인하시거나 스팸 메일" +"함을 확인해주세요." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"%(site_name)s의 계정 비밀번호를 초기화하기 위한 요청으로 이 이메일이 전송되었" +"습니다." + +msgid "Please go to the following page and choose a new password:" +msgstr "다음 페이지에서 새 비밀번호를 선택하세요." + +msgid "Your username, in case you’ve forgotten:" +msgstr "사용자명:" + +msgid "Thanks for using our site!" +msgstr "사이트를 이용해 주셔서 고맙습니다." + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s 팀" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"비밀번호를 잊어버렸나요? 이메일 주소를 아래에 입력하시면 새로운 비밀번호를 설" +"정하는 절차를 이메일로 보내드리겠습니다." + +msgid "Email address:" +msgstr "이메일 주소:" + +msgid "Reset my password" +msgstr "비밀번호 초기화" + +msgid "Select all objects on this page for an action" +msgstr "작업에 대한 이 페이지의 모든 객체를 선택합니다." + +msgid "All dates" +msgstr "언제나" + +#, python-format +msgid "Select %s" +msgstr "%s 선택" + +#, python-format +msgid "Select %s to change" +msgstr "변경할 %s 선택" + +#, python-format +msgid "Select %s to view" +msgstr "보기위한 1%s 를(을) 선택" + +msgid "Date:" +msgstr "날짜:" + +msgid "Time:" +msgstr "시각:" + +msgid "Lookup" +msgstr "찾아보기" + +msgid "Currently:" +msgstr "현재:" + +msgid "Change:" +msgstr "변경:" diff --git a/external_sources/django/django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..adcf449 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.po @@ -0,0 +1,327 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# DaHae Sung , 2016 +# alexhojinpark, 2023 +# Hoseok Lee , 2016 +# Jaehong Kim , 2011 +# Jannis Leidel , 2011 +# Jay Oh , 2020 +# Le Tartuffe , 2014 +# LEE Hwanyong , 2023 +# minsung kang, 2015 +# Seoeun(Sun☀️) Hong, 2023 +# Yang Chan Woo , 2021 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 15:04-0300\n" +"PO-Revision-Date: 2023-12-04 07:59+0000\n" +"Last-Translator: alexhojinpark, 2023\n" +"Language-Team: Korean (http://app.transifex.com/django/django/language/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, javascript-format +msgid "Available %s" +msgstr "이용 가능한 %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"사용 가능한 %s 의 리스트 입니다. 아래의 상자에서 선택하고 두 상자 사이의 " +"\"선택\" 화살표를 클릭하여 몇 가지를 선택할 수 있습니다." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "사용 가능한 %s 리스트를 필터링하려면 이 상자에 입력하세요." + +msgid "Filter" +msgstr "필터" + +msgid "Choose all" +msgstr "모두 선택" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "한번에 모든 %s 를 선택하려면 클릭하세요." + +msgid "Choose" +msgstr "선택" + +msgid "Remove" +msgstr "삭제" + +#, javascript-format +msgid "Chosen %s" +msgstr "선택된 %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"선택된 %s 리스트 입니다. 아래의 상자에서 선택하고 두 상자 사이의 \"제거\" 화" +"살표를 클릭하여 일부를 제거 할 수 있습니다." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "선택된 %s의 리스트를 필터링 하려면 이 박스에 입력 하세요 ." + +msgid "Remove all" +msgstr "모두 제거" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "한번에 선택된 모든 %s 를 제거하려면 클릭하세요." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%s 선택된 옵션은 표시되지 않습니다." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s개가 %(cnt)s개 중에 선택됨." + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"개별 편집 가능한 필드에 저장되지 않은 값이 있습니다. 액션을 수행하면 저장되" +"지 않은 값들을 잃어버리게 됩니다." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"개별 필드의 값들을 저장하지 않고 액션을 선택했습니다. OK를 누르면 저장되며, " +"액션을 한 번 더 실행해야 합니다." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"개별 필드에 아무런 변경이 없는 상태로 액션을 선택했습니다. 저장 버튼이 아니" +"라 진행 버튼을 찾아보세요." + +msgid "Now" +msgstr "현재" + +msgid "Midnight" +msgstr "자정" + +msgid "6 a.m." +msgstr "오전 6시" + +msgid "Noon" +msgstr "정오" + +msgid "6 p.m." +msgstr "오후 6시" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Note: 서버 시간보다 %s 시간 빠릅니다." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Note: 서버 시간보다 %s 시간 늦은 시간입니다." + +msgid "Choose a Time" +msgstr "시간 선택" + +msgid "Choose a time" +msgstr "시간 선택" + +msgid "Cancel" +msgstr "취소" + +msgid "Today" +msgstr "오늘" + +msgid "Choose a Date" +msgstr "시간 선택" + +msgid "Yesterday" +msgstr "어제" + +msgid "Tomorrow" +msgstr "내일" + +msgid "January" +msgstr "1월" + +msgid "February" +msgstr "2월" + +msgid "March" +msgstr "3월" + +msgid "April" +msgstr "4월" + +msgid "May" +msgstr "5월" + +msgid "June" +msgstr "6월" + +msgid "July" +msgstr "7월" + +msgid "August" +msgstr "8월" + +msgid "September" +msgstr "9월" + +msgid "October" +msgstr "10월" + +msgid "November" +msgstr "11월" + +msgid "December" +msgstr "12월" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "1월" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "2월" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "3월" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "4월" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "5월" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "6월" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "7월" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "8월" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "9월" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "10월" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "11월" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "12월" + +msgid "Sunday" +msgstr "일요일" + +msgid "Monday" +msgstr "월요일" + +msgid "Tuesday" +msgstr "화요일" + +msgid "Wednesday" +msgstr "수요일" + +msgid "Thursday" +msgstr "목요일" + +msgid "Friday" +msgstr "금요일" + +msgid "Saturday" +msgstr "토요일" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "일" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "월" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "화" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "수" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "목" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "금" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "토" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "일" + +msgctxt "one letter Monday" +msgid "M" +msgstr "월" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "화" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "수" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "목" + +msgctxt "one letter Friday" +msgid "F" +msgstr "금" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "토" + +msgid "Show" +msgstr "보기" + +msgid "Hide" +msgstr "감추기" diff --git a/external_sources/django/django/contrib/admin/locale/ky/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/ky/LC_MESSAGES/django.po new file mode 100644 index 0000000..683480c --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ky/LC_MESSAGES/django.po @@ -0,0 +1,711 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Belek , 2016 +# Chyngyz Monokbaev , 2016 +# Soyuzbek Orozbek uulu , 2020-2021 +# Soyuzbek Orozbek uulu , 2020 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-09-21 10:22+0200\n" +"PO-Revision-Date: 2021-11-27 14:12+0000\n" +"Last-Translator: Soyuzbek Orozbek uulu \n" +"Language-Team: Kyrgyz (http://www.transifex.com/django/django/language/ky/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ky\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Тандалган %(verbose_name_plural)s элементтерин өчүрүү" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d %(items)s ийгиликтүү өчүрүлдү." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "%(name)s өчүрүү мүмкүн эмес" + +msgid "Are you sure?" +msgstr "Чечимиңиз аныкпы?" + +msgid "Administration" +msgstr "Башкаруу" + +msgid "All" +msgstr "Баары" + +msgid "Yes" +msgstr "Ооба" + +msgid "No" +msgstr "Жок" + +msgid "Unknown" +msgstr "Такталбаган" + +msgid "Any date" +msgstr "Кааалаган бир күн" + +msgid "Today" +msgstr "Бүгүн" + +msgid "Past 7 days" +msgstr "Өткөн 7 күн" + +msgid "This month" +msgstr "Бул айда" + +msgid "This year" +msgstr "Бул жылда" + +msgid "No date" +msgstr "Күн белгиленген эмес" + +msgid "Has date" +msgstr "Күн белгиленген" + +msgid "Empty" +msgstr "Бош" + +msgid "Not empty" +msgstr "Бош эмес" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Сураныч кызматкердин %(username)s жана сыр сөзүн туура жазыңыз. Эки " +"талаага тең баш тамга же кичүү тамга менен жазганыңыз маанилүү экенин эске " +"тутуңуз." + +msgid "Action:" +msgstr "Аракет" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Дагы %(verbose_name)s кошуу" + +msgid "Remove" +msgstr "Алып таштоо" + +msgid "Addition" +msgstr "Кошумча" + +msgid "Change" +msgstr "Өзгөртүү" + +msgid "Deletion" +msgstr "Өчүрүү" + +msgid "action time" +msgstr "аракет убактысы" + +msgid "user" +msgstr "колдонуучу" + +msgid "content type" +msgstr "Контент тиби" + +msgid "object id" +msgstr "объекттин id-си" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "объекттин repr-и" + +msgid "action flag" +msgstr "аракет белгиси" + +msgid "change message" +msgstr "билдирүүнү өзгөртүү" + +msgid "log entry" +msgstr "Жазуу журналы" + +msgid "log entries" +msgstr "Жазуу журналдары" + +#, python-format +msgid "Added “%(object)s”." +msgstr "“%(object)s” кошулду" + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "“%(object)s” — %(changes)s өзгөрдү" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "“%(object)s.” өчүрүлдү" + +msgid "LogEntry Object" +msgstr "LogEntry обектиси" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "{name} “{object}” кошулду" + +msgid "Added." +msgstr "Кошулду." + +msgid "and" +msgstr "жана" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "{name} “{object}” үчүн {fields} өзгөртүлдү." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "{fields} өзгөртүлдү." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "{name} “{object}” өчүрүлдү." + +msgid "No fields changed." +msgstr "Эч бир талаа өзгөртүлгөн жок" + +msgid "None" +msgstr "Эчбир" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "Көбүрөөк тандоо үчүн “CTRL”, же макбук үчүн “Cmd” кармап туруңуз." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "{name} \"{obj}\" ийгиликтүү кошулду." + +msgid "You may edit it again below." +msgstr "Сиз муну төмөндө кайра өзгөртүшүңүз мүмкүн." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "{name} \"{obj}\" ийгиликтүү кошулду. Сиз башка {name} кошо аласыз." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "{name} “{obj}” ийгиликтүү өзгөрдү. Сиз аны төмөндө өзгөртө аласыз." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "{name} “{obj}” ийгиликтүү кошулду. Сиз аны төмөндө өзгөртө аласыз." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"{name} “{obj}” ийгиликтүү өзгөрдү. Төмөндө башка {name} кошсоңуз болот." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "{name} \"{obj}\" ийгиликтүү өзгөрдү." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Нерселердин үстүнөн аракет кылуудан мурда алар тандалуусу керек. Эч " +"нерсеөзгөргөн жок." + +msgid "No action selected." +msgstr "Аракет тандалган жок." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s \"%(obj)s\" ийгиликтүү өчүрүлдү" + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "" +"ID си %(key)s\" болгон %(name)s табылган жок. Ал өчүрүлгөн болуп жүрбөсүн?" + +#, python-format +msgid "Add %s" +msgstr "%s кошуу" + +#, python-format +msgid "Change %s" +msgstr "%s өзгөртүү" + +#, python-format +msgid "View %s" +msgstr "%s көрүү" + +msgid "Database error" +msgstr "Берилиштер базасында ката" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s%(name)s ийгиликтүү өзгөртүлдү." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "Бүт %(total_count)s тандалды" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "%(cnt)s нерседен эчтемке тандалган жок" + +#, python-format +msgid "Change history: %s" +msgstr "%s тарыхын өзгөртүү" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"%(class_name)s %(instance)s өчүрүлүүсү үчүн %(related_objects)s да " +"өчүрүлүүсү талап кылынат." + +msgid "Django site admin" +msgstr "Жанго башкарма сайты" + +msgid "Django administration" +msgstr "Жанго башкармасы" + +msgid "Site administration" +msgstr "Сайт башкармасы" + +msgid "Log in" +msgstr "Кирүү" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s башкармасы" + +msgid "Page not found" +msgstr "Барак табылган жок" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Кечирим сурайбыз, сиз сураган барак табылбады." + +msgid "Home" +msgstr "Башкы" + +msgid "Server error" +msgstr "Сервер катасы" + +msgid "Server error (500)" +msgstr "Сервер (500) катасы" + +msgid "Server Error (500)" +msgstr "Сервер (500) катасы" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Ката кетти. Сайт башкармасына экат менен кайрылсаңыз тез арада маселе " +"чечилиши мүмкүн. Түшүнгөнүңүз үчүн рахмат." + +msgid "Run the selected action" +msgstr "Тандалган аракетти иштетиңиз" + +msgid "Go" +msgstr "Жөнө" + +msgid "Click here to select the objects across all pages" +msgstr "Барак боюнча бүт обекттерди тандоо үчүн чыкылдатыңыз" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Бүт %(total_count)s %(module_name)s тандаңыз" + +msgid "Clear selection" +msgstr "Тандоону бошотуу" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "%(name)s колдонмосундагы моделдер" + +msgid "Add" +msgstr "Кошуу" + +msgid "View" +msgstr "Көрүү" + +msgid "You don’t have permission to view or edit anything." +msgstr "Сиз эчнерсени көрүүгө же өзгөртүүгө жеткиңиз жок." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Оболу колдонуучу атыңызды жана сырсөздү териңиз. Ошондо гана башка " +"маалыматтарын өзгөртө аласыз." + +msgid "Enter a username and password." +msgstr "колдонуучу атыңызды жана сырсөз киргизиңиз." + +msgid "Change password" +msgstr "Сырсөз өзгөртүү" + +msgid "Please correct the error below." +msgstr "Төмөнкү катаны оңдоңуз." + +msgid "Please correct the errors below." +msgstr "Төмөнкү каталарды оңдоңуз" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "%(username)s үчүн жаңы сырсөз териңиз." + +msgid "Welcome," +msgstr "Кош келиңиз," + +msgid "View site" +msgstr "Сайтты ачуу" + +msgid "Documentation" +msgstr "Түшүндүрмө" + +msgid "Log out" +msgstr "Чыгуу" + +#, python-format +msgid "Add %(name)s" +msgstr "%(name)s кошуу" + +msgid "History" +msgstr "Тарых" + +msgid "View on site" +msgstr "Сайтта көрүү" + +msgid "Filter" +msgstr "Чыпкалоо" + +msgid "Clear all filters" +msgstr "Бүт чыпкаларды алып салуу" + +msgid "Remove from sorting" +msgstr "Ирээттөөдөн алып салуу" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Ирээттөө абзелдүүлүгү: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Ирээтти алмаштыруу" + +msgid "Delete" +msgstr "Өчүрүү" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"%(object_name)s '%(escaped_object)s өчүрүү үчүн башка байланышкан " +"обекттерди өчүрүү да талап кылынат. Бирок сиздин буга жеткиңиз жок:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"%(object_name)s '%(escaped_object)s өчүрүү үчүн башка байланышкан " +"обекттерди өчүрүү да талап кылат:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Сиз чындап эле %(object_name)s \"%(escaped_object)s\" өчүрүүнү каалайсызбы? " +"Бүт байланышкан нерселер өчүрүлөт:" + +msgid "Objects" +msgstr "Обекттер" + +msgid "Yes, I’m sure" +msgstr "Ооба, мен чындап эле" + +msgid "No, take me back" +msgstr "Жок, мени аркага кайтар" + +msgid "Delete multiple objects" +msgstr "обекттерди өчүр" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"%(objects_name)s өчүрүү үчүн башка байланышкан обекттерди өчүрүү да талап " +"кылат. Бирок сиздин буга жеткиңиз жок:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"%(objects_name)s өчүрүү үчүн башка байланышкан обекттерди өчүрүү да талап " +"кылат:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"чындап эле %(objects_name)s өчүрүүнү каалайсызбы? Бүт байланышкан нерселер " +"өчүрүлөт:" + +msgid "Delete?" +msgstr "Өчүрөлүбү?" + +#, python-format +msgid " By %(filter_title)s " +msgstr "%(filter_title)s боюнча" + +msgid "Summary" +msgstr "Жалпысынан" + +msgid "Recent actions" +msgstr "Акыркы аракеттер" + +msgid "My actions" +msgstr "Менин аракеттерим" + +msgid "None available" +msgstr "Мүмкүн эмес" + +msgid "Unknown content" +msgstr "Белгисиз мазмун" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Сиздин базаңызды орнотуу боюнча ката кетти. Керектүү база жадыбалдары " +"түзүлгөндүгүн жана тиешелүү колдонуучунун жеткиси барлыгын текшериңиз." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Сиз %(username)s катары киргенсиз, бирок сиздин бул баракка жеткиңиз жок. " +"Сиз башка колдонуучу катары киресизби?" + +msgid "Forgotten your password or username?" +msgstr "Колдонуучу атыңыз же сырсөздү унутуп калдыңызбы?" + +msgid "Toggle navigation" +msgstr "Навигацияны алмаштыруу" + +msgid "Start typing to filter…" +msgstr "чыпкалоо үчүн жазып башта" + +msgid "Filter navigation items" +msgstr "Навигация элементтерин чыпкалоо" + +msgid "Date/time" +msgstr "Күн/убакыт" + +msgid "User" +msgstr "Колдонуучу" + +msgid "Action" +msgstr "Аракет" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "Бул обекттин өзгөрүү тарыхы жок." + +msgid "Show all" +msgstr "Баарын көрсөтүү" + +msgid "Save" +msgstr "Сактоо" + +msgid "Popup closing…" +msgstr "Жалтаң жабылуу..." + +msgid "Search" +msgstr "Издөө" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "жыйынтыгы:%(counter)s" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "жалпысынан %(full_result_count)s" + +msgid "Save as new" +msgstr "Жаңы катары сактоо" + +msgid "Save and add another" +msgstr "Сакта жана башкасын кош" + +msgid "Save and continue editing" +msgstr "Сакта жана өзгөртүүнү улант" + +msgid "Save and view" +msgstr "Сактап туруп көрүү" + +msgid "Close" +msgstr "Жабуу" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Тандалган %(model)s өзгөртүү" + +#, python-format +msgid "Add another %(model)s" +msgstr "Башка %(model)s кошуу" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Тандалган %(model)s обеттерин өчүрүү" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Сайтта бираз убакыт өткөргөн үчүн ыраазычылык." + +msgid "Log in again" +msgstr "Кайрадан кирүү" + +msgid "Password change" +msgstr "Сырсөз өзгөрт" + +msgid "Your password was changed." +msgstr "Сиздин сырсөз өзгөрдү." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Коопсуздуктан улам эски сырсөздү териңиз, жана биз коошкондугун текшерүү " +"үчүн жаңы сырсөздү эки жолу териңиз." + +msgid "Change my password" +msgstr "Сырсөздү өзгөрт" + +msgid "Password reset" +msgstr "Сырсөздү кыйратуу" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "" +"Сиздин сырсөз орнотулду. Эми сиз алдыга карай жылып, кирүү аткарсаңыз болот." + +msgid "Password reset confirmation" +msgstr "Сырсөздү кыйратуу тастыктамасы" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Тууралыгын жана коошкондугун текшере алышыбыз үчүн сырсөздү эки жолу териңиз." + +msgid "New password:" +msgstr "Жаңы сырсөз" + +msgid "Confirm password:" +msgstr "Сырсөз тастыктоосу:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Сырсөз кыйратуу шилтемеси жараксыз, мурдатан эле колдонулган болушу мүмкүн. " +"Башка шилтеме сурап көрүңүз." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Сырсөз тууралуу сизге кат жөнөттүк. Эгер мындай аккаунт бар болсо аны тез " +"арада ала аласыз." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Эгер сиз екат албасаңыз даректин тууралыган текшериңиз жана спам папкасын " +"текшериңиз." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "Сиз %(site_name)s боюнча сырсөз сураган үчүн бул экат келди." + +msgid "Please go to the following page and choose a new password:" +msgstr "Төмөнкү баракка кириңиз да жаңы сырсөз тандаңыз." + +msgid "Your username, in case you’ve forgotten:" +msgstr "Сиздин колдонуучу атыңыз, унутуп калсаңыз керек болот." + +msgid "Thanks for using our site!" +msgstr "Биздин сайтты колдонгонуңуз үчүн рахмат!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s жамааты" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "Сырсөз унуттуңузбу? едарек териңиз сизге сырсөз боюнча экат жөнөтөбүз." + +msgid "Email address:" +msgstr "едарек:" + +msgid "Reset my password" +msgstr "Сырсөзүмдү кыйрат" + +msgid "All dates" +msgstr "Бүт күндөр" + +#, python-format +msgid "Select %s" +msgstr "%s тандоо" + +#, python-format +msgid "Select %s to change" +msgstr "%s обекттерин өзгөртүү үчүн тандоо" + +#, python-format +msgid "Select %s to view" +msgstr "%s обекттерин көрүү үчүн тандоо" + +msgid "Date:" +msgstr "Күн:" + +msgid "Time:" +msgstr "Убак:" + +msgid "Lookup" +msgstr "Көз чаптыруу" + +msgid "Currently:" +msgstr "Азыркы:" + +msgid "Change:" +msgstr "Өзгөртүү:" diff --git a/external_sources/django/django/contrib/admin/locale/ky/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/ky/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..76ca738 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ky/LC_MESSAGES/djangojs.po @@ -0,0 +1,260 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Soyuzbek Orozbek uulu , 2020-2021 +# Soyuzbek Orozbek uulu , 2020 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-15 09:00+0100\n" +"PO-Revision-Date: 2021-04-02 11:44+0000\n" +"Last-Translator: Soyuzbek Orozbek uulu \n" +"Language-Team: Kyrgyz (http://www.transifex.com/django/django/language/ky/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ky\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, javascript-format +msgid "Available %s" +msgstr "%s даана жеткиликтүү" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Бул жеткиликтүү тизмеси %s даана . Сиз төмөндө кутудан кээ бирлерин \"Тандоо" +"\" баскычын басуу менен тандап алсаңыз болот." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Жеткиликтүү %s даана тизмесин чыпкалоо үчүн төмөнкү кутуга жазыңыз." + +msgid "Filter" +msgstr "Чыпкалоо" + +msgid "Choose all" +msgstr "Баарын тандоо" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Бүт %s даананы заматта тандоо үчүн чыкылдатыңыз." + +msgid "Choose" +msgstr "Тандоо" + +msgid "Remove" +msgstr "Алып таштоо" + +#, javascript-format +msgid "Chosen %s" +msgstr "%s даана тандалды" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Бул тандалган %s даана. Сиз алардын каалаганын төмөндө кутудан \"Өчүр\" " +"баскычын басуу менен өчүрө аласыз." + +msgid "Remove all" +msgstr "Баарын алып ташта" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Тандалган %s даананын баарын өчүрүү үчүн басыңыз" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(cnt)sнерседен %(sel)sтандалды" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Сиз өзүнчө аймактарда сакталбаган өзгөртүүлөргө ээсиз. Эгер сиз бул аракетти " +"жасасаңыз сакталбаган өзгөрүүлөр текке кетет." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Сиз аракетти тандадыңыз бирок өзүнчө аймактарды сактай элексиз. Сактоо үчүн " +"ОК ту басыңыз. Сиз аракетти кайталашыңыз керек." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Сиз аракетти тандадыңыз жана өзүнчө аймактарда өзгөртүү киргизген жоксуз. " +"Сиз Сактоонун ордуна Жөнө баскычын басууңуз керек." + +msgid "Now" +msgstr "Азыр" + +msgid "Midnight" +msgstr "Түнүчү" + +msgid "6 a.m." +msgstr "саарлап саат 6" + +msgid "Noon" +msgstr "Түш" + +msgid "6 p.m." +msgstr "Кэч саат 6" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Эскертүү: Сиз серверден %s саат алдыда жүрөсүз." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Эскертүү: Сиз серверден %s саат аркада жүрөсүз." + +msgid "Choose a Time" +msgstr "Толук убак танда" + +msgid "Choose a time" +msgstr "Кыска убак танда" + +msgid "Cancel" +msgstr "Жокко чыгар" + +msgid "Today" +msgstr "Бүгүн" + +msgid "Choose a Date" +msgstr "Күн танда" + +msgid "Yesterday" +msgstr "Кечээ" + +msgid "Tomorrow" +msgstr "Эртең" + +msgid "January" +msgstr "Январь" + +msgid "February" +msgstr "Февраль" + +msgid "March" +msgstr "Март" + +msgid "April" +msgstr "Апрель" + +msgid "May" +msgstr "Май" + +msgid "June" +msgstr "Июнь" + +msgid "July" +msgstr "Июль" + +msgid "August" +msgstr "Август" + +msgid "September" +msgstr "Сентябрь" + +msgid "October" +msgstr "Октябрь" + +msgid "November" +msgstr "Ноябрь" + +msgid "December" +msgstr "Декабрь" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Янв" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Фев" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Мар" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Апр" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "Май" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Июн" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Июл" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Авг" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Сен" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Окт" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Ноя" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Дек" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "Жек" + +msgctxt "one letter Monday" +msgid "M" +msgstr "Дүй" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "Шей" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "Шар" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "Бей" + +msgctxt "one letter Friday" +msgid "F" +msgstr "Жума" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "Ише" + +msgid "Show" +msgstr "Көрсөт" + +msgid "Hide" +msgstr "Жашыр" diff --git a/external_sources/django/django/contrib/admin/locale/lb/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/lb/LC_MESSAGES/django.po new file mode 100644 index 0000000..5e2e794 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/lb/LC_MESSAGES/django.po @@ -0,0 +1,632 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# sim0n , 2013 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-19 16:49+0100\n" +"PO-Revision-Date: 2017-09-19 16:40+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Luxembourgish (http://www.transifex.com/django/django/" +"language/lb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "" + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "" + +msgid "Are you sure?" +msgstr "" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "" + +msgid "Administration" +msgstr "" + +msgid "All" +msgstr "All" + +msgid "Yes" +msgstr "Jo" + +msgid "No" +msgstr "Nee" + +msgid "Unknown" +msgstr "Onbekannt" + +msgid "Any date" +msgstr "Iergendeen Datum" + +msgid "Today" +msgstr "Haut" + +msgid "Past 7 days" +msgstr "Läscht 7 Deeg" + +msgid "This month" +msgstr "Dëse Mount" + +msgid "This year" +msgstr "Dëst Joer" + +msgid "No date" +msgstr "" + +msgid "Has date" +msgstr "" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" + +msgid "Action:" +msgstr "Aktioun:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "" + +msgid "Remove" +msgstr "" + +msgid "action time" +msgstr "" + +msgid "user" +msgstr "" + +msgid "content type" +msgstr "" + +msgid "object id" +msgstr "" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/3/library/functions.html#repr) +msgid "object repr" +msgstr "" + +msgid "action flag" +msgstr "" + +msgid "change message" +msgstr "" + +msgid "log entry" +msgstr "" + +msgid "log entries" +msgstr "" + +#, python-format +msgid "Added \"%(object)s\"." +msgstr "" + +#, python-format +msgid "Changed \"%(object)s\" - %(changes)s" +msgstr "" + +#, python-format +msgid "Deleted \"%(object)s.\"" +msgstr "" + +msgid "LogEntry Object" +msgstr "" + +#, python-brace-format +msgid "Added {name} \"{object}\"." +msgstr "" + +msgid "Added." +msgstr "" + +msgid "and" +msgstr "" + +#, python-brace-format +msgid "Changed {fields} for {name} \"{object}\"." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "" + +#, python-brace-format +msgid "Deleted {name} \"{object}\"." +msgstr "" + +msgid "No fields changed." +msgstr "" + +msgid "None" +msgstr "" + +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was added successfully." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" + +msgid "No action selected." +msgstr "" + +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "" + +#, python-format +msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "" + +#, python-format +msgid "Change %s" +msgstr "" + +msgid "Database error" +msgstr "" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "" + +#, python-format +msgid "Change history: %s" +msgstr "" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" + +msgid "Django site admin" +msgstr "" + +msgid "Django administration" +msgstr "" + +msgid "Site administration" +msgstr "" + +msgid "Log in" +msgstr "" + +#, python-format +msgid "%(app)s administration" +msgstr "" + +msgid "Page not found" +msgstr "" + +msgid "We're sorry, but the requested page could not be found." +msgstr "" + +msgid "Home" +msgstr "" + +msgid "Server error" +msgstr "" + +msgid "Server error (500)" +msgstr "" + +msgid "Server Error (500)" +msgstr "" + +msgid "" +"There's been an error. It's been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +msgid "Run the selected action" +msgstr "" + +msgid "Go" +msgstr "" + +msgid "Click here to select the objects across all pages" +msgstr "" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "" + +msgid "Clear selection" +msgstr "" + +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" + +msgid "Enter a username and password." +msgstr "" + +msgid "Change password" +msgstr "" + +msgid "Please correct the error below." +msgstr "" + +msgid "Please correct the errors below." +msgstr "" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" + +msgid "Welcome," +msgstr "" + +msgid "View site" +msgstr "" + +msgid "Documentation" +msgstr "" + +msgid "Log out" +msgstr "" + +#, python-format +msgid "Add %(name)s" +msgstr "" + +msgid "History" +msgstr "" + +msgid "View on site" +msgstr "" + +msgid "Filter" +msgstr "" + +msgid "Remove from sorting" +msgstr "" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "" + +msgid "Toggle sorting" +msgstr "" + +msgid "Delete" +msgstr "Läschen" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" + +msgid "Objects" +msgstr "" + +msgid "Yes, I'm sure" +msgstr "" + +msgid "No, take me back" +msgstr "" + +msgid "Delete multiple objects" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" + +msgid "Change" +msgstr "Änner" + +msgid "Delete?" +msgstr "" + +#, python-format +msgid " By %(filter_title)s " +msgstr "" + +msgid "Summary" +msgstr "" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "" + +msgid "Add" +msgstr "" + +msgid "You don't have permission to edit anything." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "My actions" +msgstr "" + +msgid "None available" +msgstr "" + +msgid "Unknown content" +msgstr "" + +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" + +msgid "Forgotten your password or username?" +msgstr "" + +msgid "Date/time" +msgstr "" + +msgid "User" +msgstr "" + +msgid "Action" +msgstr "" + +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" + +msgid "Show all" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Popup closing..." +msgstr "" + +#, python-format +msgid "Change selected %(model)s" +msgstr "" + +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "" + +msgid "Search" +msgstr "" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "" + +msgid "Save as new" +msgstr "" + +msgid "Save and add another" +msgstr "" + +msgid "Save and continue editing" +msgstr "" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "" + +msgid "Log in again" +msgstr "" + +msgid "Password change" +msgstr "" + +msgid "Your password was changed." +msgstr "" + +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" + +msgid "Change my password" +msgstr "" + +msgid "Password reset" +msgstr "" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "" + +msgid "Password reset confirmation" +msgstr "" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" + +msgid "New password:" +msgstr "" + +msgid "Confirm password:" +msgstr "" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" + +msgid "" +"We've emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don't receive an email, please make sure you've entered the address " +"you registered with, and check your spam folder." +msgstr "" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" + +msgid "Please go to the following page and choose a new password:" +msgstr "" + +msgid "Your username, in case you've forgotten:" +msgstr "" + +msgid "Thanks for using our site!" +msgstr "" + +#, python-format +msgid "The %(site_name)s team" +msgstr "" + +msgid "" +"Forgotten your password? Enter your email address below, and we'll email " +"instructions for setting a new one." +msgstr "" + +msgid "Email address:" +msgstr "" + +msgid "Reset my password" +msgstr "" + +msgid "All dates" +msgstr "" + +#, python-format +msgid "Select %s" +msgstr "" + +#, python-format +msgid "Select %s to change" +msgstr "" + +msgid "Date:" +msgstr "" + +msgid "Time:" +msgstr "" + +msgid "Lookup" +msgstr "" + +msgid "Currently:" +msgstr "" + +msgid "Change:" +msgstr "" diff --git a/external_sources/django/django/contrib/admin/locale/lb/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/lb/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..e1c4a6a --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/lb/LC_MESSAGES/djangojs.po @@ -0,0 +1,145 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-01-17 11:07+0100\n" +"PO-Revision-Date: 2014-10-05 20:12+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Luxembourgish (http://www.transifex.com/projects/p/django/" +"language/lb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" + +msgid "Filter" +msgstr "" + +msgid "Choose all" +msgstr "" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "" + +msgid "Choose" +msgstr "" + +msgid "Remove" +msgstr "" + +#, javascript-format +msgid "Chosen %s" +msgstr "" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" + +msgid "Remove all" +msgstr "" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "" +msgstr[1] "" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" +msgstr[1] "" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +msgstr[1] "" + +msgid "Now" +msgstr "" + +msgid "Clock" +msgstr "" + +msgid "Choose a time" +msgstr "" + +msgid "Midnight" +msgstr "" + +msgid "6 a.m." +msgstr "" + +msgid "Noon" +msgstr "" + +msgid "Cancel" +msgstr "" + +msgid "Today" +msgstr "" + +msgid "Calendar" +msgstr "" + +msgid "Yesterday" +msgstr "" + +msgid "Tomorrow" +msgstr "" + +msgid "" +"January February March April May June July August September October November " +"December" +msgstr "" + +msgid "S M T W T F S" +msgstr "" + +msgid "Show" +msgstr "" + +msgid "Hide" +msgstr "" diff --git a/external_sources/django/django/contrib/admin/locale/lt/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/lt/LC_MESSAGES/django.po new file mode 100644 index 0000000..0c93418 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/lt/LC_MESSAGES/django.po @@ -0,0 +1,720 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel , 2011 +# lauris , 2011 +# Matas Dailyda , 2015-2019 +# Nikolajus Krauklis , 2013 +# Simonas Kazlauskas , 2012-2013 +# sirex , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-01-16 20:42+0100\n" +"PO-Revision-Date: 2019-01-18 10:32+0000\n" +"Last-Translator: Matas Dailyda \n" +"Language-Team: Lithuanian (http://www.transifex.com/django/django/language/" +"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" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Sėkmingai ištrinta %(count)d %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Ištrinti %(name)s negalima" + +msgid "Are you sure?" +msgstr "Ar esate tikras?" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Ištrinti pasirinktus %(verbose_name_plural)s " + +msgid "Administration" +msgstr "Administravimas" + +msgid "All" +msgstr "Visi" + +msgid "Yes" +msgstr "Taip" + +msgid "No" +msgstr "Ne" + +msgid "Unknown" +msgstr "Nežinomas" + +msgid "Any date" +msgstr "Betkokia data" + +msgid "Today" +msgstr "Šiandien" + +msgid "Past 7 days" +msgstr "Paskutinės 7 dienos" + +msgid "This month" +msgstr "Šį mėnesį" + +msgid "This year" +msgstr "Šiais metais" + +msgid "No date" +msgstr "Nėra datos" + +msgid "Has date" +msgstr "Turi datą" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Prašome įvesti tinkamą personalo paskyros %(username)s ir slaptažodį. " +"Atminkite, kad abu laukeliai yra jautrūs raidžių dydžiui." + +msgid "Action:" +msgstr "Veiksmas:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Pridėti dar viena %(verbose_name)s" + +msgid "Remove" +msgstr "Pašalinti" + +msgid "Addition" +msgstr "Pridėjimas" + +msgid "Change" +msgstr "Pakeisti" + +msgid "Deletion" +msgstr "Pašalinimas" + +msgid "action time" +msgstr "veiksmo laikas" + +msgid "user" +msgstr "vartotojas" + +msgid "content type" +msgstr "turinio tipas" + +msgid "object id" +msgstr "objekto id" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "objekto repr" + +msgid "action flag" +msgstr "veiksmo žymė" + +msgid "change message" +msgstr "pakeisti žinutę" + +msgid "log entry" +msgstr "log įrašas" + +msgid "log entries" +msgstr "log įrašai" + +#, python-format +msgid "Added \"%(object)s\"." +msgstr "„%(object)s“ pridėti." + +#, python-format +msgid "Changed \"%(object)s\" - %(changes)s" +msgstr "Pakeisti „%(object)s“ - %(changes)s" + +#, python-format +msgid "Deleted \"%(object)s.\"" +msgstr "„%(object)s“ ištrinti." + +msgid "LogEntry Object" +msgstr "LogEntry objektas" + +#, python-brace-format +msgid "Added {name} \"{object}\"." +msgstr "Pridėtas {name} \"{object}\"." + +msgid "Added." +msgstr "Pridėta." + +msgid "and" +msgstr "ir" + +#, python-brace-format +msgid "Changed {fields} for {name} \"{object}\"." +msgstr "Pakeisti {fields} arba {name} \"{object}\"." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Pakeisti {fields}." + +#, python-brace-format +msgid "Deleted {name} \"{object}\"." +msgstr "Pašalintas {name} \"{object}\"." + +msgid "No fields changed." +msgstr "Nei vienas laukas nepakeistas" + +msgid "None" +msgstr "None" + +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" +"Nuspauskite \"Control\", arba \"Command\" Mac kompiuteriuose, kad pasirinkti " +"daugiau nei vieną." + +#, python-brace-format +msgid "The {name} \"{obj}\" was added successfully." +msgstr "{name} \"{obj}\" buvo sėkmingai pridėtas." + +msgid "You may edit it again below." +msgstr "Galite tai dar kartą redaguoti žemiau." + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may add another {name} " +"below." +msgstr "" +"{name} \"{obj}\" buvo sėkmingai pridėtas. Galite pridėti kitą {name} žemiau." + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may edit it again below." +msgstr "{name} \"{obj}\" buvo sėkmingai pakeistas. Galite jį koreguoti žemiau." + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" +"{name} \"{obj}\" buvo sėkmingai pridėtas. Galite jį vėl redaguoti žemiau." + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may add another {name} " +"below." +msgstr "" +"{name} \"{obj}\" buvo sėkmingai pakeistas. Galite pridėti kitą {name} žemiau." + +#, python-brace-format +msgid "The {name} \"{obj}\" was changed successfully." +msgstr "{name} \"{obj}\" buvo sėkmingai pakeistas." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Įrašai turi būti pasirinkti, kad būtų galima atlikti veiksmus. Įrašai " +"pakeisti nebuvo." + +msgid "No action selected." +msgstr "Veiksmai atlikti nebuvo." + +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "%(name)s \"%(obj)s\" sėkmingai ištrintas." + +#, python-format +msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" +msgstr "%(name)s su ID \"%(key)s\" neegzistuoja. Gal tai buvo ištrinta?" + +#, python-format +msgid "Add %s" +msgstr "Pridėti %s" + +#, python-format +msgid "Change %s" +msgstr "Pakeisti %s" + +#, python-format +msgid "View %s" +msgstr "Peržiūrėti %s" + +msgid "Database error" +msgstr "Duomenų bazės klaida" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s sėkmingai pakeistas." +msgstr[1] "%(count)s %(name)s sėkmingai pakeisti." +msgstr[2] "%(count)s %(name)s " +msgstr[3] "%(count)s %(name)s " + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s pasirinktas" +msgstr[1] "%(total_count)s pasirinkti" +msgstr[2] "Visi %(total_count)s pasirinkti" +msgstr[3] "Visi %(total_count)s pasirinkti" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 iš %(cnt)s pasirinkta" + +#, python-format +msgid "Change history: %s" +msgstr "Pakeitimų istorija: %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"%(class_name)s %(instance)s šalinimas reikalautų pašalinti apsaugotus " +"susijusius objektus: %(related_objects)s" + +msgid "Django site admin" +msgstr "Django tinklalapio administravimas" + +msgid "Django administration" +msgstr "Django administravimas" + +msgid "Site administration" +msgstr "Tinklalapio administravimas" + +msgid "Log in" +msgstr "Prisijungti" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s administravimas" + +msgid "Page not found" +msgstr "Puslapis nerastas" + +msgid "We're sorry, but the requested page could not be found." +msgstr "Atsiprašome, bet prašytas puslapis nerastas." + +msgid "Home" +msgstr "Pradinis" + +msgid "Server error" +msgstr "Serverio klaida" + +msgid "Server error (500)" +msgstr "Serverio klaida (500)" + +msgid "Server Error (500)" +msgstr "Serverio klaida (500)" + +msgid "" +"There's been an error. It's been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Netikėta klaida. Apie ją buvo pranešta administratoriams el. paštu ir ji " +"turėtų būti greitai sutvarkyta. Dėkui už kantrybę." + +msgid "Run the selected action" +msgstr "Vykdyti pasirinktus veiksmus" + +msgid "Go" +msgstr "Vykdyti" + +msgid "Click here to select the objects across all pages" +msgstr "Spauskite čia norėdami pasirinkti visus įrašus" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Pasirinkti visus %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Atstatyti į pradinę būseną" + +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"Pirmiausia įveskite naudotojo vardą ir slaptažodį. Tada galėsite keisti " +"daugiau naudotojo nustatymų." + +msgid "Enter a username and password." +msgstr "Įveskite naudotojo vardą ir slaptažodį." + +msgid "Change password" +msgstr "Keisti slaptažodį" + +msgid "Please correct the error below." +msgstr "Prašome ištaisyti žemiau esančią klaidą." + +msgid "Please correct the errors below." +msgstr "Ištaisykite žemiau esančias klaidas." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Įveskite naują slaptažodį naudotojui %(username)s." + +msgid "Welcome," +msgstr "Sveiki," + +msgid "View site" +msgstr "Peržiūrėti tinklalapį" + +msgid "Documentation" +msgstr "Dokumentacija" + +msgid "Log out" +msgstr "Atsijungti" + +#, python-format +msgid "Add %(name)s" +msgstr "Naujas %(name)s" + +msgid "History" +msgstr "Istorija" + +msgid "View on site" +msgstr "Matyti tinklalapyje" + +msgid "Filter" +msgstr "Filtras" + +msgid "Remove from sorting" +msgstr "Pašalinti iš rikiavimo" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Rikiavimo prioritetas: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Perjungti rikiavimą" + +msgid "Delete" +msgstr "Ištrinti" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Trinant %(object_name)s '%(escaped_object)s' turi būti ištrinti ir susiję " +"objektai, bet tavo vartotojas neturi teisių ištrinti šių objektų:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Ištrinant %(object_name)s '%(escaped_object)s' būtų ištrinti šie apsaugoti " +"ir susiję objektai:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Ar este tikri, kad norite ištrinti %(object_name)s \"%(escaped_object)s\"? " +"Visi susiję objektai bus ištrinti:" + +msgid "Objects" +msgstr "Objektai" + +msgid "Yes, I'm sure" +msgstr "Taip, esu tikras" + +msgid "No, take me back" +msgstr "Ne, grįžti atgal" + +msgid "Delete multiple objects" +msgstr "Ištrinti kelis objektus" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Ištrinant pasirinktą %(objects_name)s būtų ištrinti susiję objektai, tačiau " +"jūsų vartotojas neturi reikalingų teisių ištrinti šiuos objektų tipus:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Ištrinant pasirinktus %(objects_name)s būtų ištrinti šie apsaugoti ir susiję " +"objektai:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Ar esate tikri, kad norite ištrinti pasirinktus %(objects_name)s? Sekantys " +"pasirinkti bei susiję objektai bus ištrinti:" + +msgid "View" +msgstr "Peržiūrėti" + +msgid "Delete?" +msgstr "Ištrinti?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " Pagal %(filter_title)s " + +msgid "Summary" +msgstr "Santrauka" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "%(name)s aplikacijos modeliai" + +msgid "Add" +msgstr "Pridėti" + +msgid "You don't have permission to view or edit anything." +msgstr "Jūs neturite teisių peržiūrai ir redagavimui." + +msgid "Recent actions" +msgstr "Paskutiniai veiksmai" + +msgid "My actions" +msgstr "Mano veiksmai" + +msgid "None available" +msgstr "Nėra prieinamų" + +msgid "Unknown content" +msgstr "Nežinomas turinys" + +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Kažkas yra negerai su jūsų duomenų bazės instaliacija. Įsitikink, kad visos " +"reikalingos lentelės sukurtos ir vartotojas turi teises skaityti duomenų " +"bazę." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Jūs esate prisijungęs kaip %(username)s, bet neturite teisių patekti į šį " +"puslapį. Ar norėtumete prisijungti su kitu vartotoju?" + +msgid "Forgotten your password or username?" +msgstr "Pamiršote slaptažodį ar vartotojo vardą?" + +msgid "Date/time" +msgstr "Data/laikas" + +msgid "User" +msgstr "Naudotojas" + +msgid "Action" +msgstr "Veiksmas" + +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"Šis objektas neturi pakeitimų istorijos. Tikriausiai jis buvo pridėtas ne " +"per administravimo puslapį." + +msgid "Show all" +msgstr "Rodyti visus" + +msgid "Save" +msgstr "Išsaugoti" + +msgid "Popup closing…" +msgstr "Iškylantysis langas užsidaro..." + +msgid "Search" +msgstr "Ieškoti" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s rezultatas" +msgstr[1] "%(counter)s rezultatai" +msgstr[2] "%(counter)s rezultatai" +msgstr[3] "%(counter)s rezultatai" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s iš viso" + +msgid "Save as new" +msgstr "Išsaugoti kaip naują" + +msgid "Save and add another" +msgstr "Išsaugoti ir pridėti naują" + +msgid "Save and continue editing" +msgstr "Išsaugoti ir tęsti redagavimą" + +msgid "Save and view" +msgstr "Išsaugoti ir peržiūrėti" + +msgid "Close" +msgstr "Uždaryti" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Keisti pasirinktus %(model)s" + +#, python-format +msgid "Add another %(model)s" +msgstr "Pridėti dar vieną %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Pašalinti pasirinktus %(model)s" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Dėkui už šiandien tinklalapyje turiningai praleistą laiką." + +msgid "Log in again" +msgstr "Prisijungti dar kartą" + +msgid "Password change" +msgstr "Slaptažodžio keitimas" + +msgid "Your password was changed." +msgstr "Jūsų slaptažodis buvo pakeistas." + +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Saugumo sumetimais įveskite seną slaptažodį ir tada du kartus naują, kad " +"įsitikinti, jog nesuklydote rašydamas" + +msgid "Change my password" +msgstr "Keisti mano slaptažodį" + +msgid "Password reset" +msgstr "Slaptažodžio atstatymas" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Jūsų slaptažodis buvo išsaugotas. Dabas galite prisijungti." + +msgid "Password reset confirmation" +msgstr "Slaptažodžio atstatymo patvirtinimas" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Įveskite naująjį slaptažodį du kartus, taip užtikrinant, jog nesuklydote " +"rašydami." + +msgid "New password:" +msgstr "Naujasis slaptažodis:" + +msgid "Confirm password:" +msgstr "Slaptažodžio patvirtinimas:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Slaptažodžio atstatymo nuoroda buvo negaliojanti, nes ji tikriausiai jau " +"buvo panaudota. Prašykite naujo slaptažodžio pakeitimo." + +msgid "" +"We've emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Jei egzistuoja vartotojas su jūsų įvestu elektroninio pašto adresu, " +"išsiųsime jums slaptažodžio nustatymo instrukcijas . Instrukcijas turėtumėte " +"gauti netrukus." + +msgid "" +"If you don't receive an email, please make sure you've entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Jei el. laiško negavote, prašome įsitikinti ar įvedėte tą el. pašto adresą " +"kuriuo registravotės ir patikrinkite savo šlamšto aplanką." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Jūs gaunate šį laišką nes prašėte paskyros slaptažodžio atkūrimo " +"%(site_name)s svetainėje." + +msgid "Please go to the following page and choose a new password:" +msgstr "Prašome eiti į šį puslapį ir pasirinkti naują slaptažodį:" + +msgid "Your username, in case you've forgotten:" +msgstr "Jūsų naudotojo vardas, jei netyčia jį užmiršote:" + +msgid "Thanks for using our site!" +msgstr "Dėkui, kad naudojatės mūsų tinklalapiu!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s komanda" + +msgid "" +"Forgotten your password? Enter your email address below, and we'll email " +"instructions for setting a new one." +msgstr "" +"Pamiršote slaptažodį? Įveskite savo el. pašto adresą ir mes išsiųsime laišką " +"su instrukcijomis kaip nustatyti naują slaptažodį." + +msgid "Email address:" +msgstr "El. pašto adresas:" + +msgid "Reset my password" +msgstr "Atstatyti slaptažodį" + +msgid "All dates" +msgstr "Visos datos" + +#, python-format +msgid "Select %s" +msgstr "Pasirinkti %s" + +#, python-format +msgid "Select %s to change" +msgstr "Pasirinkite %s kurį norite keisti" + +#, python-format +msgid "Select %s to view" +msgstr "Pasirinkti %s peržiūrai" + +msgid "Date:" +msgstr "Data:" + +msgid "Time:" +msgstr "Laikas:" + +msgid "Lookup" +msgstr "Paieška" + +msgid "Currently:" +msgstr "Šiuo metu:" + +msgid "Change:" +msgstr "Pakeisti:" diff --git a/external_sources/django/django/contrib/admin/locale/lt/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/lt/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..a922bd6 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/lt/LC_MESSAGES/djangojs.po @@ -0,0 +1,236 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel , 2011 +# Kostas , 2011 +# Matas Dailyda , 2015-2016 +# Povilas Balzaravičius , 2011 +# Simonas Kazlauskas , 2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" +"PO-Revision-Date: 2017-09-19 16:41+0000\n" +"Last-Translator: Matas Dailyda \n" +"Language-Team: Lithuanian (http://www.transifex.com/django/django/language/" +"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" + +#, javascript-format +msgid "Available %s" +msgstr "Galimi %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Tai yra sąrašas prieinamų %s. Dėžutėje žemiau pažymėdami keletą iš jų ir " +"paspausdami „Pasirinkti“ rodyklę tarp dviejų dėžučių jūs galite pasirinkti " +"keletą iš jų." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Rašykite į šią dėžutę, kad išfiltruotumėte prieinamų %s sąrašą." + +msgid "Filter" +msgstr "Filtras" + +msgid "Choose all" +msgstr "Pasirinkti visus" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Spustelėkite, kad iš karto pasirinktumėte visus %s." + +msgid "Choose" +msgstr "Pasirinkti" + +msgid "Remove" +msgstr "Pašalinti" + +#, javascript-format +msgid "Chosen %s" +msgstr "Pasirinktas %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Tai yra sąrašas pasirinktų %s. Dėžutėje žemiau pažymėdami keletą iš jų ir " +"paspausdami „Pašalinti“ rodyklę tarp dviejų dėžučių jūs galite pašalinti " +"keletą iš jų." + +msgid "Remove all" +msgstr "Pašalinti visus" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Spustelėkite, kad iš karto pašalintumėte visus pasirinktus %s." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "pasirinktas %(sel)s iš %(cnt)s" +msgstr[1] "pasirinkti %(sel)s iš %(cnt)s" +msgstr[2] "pasirinkti %(sel)s iš %(cnt)s" +msgstr[3] "pasirinkti %(sel)s iš %(cnt)s" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Turite neišsaugotų pakeitimų. Jeigu tęsite, Jūsų pakeitimai bus prarasti." + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"Pasirinkote veiksmą, bet dar neesate išsaugoję pakeitimų. Nuspauskite Gerai " +"norėdami išsaugoti. Jus reikės iš naujo paleisti veiksmą." + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Pasirinkote veiksmą, bet neesate pakeitę laukų reikšmių. Jūs greičiausiai " +"ieškote mygtuko Vykdyti, o ne mygtuko Saugoti." + +msgid "Now" +msgstr "Dabar" + +msgid "Midnight" +msgstr "Vidurnaktis" + +msgid "6 a.m." +msgstr "6 a.m." + +msgid "Noon" +msgstr "Vidurdienis" + +msgid "6 p.m." +msgstr "18:00" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" +"Pastaba: Jūsų laikrodis rodo %s valanda daugiau nei serverio laikrodis." +msgstr[1] "" +"Pastaba: Jūsų laikrodis rodo %s valandomis daugiau nei serverio laikrodis." +msgstr[2] "" +"Pastaba: Jūsų laikrodis rodo %s valandų daugiau nei serverio laikrodis." +msgstr[3] "" +"Pastaba: Jūsų laikrodis rodo %s valandų daugiau nei serverio laikrodis." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +"Pastaba: Jūsų laikrodis rodo %s valanda mažiau nei serverio laikrodis." +msgstr[1] "" +"Pastaba: Jūsų laikrodis rodo %s valandomis mažiau nei serverio laikrodis." +msgstr[2] "" +"Pastaba: Jūsų laikrodis rodo %s valandų mažiau nei serverio laikrodis." +msgstr[3] "" +"Pastaba: Jūsų laikrodis rodo %s valandų mažiau nei serverio laikrodis." + +msgid "Choose a Time" +msgstr "Pasirinkite laiką" + +msgid "Choose a time" +msgstr "Pasirinkite laiką" + +msgid "Cancel" +msgstr "Atšaukti" + +msgid "Today" +msgstr "Šiandien" + +msgid "Choose a Date" +msgstr "Pasirinkite datą" + +msgid "Yesterday" +msgstr "Vakar" + +msgid "Tomorrow" +msgstr "Rytoj" + +msgid "January" +msgstr "Sausis" + +msgid "February" +msgstr "Vasaris" + +msgid "March" +msgstr "Kovas" + +msgid "April" +msgstr "Balandis" + +msgid "May" +msgstr "Gegužė" + +msgid "June" +msgstr "Birželis" + +msgid "July" +msgstr "Liepa" + +msgid "August" +msgstr "Rugpjūtis" + +msgid "September" +msgstr "Rugsėjis" + +msgid "October" +msgstr "Spalis" + +msgid "November" +msgstr "Lapkritis" + +msgid "December" +msgstr "Gruodis" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "S" + +msgctxt "one letter Monday" +msgid "M" +msgstr "P" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "A" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "T" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "K" + +msgctxt "one letter Friday" +msgid "F" +msgstr "Pn" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "Š" + +msgid "Show" +msgstr "Parodyti" + +msgid "Hide" +msgstr "Slėpti" diff --git a/external_sources/django/django/contrib/admin/locale/lv/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/lv/LC_MESSAGES/django.po new file mode 100644 index 0000000..e4ac00a --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/lv/LC_MESSAGES/django.po @@ -0,0 +1,793 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# edgars , 2011 +# Edgars Voroboks , 2023-2024 +# Edgars Voroboks , 2017,2022 +# Edgars Voroboks , 2018 +# Jannis Leidel , 2011 +# Māris Nartišs , 2016 +# Edgars Voroboks , 2019-2021 +# peterisb , 2016 +# Pēteris Caune, 2023 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 07:05+0000\n" +"Last-Translator: Edgars Voroboks , 2023-2024\n" +"Language-Team: Latvian (http://app.transifex.com/django/django/language/" +"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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Izdzēst izvēlēto %(verbose_name_plural)s" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Veiksmīgi izdzēsti %(count)d %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Nevar izdzēst %(name)s" + +msgid "Are you sure?" +msgstr "Vai esat pārliecināts?" + +msgid "Administration" +msgstr "Administrācija" + +msgid "All" +msgstr "Visi" + +msgid "Yes" +msgstr "Jā" + +msgid "No" +msgstr "Nē" + +msgid "Unknown" +msgstr "Nezināms" + +msgid "Any date" +msgstr "Jebkurš datums" + +msgid "Today" +msgstr "Šodien" + +msgid "Past 7 days" +msgstr "Pēdējās 7 dienas" + +msgid "This month" +msgstr "Šomēnes" + +msgid "This year" +msgstr "Šogad" + +msgid "No date" +msgstr "Nav datums" + +msgid "Has date" +msgstr "Ir datums" + +msgid "Empty" +msgstr "Tukšs" + +msgid "Not empty" +msgstr "Nav tukšs" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Lūdzu ievadi korektu %(username)s un paroli personāla kontam. Ņem vērā, ka " +"abi ievades lauki ir reģistrjutīgi." + +msgid "Action:" +msgstr "Darbība:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Pievienot vēl %(verbose_name)s" + +msgid "Remove" +msgstr "Dzēst" + +msgid "Addition" +msgstr "Pievienošana" + +msgid "Change" +msgstr "Izmainīt" + +msgid "Deletion" +msgstr "Dzēšana" + +msgid "action time" +msgstr "darbības laiks" + +msgid "user" +msgstr "lietotājs" + +msgid "content type" +msgstr "satura tips" + +msgid "object id" +msgstr "objekta id" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "objekta attēlojums" + +msgid "action flag" +msgstr "darbības atzīme" + +msgid "change message" +msgstr "izmaiņas teksts" + +msgid "log entry" +msgstr "žurnāla ieraksts" + +msgid "log entries" +msgstr "žurnāla ieraksti" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Pievienots “%(object)s”." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Labots “%(object)s” — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Dzēsts “%(object)s.”" + +msgid "LogEntry Object" +msgstr "LogEntry Objekts" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Pievienots {name} “{object}”." + +msgid "Added." +msgstr "Pievienots." + +msgid "and" +msgstr "un" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Mainīti {fields} priekš {name} “{object}”." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Mainīts {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Dzēsts {name} “{object}”." + +msgid "No fields changed." +msgstr "Neviens lauks nav mainīts." + +msgid "None" +msgstr "nekas" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Turiet nospiestu “Control”, vai “Command” uz Mac, lai iezīmētu vairāk par " +"vienu." + +msgid "Select this object for an action - {}" +msgstr "Atzīmējiet šo objektu darbībai - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "{name} “{obj}” veiksmīgi pievienots." + +msgid "You may edit it again below." +msgstr "Jūs varat to atkal labot zemāk. " + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "{name} “{obj}” veiksmīgi pievienots. Zemāk varat pievienot vēl {name}." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "{name} “{obj}” tika veiksmīgi mainīts. Zemāk varat to labot vēlreiz." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"{name} “{obj}” tika veiksmīgi mainīts. Zemāk varat pievienot vēl {name}." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "{name} “{obj}” tika veiksmīgi mainīts." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Vienumi ir jāatlasa, lai ar tiem veiktu darbības. Neviens vienums nav " +"mainīts." + +msgid "No action selected." +msgstr "Nav izvēlēta darbība." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s “%(obj)s” veiksmīgi dzēsts." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "%(name)s ar ID “%(key)s” neeksistē. Varbūt tas ir dzēsts?" + +#, python-format +msgid "Add %s" +msgstr "Pievienot %s" + +#, python-format +msgid "Change %s" +msgstr "Labot %s" + +#, python-format +msgid "View %s" +msgstr "Apskatīt %s" + +msgid "Database error" +msgstr "Datubāzes kļūda" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s tika veiksmīgi mainīti." +msgstr[1] "%(count)s %(name)s tika veiksmīgi mainīts." +msgstr[2] "%(count)s %(name)s tika veiksmīgi mainīti." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s izvēlēti" +msgstr[1] "%(total_count)s izvēlēts" +msgstr[2] "%(total_count)s izvēlēti" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 no %(cnt)s izvēlēti" + +#, python-format +msgid "Change history: %s" +msgstr "Izmaiņu vēsture: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"%(class_name)s %(instance)s dzēšanai ir nepieciešams izdzēst sekojošus " +"aizsargātus saistītos objektus: %(related_objects)s" + +msgid "Django site admin" +msgstr "Django administrācijas lapa" + +msgid "Django administration" +msgstr "Django administrācija" + +msgid "Site administration" +msgstr "Lapas administrācija" + +msgid "Log in" +msgstr "Pieslēgties" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s administrācija" + +msgid "Page not found" +msgstr "Lapa nav atrasta" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Atvainojiet, pieprasītā lapa neeksistē." + +msgid "Home" +msgstr "Sākums" + +msgid "Server error" +msgstr "Servera kļūda" + +msgid "Server error (500)" +msgstr "Servera kļūda (500)" + +msgid "Server Error (500)" +msgstr "Servera kļūda (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Notika kļūda. Lapas administratoriem ir nosūtīts e-pasts un kļūda tuvākajā " +"laikā tiks novērsta. Paldies par pacietību." + +msgid "Run the selected action" +msgstr "Izpildīt izvēlēto darbību" + +msgid "Go" +msgstr "Aiziet!" + +msgid "Click here to select the objects across all pages" +msgstr "Spiest šeit, lai iezīmētu objektus no visām lapām" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Izvēlēties visus %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Atcelt iezīmēto" + +msgid "Breadcrumbs" +msgstr "Atpakaļceļi" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Modeļi %(name)s lietotnē" + +msgid "Add" +msgstr "Pievienot" + +msgid "View" +msgstr "Apskatīt" + +msgid "You don’t have permission to view or edit anything." +msgstr "Jums nav tiesību neko skatīt vai labot." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Vispirms ievadiet lietotāja vārdu un paroli. Tad varēsiet labot pārējos " +"lietotāja uzstādījumus." + +msgid "Enter a username and password." +msgstr "Ievadi lietotājvārdu un paroli." + +msgid "Change password" +msgstr "Paroles maiņa" + +msgid "Set password" +msgstr "Iestatīt paroli" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Lūdzu, izlabojiet zemāk norādītās kļūdas." +msgstr[1] "Lūdzu, izlabojiet zemāk norādīto kļūdu." +msgstr[2] "Lūdzu, izlabojiet zemāk norādītās kļūdas." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Ievadiet jaunu paroli lietotājam %(username)s." + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "" +"Šī darbība šim lietotājam iespējos paroles bāzētu " +"autentifikāciju." + +msgid "Disable password-based authentication" +msgstr "Atspējot paroles bāzētu autentifikāciju" + +msgid "Enable password-based authentication" +msgstr "Iespējot paroles bāzētu autentifikāciju" + +msgid "Skip to main content" +msgstr "Pāriet uz galveno saturu" + +msgid "Welcome," +msgstr "Sveicināti," + +msgid "View site" +msgstr "Apskatīt lapu" + +msgid "Documentation" +msgstr "Dokumentācija" + +msgid "Log out" +msgstr "Atslēgties" + +#, python-format +msgid "Add %(name)s" +msgstr "Pievienot %(name)s" + +msgid "History" +msgstr "Vēsture" + +msgid "View on site" +msgstr "Apskatīt lapā" + +msgid "Filter" +msgstr "Filtrs" + +msgid "Hide counts" +msgstr "Slēpt skaitu" + +msgid "Show counts" +msgstr "Rādīt skaitu" + +msgid "Clear all filters" +msgstr "Notīrīt visus filtrus" + +msgid "Remove from sorting" +msgstr "Izņemt no kārtošanas" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Kārtošanas prioritāte: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Pārslēgt kārtošanu" + +msgid "Toggle theme (current theme: auto)" +msgstr "Pārslēgt motīvu (pašreizējais motīvs: automātisks)" + +msgid "Toggle theme (current theme: light)" +msgstr "Pārslēgt motīvu (pašreizējais motīvs: gaišs)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Pārslēgt motīvu (pašreizējais motīvs: tumšs)" + +msgid "Delete" +msgstr "Dzēst" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Izdzēšot objektu %(object_name)s '%(escaped_object)s', tiks dzēsti visi " +"saistītie objekti, bet jums nav tiesību dzēst sekojošus objektu tipus:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"%(object_name)s '%(escaped_object)s' dzēšanai ir nepieciešams izdzēst " +"sekojošus aizsargātus saistītos objektus:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Vai esat pārliecināts, ka vēlaties dzēst %(object_name)s " +"\"%(escaped_object)s\"? Tiks dzēsti arī sekojoši saistītie objekti:" + +msgid "Objects" +msgstr "Objekti" + +msgid "Yes, I’m sure" +msgstr "Jā, esmu pārliecināts" + +msgid "No, take me back" +msgstr "Nē, ved mani atpakaļ" + +msgid "Delete multiple objects" +msgstr "Dzēst vairākus objektus" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Izdzēšot izvēlēto %(objects_name)s, tiks dzēsti visi saistītie objekti, bet " +"jums nav tiesību dzēst sekojošus objektu tipus:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Izvēlēto %(objects_name)s objektu dzēšanai ir nepieciešams izdzēst sekojošus " +"aizsargātus saistītos objektus:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Vai esat pārliecināts, ka vēlaties dzēst izvēlētos %(objects_name)s " +"objektus? Visi sekojošie objekti un tiem piesaistītie objekti tiks izdzēsti:" + +msgid "Delete?" +msgstr "Dzēst?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " Pēc %(filter_title)s " + +msgid "Summary" +msgstr "Kopsavilkums" + +msgid "Recent actions" +msgstr "Nesenās darbības" + +msgid "My actions" +msgstr "Manas darbības" + +msgid "None available" +msgstr "Nav pieejams" + +msgid "Added:" +msgstr "Pievienots:" + +msgid "Changed:" +msgstr "Mainīts:" + +msgid "Deleted:" +msgstr "Izdzēsts:" + +msgid "Unknown content" +msgstr "Nezināms saturs" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Problēma ar datubāzes instalāciju. Pārliecinieties, ka attiecīgās tabulas ir " +"izveidotas un attiecīgajam lietotājam ir tiesības tai piekļūt." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Jūs esat autentificējies kā %(username)s, bet jums nav tiesību piekļūt šai " +"lapai. Vai vēlaties pieteikties citā kontā?" + +msgid "Forgotten your password or username?" +msgstr "Aizmirsi paroli vai lietotājvārdu?" + +msgid "Toggle navigation" +msgstr "Pārslēgt navigāciju" + +msgid "Sidebar" +msgstr "Sānjosla" + +msgid "Start typing to filter…" +msgstr "Sāciet rakstīt, lai atlasītu…" + +msgid "Filter navigation items" +msgstr "Atlasīt navigācijas vienības" + +msgid "Date/time" +msgstr "Datums/laiks" + +msgid "User" +msgstr "Lietotājs" + +msgid "Action" +msgstr "Darbība" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "ieraksti" +msgstr[1] "ieraksts" +msgstr[2] "ieraksti" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Objektam nav izmaiņu vēstures. Tas visdrīzāk netika pievienots, izmantojot " +"šo administrācijas rīku." + +msgid "Show all" +msgstr "Rādīt visu" + +msgid "Save" +msgstr "Saglabāt" + +msgid "Popup closing…" +msgstr "Logs aizveras..." + +msgid "Search" +msgstr "Meklēt" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s rezultāti" +msgstr[1] "%(counter)s rezultāts" +msgstr[2] "%(counter)s rezultāti" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "kopā - %(full_result_count)s" + +msgid "Save as new" +msgstr "Saglabāt kā jaunu" + +msgid "Save and add another" +msgstr "Saglabāt un pievienot vēl vienu" + +msgid "Save and continue editing" +msgstr "Saglabāt un turpināt labošanu" + +msgid "Save and view" +msgstr "Saglabāt un apskatīt" + +msgid "Close" +msgstr "Aizvērt" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Mainīt izvēlēto %(model)s" + +#, python-format +msgid "Add another %(model)s" +msgstr "Pievienot citu %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Dzēst izvēlēto %(model)s" + +#, python-format +msgid "View selected %(model)s" +msgstr "Apskatīt atzīmētos %(model)s" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Paldies, ka šodien vietnei veltījāt kvalitatīvu laiku." + +msgid "Log in again" +msgstr "Pieslēgties vēlreiz" + +msgid "Password change" +msgstr "Paroles maiņa" + +msgid "Your password was changed." +msgstr "Jūsu parole tika nomainīta." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Drošības nolūkos ievadiet veco paroli un pēc tam divreiz jauno paroli, lai " +"mēs varētu pārbaudīt, ka tā ir ievadīta pareizi." + +msgid "Change my password" +msgstr "Nomainīt manu paroli" + +msgid "Password reset" +msgstr "Paroles atiestatīšana" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Jūsu parole ir iestatīta. Varat pieslēgties." + +msgid "Password reset confirmation" +msgstr "Paroles atiestatīšanas apstiprinājums" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Lūdzu ievadiet jauno paroli divreiz, lai varētu pārbaudīt, ka tā ir " +"uzrakstīta pareizi." + +msgid "New password:" +msgstr "Jaunā parole:" + +msgid "Confirm password:" +msgstr "Apstiprināt paroli:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Paroles atiestatīšanas saite bija nekorekta, iespējams, tā jau ir izmantota. " +"Lūdzu pieprasiet paroles pārstatīšanu vēlreiz." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Ja sistēmā ir konts ar jūsu e-pasta adresi, tad mēs jums tikko nosūtījām e-" +"pasta ziņojumu ar paroles iestatīšanas instrukciju. Jums to tūlīt vajadzētu " +"saņemt." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Ja nesaņemat e-pastu, lūdzu, pārliecinieties, vai esat ievadījis reģistrētu " +"adresi un pārbaudiet savu mēstuļu mapi." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Jūs saņemat šo e-pasta ziņojumu, jo pieprasījāt atiestatīt lietotāja konta " +"paroli vietnē %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Lūdzu apmeklējiet sekojošo lapu un ievadiet jaunu paroli:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Jūsu lietotājvārds, gadījumā ja tas ir aizmirsts:" + +msgid "Thanks for using our site!" +msgstr "Paldies par mūsu lapas lietošanu!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s komanda" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Aizmirsāt savu paroli? Ievadiet jūsu e-pasta adresi un jums tiks nosūtīta " +"instrukcija, kā iestatīt jaunu paroli." + +msgid "Email address:" +msgstr "E-pasta adrese:" + +msgid "Reset my password" +msgstr "Paroles atiestatīšana" + +msgid "Select all objects on this page for an action" +msgstr "Atlasiet visus šīs lapas objektus darbībai" + +msgid "All dates" +msgstr "Visi datumi" + +#, python-format +msgid "Select %s" +msgstr "Izvēlēties %s" + +#, python-format +msgid "Select %s to change" +msgstr "Izvēlēties %s, lai izmainītu" + +#, python-format +msgid "Select %s to view" +msgstr "Izvēlēties %s, lai apskatītu" + +msgid "Date:" +msgstr "Datums:" + +msgid "Time:" +msgstr "Laiks:" + +msgid "Lookup" +msgstr "Pārlūkot" + +msgid "Currently:" +msgstr "Valūta:" + +msgid "Change:" +msgstr "Izmaiņa:" diff --git a/external_sources/django/django/contrib/admin/locale/lv/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/lv/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..0f1979a --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/lv/LC_MESSAGES/djangojs.po @@ -0,0 +1,335 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Edgars Voroboks , 2023 +# Edgars Voroboks , 2017,2022 +# Jannis Leidel , 2011 +# Edgars Voroboks , 2020-2021 +# peterisb , 2016 +# Pēteris Caune, 2023 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 15:04-0300\n" +"PO-Revision-Date: 2023-12-04 07:59+0000\n" +"Last-Translator: Edgars Voroboks , 2023\n" +"Language-Team: Latvian (http://app.transifex.com/django/django/language/" +"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" + +#, javascript-format +msgid "Available %s" +msgstr "Pieejams %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Šis ir saraksts ar pieejamajiem %s. Tev ir jāizvēlas atbilstošās vērtības " +"atzīmējot izvēlēs zemāk esošajā sarakstā un pēc tam spiežot pogu " +"\"Izvēlēties\", lai pārvietotu starp izvēļu sarakstiem." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" +"Raksti šajā logā, lai filtrētu zemāk esošo sarakstu ar pieejamajiem %s." + +msgid "Filter" +msgstr "Filtrs" + +msgid "Choose all" +msgstr "Izvēlēties visu" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Izvēlies, lai pievienotu visas %s izvēles vienā reizē." + +msgid "Choose" +msgstr "Izvēlies" + +msgid "Remove" +msgstr "Izņemt" + +#, javascript-format +msgid "Chosen %s" +msgstr "Izvēlies %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Šis ir saraksts ar izvēlētajiem %s. Tev ir jāizvēlas atbilstošās vērtības " +"atzīmējot izvēlēs zemāk esošajā sarakstā un pēc tam spiežot pogu \"Izņemt\", " +"lai izņemtu no izvēlēto ierakstu saraksta." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "Rakstiet šajā laukā, lai filtrētu atlasīto %s sarakstu." + +msgid "Remove all" +msgstr "Izņemt visu" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Izvēlies, lai izņemtu visas %s izvēles vienā reizē." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%s atlasītās opcijas nav redzamas" +msgstr[1] "%s atlasītā opcija nav redzama" +msgstr[2] "%s atlasītās opcijas nav redzamas" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s no %(cnt)s izvēlēts" +msgstr[1] "%(sel)s no %(cnt)s izvēlēti" +msgstr[2] "%(sel)s no %(cnt)s izvēlēti" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Jūs neesat saglabājis izmaiņas rediģējamiem laukiem. Ja jūs tagad " +"izpildīsiet izvēlēto darbību, šīs izmaiņas netiks saglabātas." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Jūs esiet izvēlējies veikt darbību, bet neesiet saglabājis veiktās izmaiņas. " +"Lūdzu nospiediet OK, lai saglabātu. Šo darbību jums nāksies izpildīt vēlreiz." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Jūs esiet izvēlējies veikt darbību un neesiet mainījis nevienu lauku. Jūs " +"droši vien meklējiet pogu 'Aiziet' nevis 'Saglabāt'." + +msgid "Now" +msgstr "Tagad" + +msgid "Midnight" +msgstr "Pusnakts" + +msgid "6 a.m." +msgstr "06.00" + +msgid "Noon" +msgstr "Pusdienas laiks" + +msgid "6 p.m." +msgstr "6:00" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Piezīme: Tavs laiks ir %s stundas pirms servera laika." +msgstr[1] "Piezīme: Tavs laiks ir %s stundu pirms servera laika." +msgstr[2] "Piezīme: Tavs laiks ir %s stundas pirms servera laika." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Piezīme: Tavs laiks ir %s stundas pēc servera laika." +msgstr[1] "Piezīme: Tavs laiks ir %s stundu pēc servera laika." +msgstr[2] "Piezīme: Tavs laiks ir %s stundas pēc servera laika." + +msgid "Choose a Time" +msgstr "Izvēlies laiku" + +msgid "Choose a time" +msgstr "Izvēlieties laiku" + +msgid "Cancel" +msgstr "Atcelt" + +msgid "Today" +msgstr "Šodien" + +msgid "Choose a Date" +msgstr "Izvēlies datumu" + +msgid "Yesterday" +msgstr "Vakar" + +msgid "Tomorrow" +msgstr "Rīt" + +msgid "January" +msgstr "janvāris" + +msgid "February" +msgstr "februāris" + +msgid "March" +msgstr "marts" + +msgid "April" +msgstr "aprīlis" + +msgid "May" +msgstr "maijs" + +msgid "June" +msgstr "jūnijs" + +msgid "July" +msgstr "jūlijs" + +msgid "August" +msgstr "augusts" + +msgid "September" +msgstr "septembris" + +msgid "October" +msgstr "oktobris" + +msgid "November" +msgstr "novembris" + +msgid "December" +msgstr "decembris" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Jan" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Feb" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Mar" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Apr" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "Mai" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Jūn" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Jūl" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Aug" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Sep" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Okt" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Nov" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Dec" + +msgid "Sunday" +msgstr "Svētdiena" + +msgid "Monday" +msgstr "Pirmdiena" + +msgid "Tuesday" +msgstr "Otrdiena" + +msgid "Wednesday" +msgstr "Trešdiena" + +msgid "Thursday" +msgstr "Ceturtdiena" + +msgid "Friday" +msgstr "Piektdiena" + +msgid "Saturday" +msgstr "Sestdiena" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "Sv" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "Pr" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "Ot" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "Tr" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "Ce" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "Pi" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "Se" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "Sv" + +msgctxt "one letter Monday" +msgid "M" +msgstr "Pr" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "O" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "T" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "C" + +msgctxt "one letter Friday" +msgid "F" +msgstr "Pk" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "Se" + +msgid "Show" +msgstr "Parādīt" + +msgid "Hide" +msgstr "Slēpt" diff --git a/external_sources/django/django/contrib/admin/locale/mk/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/mk/LC_MESSAGES/django.po new file mode 100644 index 0000000..676173c --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/mk/LC_MESSAGES/django.po @@ -0,0 +1,726 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Dimce Grozdanoski , 2021 +# dekomote , 2015 +# Jannis Leidel , 2011 +# Martino Nikolovski, 2022 +# Vasil Vangelovski , 2016-2017,2019,2021 +# Vasil Vangelovski , 2013-2015 +# Vasil Vangelovski , 2011-2013 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-05-17 05:10-0500\n" +"PO-Revision-Date: 2022-05-25 07:05+0000\n" +"Last-Translator: Martino Nikolovski, 2022\n" +"Language-Team: Macedonian (http://www.transifex.com/django/django/language/" +"mk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: mk\n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Избриши ги избраните %(verbose_name_plural)s" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Успешно беа избришани %(count)d %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Не може да се избрише %(name)s" + +msgid "Are you sure?" +msgstr "Сигурни сте?" + +msgid "Administration" +msgstr "Администрација" + +msgid "All" +msgstr "Сите" + +msgid "Yes" +msgstr "Да" + +msgid "No" +msgstr "Не" + +msgid "Unknown" +msgstr "Непознато" + +msgid "Any date" +msgstr "Било кој датум" + +msgid "Today" +msgstr "Денеска" + +msgid "Past 7 days" +msgstr "Последните 7 дена" + +msgid "This month" +msgstr "Овој месец" + +msgid "This year" +msgstr "Оваа година" + +msgid "No date" +msgstr "Нема датум" + +msgid "Has date" +msgstr "Има датум" + +msgid "Empty" +msgstr "Празно" + +msgid "Not empty" +msgstr "" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Ве молиме внесете ги точните %(username)s и лозинка за член на сајтот. " +"Внимавајте, двете полиња се осетливи на големи и мали букви." + +msgid "Action:" +msgstr "Акција:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Додади уште %(verbose_name)s" + +msgid "Remove" +msgstr "Отстрани" + +msgid "Addition" +msgstr "Додавање" + +msgid "Change" +msgstr "Измени" + +msgid "Deletion" +msgstr "Бришење" + +msgid "action time" +msgstr "време на акција" + +msgid "user" +msgstr "корисник" + +msgid "content type" +msgstr "тип на содржина" + +msgid "object id" +msgstr "идентификационен број на објект" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "репрезентација на објект" + +msgid "action flag" +msgstr "знакче за акција" + +msgid "change message" +msgstr "измени ја пораката" + +msgid "log entry" +msgstr "ставка во записникот" + +msgid "log entries" +msgstr "ставки во записникот" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Додадено “%(object)s”." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Избришано “%(object)s.”" + +msgid "LogEntry Object" +msgstr "Запис во дневник" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "" + +msgid "Added." +msgstr "Додадено." + +msgid "and" +msgstr "и" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Изменети {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Избришан {name} “{object}”." + +msgid "No fields changed." +msgstr "Не е изменето ниедно поле." + +msgid "None" +msgstr "Ништо" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "Држете “Control” или “Command” на Mac за да изберете повеќе." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "Успешно беше додадено {name} “{obj}”." + +msgid "You may edit it again below." +msgstr "Можете повторно да го промените подолу." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Мора да се одберат предмети за да се изврши акција врз нив. Ниеден предмет " +"не беше променет." + +msgid "No action selected." +msgstr "Ниедна акција не е одбрана." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "" + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "Додади %s" + +#, python-format +msgid "Change %s" +msgstr "Измени %s" + +#, python-format +msgid "View %s" +msgstr "Погледни %s" + +msgid "Database error" +msgstr "Грешка во базата на податоци" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s ставка %(name)s беше успешно изменета." +msgstr[1] "%(count)s ставки %(name)s беа успешно изменети." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s одбран" +msgstr[1] "Сите %(total_count)s одбрани" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 од %(cnt)s избрани" + +#, python-format +msgid "Change history: %s" +msgstr "Историја на измени: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Бришењето на %(class_name)s %(instance)s бара бришење на следните заштитени " +"поврзани објекти: %(related_objects)s" + +msgid "Django site admin" +msgstr "Администрација на Џанго сајт" + +msgid "Django administration" +msgstr "Џанго администрација" + +msgid "Site administration" +msgstr "Администрација на сајт" + +msgid "Log in" +msgstr "Најава" + +#, python-format +msgid "%(app)s administration" +msgstr "Администрација на %(app)s" + +msgid "Page not found" +msgstr "Страницата не е најдена" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Се извинуваме, страница која ја побаравте не е пронајдена" + +msgid "Home" +msgstr "Дома" + +msgid "Server error" +msgstr "Грешка со серверот" + +msgid "Server error (500)" +msgstr "Грешка со серверот (500)" + +msgid "Server Error (500)" +msgstr "Грешка со серверот (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Наидовте на грешка. Известени се администраторите на страницата преку имејл " +"и би требало наскоро да биде поправена. Ви благодариме на трпението." + +msgid "Run the selected action" +msgstr "Изврши ја избраната акција" + +msgid "Go" +msgstr "Оди" + +msgid "Click here to select the objects across all pages" +msgstr "Кликнете тука за да изберете објекти низ сите страници" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Избери ги сите %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Откажи го изборот" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Модели во %(name)s апликација" + +msgid "Add" +msgstr "Додади" + +msgid "View" +msgstr "Погледни" + +msgid "You don’t have permission to view or edit anything." +msgstr "Немате дозвола да прегледате или промените ништо" + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Прво внесете корисничко име и лозинка па потоа ќе можете да уредувате повеќе " +"опции за корисникот" + +msgid "Enter a username and password." +msgstr "Внесете корисничко име и лозинка." + +msgid "Change password" +msgstr "Промени лозинка" + +msgid "Please correct the error below." +msgstr "Ве молиме поправете ја грешката подолу." + +msgid "Please correct the errors below." +msgstr "Ве молам поправете ги грешките подолу." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Внесете нова лозинка за корисникот %(username)s." + +msgid "Welcome," +msgstr "Добредојдовте," + +msgid "View site" +msgstr "Посети го сајтот" + +msgid "Documentation" +msgstr "Документација" + +msgid "Log out" +msgstr "Одјава" + +#, python-format +msgid "Add %(name)s" +msgstr "Додади %(name)s" + +msgid "History" +msgstr "Историја" + +msgid "View on site" +msgstr "Погледни на сајтот" + +msgid "Filter" +msgstr "Филтер" + +msgid "Clear all filters" +msgstr "Ресетирај ги сите филтри" + +msgid "Remove from sorting" +msgstr "Отстрани од сортирање" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Приоритет на сортирање: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Вклучи/исклучи сортирање" + +msgid "Delete" +msgstr "Избриши" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Бришење на %(object_name)s '%(escaped_object)s' ќе резултира со бришење на " +"поврзаните објекти, но со вашата сметка немате доволно привилегии да ги " +"бришете следните типови на објекти:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Бришење на %(object_name)s '%(escaped_object)s' ќе резултира со бришење на " +"следниве заштитени објекти:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Сигурне сте дека сакате да ги бришете %(object_name)s „%(escaped_object)s“? " +"Сите овие ставки ќе бидат избришани:" + +msgid "Objects" +msgstr "Предмети" + +msgid "Yes, I’m sure" +msgstr "Да, сигурен сум" + +msgid "No, take me back" +msgstr "Не, врати ме назад" + +msgid "Delete multiple objects" +msgstr "Избриши повеќе ставки" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Бришење на избраните %(objects_name)s ќе резултира со бришење на поврзани " +"објекти, но немате одобрување да ги избришете следниве типови објекти:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Бришење на избраните %(objects_name)s бара бришење на следните поврзани " +"објекти кои се заштитени:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Дали сте сигурни дека сакате да го избришете избраниот %(objects_name)s? " +"Сите овие објекти и оние поврзани со нив ќе бидат избришани:" + +msgid "Delete?" +msgstr "Избриши?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " Според %(filter_title)s " + +msgid "Summary" +msgstr "Резиме" + +msgid "Recent actions" +msgstr "Последни акции" + +msgid "My actions" +msgstr "Мои акции" + +msgid "None available" +msgstr "Ништо не е достапно" + +msgid "Unknown content" +msgstr "Непозната содржина" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Нешто не е во ред со инсталацијата на базата на податоци. Уверете се дека " +"соодветните табели се создадени, и дека базата на податоци е пристапна до " +"соодветниот корисник." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Најавени сте како %(username)s, но не сте авторизирани да пристапите до " +"оваа страна. Сакате ли да се најавите како друг корисник?" + +msgid "Forgotten your password or username?" +msgstr "Ја заборавивте вашата лозинка или корисничко име?" + +msgid "Toggle navigation" +msgstr "" + +msgid "Start typing to filter…" +msgstr "Започнете со пишување за да филтрирате..." + +msgid "Filter navigation items" +msgstr "" + +msgid "Date/time" +msgstr "Датум/час" + +msgid "User" +msgstr "Корисник" + +msgid "Action" +msgstr "Акција" + +msgid "entry" +msgstr "" + +msgid "entries" +msgstr "" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" + +msgid "Show all" +msgstr "Прикажи ги сите" + +msgid "Save" +msgstr "Сними" + +msgid "Popup closing…" +msgstr "Попапот се затвара..." + +msgid "Search" +msgstr "Барај" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s резултат" +msgstr[1] "%(counter)s резултати" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "вкупно %(full_result_count)s" + +msgid "Save as new" +msgstr "Сними како нова" + +msgid "Save and add another" +msgstr "Сними и додади уште" + +msgid "Save and continue editing" +msgstr "Сними и продолжи со уредување" + +msgid "Save and view" +msgstr "Сними и прегледај" + +msgid "Close" +msgstr "Затвори" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Промени ги избраните %(model)s" + +#, python-format +msgid "Add another %(model)s" +msgstr "Додади уште %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Избриши ги избраните %(model)s" + +#, python-format +msgid "View selected %(model)s" +msgstr "" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "" + +msgid "Log in again" +msgstr "Најавете се повторно" + +msgid "Password change" +msgstr "Измена на лозинка" + +msgid "Your password was changed." +msgstr "Вашата лозинка беше сменета." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" + +msgid "Change my password" +msgstr "Промени ја мојата лозинка" + +msgid "Password reset" +msgstr "Ресетирање на лозинка" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Вашата лозинка беше поставена. Сега можете да се најавите." + +msgid "Password reset confirmation" +msgstr "Одобрување за ресетирање на лозинка" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Ве молам внесете ја вашата нова лозинка двапати за да може да бидете сигурни " +"дека правилно сте ја внеле." + +msgid "New password:" +msgstr "Нова лозинка:" + +msgid "Confirm password:" +msgstr "Потврди лозинка:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Врската за ресетирање на лозинката беше невалидна, најверојатно бидејќи веќе " +"била искористена. Ве молам повторно побарајте ресетирање на вашата лозинката." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Го примате овој email бидејќи побаравте ресетирање на лозинка како корисник " +"на %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Ве молам одете на следната страница и внесете нова лозинка:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Вашето корисничко име, во случај да сте заборавиле:" + +msgid "Thanks for using our site!" +msgstr "Ви благодариме што го користите овој сајт!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Тимот на %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Ја заборавивте вашата лозинка? Внесете го вашиот имејл и ќе ви пратиме " +"инструкции да подесите нова лозинка. " + +msgid "Email address:" +msgstr "Email адреса:" + +msgid "Reset my password" +msgstr "Ресетирај ја мојата лозинка" + +msgid "All dates" +msgstr "Сите датуми" + +#, python-format +msgid "Select %s" +msgstr "Изберете %s" + +#, python-format +msgid "Select %s to change" +msgstr "Изберете %s за измена" + +#, python-format +msgid "Select %s to view" +msgstr "Изберете %s за прегледување" + +msgid "Date:" +msgstr "Датум:" + +msgid "Time:" +msgstr "Време:" + +msgid "Lookup" +msgstr "Побарај" + +msgid "Currently:" +msgstr "Моментално:" + +msgid "Change:" +msgstr "Измени:" diff --git a/external_sources/django/django/contrib/admin/locale/mk/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/mk/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..bd72010 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/mk/LC_MESSAGES/djangojs.po @@ -0,0 +1,262 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel , 2011 +# Vasil Vangelovski , 2016 +# Vasil Vangelovski , 2014 +# Vasil Vangelovski , 2011-2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-15 09:00+0100\n" +"PO-Revision-Date: 2021-01-15 11:28+0000\n" +"Last-Translator: Transifex Bot <>\n" +"Language-Team: Macedonian (http://www.transifex.com/django/django/language/" +"mk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: mk\n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +#, javascript-format +msgid "Available %s" +msgstr "Достапно %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Ова е листа на достапни %s. Можете да изберете неколку кликајќи на нив во " +"полето подолу и со кликање на стрелката \"Одбери\" помеѓу двете полиња." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Пишувајте во ова поле за да ја филтрирате листата на достапни %s." + +msgid "Filter" +msgstr "Филтер" + +msgid "Choose all" +msgstr "Одбери ги сите ги сите" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Кликнете за да ги одберете сите %s од еднаш." + +msgid "Choose" +msgstr "Одбери" + +msgid "Remove" +msgstr "Отстрани" + +#, javascript-format +msgid "Chosen %s" +msgstr "Одбрано %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Ова е листа на избрани %s. Можете да отстраните неколку кликајќи на нив во " +"полето подолу и со кликање на стрелката \"Отстрани\" помеѓу двете полиња." + +msgid "Remove all" +msgstr "Отстрани ги сите" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Кликнете за да ги отстраните сите одбрани %s одеднаш." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "избрано %(sel)s од %(cnt)s" +msgstr[1] "одбрани %(sel)s од %(cnt)s" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Имате незачувани промени на поединечни полиња. Ако извршите акција вашите " +"незачувани промени ќе бидат изгубени." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" + +msgid "Now" +msgstr "Сега" + +msgid "Midnight" +msgstr "Полноќ" + +msgid "6 a.m." +msgstr "6 наутро" + +msgid "Noon" +msgstr "Пладне" + +msgid "6 p.m." +msgstr "6 попладне" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Забелешка: Вие сте %s час понапред од времето на серверот." +msgstr[1] "Забелешка: Вие сте %s часа понапред од времето на серверот." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Забелешка: Вие сте %s час поназад од времето на серверот." +msgstr[1] "Забелешка: Вие сте %s часа поназад од времето на серверот." + +msgid "Choose a Time" +msgstr "Одбери време" + +msgid "Choose a time" +msgstr "Одбери време" + +msgid "Cancel" +msgstr "Откажи" + +msgid "Today" +msgstr "Денеска" + +msgid "Choose a Date" +msgstr "Одбери датум" + +msgid "Yesterday" +msgstr "Вчера" + +msgid "Tomorrow" +msgstr "Утре" + +msgid "January" +msgstr "Јануари" + +msgid "February" +msgstr "Февруари" + +msgid "March" +msgstr "Март" + +msgid "April" +msgstr "Април" + +msgid "May" +msgstr "Мај" + +msgid "June" +msgstr "Јуни" + +msgid "July" +msgstr "Јули" + +msgid "August" +msgstr "Август" + +msgid "September" +msgstr "Септември" + +msgid "October" +msgstr "Октомври" + +msgid "November" +msgstr "Ноември" + +msgid "December" +msgstr "Декември" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "Н" + +msgctxt "one letter Monday" +msgid "M" +msgstr "П" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "В" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "С" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "Ч" + +msgctxt "one letter Friday" +msgid "F" +msgstr "П" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "С" + +msgid "Show" +msgstr "Прикажи" + +msgid "Hide" +msgstr "Сокриј" diff --git a/external_sources/django/django/contrib/admin/locale/ml/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/ml/LC_MESSAGES/django.po new file mode 100644 index 0000000..d96aab9 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ml/LC_MESSAGES/django.po @@ -0,0 +1,700 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Aby Thomas , 2014 +# Hrishikesh , 2019-2020 +# Jannis Leidel , 2011 +# JOMON THOMAS LOBO , 2019 +# Junaid , 2012 +# MUHAMMED RAMEEZ , 2019 +# Rajeesh Nair , 2011-2013 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-07-14 19:53+0200\n" +"PO-Revision-Date: 2020-07-14 22:38+0000\n" +"Last-Translator: Transifex Bot <>\n" +"Language-Team: Malayalam (http://www.transifex.com/django/django/language/" +"ml/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ml\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d %(items)sവിജയകയരമായി നീക്കം ചെയ്തു." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "%(name)s നീക്കം ചെയ്യാന്‍ കഴിയില്ല." + +msgid "Are you sure?" +msgstr "തീര്‍ച്ചയാണോ?" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "തെരഞ്ഞെടുത്ത %(verbose_name_plural)s നീക്കം ചെയ്യുക." + +msgid "Administration" +msgstr "കാര്യനിർവഹണം" + +msgid "All" +msgstr "മുഴുവനും" + +msgid "Yes" +msgstr "അതെ" + +msgid "No" +msgstr "അല്ല" + +msgid "Unknown" +msgstr "അറിയില്ല" + +msgid "Any date" +msgstr "ഏതെങ്കിലും തീയ്യതി" + +msgid "Today" +msgstr "ഇന്ന്" + +msgid "Past 7 days" +msgstr "കഴിഞ്ഞ 7 ദിവസങ്ങൾ" + +msgid "This month" +msgstr "ഈ മാസം" + +msgid "This year" +msgstr "ഈ വര്‍ഷം" + +msgid "No date" +msgstr "തിയ്യതിയില്ല " + +msgid "Has date" +msgstr "തിയ്യതിയുണ്ട്" + +msgid "Empty" +msgstr "കാലി" + +msgid "Not empty" +msgstr "കാലിയല്ല" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"ദയവായി സ്റ്റാഫ് അക്കൗണ്ടിനുവേണ്ടിയുള്ള ശരിയായ %(username)s പാസ്‌വേഡ് എന്നിവ നൽകുക. രണ്ടു " +"കള്ളികളിലും അക്ഷരങ്ങള്‍ വലിയക്ഷരമോ ചെറിയക്ഷരമോ എന്നത് പ്രധാനമാണെന്നത് ശ്രദ്ധിയ്ക്കുക." + +msgid "Action:" +msgstr "ആക്ഷന്‍" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "മറ്റൊരു %(verbose_name)s കൂടി ചേര്‍ക്കുക" + +msgid "Remove" +msgstr "കളയുക" + +msgid "Addition" +msgstr "ചേർക്കുക" + +msgid "Change" +msgstr "മാറ്റുക" + +msgid "Deletion" +msgstr "കളയുക" + +msgid "action time" +msgstr "നടന്ന സമയം" + +msgid "user" +msgstr "ഉപയോക്താവ്" + +msgid "content type" +msgstr "കണ്ടന്റ് ടൈപ്പ്" + +msgid "object id" +msgstr "ഒബ്ജക്റ്റിന്റെ ഐഡി" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "ഒബ്ജെക്ട് റെപ്രസന്റേഷൻ" + +msgid "action flag" +msgstr "ആക്ഷന്‍ ഫ്ളാഗ്" + +msgid "change message" +msgstr "സന്ദേശം മാറ്റുക" + +msgid "log entry" +msgstr "ലോഗ് എൻട്രി" + +msgid "log entries" +msgstr "ലോഗ് എൻട്രികള്‍" + +#, python-format +msgid "Added “%(object)s”." +msgstr "“%(object)s” ചേർത്തു." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "“%(object)s” മാറ്റം വരുത്തി — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "" + +msgid "LogEntry Object" +msgstr "ലോഗ്‌എന്‍ട്രി ഒബ്ജെക്റ്റ്" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "" + +msgid "Added." +msgstr "ചേര്‍ത്തു." + +msgid "and" +msgstr "കൂടാതെ" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "" + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "" + +msgid "No fields changed." +msgstr "ഒരു മാറ്റവുമില്ല." + +msgid "None" +msgstr "ഒന്നുമില്ല" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "" + +msgid "You may edit it again below." +msgstr "താഴെ നിങ്ങൾക്കിത് വീണ്ടും എഡിറ്റുചെയ്യാം" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "ആക്ഷന്‍ നടപ്പിലാക്കേണ്ട വകകള്‍ തെരഞ്ഞെടുക്കണം. ഒന്നിലും മാറ്റങ്ങൾ വരുത്തിയിട്ടില്ല." + +msgid "No action selected." +msgstr "ആക്ഷനൊന്നും തെരഞ്ഞെടുത്തിട്ടില്ല." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "" + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "%s ചേര്‍ക്കുക" + +#, python-format +msgid "Change %s" +msgstr "%s മാറ്റാം" + +#, python-format +msgid "View %s" +msgstr "%s കാണുക" + +msgid "Database error" +msgstr "ഡേറ്റാബേസ് എറർ." + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s ല്‍ മാറ്റം വരുത്തി." +msgstr[1] "%(count)s %(name)s വിജയകരമായി മാറ്റി" + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s തെരഞ്ഞെടുത്തു." +msgstr[1] "%(total_count)sമൊത്തമായി തെരഞ്ഞെടുത്തു." + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "%(cnt)s ല്‍ 0 തിരഞ്ഞെടുത്തിരിക്കുന്നു" + +#, python-format +msgid "Change history: %s" +msgstr "%s ലെ മാറ്റങ്ങള്‍." + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +" %(class_name)s %(instance)s നീക്കം ചെയ്യണമെങ്കിൽ അതിനോട് ബന്ധപ്പെട്ടതായ താഴെപ്പറയുന്ന " +"എല്ലാ വസ്തുക്കളും നീക്കം ചെയ്യുന്നതാണ്: %(related_objects)s" + +msgid "Django site admin" +msgstr "ജാംഗോ സൈറ്റ് അഡ്മിന്‍" + +msgid "Django administration" +msgstr "ജാംഗോ കാര്യനിർവഹണം" + +msgid "Site administration" +msgstr "സൈറ്റ് കാര്യനിർവഹണം" + +msgid "Log in" +msgstr "ലോഗിൻ" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s കാര്യനിർവഹണം" + +msgid "Page not found" +msgstr "പേജ് കണ്ടെത്താനായില്ല" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "ക്ഷമിക്കണം, ആവശ്യപ്പെട്ട പേജ് കണ്ടെത്താന്‍ കഴിഞ്ഞില്ല." + +msgid "Home" +msgstr "പൂമുഖം" + +msgid "Server error" +msgstr "സെര്‍വറിൽ എന്തോ പ്രശ്നം" + +msgid "Server error (500)" +msgstr "സെര്‍വറിൽ എന്തോ പ്രശ്നം (500)" + +msgid "Server Error (500)" +msgstr "സെര്‍വറിൽ എന്തോ പ്രശ്നം (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +msgid "Run the selected action" +msgstr "തെരഞ്ഞെടുത്ത ആക്ഷന്‍ നടപ്പിലാക്കുക" + +msgid "Go" +msgstr "തുടരുക" + +msgid "Click here to select the objects across all pages" +msgstr "എല്ലാ പേജിലേയും ഒബ്ജക്റ്റുകൾ തെരഞ്ഞെടുക്കാന്‍ ഇവിടെ ക്ലിക് ചെയ്യുക." + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "മുഴുവന്‍ %(total_count)s %(module_name)s ഉം തെരഞ്ഞെടുക്കുക" + +msgid "Clear selection" +msgstr "തെരഞ്ഞെടുത്തത് റദ്ദാക്കുക." + +#, python-format +msgid "Models in the %(name)s application" +msgstr "%(name)s മാതൃകയിലുള്ള" + +msgid "Add" +msgstr "ചേര്‍ക്കുക" + +msgid "View" +msgstr "കാണുക" + +msgid "You don’t have permission to view or edit anything." +msgstr "നിങ്ങൾക്ക് ഒന്നും കാണാനോ തിരുത്താനോ ഉള്ള അനുമതിയില്ല." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"ആദ്യമായി ഒരു യൂസർനെയിമും പാസ്‌‌വേഡും നൽകുക. തുടർന്ന്, നിങ്ങൾക്ക് കൂടുതൽ കാര്യങ്ങളിൽ മാറ്റം " +"വരുത്താവുന്നതാണ്" + +msgid "Enter a username and password." +msgstr "Enter a username and password." + +msgid "Change password" +msgstr "പാസ് വേര്‍ഡ് മാറ്റുക." + +msgid "Please correct the error below." +msgstr "താഴെ പറയുന്ന തെറ്റുകൾ തിരുത്തുക " + +msgid "Please correct the errors below." +msgstr "ദയവായി താഴെയുള്ള തെറ്റുകള്‍ പരിഹരിക്കുക." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "%(username)s ന് പുതിയ പാസ് വേര്‍ഡ് നല്കുക." + +msgid "Welcome," +msgstr "സ്വാഗതം, " + +msgid "View site" +msgstr "സൈറ്റ് കാണുക " + +msgid "Documentation" +msgstr "സഹായക്കുറിപ്പുകള്‍" + +msgid "Log out" +msgstr "പുറത്ത് കടക്കുക." + +#, python-format +msgid "Add %(name)s" +msgstr "%(name)s ചേര്‍ക്കുക" + +msgid "History" +msgstr "ചരിത്രം" + +msgid "View on site" +msgstr "View on site" + +msgid "Filter" +msgstr "അരിപ്പ" + +msgid "Clear all filters" +msgstr "എല്ലാ ഫിൽറ്ററുകളും ഒഴിവാക്കുക" + +msgid "Remove from sorting" +msgstr "ക്രമീകരണത്തില്‍ നിന്നും ഒഴിവാക്കുക" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "ക്രമീകരണത്തിനുള്ള മുന്‍ഗണന: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "ക്രമീകരണം വിപരീത ദിശയിലാക്കുക." + +msgid "Delete" +msgstr "നീക്കം ചെയ്യുക" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"%(object_name)s '%(escaped_object)s ഡിലീറ്റ് ചെയ്യുമ്പോള്‍ അതുമായി ബന്ധമുള്ള " +"വസ്തുക്കളുംഡിലീറ്റ് ആവും. പക്ഷേ നിങ്ങള്‍ക്ക് താഴെ പറഞ്ഞ തരം വസ്തുക്കള്‍ ഡിലീറ്റ് ചെയ്യാനുള്ള അനുമതി " +"ഇല്ല:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"തിരഞ്ഞെടുക്കപ്പെട്ട %(object_name)s '%(escaped_object)s' നീക്കം ചെയ്യണമെങ്കിൽ അതിനോട് " +"ബന്ധപ്പെട്ടതായ താഴെപ്പറയുന്ന എല്ലാ വസ്തുക്കളും നീക്കം ചെയ്യുന്നതാണ്:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"%(object_name)s \"%(escaped_object)s\" നീക്കം ചെയ്യണമെന്ന് ഉറപ്പാണോ?അതുമായി ബന്ധമുള്ള " +"താഴെപ്പറയുന്ന വസ്തുക്കളെല്ലാം നീക്കം ചെയ്യുന്നതാണ്:" + +msgid "Objects" +msgstr "വസ്തുക്കൾ" + +msgid "Yes, I’m sure" +msgstr "അതെ, എനിക്കുറപ്പാണ്" + +msgid "No, take me back" +msgstr "ഇല്ല, എന്നെ തിരിച്ചെടുക്കൂ" + +msgid "Delete multiple objects" +msgstr "ഒന്നിലേറെ വസ്തുക്കള്‍ നീക്കം ചെയ്യുക" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"തിരഞ്ഞെടുക്കപ്പെട്ട %(objects_name)s നീക്കം ചെയ്താൽ അതിനോട് ബന്ധപ്പെട്ടതായ താഴെപ്പറയുന്ന " +"എല്ലാ വസ്തുക്കളും നീക്കം ചെയ്യുന്നതാണ്, പക്ഷെ അതിനുളള അവകാശം അക്കൗണ്ടിനില്ല:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"തിരഞ്ഞെടുക്കപ്പെട്ട %(objects_name)s നീക്കം ചെയ്യണമെങ്കിൽ അതിനോട് ബന്ധപ്പെട്ടതായ " +"താഴെപ്പറയുന്ന എല്ലാ വസ്തുക്കളും നീക്കം ചെയ്യുന്നതാണ്:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"തിരഞ്ഞെടുക്കപ്പെട്ട %(objects_name)s നീക്കം ചെയ്യണമെന്നു ഉറപ്പാണോ ? തിരഞ്ഞെടുക്കപ്പെട്ടതും " +"അതിനോട് ബന്ധപ്പെട്ടതും ആയ എല്ലാ താഴെപ്പറയുന്ന വസ്തുക്കളും നീക്കം ചെയ്യുന്നതാണ്:" + +msgid "Delete?" +msgstr "ഡിലീറ്റ് ചെയ്യട്ടെ?" + +#, python-format +msgid " By %(filter_title)s " +msgstr "%(filter_title)s ആൽ" + +msgid "Summary" +msgstr "ചുരുക്കം" + +msgid "Recent actions" +msgstr "സമീപകാല പ്രവൃത്തികൾ" + +msgid "My actions" +msgstr "എന്റെ പ്രവർത്തനം" + +msgid "None available" +msgstr "ഒന്നും ലഭ്യമല്ല" + +msgid "Unknown content" +msgstr "ഉള്ളടക്കം അറിയില്ല." + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"താങ്കൾ ലോഗിൻ ചെയ്തിരിക്കുന്ന %(username)s, നു ഈ പേജ് കാണാൻ അനുവാദം ഇല്ല . താങ്കൾ " +"മറ്റൊരു അക്കൗണ്ടിൽ ലോഗിൻ ചെയ്യാന് ആഗ്രഹിക്കുന്നുവോ ?" + +msgid "Forgotten your password or username?" +msgstr "രഹസ്യവാക്കോ ഉപയോക്തൃനാമമോ മറന്നുപോയോ?" + +msgid "Toggle navigation" +msgstr "" + +msgid "Date/time" +msgstr "തീയതി/സമയം" + +msgid "User" +msgstr "ഉപയോക്താവ്" + +msgid "Action" +msgstr "പ്രവർത്തി" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" + +msgid "Show all" +msgstr "എല്ലാം കാണട്ടെ" + +msgid "Save" +msgstr "സേവ് ചെയ്യണം" + +msgid "Popup closing…" +msgstr "പോപ്പ് അപ്പ് അടക്കുക " + +msgid "Search" +msgstr "പരതുക" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s results" +msgstr[1] "%(counter)s ഫലം" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "ആകെ %(full_result_count)s" + +msgid "Save as new" +msgstr "പുതിയതായി സേവ് ചെയ്യണം" + +msgid "Save and add another" +msgstr "സേവ് ചെയ്ത ശേഷം വേറെ ചേര്‍ക്കണം" + +msgid "Save and continue editing" +msgstr "സേവ് ചെയ്ത ശേഷം മാറ്റം വരുത്താം" + +msgid "Save and view" +msgstr "സേവ് ചെയ്‌തതിന്‌ ശേഷം കാണുക " + +msgid "Close" +msgstr "അടയ്ക്കുക" + +#, python-format +msgid "Change selected %(model)s" +msgstr "" + +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "തിരഞ്ഞെടുത്തത് ഇല്ലാതാക്കുക%(model)s" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "ഈ വെബ് സൈറ്റില്‍ കുറെ നല്ല സമയം ചെലവഴിച്ചതിനു നന്ദി." + +msgid "Log in again" +msgstr "വീണ്ടും ലോഗ്-ഇന്‍ ചെയ്യുക." + +msgid "Password change" +msgstr "പാസ് വേര്‍ഡ് മാറ്റം" + +msgid "Your password was changed." +msgstr "നിങ്ങളുടെ പാസ് വേര്‍ഡ് മാറ്റിക്കഴിഞ്ഞു." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" + +msgid "Change my password" +msgstr "എന്റെ പാസ് വേര്‍ഡ് മാറ്റണം" + +msgid "Password reset" +msgstr "പാസ് വേര്‍ഡ് പുനസ്ഥാപിക്കല്‍" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "നിങ്ങളുടെ പാസ് വേര്‍ഡ് തയ്യാര്‍. ഇനി ലോഗ്-ഇന്‍ ചെയ്യാം." + +msgid "Password reset confirmation" +msgstr "പാസ് വേര്‍ഡ് പുനസ്ഥാപിക്കല്‍ ഉറപ്പാക്കല്‍" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"ദയവായി നിങ്ങളുടെ പുതിയ പാസ് വേര്‍ഡ് രണ്ടു തവണ നല്കണം. ശരിയായാണ് ടൈപ്പു ചെയ്തത് എന്നു " +"ഉറപ്പിക്കാനാണ്." + +msgid "New password:" +msgstr "പുതിയ പാസ് വേര്‍ഡ്:" + +msgid "Confirm password:" +msgstr "പാസ് വേര്‍ഡ് ഉറപ്പാക്കൂ:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"പാസ് വേര്‍ഡ് പുനസ്ഥാപിക്കാന്‍ നല്കിയ ലിങ്ക് യോഗ്യമല്ല. ഒരു പക്ഷേ, അതു മുന്പ് തന്നെ ഉപയോഗിച്ചു " +"കഴിഞ്ഞതാവാം. പുതിയ ഒരു ലിങ്കിന് അപേക്ഷിക്കൂ." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"നിങ്ങളുൾ പാസ് വേർഡ്‌ മാറ്റാനുള്ള നിർദേശങ്ങൾ %(site_name)s ഇൽ ആവശ്യപ്പെട്ടതുകൊണ്ടാണ് ഈ " +"ഇമെയിൽ സന്ദേശം ലഭിച്ചദ്." + +msgid "Please go to the following page and choose a new password:" +msgstr "ദയവായി താഴെ പറയുന്ന പേജ് സന്ദര്‍ശിച്ച് പുതിയ പാസ് വേര്‍ഡ് തെരഞ്ഞെടുക്കുക:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "" + +msgid "Thanks for using our site!" +msgstr "ഞങ്ങളുടെ സൈറ്റ് ഉപയോഗിച്ചതിന് നന്ദി!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s പക്ഷം" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" + +msgid "Email address:" +msgstr "ഇമെയിൽ വിലാസം:" + +msgid "Reset my password" +msgstr "എന്റെ പാസ് വേര്‍ഡ് പുനസ്ഥാപിക്കൂ" + +msgid "All dates" +msgstr "എല്ലാ തീയതികളും" + +#, python-format +msgid "Select %s" +msgstr "%s തെരഞ്ഞെടുക്കൂ" + +#, python-format +msgid "Select %s to change" +msgstr "മാറ്റാനുള്ള %s തെരഞ്ഞെടുക്കൂ" + +#, python-format +msgid "Select %s to view" +msgstr "%s കാണാൻ തിരഞ്ഞെടുക്കുക" + +msgid "Date:" +msgstr "തിയ്യതി:" + +msgid "Time:" +msgstr "സമയം:" + +msgid "Lookup" +msgstr "തിരയുക" + +msgid "Currently:" +msgstr "നിലവിൽ:" + +msgid "Change:" +msgstr "മാറ്റം:" diff --git a/external_sources/django/django/contrib/admin/locale/ml/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/ml/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..964d355 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ml/LC_MESSAGES/djangojs.po @@ -0,0 +1,214 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Aby Thomas , 2014 +# Jannis Leidel , 2011 +# MUHAMMED RAMEEZ , 2019 +# Rajeesh Nair , 2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-05-11 20:56+0200\n" +"PO-Revision-Date: 2020-05-13 00:53+0000\n" +"Last-Translator: Transifex Bot <>\n" +"Language-Team: Malayalam (http://www.transifex.com/django/django/language/" +"ml/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ml\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "ലഭ്യമായ %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"ഇതാണ് ലഭ്യമായ %s പട്ടിക. അതില്‍ ചിലത് തിരഞ്ഞെടുക്കാന്‍ താഴെ കളത്തില്‍ നിന്നും ഉചിതമായവ സെലക്ട് " +"ചെയ്ത ശേഷം രണ്ടു കളങ്ങള്‍ക്കുമിടയിലെ \"തെരഞ്ഞെടുക്കൂ\" അടയാളത്തില്‍ ക്ലിക് ചെയ്യുക." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "ലഭ്യമായ %s പട്ടികയെ ഫില്‍ട്ടര്‍ ചെയ്തെടുക്കാന്‍ ഈ ബോക്സില്‍ ടൈപ്പ് ചെയ്യുക." + +msgid "Filter" +msgstr "Filter" + +msgid "Choose all" +msgstr "എല്ലാം തെരഞ്ഞെടുക്കുക" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "%s എല്ലാം ഒന്നിച്ച് തെരഞ്ഞെടുക്കാന്‍ ക്ലിക് ചെയ്യുക." + +msgid "Choose" +msgstr "തെരഞ്ഞെടുക്കൂ" + +msgid "Remove" +msgstr "നീക്കം ചെയ്യൂ" + +#, javascript-format +msgid "Chosen %s" +msgstr "തെരഞ്ഞെടുത്ത %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"തെരഞ്ഞെടുക്കപ്പെട്ട %s പട്ടികയാണിത്. അവയില്‍ ചിലത് ഒഴിവാക്കണമെന്നുണ്ടെങ്കില്‍ താഴെ കളത്തില്‍ " +"നിന്നും അവ സെലക്ട് ചെയ്ത് കളങ്ങള്‍ക്കിടയിലുള്ള \"നീക്കം ചെയ്യൂ\" എന്ന അടയാളത്തില്‍ ക്ലിക് ചെയ്യുക." + +msgid "Remove all" +msgstr "എല്ലാം നീക്കം ചെയ്യുക" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "തെരഞ്ഞെടുക്കപ്പെട്ട %s എല്ലാം ഒരുമിച്ച് നീക്കം ചെയ്യാന്‍ ക്ലിക് ചെയ്യുക." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(cnt)sല്‍ %(sel)s തെരഞ്ഞെടുത്തു" +msgstr[1] "%(cnt)sല്‍ %(sel)s എണ്ണം തെരഞ്ഞെടുത്തു" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"വരുത്തിയ മാറ്റങ്ങള്‍ സേവ് ചെയ്തിട്ടില്ല. ഒരു ആക്ഷന്‍ പ്രയോഗിച്ചാല്‍ സേവ് ചെയ്യാത്ത മാറ്റങ്ങളെല്ലാം " +"നഷ്ടപ്പെടും." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" + +msgid "Now" +msgstr "ഇപ്പോള്‍" + +msgid "Midnight" +msgstr "അര്‍ധരാത്രി" + +msgid "6 a.m." +msgstr "6 a.m." + +msgid "Noon" +msgstr "ഉച്ച" + +msgid "6 p.m." +msgstr "6 p.m" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "ഒർക്കുക: സെർവർ സമയത്തിനെക്കാളും നിങ്ങൾ %s സമയം മുൻപിലാണ്." +msgstr[1] "ഒർക്കുക: സെർവർ സമയത്തിനെക്കാളും നിങ്ങൾ %s സമയം മുൻപിലാണ്." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "ഒർക്കുക: സെർവർ സമയത്തിനെക്കാളും നിങ്ങൾ %s സമയം പിന്നിലാണ്." +msgstr[1] "ഒർക്കുക: സെർവർ സമയത്തിനെക്കാളും നിങ്ങൾ %s സമയം പിന്നിലാണ്." + +msgid "Choose a Time" +msgstr "സമയം തിരഞ്ഞെടുക്കുക" + +msgid "Choose a time" +msgstr "സമയം തെരഞ്ഞെടുക്കൂ" + +msgid "Cancel" +msgstr "റദ്ദാക്കൂ" + +msgid "Today" +msgstr "ഇന്ന്" + +msgid "Choose a Date" +msgstr "ഒരു തീയതി തിരഞ്ഞെടുക്കുക" + +msgid "Yesterday" +msgstr "ഇന്നലെ" + +msgid "Tomorrow" +msgstr "നാളെ" + +msgid "January" +msgstr "ജനുവരി" + +msgid "February" +msgstr "ഫെബ്രുവരി" + +msgid "March" +msgstr "മാർച്ച്" + +msgid "April" +msgstr "ഏപ്രിൽ" + +msgid "May" +msgstr "മെയ്" + +msgid "June" +msgstr "ജൂൺ" + +msgid "July" +msgstr "ജൂലൈ" + +msgid "August" +msgstr "ആഗസ്റ്റ്" + +msgid "September" +msgstr "സെപ്റ്റംബർ" + +msgid "October" +msgstr "ഒക്ടോബർ" + +msgid "November" +msgstr "നവംബർ" + +msgid "December" +msgstr "ഡിസംബര്" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "ഞ്ഞ‍" + +msgctxt "one letter Monday" +msgid "M" +msgstr "തി" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "ചൊ" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "ബു" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "വ്യാ" + +msgctxt "one letter Friday" +msgid "F" +msgstr "വെ" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "ശ" + +msgid "Show" +msgstr "കാണട്ടെ" + +msgid "Hide" +msgstr "മറയട്ടെ" diff --git a/external_sources/django/django/contrib/admin/locale/mn/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/mn/LC_MESSAGES/django.po new file mode 100644 index 0000000..c5d0cb4 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/mn/LC_MESSAGES/django.po @@ -0,0 +1,776 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Ankhbayar , 2013 +# Jannis Leidel , 2011 +# jargalan , 2011 +# Turmunkh Batkhuyag, 2023 +# Zorig, 2016 +# Анхбаяр Анхаа , 2013-2016,2018-2019,2021,2023 +# Баясгалан Цэвлээ , 2011,2017 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 11:41-0300\n" +"PO-Revision-Date: 2023-12-25 07:05+0000\n" +"Last-Translator: Turmunkh Batkhuyag, 2023\n" +"Language-Team: Mongolian (http://app.transifex.com/django/django/language/" +"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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Сонгосон %(verbose_name_plural)s-ийг устгах" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(items)s ээс %(count)d-ийг амжилттай устгалаа." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "%(name)s устгаж чадахгүй." + +msgid "Are you sure?" +msgstr "Итгэлтэй байна уу?" + +msgid "Administration" +msgstr "Удирдлага" + +msgid "All" +msgstr "Бүгд " + +msgid "Yes" +msgstr "Тийм" + +msgid "No" +msgstr "Үгүй" + +msgid "Unknown" +msgstr "Тодорхойгүй" + +msgid "Any date" +msgstr "Бүх өдөр" + +msgid "Today" +msgstr "Өнөөдөр" + +msgid "Past 7 days" +msgstr "Өнгөрсөн долоо хоног" + +msgid "This month" +msgstr "Энэ сар" + +msgid "This year" +msgstr "Энэ жил" + +msgid "No date" +msgstr "Огноогүй" + +msgid "Has date" +msgstr "Огноотой" + +msgid "Empty" +msgstr "Хоосон" + +msgid "Not empty" +msgstr "Хоосон биш" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Ажилтан хэрэглэгчийн %(username)s ба нууц үгийг зөв оруулна уу. Хоёр талбарт " +"том жижигээр үсгээр бичих ялгаатай." + +msgid "Action:" +msgstr "Үйлдэл:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Өөр %(verbose_name)s нэмэх " + +msgid "Remove" +msgstr "Хасах" + +msgid "Addition" +msgstr "Нэмэгдсэн" + +msgid "Change" +msgstr "Өөрчлөх" + +msgid "Deletion" +msgstr "Устгагдсан" + +msgid "action time" +msgstr "үйлдлийн хугацаа" + +msgid "user" +msgstr "хэрэглэгч" + +msgid "content type" +msgstr "агуулгын төрөл" + +msgid "object id" +msgstr "обектийн id" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "обектийн хамаарал" + +msgid "action flag" +msgstr "үйлдэлийн тэмдэг" + +msgid "change message" +msgstr "өөрчлөлтийн мэдээлэл" + +msgid "log entry" +msgstr "лог өгөгдөл" + +msgid "log entries" +msgstr "лог өгөгдөлүүд" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Нэмэгдсэн \"%(object)s\"." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Өөрчлөгдсөн \"%(object)s\"— %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Устгагдсан \"%(object)s\"." + +msgid "LogEntry Object" +msgstr "Лог бүртгэлийн обект" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Нэмсэн {name} “{object}”." + +msgid "Added." +msgstr "Нэмэгдсэн." + +msgid "and" +msgstr "ба" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Changed {fields} for {name} “{object}”." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Өөрчлөгдсөн {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Устгасан {name} “{object}”." + +msgid "No fields changed." +msgstr "Өөрчилсөн талбар алга байна." + +msgid "None" +msgstr "Хоосон" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Нэгээс олныг сонгохын тулд \"Control\" эсвэл Mac компьютер дээр \"Command\" " +"товчоо дарна уу." + +msgid "Select this object for an action - {}" +msgstr "Сонголтоо хийхийн тулд энэ объектыг сонгоно уу - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "{name} “{obj}” амжилттай нэмэгдлээ." + +msgid "You may edit it again below." +msgstr "Та дараахийг дахин засах боломжтой" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"{name} “{obj}” амжилттай нэмэгдлээ. Та доорх {name}-ийг нэмэх боломжтой." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"{name} \"{obj}\" амжилттай өөрчлөгдлөө. Та доорх талбаруудыг дахин засварлах " +"боломжтой." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "" +" {name} \"{obj}\" амжилттай нэмэгдлээ. Та доор дахин шинэчлэх боломжтой." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"\"{name}\" \"{obj}\" амжилттай өөрчлөгдлөө. Доорх {name}-г нэмж оруулна уу." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "{name} \" {obj} \" амжилттай өөрчлөгдлөө." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Үйлдэл хийхийн тулд Та ядаж 1-ийг сонгох хэрэгтэй. Өөрчилөлт хийгдсэнгүй." + +msgid "No action selected." +msgstr "Үйлдэл сонгоогүй." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s “%(obj)s” амжилттай устгагдлаа." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "“%(key)s” ID-тай %(name)sбайхгүй байна. Магадгүй устсан уу?" + +#, python-format +msgid "Add %s" +msgstr "%s-ийг нэмэх" + +#, python-format +msgid "Change %s" +msgstr "%s-ийг өөрчлөх" + +#, python-format +msgid "View %s" +msgstr "%s харах " + +msgid "Database error" +msgstr "Өгөгдлийн сангийн алдаа" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s-ийг амжилттай өөрчиллөө." +msgstr[1] "%(count)s %(name)s-ийг амжилттай өөрчиллөө." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "Бүгд %(total_count)s сонгогдсон" +msgstr[1] "Бүгд %(total_count)s сонгогдсон" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "%(cnt)s оос 0 сонгосон" + +#, python-format +msgid "Change history: %s" +msgstr "Өөрчлөлтийн түүх: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(instance)s %(class_name)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +" %(class_name)s төрлийн %(instance)s-ийг устгах гэж байна. Эхлээд дараах " +"холбоотой хамгаалагдсан обектуудыг устгах шаардлагатай: %(related_objects)s" + +msgid "Django site admin" +msgstr "Сайтын удирдлага" + +msgid "Django administration" +msgstr "Удирдлага" + +msgid "Site administration" +msgstr "Сайтын удирдлага" + +msgid "Log in" +msgstr "Нэвтрэх" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s удирдлага" + +msgid "Page not found" +msgstr "Хуудас олдсонгүй." + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Уучлаарай, хүссэн хуудас олдсонгүй." + +msgid "Home" +msgstr "Нүүр" + +msgid "Server error" +msgstr "Серверийн алдаа" + +msgid "Server error (500)" +msgstr "Серверийн алдаа (500)" + +msgid "Server Error (500)" +msgstr "Серверийн алдаа (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Алдаа гарсан байна. И-мэйлээр админуудад мэдэгдэгдсэн бөгөөд тун удахгүй " +"засах болно. Хамтран ажилласанд баярлалаа." + +msgid "Run the selected action" +msgstr "Сонгосон үйлдэлийг ажилуулах" + +msgid "Go" +msgstr "Гүйцэтгэх" + +msgid "Click here to select the objects across all pages" +msgstr "Бүх хуудаснууд дээрх объектуудыг сонгох" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Бүгдийг сонгох %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Сонгосонг цэвэрлэх" + +msgid "Breadcrumbs" +msgstr "Талхны үүрмэг" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "%(name)s хэрэглүүр дэх моделууд." + +msgid "Add" +msgstr "Нэмэх" + +msgid "View" +msgstr "Харах" + +msgid "You don’t have permission to view or edit anything." +msgstr "Та ямар ч харах эсвэл засах эрхгүй байна." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Эхлээд, хэрэглэгчийн нэр болон нууц үгээ оруулна уу. Дараа нь, та бусад " +"хэрэглэгчийн сонголтуудыг засварлах боломжтой болно." + +msgid "Enter a username and password." +msgstr "Хэрэглэгчийн нэр ба нууц үгээ оруулна." + +msgid "Change password" +msgstr "Нууц үг өөрчлөх" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Та доорх алдаануудыг засна уу." +msgstr[1] "Та доорх алдаануудыг засна уу." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "%(username)s.хэрэглэгчид шинэ нууц үг оруулна уу." + +msgid "Skip to main content" +msgstr "Үндсэн агуулга руу шилжих" + +msgid "Welcome," +msgstr "Тавтай морилно уу" + +msgid "View site" +msgstr "Сайтаас харах" + +msgid "Documentation" +msgstr "Баримтжуулалт" + +msgid "Log out" +msgstr "Гарах" + +#, python-format +msgid "Add %(name)s" +msgstr "%(name)s нэмэх" + +msgid "History" +msgstr "Түүх" + +msgid "View on site" +msgstr "Сайтаас харах" + +msgid "Filter" +msgstr "Шүүлтүүр" + +msgid "Hide counts" +msgstr "Тооцоог нуух" + +msgid "Show counts" +msgstr "Тооцоог харуулах" + +msgid "Clear all filters" +msgstr "Бүх шүүлтүүрийг арилгах" + +msgid "Remove from sorting" +msgstr "Эрэмблэлтээс хасах" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Эрэмблэх урьтамж: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Эрэмбэлэлтийг харуул" + +msgid "Toggle theme (current theme: auto)" +msgstr "Загварыг сэлгэх (одоогийн загвар: авто)" + +msgid "Toggle theme (current theme: light)" +msgstr "Загварыг сэлгэх (одоогийн загвар: өдрийн)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Загварыг сэлгэх (одоогийн горим: шөнийн)" + +msgid "Delete" +msgstr "Устгах" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"%(object_name)s '%(escaped_object)s'-ийг устгавал холбогдох объект нь устах " +"ч бүртгэл тань дараах төрлийн объектуудийг устгах зөвшөөрөлгүй байна:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +" %(object_name)s обектийг устгаж байна. '%(escaped_object)s' холбоотой " +"хамгаалагдсан обектуудыг заавал утсгах хэрэгтэй :" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Та %(object_name)s \"%(escaped_object)s\"-ийг устгахдаа итгэлтэй байна уу? " +"Үүнийг устгавал дараах холбогдох зүйлс нь бүгд устана:" + +msgid "Objects" +msgstr "Бичлэгүүд" + +msgid "Yes, I’m sure" +msgstr "Тийм, би итгэлтэй." + +msgid "No, take me back" +msgstr "Үгүй, намайг буцаа" + +msgid "Delete multiple objects" +msgstr "Олон обектууд устгах" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Сонгосон %(objects_name)s обектуудыг устгасанаар хамаатай бүх обкетууд устах " +"болно. Гэхдээ таньд эрх эдгээр төрлийн обектуудыг утсгах эрх байхгүй байна: " + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"%(objects_name)s обектуудыг утсгаж байна дараах холбоотой хамгаалагдсан " +"обектуудыг устгах шаардлагатай:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Та %(objects_name)s ийг устгах гэж байна итгэлтэй байна? Дараах обектууд " +"болон холбоотой зүйлс хамт устагдах болно:" + +msgid "Delete?" +msgstr "Устгах уу?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " %(filter_title)s -ээр" + +msgid "Summary" +msgstr "Хураангуй" + +msgid "Recent actions" +msgstr "Сүүлд хийсэн үйлдлүүд" + +msgid "My actions" +msgstr "Миний үйлдлүүд" + +msgid "None available" +msgstr "Үйлдэл алга" + +msgid "Added:" +msgstr "Нэмсэн:" + +msgid "Changed:" +msgstr "Өөрчилсөн:" + +msgid "Deleted:" +msgstr "Устгасан:" + +msgid "Unknown content" +msgstr "Тодорхойгүй агуулга" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Таны өгөгдлийн санг суулгахад ямар нэг алдаа гарлаа байна. Өгөгдлийн сангийн " +"тохирох хүснэгтүүдийг үүсгэсэн эсэхийг шалгаад, өгөгдлийн санг тохирох " +"хэрэглэгч унших боломжтой эсэхийг шалгаарай." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Та %(username)s нэрээр нэвтэрсэн байна гэвч энэ хуудасхуу хандах эрх " +"байхгүй байна. Та өөр эрхээр логин хийх үү?" + +msgid "Forgotten your password or username?" +msgstr "Таны мартсан нууц үг эсвэл нэрвтэр нэр?" + +msgid "Toggle navigation" +msgstr "Жолоодлого солбих" + +msgid "Sidebar" +msgstr "Хажуугийн самбар" + +msgid "Start typing to filter…" +msgstr "Шүүхийн тулд бичиж эхлэх..." + +msgid "Filter navigation items" +msgstr "Жолоодлогын зүйлсийг шүүх" + +msgid "Date/time" +msgstr "Огноо/цаг" + +msgid "User" +msgstr "Хэрэглэгч" + +msgid "Action" +msgstr "Үйлдэл" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "оролт" +msgstr[1] "оролт" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Энэ объектод өөрчлөлтийн түүх байхгүй байна. Админ сайтаар нэмээгүй байх " +"магадлалтай." + +msgid "Show all" +msgstr "Бүгдийг харуулах" + +msgid "Save" +msgstr "Хадгалах" + +msgid "Popup closing…" +msgstr "Хааж байна..." + +msgid "Search" +msgstr "Хайлт" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s үр дүн" +msgstr[1] "%(counter)s үр дүн" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "Нийт %(full_result_count)s" + +msgid "Save as new" +msgstr "Шинээр хадгалах" + +msgid "Save and add another" +msgstr "Хадгалаад өөрийг нэмэх" + +msgid "Save and continue editing" +msgstr "Хадгалаад нэмж засах" + +msgid "Save and view" +msgstr "Хадгалаад харах." + +msgid "Close" +msgstr "Хаах" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Сонгосон %(model)s-ийг өөрчлөх" + +#, python-format +msgid "Add another %(model)s" +msgstr "Өөр %(model)s нэмэх" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Сонгосон %(model)s устгах" + +#, python-format +msgid "View selected %(model)s" +msgstr "View selected %(model)s" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Өнөөдөр вэб сайтад цаг заваа зарцуулсанд баярлалаа." + +msgid "Log in again" +msgstr "Ахин нэвтрэх " + +msgid "Password change" +msgstr "Нууц үгийн өөрчлөлт" + +msgid "Your password was changed." +msgstr "Нууц үг тань өөрчлөгдлөө." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Та аюулгүй байдлын үүднээс хуучин нууц үгээ оруулна уу, тэгээд шинэ нууц " +"үгээ хоёр удаа оруулнаар бид бичсэн эсэхийг баталгаажуулах боломжтой." + +msgid "Change my password" +msgstr "Нууц үгээ солих" + +msgid "Password reset" +msgstr "Нууц үг шинэчилэх" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Та нууц үгтэй боллоо. Одоо бүртгэлд нэвтрэх боломжтой." + +msgid "Password reset confirmation" +msgstr "Нууц үг шинэчилэхийг баталгаажуулах" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Шинэ нууц үгээ хоёр удаа оруулна уу. Ингэснээр нууц үгээ зөв бичиж байгаа " +"эсэхийг тань шалгах юм. " + +msgid "New password:" +msgstr "Шинэ нууц үг:" + +msgid "Confirm password:" +msgstr "Нууц үгээ батлах:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Нууц үг авах холбоос болохгүй байна. Үүнийг аль хэдийнэ хэрэглэснээс болсон " +"байж болзошгүй. Шинэ нууц үг авахаар хүсэлт гаргана уу. " + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Бид таны нууц үг тохируулах зааварчилгааг и-мэйлээр илгээлээ. Хэрэв таны " +"оруулсан и-мэйл дээр акаунт байвал хурдан авах ёстой." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Хэрэв та имэйл аваагүй бол та бүртгэлтэй хаяг оруулсан эсэхийг шалгана уу, " +"мөн спам хавтасыг шалгана уу." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"%(site_name)s сайтанд бүртгүүлсэн эрхийн нууц үгийг сэргээх хүсэлт гаргасан " +"учир энэ имэйл ийг та хүлээн авсан болно. " + +msgid "Please go to the following page and choose a new password:" +msgstr "Дараах хуудас руу орон шинэ нууц үг сонгоно уу:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Та хэрэглэгчийн нэрээ мартсан бол:" + +msgid "Thanks for using our site!" +msgstr "Манай сайтыг хэрэглэсэнд баярлалаа!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s баг" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Нууц үгээ мартсан уу? Доор имэйл хаягаа оруулна уу, бид шинэ нууц үг " +"тохируулах зааврыг имэйлээр илгээнэ." + +msgid "Email address:" +msgstr "Имэйл хаяг:" + +msgid "Reset my password" +msgstr "Нууц үгээ шинэчлэх" + +msgid "Select all objects on this page for an action" +msgstr "Энэ хуудас дээрх бүх объектуудыг үйлдэл хийхийн тулд сонгоно уу" + +msgid "All dates" +msgstr "Бүх огноо" + +#, python-format +msgid "Select %s" +msgstr "%s-г сонго" + +#, python-format +msgid "Select %s to change" +msgstr "Өөрчлөх %s-г сонгоно уу" + +#, python-format +msgid "Select %s to view" +msgstr "Харахын тулд %s сонгоно уу" + +msgid "Date:" +msgstr "Огноо:" + +msgid "Time:" +msgstr "Цаг:" + +msgid "Lookup" +msgstr "Хайх" + +msgid "Currently:" +msgstr "Одоогийнх:" + +msgid "Change:" +msgstr "Өөрчилөлт:" diff --git a/external_sources/django/django/contrib/admin/locale/mn/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/mn/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..5fda297 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/mn/LC_MESSAGES/djangojs.po @@ -0,0 +1,218 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Tsolmon , 2012 +# Zorig, 2014,2018 +# Анхбаяр Анхаа , 2011-2012,2015,2019 +# Ганзориг БП , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" +"PO-Revision-Date: 2019-02-13 09:19+0000\n" +"Last-Translator: Анхбаяр Анхаа \n" +"Language-Team: Mongolian (http://www.transifex.com/django/django/language/" +"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" + +#, javascript-format +msgid "Available %s" +msgstr "Боломжтой %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Энэ %s жагсаалт нь боломжит утгын жагсаалт. Та аль нэгийг нь сонгоод \"Сонгох" +"\" дээр дарж нөгөө хэсэгт оруулах боломжтой." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Энэ нүдэнд бичээд дараах %s жагсаалтаас шүүнэ үү. " + +msgid "Filter" +msgstr "Шүүлтүүр" + +msgid "Choose all" +msgstr "Бүгдийг нь сонгох" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Бүгдийг сонгох бол %s дарна уу" + +msgid "Choose" +msgstr "Сонгох" + +msgid "Remove" +msgstr "Хас" + +#, javascript-format +msgid "Chosen %s" +msgstr "Сонгогдсон %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Энэ %s сонгогдсон утгуудыг жагсаалт. Та аль нэгийг нь хасахыг хүсвэл сонгоох " +"\"Хас\" дээр дарна уу." + +msgid "Remove all" +msgstr "Бүгдийг арилгах" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "%s ийн сонгоод бүгдийг нь арилгана" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s ээс %(cnt)s сонгосон" +msgstr[1] "%(sel)s ээс %(cnt)s сонгосон" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Хадгалаагүй өөрчлөлтүүд байна. Энэ үйлдэлийг хийвэл өөрчлөлтүүд устах болно." + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"Та 1 үйлдлийг сонгосон байна, гэвч та өөрийн өөрчлөлтүүдээ тодорхой " +"талбаруудад нь оруулагүй байна. OK дарж сануулна уу. Энэ үйлдлийг та дахин " +"хийх шаардлагатай." + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Та 1 үйлдлийг сонгосон байна бас та ямарваа өөрчлөлт оруулсангүй. Та Save " +"товчлуур биш Go товчлуурыг хайж байгаа бололтой." + +msgid "Now" +msgstr "Одоо" + +msgid "Midnight" +msgstr "Шөнө дунд" + +msgid "6 a.m." +msgstr "06 цаг" + +msgid "Noon" +msgstr "Үд дунд" + +msgid "6 p.m." +msgstr "18 цаг" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Та серверийн цагаас %s цагийн түрүүнд явж байна" +msgstr[1] "Та серверийн цагаас %s цагийн түрүүнд явж байна" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Та серверийн цагаас %s цагаар хоцорч байна" +msgstr[1] "Та серверийн цагаас %s цагаар хоцорч байна" + +msgid "Choose a Time" +msgstr "Цаг сонгох" + +msgid "Choose a time" +msgstr "Цаг сонгох" + +msgid "Cancel" +msgstr "Болих" + +msgid "Today" +msgstr "Өнөөдөр" + +msgid "Choose a Date" +msgstr "Өдөр сонгох" + +msgid "Yesterday" +msgstr "Өчигдөр" + +msgid "Tomorrow" +msgstr "Маргааш" + +msgid "January" +msgstr "1-р сар" + +msgid "February" +msgstr "2-р сар" + +msgid "March" +msgstr "3-р сар" + +msgid "April" +msgstr "4-р сар" + +msgid "May" +msgstr "5-р сар" + +msgid "June" +msgstr "6-р сар" + +msgid "July" +msgstr "7-р сар" + +msgid "August" +msgstr "8-р сар" + +msgid "September" +msgstr "9-р сар" + +msgid "October" +msgstr "10-р сар" + +msgid "November" +msgstr "11-р сар" + +msgid "December" +msgstr "12-р сар" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "Н" + +msgctxt "one letter Monday" +msgid "M" +msgstr "Д" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "М" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "Л" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "П" + +msgctxt "one letter Friday" +msgid "F" +msgstr "Ба" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "Бя" + +msgid "Show" +msgstr "Үзэх" + +msgid "Hide" +msgstr "Нуух" diff --git a/external_sources/django/django/contrib/admin/locale/mr/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/mr/LC_MESSAGES/django.po new file mode 100644 index 0000000..c777562 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/mr/LC_MESSAGES/django.po @@ -0,0 +1,753 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Omkar Parab, 2024 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 11:41-0300\n" +"PO-Revision-Date: 2024-01-25 07:05+0000\n" +"Last-Translator: Omkar Parab, 2024\n" +"Language-Team: Marathi (http://app.transifex.com/django/django/language/" +"mr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: mr\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "यशस्वीरीत्या %(count)d %(items)s घालवले गेले आहेत." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "%(name)s घालवू शकत नाही" + +msgid "Are you sure?" +msgstr "तुम्हाला खात्री आहे का?" + +msgid "Administration" +msgstr "प्रशासन" + +msgid "All" +msgstr "सर्व" + +msgid "Yes" +msgstr "होय" + +msgid "No" +msgstr "नाही" + +msgid "Unknown" +msgstr "अज्ञात" + +msgid "Any date" +msgstr "कोणतीही दिनांक" + +msgid "Today" +msgstr "आज" + +msgid "Past 7 days" +msgstr "मागील 7 दिवस" + +msgid "This month" +msgstr "या महिन्यात" + +msgid "This year" +msgstr "यावर्षी" + +msgid "No date" +msgstr "दिनांक नाही" + +msgid "Has date" +msgstr "दिनांक आहे" + +msgid "Empty" +msgstr "रिकामी" + +msgid "Not empty" +msgstr "रिकामी नाही" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"कृपया करून %(username)s आणि कर्मचारी खात्यासाठी अचूक गुप्तशब्द नमूद करा. लक्षात घ्या की " +"दोन्ही राखणे संवेदनशील असू शकतात." + +msgid "Action:" +msgstr "क्रिया:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "अजून एक %(verbose_name)s जोडा" + +msgid "Remove" +msgstr "काढा" + +msgid "Addition" +msgstr "वाढ" + +msgid "Change" +msgstr "बदला" + +msgid "Deletion" +msgstr "वगळा" + +msgid "action time" +msgstr "क्रियाकाळ" + +msgid "user" +msgstr "वापरकर्ता" + +msgid "content type" +msgstr "सामुग्री प्रकार" + +msgid "object id" +msgstr "" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "" + +msgid "action flag" +msgstr "क्रिया झेंडा" + +msgid "change message" +msgstr "लिखित बदला" + +msgid "log entry" +msgstr "घटक नोंद" + +msgid "log entries" +msgstr "घटक नोंदी" + +#, python-format +msgid "Added “%(object)s”." +msgstr "“%(object)s” जोडले" + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "“%(object)s” — %(changes)s बदलले" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "\"%(object)s\" घालविले" + +msgid "LogEntry Object" +msgstr "" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "" + +msgid "Added." +msgstr "जोडले." + +msgid "and" +msgstr "आणि" + +#, python-format +msgid "Added %(name)s \"%(object)s\"." +msgstr "" + +#, python-format +msgid "Changed %(list)s for %(name)s \"%(object)s\"." +msgstr "" + +#, python-format +msgid "Deleted %(name)s \"%(object)s\"." +msgstr "" + +msgid "No fields changed." +msgstr "कोणतेही रखाणे बदलले नाहीत." + +msgid "None" +msgstr "" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "एकापेक्षा जास्त निवडण्यासाठी \"कंट्रोल\" किंवा मॅक वर \"कमांड\" खटका दाबा" + +msgid "Select this object for an action - {}" +msgstr "" + +msgid "You may edit it again below." +msgstr "तुम्ही ते खाली पुन्हा संपादित करू शकता." + +#, python-brace-format +msgid "" +"The %(name)s \"%(obj)s\" was changed successfully. You may edit it again " +"below." +msgstr "" + +#, python-format +msgid "" +"The %(name)s \"%(obj)s\" was changed successfully. You may add another " +"%(name)s below." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "{name} \"{obj}\" यशस्वीरीत्या जोडले गेले आहे. तुम्ही त्याचे पुन्हा संपादन करू शकता." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "{name} \"{obj}\" यशस्वीरीत्या जोडले गेले आहे. तुम्ही त्याचे पुन्हा संपादन करू शकता." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "{name} \"{obj}\" यशस्वीरीत्या बदलले गेले आहे." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"गोष्टींवर क्रिया करण्यासाठी त्या निवडले जाणे आवश्यक आहे. कोणत्याही गोष्टी बदलल्या गेल्या " +"नाहीत." + +msgid "No action selected." +msgstr "कोणतीही क्रिया निवडली नाही." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s “%(obj)s” यशस्वीरीत्या हटवले गेले आहे." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "%(name)s “%(key)s” ओळखीसह अस्तित्वात नाही. कदाचित ते घालवले असेल ?" + +#, python-format +msgid "Add %s" +msgstr "जोडा %s" + +#, python-format +msgid "Change %s" +msgstr "बदला %s" + +#, python-format +msgid "View %s" +msgstr "पहा %s" + +msgid "Database error" +msgstr "डेटाबेस त्रुटी" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "" + +#, python-format +msgid "Change history: %s" +msgstr "" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" + +msgid "Django site admin" +msgstr "जॅंगो स्थळ प्रशासक" + +msgid "Django administration" +msgstr "जॅंगो प्रशासन " + +msgid "Site administration" +msgstr "स्थळ प्रशासन " + +msgid "Log in" +msgstr "" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s प्रशासन" + +msgid "Page not found" +msgstr "पान मिळाले नाही" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "आम्ही क्षमस्व आहोत, पण विनंती केलेले पान मिळाले नाही." + +msgid "Home" +msgstr "मुख्यपान" + +msgid "Server error" +msgstr "वाढप्यात त्रुटी" + +msgid "Server error (500)" +msgstr "सर्व्हर त्रुटी (500)" + +msgid "Server Error (500)" +msgstr "सर्व्हर त्रुटी (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"त्रुटी आली आहे व ती विपत्राद्वारे सांकेतिकस्थळ व्यवस्थापकांकडे कळविण्यात आली आहे आणि लवकरच " +"ती सुधारली जाईल. आपल्या सहनशीलतेसाठी धन्यवाद." + +msgid "Run the selected action" +msgstr "निवडलेली क्रिया चालवा" + +msgid "Go" +msgstr "जा" + +msgid "Click here to select the objects across all pages" +msgstr "पानावरील सर्व वस्तूंची निवड करण्यासाठी येथे टिचकी मारा" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "सर्व %(total_count)s %(module_name)s निवडा" + +msgid "Clear selection" +msgstr "निवड काढा" + +msgid "Breadcrumbs" +msgstr "ब्रेडक्रम्ब्स" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "" + +msgid "Add" +msgstr "जोडा" + +msgid "View" +msgstr "पहा" + +msgid "You don’t have permission to view or edit anything." +msgstr "तुम्हाला काहीही पाहण्याची किंवा संपादित करण्याची परवानगी नाही." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"पहिलं, वापरकर्तानाव आणि गुप्तशब्द नमूद करा. मग, आपण अधिक वापरकर्ता पर्यायांचे संपादन करू " +"शकता." + +msgid "Enter a username and password." +msgstr "वापरकर्तानाव आणि गुप्तशब्द नमूद करा." + +msgid "Change password" +msgstr "गुप्तशब्द बदला" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "%(username)s वापरकर्त्यासाठी नवीन गुप्तशब्द नमूद करा " + +msgid "Skip to main content" +msgstr "मुख्य सामुग्रीवर जा" + +msgid "Welcome," +msgstr "स्वागत आहे," + +msgid "View site" +msgstr "संकेतस्थळ पहा" + +msgid "Documentation" +msgstr "दस्तऐवज" + +msgid "Log out" +msgstr "बाहेर पडा" + +#, python-format +msgid "Add %(name)s" +msgstr "" + +msgid "History" +msgstr "इतिहास" + +msgid "View on site" +msgstr "संकेतस्थळावर पहा" + +msgid "Filter" +msgstr "गाळणी" + +msgid "Hide counts" +msgstr "गणना लपवा" + +msgid "Show counts" +msgstr "गणना दाखवा" + +msgid "Clear all filters" +msgstr "सर्व गाळण्या साफ करा" + +msgid "Remove from sorting" +msgstr "सोडवा सोडवा" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "" + +msgid "Toggle sorting" +msgstr "" + +msgid "Toggle theme (current theme: auto)" +msgstr "थीम खुंटी बदला (सध्याची थीम: स्वयंप्रेरित)" + +msgid "Toggle theme (current theme: light)" +msgstr "थीम खुंटी बदला (सध्याची थीम: उजेड)" + +msgid "Toggle theme (current theme: dark)" +msgstr "थीम खुंटी बदला (सध्याची थीम: काळोख)" + +msgid "Delete" +msgstr "घालवा" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"\"%(escaped_object)s\" %(object_name)sनावाच्या वस्तू घालवताना त्याच्या संबंधित " +"वस्तूही घालवाव्या लागतील" + +msgid "Objects" +msgstr "" + +msgid "Yes, I’m sure" +msgstr "होय, मला खात्री आहे" + +msgid "No, take me back" +msgstr "नको, मला मागे न्या" + +msgid "Delete multiple objects" +msgstr "एकाधिक वस्तू घालवा" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"निवडलेले %(objects_name)s घालवण्यासाठी खालील संरक्षित संबंधित वस्तू डिलीट करणे आवश्यक " +"आहे." + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"तुम्हाला खात्री आहे की तुम्ही निवडलेले %(objects_name)s हटवायला याची खात्री आहे का? " +"खात्री आहे की खालील वस्तूंचे आणि त्यांच्या संबंधित घटक हटवले जातील:" + +msgid "Delete?" +msgstr "घालवायचं ?" + +#, python-format +msgid " By %(filter_title)s " +msgstr "" + +msgid "Summary" +msgstr "सारांश" + +msgid "Recent actions" +msgstr "अलीकडच्या क्रिया" + +msgid "My actions" +msgstr "माझ्या क्रिया" + +msgid "None available" +msgstr "काहीही उपलब्ध नाही" + +msgid "Added:" +msgstr "जोडले गेले:" + +msgid "Changed:" +msgstr "बदलले." + +msgid "Deleted:" +msgstr "घालवले." + +msgid "Unknown content" +msgstr "अज्ञात सामुग्री" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"तुमच्या माहितीगठ्ठा स्थापनेत काहीतरी चुक आहे. खात्री करा की योग्य डेटाबेस तक्ते तयार केलेले " +"आहेत आणि खात्री करा की योग्य वापरकर्त्या माहितीगठ्ठा वाचू शकतो." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"तुम्ही %(username)s म्हणून प्रमाणित केले आहे, परंतु हे पानात शिरकाव करण्यास अधिकृत नाही. " +"तुम्हाला वेगळ्या खात्यात प्रवेश करायला आवडेल का?" + +msgid "Forgotten your password or username?" +msgstr "तुमचा गुप्तशब्द किंवा वापरकर्तानाव विसरलात का?" + +msgid "Toggle navigation" +msgstr "टॉगल नेविगेशन" + +msgid "Sidebar" +msgstr "बाजूभिंत" + +msgid "Start typing to filter…" +msgstr "प्रविष्ट करण्यासाठी टाइप करण्याची सुरुवात करा ..." + +msgid "Filter navigation items" +msgstr "" + +msgid "Date/time" +msgstr "दिनांक/वेळ" + +msgid "User" +msgstr "वापरकर्ता" + +msgid "Action" +msgstr "क्रिया" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "" +msgstr[1] "" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"या वस्तूचा कोणताही बदलाचा इतिहास नाही. कदाचित तो व्यवस्थापक मार्गे नव्हता जोडला गेला " +"असावा." + +msgid "Show all" +msgstr "सर्व दाखवा" + +msgid "Save" +msgstr "साठवा" + +msgid "Popup closing…" +msgstr "पॉपअप बंद होत आहे..." + +msgid "Search" +msgstr "शोधा" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "" + +msgid "Save as new" +msgstr "नवीन म्हणून साठवा" + +msgid "Save and add another" +msgstr "साठवा आणि आणखी एक जोडा" + +msgid "Save and continue editing" +msgstr "साठवा आणि संपादन सुरू ठेवा" + +msgid "Save and view" +msgstr "साठवा आणि पहा" + +msgid "Close" +msgstr "बंद" + +#, python-format +msgid "Change selected %(model)s" +msgstr "निवडलेले %(model)s बदला" + +#, python-format +msgid "Add another %(model)s" +msgstr "अजून एक %(model)s जोडा" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "निवडलेले %(model)s घालवा" + +#, python-format +msgid "View selected %(model)s" +msgstr "निवडलेले %(model)s पहा" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "आज संकेतस्थळावर अमुल्य वेळ घालवल्याबद्दल धन्यवाद." + +msgid "Log in again" +msgstr "पुन्हा प्रवेश करा" + +msgid "Password change" +msgstr "गुप्तशब्द बदला" + +msgid "Your password was changed." +msgstr "तुमचा गुप्तशब्द बदलला गेला आहे." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"सुरक्षेसाठी कृपया आपला जुना गुप्तशब्द नमूद करा, आणि नंतर आपला नवीन गुप्तशब्द दोनदा नमूद " +"करा जेणेकरून तुम्ही गुप्तशब्द अचूक नमूद केला आहे की नाही ह्याची आम्ही पडताळणी करू." + +msgid "Change my password" +msgstr "माझा गुप्तशब्द बदला" + +msgid "Password reset" +msgstr "गुप्तशब्द पुन्हस्थापना" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "तुमचा गुप्तशब्द जोडला आहे. आपण आता प्रवेश करू शकता." + +msgid "Password reset confirmation" +msgstr "गुप्तशब्द पुन्हस्थापना निश्चित" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"कृपया आपला नवीन गुप्तशब्द दोनदा नमूद करा, जेणेकरून तुम्ही तो योग्य नमूद केला आहे का याची " +"आम्ही पडताळणी करू." + +msgid "New password:" +msgstr "नवीन गुप्तशब्द:" + +msgid "Confirm password:" +msgstr "निश्चित गुप्तशब्द:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"गुप्तशब्द पुन्हस्थापना दुवा अवैध आहे, कदाचित तो आधीच वापरला गेलेला आहे. कृपया नवीन गुप्तशब्द " +"पुन्हस्थापनेची विनंती करा." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"आपल्याला आपला गुप्तशब्द पुन्हस्थापीत करण्याच्या सूचना विपत्र केल्या आहेत, जर नमूद केलेल्या " +"विपत्रासह खाते उपलब्ध असेल तर आपल्याला ते लवकरच मिळायला पाहीजे." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"जर तुम्हाला विपत्र मिळत नसेल तर कृपया खाते नोंदवलेला विपत्र तुम्ही योग्य नमूद केलाय का " +"याची खात्री करा आणि तुमचा स्पॅम फोल्डर तपासा." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"तुम्हाला हा विपत्र मिळत आहे कारण तुम्ही %(site_name)s या संकेतस्थळावरील तुमच्या " +"वापरकर्ता खात्यासाठी गुप्तशब्द पुन्हस्थापनेची विनंती केली होती." + +msgid "Please go to the following page and choose a new password:" +msgstr "कृपया खालील पानावर जा आणि नवीन गुप्तशब्द निवडा." + +msgid "Your username, in case you’ve forgotten:" +msgstr "तुमचे वापरकर्तानाव, जर तुम्ही विसरला असाल तर:" + +msgid "Thanks for using our site!" +msgstr "आमच्या संकेतस्थळाचा वापर केल्याबद्दल आभार!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s संघ" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"तुमचा गुप्तशब्द विसरलात का? तुमचा विपत्रपत्ता खाली नमूद करा. नवीन गुप्तशब्द " +"ठरवण्यासाठीच्या सूचना आम्ही तुम्हाला विपत्र करू." + +msgid "Email address:" +msgstr "विपत्र पत्ता:" + +msgid "Reset my password" +msgstr "माझा गुप्तशब्द पुन्हस्थापन करा" + +msgid "Select all objects on this page for an action" +msgstr "क्रिया करण्यासाठी या पानावरील सर्व घटक निवडा." + +msgid "All dates" +msgstr "सर्व दिनांक" + +#, python-format +msgid "Select %s" +msgstr "%s निवडा" + +#, python-format +msgid "Select %s to change" +msgstr "बदलण्यासाठी %s निवडा" + +#, python-format +msgid "Select %s to view" +msgstr "पाहण्यासाठी %s निवडा" + +msgid "Date:" +msgstr "दिनांक:" + +msgid "Time:" +msgstr "वेळ:" + +msgid "Lookup" +msgstr "शोध" + +msgid "Currently:" +msgstr "सध्या:" + +msgid "Change:" +msgstr "बदला:" diff --git a/external_sources/django/django/contrib/admin/locale/mr/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/mr/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..2026d16 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/mr/LC_MESSAGES/djangojs.po @@ -0,0 +1,145 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-01-17 11:07+0100\n" +"PO-Revision-Date: 2014-10-05 20:12+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Marathi (http://www.transifex.com/projects/p/django/language/" +"mr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: mr\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" + +msgid "Filter" +msgstr "" + +msgid "Choose all" +msgstr "" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "" + +msgid "Choose" +msgstr "" + +msgid "Remove" +msgstr "" + +#, javascript-format +msgid "Chosen %s" +msgstr "" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" + +msgid "Remove all" +msgstr "" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "" +msgstr[1] "" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" +msgstr[1] "" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +msgstr[1] "" + +msgid "Now" +msgstr "" + +msgid "Clock" +msgstr "" + +msgid "Choose a time" +msgstr "" + +msgid "Midnight" +msgstr "" + +msgid "6 a.m." +msgstr "" + +msgid "Noon" +msgstr "" + +msgid "Cancel" +msgstr "" + +msgid "Today" +msgstr "" + +msgid "Calendar" +msgstr "" + +msgid "Yesterday" +msgstr "" + +msgid "Tomorrow" +msgstr "" + +msgid "" +"January February March April May June July August September October November " +"December" +msgstr "" + +msgid "S M T W T F S" +msgstr "" + +msgid "Show" +msgstr "" + +msgid "Hide" +msgstr "" diff --git a/external_sources/django/django/contrib/admin/locale/ms/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/ms/LC_MESSAGES/django.po new file mode 100644 index 0000000..e69439e --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ms/LC_MESSAGES/django.po @@ -0,0 +1,721 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jafry Hisham, 2021 +# Mariusz Felisiak , 2021 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-09-21 10:22+0200\n" +"PO-Revision-Date: 2021-12-06 07:41+0000\n" +"Last-Translator: Mariusz Felisiak \n" +"Language-Team: Malay (http://www.transifex.com/django/django/language/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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Padam pilihan %(verbose_name_plural)s" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d %(items)s berjaya dipadamkan" + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "%(name)s tidak boleh dipadamkan" + +msgid "Are you sure?" +msgstr "Adakah anda pasti?" + +msgid "Administration" +msgstr "Pentadbiran" + +msgid "All" +msgstr "Semua" + +msgid "Yes" +msgstr "Ya" + +msgid "No" +msgstr "Tidak" + +msgid "Unknown" +msgstr "Tidak diketahui" + +msgid "Any date" +msgstr "Sebarang tarikh" + +msgid "Today" +msgstr "Hari ini" + +msgid "Past 7 days" +msgstr "7 hari lalu" + +msgid "This month" +msgstr "Bulan ini" + +msgid "This year" +msgstr "Tahun ini" + +msgid "No date" +msgstr "Tiada tarikh" + +msgid "Has date" +msgstr "Mempunyai tarikh" + +msgid "Empty" +msgstr "Kosong" + +msgid "Not empty" +msgstr "Tidak kosong" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Sila masukkan %(username)s dan kata-laluan bagi akaun staf. Kedua-dua medan " +"berkemungkinan kes-sensitif." + +msgid "Action:" +msgstr "Tindakan" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Tambah %(verbose_name)s" + +msgid "Remove" +msgstr "Buang" + +msgid "Addition" +msgstr "Tambahan" + +msgid "Change" +msgstr "Tukar" + +msgid "Deletion" +msgstr "Pemadaman" + +msgid "action time" +msgstr "masa tindakan" + +msgid "user" +msgstr "pengguna" + +msgid "content type" +msgstr "jenis kandungan" + +msgid "object id" +msgstr "id objek" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "repr objek" + +msgid "action flag" +msgstr "bendera tindakan" + +msgid "change message" +msgstr "tukar mesej" + +msgid "log entry" +msgstr "entri log" + +msgid "log entries" +msgstr "entri log" + +#, python-format +msgid "Added “%(object)s”." +msgstr "\"%(object)s\" ditambah" + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "\"%(object)s\" ditukar - %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "\"%(object)s\" dipadam." + +msgid "LogEntry Object" +msgstr "Objek EntriLog" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "{name} “{object}” ditambah." + +msgid "Added." +msgstr "Ditambah." + +msgid "and" +msgstr "dan" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "“{object}” {name} untuk {fields} telah ditukar." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "{fields} telah ditukar." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "“{object}” {name} telah dipadamkan" + +msgid "No fields changed." +msgstr "Tiada medan diubah." + +msgid "None" +msgstr "Tiada" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Tekan \"Control\", atau \"Command pada Mac untuk memilih lebih daripada satu." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "{name} \"{obj}\" telah berjaya ditambah." + +msgid "You may edit it again below." +msgstr "Anda boleh edit semula dibawah." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"{name} \"{obj}\" telah berjaya ditambah. Anda boleh menambah {name} lain " +"dibawah." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "{name} \"{obj}\" berjaya diubah. Anda boleh edit semula dibawah." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "{name} \"{obj}\" berjaya ditambah. Anda boleh edit semula dibawah." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "{name} \"{obj}\" berjaya diubah. Anda boleh tambah {name} lain dibawah" + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "{name} \"{obj}\" berjaya diubah." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Item-item perlu dipilih mengikut turutan untuk tindakan lanjut. Tiada item-" +"item yang diubah." + +msgid "No action selected." +msgstr "Tiada tindakan dipilih." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s \"%(obj)s\" berjaya dipadam." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "" +"%(name)s dengan ID \"%(key)s\" tidak wujud. Mungkin ia telah dipadamkan?" + +#, python-format +msgid "Add %s" +msgstr "Tambah %s" + +#, python-format +msgid "Change %s" +msgstr "Tukar %s" + +#, python-format +msgid "View %s" +msgstr "Lihat %s" + +msgid "Database error" +msgstr "Masalah pangkalan data" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s berjaya ditukar." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "Kesemua %(total_count)s dipilih" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 daripada %(cnt)s dipilih" + +#, python-format +msgid "Change history: %s" +msgstr "Sejarah penukaran: %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Memadam %(class_name)s %(instance)s memerlukan pemadaman objek berkaitan " +"yang dilindungi: %(related_objects)s" + +msgid "Django site admin" +msgstr "Pentadbiran laman Django" + +msgid "Django administration" +msgstr "Pentadbiran Django" + +msgid "Site administration" +msgstr "Pentadbiran laman" + +msgid "Log in" +msgstr "Log masuk" + +#, python-format +msgid "%(app)s administration" +msgstr "Pentadbiran %(app)s" + +msgid "Page not found" +msgstr "Laman tidak dijumpai" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Maaf, tetapi laman yang diminta tidak dijumpai." + +msgid "Home" +msgstr "Utama" + +msgid "Server error" +msgstr "Masalah pelayan" + +msgid "Server error (500)" +msgstr "Masalah pelayan (500)" + +msgid "Server Error (500)" +msgstr "Masalah pelayan (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Terdapat masalah. Ia telah dilaporkan kepada pentadbir laman melalui emel " +"dan sepatutnya dibaiki sebentar lagi. Kesabaran anda amat dihargai." + +msgid "Run the selected action" +msgstr "Jalankan tindakan yang dipilih" + +msgid "Go" +msgstr "Teruskan" + +msgid "Click here to select the objects across all pages" +msgstr "Klik disini untuk memilih objek-objek disemua laman" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Pilih kesemua %(total_count)s%(module_name)s" + +msgid "Clear selection" +msgstr "Padam pilihan" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Model didalam aplikasi %(name)s" + +msgid "Add" +msgstr "Tambah" + +msgid "View" +msgstr "Lihat" + +msgid "You don’t have permission to view or edit anything." +msgstr "Anda tidak mempunyai kebenaran untuk melihat atau edit apa-apa." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Pertama sekali, masukkan nama pengguna dan kata laluan. Selepas itu, anda " +"boleh edit pilihan pengguna yang lain" + +msgid "Enter a username and password." +msgstr "Masukkan nama pengguna dan kata laluan." + +msgid "Change password" +msgstr "Tukar kata laluan" + +msgid "Please correct the error below." +msgstr "Sila betulkan ralat di bawah." + +msgid "Please correct the errors below." +msgstr "Sila betulkan ralat-ralat di bawah." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Masukkan kata lalauan bagi pengguna %(username)s" + +msgid "Welcome," +msgstr "Selamat datang," + +msgid "View site" +msgstr "Lihat laman" + +msgid "Documentation" +msgstr "Dokumentasi" + +msgid "Log out" +msgstr "Log keluar" + +#, python-format +msgid "Add %(name)s" +msgstr "Tambah %(name)s" + +msgid "History" +msgstr "Sejarah" + +msgid "View on site" +msgstr "Lihat di laman" + +msgid "Filter" +msgstr "Tapis" + +msgid "Clear all filters" +msgstr "Kosongkan kesemua tapisan" + +msgid "Remove from sorting" +msgstr "Buang daripada penyusunan" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Keutamaan susunan: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Togol penyusunan" + +msgid "Delete" +msgstr "Buang" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Memadam %(object_name)s '%(escaped_object)s' akan menyebabkan pembuangan " +"objek-objek yang berkaitan, tetapi akaun anda tidak mempunyai kebenaran " +"untuk memadam jenis-jenis objek-objek berikut:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Membuang %(object_name)s '%(escaped_object)s' memerlukan pembuangan objek-" +"objek berkaitan yang dilindungi:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Adakah anda pasti anda ingin membuang %(object_name)s \"%(escaped_object)s" +"\"? Semua item-item berkaitan berikut akan turut dibuang:" + +msgid "Objects" +msgstr "Objek-objek" + +msgid "Yes, I’m sure" +msgstr "Ya, saya pasti" + +msgid "No, take me back" +msgstr "Tidak, bawa saya kembali" + +msgid "Delete multiple objects" +msgstr "Buang pelbagai objek" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Membuang %(objects_name)s akan menyebabkan pembuangan objek-objek yang " +"berkaitan, tetapi akaun anda tidak mempunyai kebenaran to membuang jenis " +"objek-objek berikut:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Membuang %(objects_name)s memerlukan pembuangan objek-objek berkaitan yang " +"dilindungi:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Adakah anda pasti untuk membuang %(objects_name)s yang dipilih? Segala objek-" +"objek berikut dan item-item yang berkaitan akan turut dibuang:" + +msgid "Delete?" +msgstr "Buang?" + +#, python-format +msgid " By %(filter_title)s " +msgstr "Daripada %(filter_title)s" + +msgid "Summary" +msgstr "Rumusan" + +msgid "Recent actions" +msgstr "Tindakan terkini" + +msgid "My actions" +msgstr "Tindakan saya" + +msgid "None available" +msgstr "Tiada yang tersedia" + +msgid "Unknown content" +msgstr "Kandungan tidak diketahui" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Nampaknya ada masalah dengan pemasangan pangkalan data anda. Pastikan jadual " +"pangkalan yang bersesuaian telah di cipta, dan pastikan pangkalan data " +"tersebut boleh dibaca oleh pengguna yang bersesuaian." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Anda telah disahkan sebagai %(username)s, tetapi anda tidak dibenarkan untuk " +"mengakses ruangan ini. Adakah anda ingin log masuk menggunakan akaun lain?" + +msgid "Forgotten your password or username?" +msgstr "Terlupa kata laluan atau nama pengguna anda?" + +msgid "Toggle navigation" +msgstr "Togol navigasi" + +msgid "Start typing to filter…" +msgstr "Mulakan menaip untuk menapis..." + +msgid "Filter navigation items" +msgstr "Tapis item-item navigasi" + +msgid "Date/time" +msgstr "Tarikh/masa" + +msgid "User" +msgstr "Pengguna" + +msgid "Action" +msgstr "Tindakan" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Objek ini tidak mempunyai sejarah penukaran. Ini mungkin bermaksud ia tidak " +"ditambah menggunakan laman admin ini." + +msgid "Show all" +msgstr "Tunjuk semua" + +msgid "Save" +msgstr "Simpan" + +msgid "Popup closing…" +msgstr "Popup sedang ditutup..." + +msgid "Search" +msgstr "Cari" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s keputusan" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s jumlah" + +msgid "Save as new" +msgstr "Simpan sebagai baru" + +msgid "Save and add another" +msgstr "Simpan dan tambah lagi" + +msgid "Save and continue editing" +msgstr "Simpan dan teruskan mengedit" + +msgid "Save and view" +msgstr "Simpan dan lihat" + +msgid "Close" +msgstr "Tutup" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Tukar %(model)s yang dipilih" + +#, python-format +msgid "Add another %(model)s" +msgstr "Tambah %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Buang %(model)s pilihan" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Terima kasih kerana meluangkan masa di laman sesawang ini hari ini." + +msgid "Log in again" +msgstr "Log masuk semula" + +msgid "Password change" +msgstr "Pertukaran kata laluan" + +msgid "Your password was changed." +msgstr "Kata laluan anda telah ditukarkan" + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Untuk tujuan keselamatan, sila masukkan kata laluan lama, kemudian masukkan " +"kata laluan baru dua kali supaya kami dapat memastikan anda memasukkannya " +"dengan betul." + +msgid "Change my password" +msgstr "Tukar kata laluan saya" + +msgid "Password reset" +msgstr "Tetap semula kata laluan" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Kata laluan anda telah ditetapkan. Sila log masuk." + +msgid "Password reset confirmation" +msgstr "Pengesahan tetapan semula kata laluan" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Sila masukkan kata laluan baru anda dua kali supaya kami adpat memastikan " +"anda memasukkannya dengan betul." + +msgid "New password:" +msgstr "Kata laluan baru:" + +msgid "Confirm password:" +msgstr "Sahkan kata laluan:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Pautan tetapan semula kata laluan tidak sah, mungkin kerana ia telah " +"digunakan. Sila minta tetapan semula kata laluan yang baru." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Kami telah menghantar panduan untuk menetapkan kata laluan anda melalui " +"emel, sekiranya emel yang anda masukkan itu wujud. Anda sepatutnya " +"menerimanya sebentar lagi." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Jika anda tidak menerima emel, sila pastikan anda telah memasukkan alamat " +"emel yang telah didaftarkan, dan semak folder spam anda." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Anda menerima emel ini kerana anda telah memohon untuk menetapkan semula " +"kata laluan bagi akaun pengguna di %(site_name)s" + +msgid "Please go to the following page and choose a new password:" +msgstr "Sila ke ruangan berikut dan pilih kata laluan baru:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Nama pengguna anda, sekiranya anda terlupa:" + +msgid "Thanks for using our site!" +msgstr "Terima kasih kerana menggunakan laman kami!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Pasukan %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Lupa kata laluan anda? Masukkan alamat emel anda dibawah, dan kami akan " +"menghantar cara untuk menetapkan kata laluan baru." + +msgid "Email address:" +msgstr "Alamat emel:" + +msgid "Reset my password" +msgstr "Tetap semula kata laluan saya" + +msgid "All dates" +msgstr "Semua tarikh" + +#, python-format +msgid "Select %s" +msgstr "Pilih %s" + +#, python-format +msgid "Select %s to change" +msgstr "Pilih %s untuk diubah" + +#, python-format +msgid "Select %s to view" +msgstr "Pilih %s untuk lihat" + +msgid "Date:" +msgstr "Tarikh:" + +msgid "Time:" +msgstr "Masa:" + +msgid "Lookup" +msgstr "Carian" + +msgid "Currently:" +msgstr "Kini:" + +msgid "Change:" +msgstr "Tukar:" diff --git a/external_sources/django/django/contrib/admin/locale/ms/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/ms/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..6d86502 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ms/LC_MESSAGES/djangojs.po @@ -0,0 +1,264 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jafry Hisham, 2021 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-15 09:00+0100\n" +"PO-Revision-Date: 2021-11-16 13:42+0000\n" +"Last-Translator: Jafry Hisham\n" +"Language-Team: Malay (http://www.transifex.com/django/django/language/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" + +#, javascript-format +msgid "Available %s" +msgstr "%s tersedia" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Ini adalah senarai %s yang tersedia. Anda boleh memilih beberapa dengan " +"memilihnya di dalam kotak dibawah dan kemudian klik pada anak panah \"Pilih" +"\" diantara dua kotak itu." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Taip didalam kotak untuk menapis senarai %s yang tersedia." + +msgid "Filter" +msgstr "Tapis" + +msgid "Choose all" +msgstr "Pilih semua" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Klik untuk memlih semua %s serentak." + +msgid "Choose" +msgstr "Pilih" + +msgid "Remove" +msgstr "Buang" + +#, javascript-format +msgid "Chosen %s" +msgstr "%s dipilh" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Ini adalah senarai %s yang dipilih. Anda boleh membuangnya dengan memilihnya " +"pada kotak dibawah dan kemudian klik pada anak panah \"Buang\" diantara dua " +"kotak itu." + +msgid "Remove all" +msgstr "Buang semua" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Klik untuk membuang serentak semua %s yang dipilih." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s daripada %(cnt)s dipilih" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Anda mempunyai perubahan yang belum disimpan pada medan-medan individu yang " +"boleh di-edit. Sekiranya anda melakukan sebarang tindakan, penukaran yang " +"tidak disimpan akan hilang." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Anda telah memlih tindakan, tetapi anda belum menyimpan perubahan yang " +"dilakukan pada medan-medan individu. Sila klik OK to untuk simpan. Anda " +"perlu melakukan semula tindakan tersebut." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Anda telah memilih sesuatu tindakan, dan belum membuat perubahan pada medan-" +"medan individu. Anda mungkin sedang mencari butang Pergi dan bukannya butang " +"Simpan." + +msgid "Now" +msgstr "Sekarang" + +msgid "Midnight" +msgstr "Tengah malam" + +msgid "6 a.m." +msgstr "6 pagi" + +msgid "Noon" +msgstr "Tengahari" + +msgid "6 p.m." +msgstr "6 malam" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Nota: Anda %s jam ke depan daripada masa pelayan." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Nota: Anda %s jam ke belakang daripada masa pelayan." + +msgid "Choose a Time" +msgstr "Pilih Masa" + +msgid "Choose a time" +msgstr "Pilih masa" + +msgid "Cancel" +msgstr "Batal" + +msgid "Today" +msgstr "Hari ini" + +msgid "Choose a Date" +msgstr "Pilih Tarikh" + +msgid "Yesterday" +msgstr "Semalam" + +msgid "Tomorrow" +msgstr "Esok" + +msgid "January" +msgstr "Januari" + +msgid "February" +msgstr "Februari" + +msgid "March" +msgstr "Mac" + +msgid "April" +msgstr "Arpil" + +msgid "May" +msgstr "Mei" + +msgid "June" +msgstr "Jun" + +msgid "July" +msgstr "Julai" + +msgid "August" +msgstr "Ogos" + +msgid "September" +msgstr "September" + +msgid "October" +msgstr "Oktober" + +msgid "November" +msgstr "November" + +msgid "December" +msgstr "Disember" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Jan" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Feb" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Mar" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Apr" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "Mei" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Jun" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Jul" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Ogo" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Sep" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Okt" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Nov" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Dis" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "A" + +msgctxt "one letter Monday" +msgid "M" +msgstr "I" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "Se" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "R" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "K" + +msgctxt "one letter Friday" +msgid "F" +msgstr "J" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "Sa" + +msgid "Show" +msgstr "Tunjuk" + +msgid "Hide" +msgstr "Sorok" diff --git a/external_sources/django/django/contrib/admin/locale/my/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/my/LC_MESSAGES/django.po new file mode 100644 index 0000000..34054de --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/my/LC_MESSAGES/django.po @@ -0,0 +1,629 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Yhal Htet Aung , 2013-2015 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-19 16:49+0100\n" +"PO-Revision-Date: 2017-09-19 16:40+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Burmese (http://www.transifex.com/django/django/language/" +"my/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: my\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "" + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "" + +msgid "Are you sure?" +msgstr "" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "" + +msgid "Administration" +msgstr "စီမံခန့်ခွဲမှု" + +msgid "All" +msgstr "အားလုံး" + +msgid "Yes" +msgstr "ဟုတ်" + +msgid "No" +msgstr "မဟုတ်" + +msgid "Unknown" +msgstr "အမည်မသိ" + +msgid "Any date" +msgstr "နှစ်သက်ရာရက်စွဲ" + +msgid "Today" +msgstr "ယနေ့" + +msgid "Past 7 days" +msgstr "" + +msgid "This month" +msgstr "ယခုလ" + +msgid "This year" +msgstr "ယခုနှစ်" + +msgid "No date" +msgstr "" + +msgid "Has date" +msgstr "" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" + +msgid "Action:" +msgstr "လုပ်ဆောင်ချက်:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "" + +msgid "Remove" +msgstr "ဖယ်ရှား" + +msgid "action time" +msgstr "" + +msgid "user" +msgstr "" + +msgid "content type" +msgstr "" + +msgid "object id" +msgstr "" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/3/library/functions.html#repr) +msgid "object repr" +msgstr "" + +msgid "action flag" +msgstr "" + +msgid "change message" +msgstr "" + +msgid "log entry" +msgstr "" + +msgid "log entries" +msgstr "" + +#, python-format +msgid "Added \"%(object)s\"." +msgstr "" + +#, python-format +msgid "Changed \"%(object)s\" - %(changes)s" +msgstr "" + +#, python-format +msgid "Deleted \"%(object)s.\"" +msgstr "" + +msgid "LogEntry Object" +msgstr "" + +#, python-brace-format +msgid "Added {name} \"{object}\"." +msgstr "" + +msgid "Added." +msgstr "" + +msgid "and" +msgstr "နှင့်" + +#, python-brace-format +msgid "Changed {fields} for {name} \"{object}\"." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "" + +#, python-brace-format +msgid "Deleted {name} \"{object}\"." +msgstr "" + +msgid "No fields changed." +msgstr "" + +msgid "None" +msgstr "တစ်ခုမှမဟုတ်" + +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was added successfully." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" + +msgid "No action selected." +msgstr "" + +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "" + +#, python-format +msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "ထည့်သွင်း %s" + +#, python-format +msgid "Change %s" +msgstr "ပြောင်းလဲ %s" + +msgid "Database error" +msgstr "အချက်အလက်အစုအမှား" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "" + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "" + +#, python-format +msgid "Change history: %s" +msgstr "မှတ်တမ်းပြောင်းလဲ: %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" + +msgid "Django site admin" +msgstr "" + +msgid "Django administration" +msgstr "ဒီဂျန်ဂိုစီမံခန့်ခွဲမှု" + +msgid "Site administration" +msgstr "ဆိုက်စီမံခန့်ခွဲမှု" + +msgid "Log in" +msgstr "ဖွင့်ဝင်" + +#, python-format +msgid "%(app)s administration" +msgstr "" + +msgid "Page not found" +msgstr "" + +msgid "We're sorry, but the requested page could not be found." +msgstr "" + +msgid "Home" +msgstr "ပင်မ" + +msgid "Server error" +msgstr "ဆာဗာအမှားပြ" + +msgid "Server error (500)" +msgstr "ဆာဗာအမှားပြ (၅၀၀)" + +msgid "Server Error (500)" +msgstr "ဆာဗာအမှားပြ (၅၀၀)" + +msgid "" +"There's been an error. It's been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +msgid "Run the selected action" +msgstr "" + +msgid "Go" +msgstr "သွား" + +msgid "Click here to select the objects across all pages" +msgstr "" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "" + +msgid "Clear selection" +msgstr "" + +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" + +msgid "Enter a username and password." +msgstr "" + +msgid "Change password" +msgstr "စကားဝှက်ပြောင်း" + +msgid "Please correct the error below." +msgstr "" + +msgid "Please correct the errors below." +msgstr "" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" + +msgid "Welcome," +msgstr "ကြိုဆို၊ " + +msgid "View site" +msgstr "" + +msgid "Documentation" +msgstr "စာရွက်စာတမ်း" + +msgid "Log out" +msgstr "ဖွင့်ထွက်" + +#, python-format +msgid "Add %(name)s" +msgstr "" + +msgid "History" +msgstr "မှတ်တမ်း" + +msgid "View on site" +msgstr "" + +msgid "Filter" +msgstr "စီစစ်မှု" + +msgid "Remove from sorting" +msgstr "" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "" + +msgid "Toggle sorting" +msgstr "" + +msgid "Delete" +msgstr "ပယ်ဖျက်" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" + +msgid "Objects" +msgstr "" + +msgid "Yes, I'm sure" +msgstr "" + +msgid "No, take me back" +msgstr "" + +msgid "Delete multiple objects" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" + +msgid "Change" +msgstr "ပြောင်းလဲ" + +msgid "Delete?" +msgstr "ပယ်ဖျက်?" + +#, python-format +msgid " By %(filter_title)s " +msgstr "" + +msgid "Summary" +msgstr "အကျဉ်းချုပ်" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "" + +msgid "Add" +msgstr "ထည့်သွင်း" + +msgid "You don't have permission to edit anything." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "My actions" +msgstr "" + +msgid "None available" +msgstr "" + +msgid "Unknown content" +msgstr "" + +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" + +msgid "Forgotten your password or username?" +msgstr "" + +msgid "Date/time" +msgstr "ရက်စွဲ/အချိန်" + +msgid "User" +msgstr "အသုံးပြုသူ" + +msgid "Action" +msgstr "လုပ်ဆောင်ချက်" + +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" + +msgid "Show all" +msgstr "" + +msgid "Save" +msgstr "သိမ်းဆည်း" + +msgid "Popup closing..." +msgstr "" + +#, python-format +msgid "Change selected %(model)s" +msgstr "" + +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "" + +msgid "Search" +msgstr "ရှာဖွေ" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "" + +msgid "Save as new" +msgstr "" + +msgid "Save and add another" +msgstr "" + +msgid "Save and continue editing" +msgstr "" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "" + +msgid "Log in again" +msgstr "" + +msgid "Password change" +msgstr "" + +msgid "Your password was changed." +msgstr "" + +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" + +msgid "Change my password" +msgstr "စကားဝှက်ပြောင်း" + +msgid "Password reset" +msgstr "" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "" + +msgid "Password reset confirmation" +msgstr "" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" + +msgid "New password:" +msgstr "" + +msgid "Confirm password:" +msgstr "" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" + +msgid "" +"We've emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don't receive an email, please make sure you've entered the address " +"you registered with, and check your spam folder." +msgstr "" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" + +msgid "Please go to the following page and choose a new password:" +msgstr "" + +msgid "Your username, in case you've forgotten:" +msgstr "" + +msgid "Thanks for using our site!" +msgstr "" + +#, python-format +msgid "The %(site_name)s team" +msgstr "" + +msgid "" +"Forgotten your password? Enter your email address below, and we'll email " +"instructions for setting a new one." +msgstr "" + +msgid "Email address:" +msgstr "အီးမေးလ်လိပ်စာ:" + +msgid "Reset my password" +msgstr "" + +msgid "All dates" +msgstr "ရက်စွဲအားလုံး" + +#, python-format +msgid "Select %s" +msgstr "ရွေးချယ် %s" + +#, python-format +msgid "Select %s to change" +msgstr "ပြောင်းလဲရန် %s ရွေးချယ်" + +msgid "Date:" +msgstr "ရက်စွဲ:" + +msgid "Time:" +msgstr "အချိန်:" + +msgid "Lookup" +msgstr "ပြန်ကြည့်" + +msgid "Currently:" +msgstr "လက်ရှိ:" + +msgid "Change:" +msgstr "ပြောင်းလဲ:" diff --git a/external_sources/django/django/contrib/admin/locale/my/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/my/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..06b49fc --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/my/LC_MESSAGES/djangojs.po @@ -0,0 +1,206 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Yhal Htet Aung , 2013 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"PO-Revision-Date: 2017-09-19 16:41+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Burmese (http://www.transifex.com/django/django/language/" +"my/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: my\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, javascript-format +msgid "Available %s" +msgstr "%s ကိုရယူနိုင်" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"%s သည်ရယူနိုင်သောစာရင်းဖြစ်။ အောက်ဖော်ပြပါဘူးများတွင်အချို့ကိုရွေးချယ်နိုင်ပြီးဘူးနှစ်ခုကြားရှိ\"ရွေး" +"\"များကိုကလစ်နှိပ်။" + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "ယခုဘူးထဲတွင်စာသားရိုက်ထည့်ပြီး %s ရယူနိုင်သောစာရင်းကိုစိစစ်နိုင်။" + +msgid "Filter" +msgstr "စီစစ်မှု" + +msgid "Choose all" +msgstr "အားလံုးရွေး" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "%s အားလံုးကိုတစ်ကြိမ်တည်းဖြင့်ရွေးချယ်ရန်ကလစ်နှိပ်။" + +msgid "Choose" +msgstr "ရွေး" + +msgid "Remove" +msgstr "ဖယ်ရှား" + +#, javascript-format +msgid "Chosen %s" +msgstr "%s ရွေးပြီး" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"%s သည်ရယူနိုင်သောစာရင်းဖြစ်။ အောက်ဖော်ပြပါဘူးများတွင်အချို့ကိုဖယ်ရှားနိုင်ပြီးဘူးနှစ်ခုကြားရှိ\"ဖယ်ရှား" +"\"ကိုကလစ်နှိပ်။" + +msgid "Remove all" +msgstr "အားလံုးဖယ်ရှား" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "%s အားလံုးကိုတစ်ကြိမ်တည်းဖြင့်ဖယ်ရှားရန်ကလစ်နှိပ်။" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(cnt)s မှ %(sel)s ရွေးချယ်ပြီး" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" + +msgid "Now" +msgstr "ယခု" + +msgid "Choose a Time" +msgstr "" + +msgid "Choose a time" +msgstr "အချိန်ရွေးပါ" + +msgid "Midnight" +msgstr "သန်းခေါင်" + +msgid "6 a.m." +msgstr "မနက်၆နာရီ" + +msgid "Noon" +msgstr "မွန်းတည့်" + +msgid "6 p.m." +msgstr "" + +msgid "Cancel" +msgstr "ပယ်ဖျက်" + +msgid "Today" +msgstr "ယနေ့" + +msgid "Choose a Date" +msgstr "" + +msgid "Yesterday" +msgstr "မနေ့" + +msgid "Tomorrow" +msgstr "မနက်ဖြန်" + +msgid "January" +msgstr "" + +msgid "February" +msgstr "" + +msgid "March" +msgstr "" + +msgid "April" +msgstr "" + +msgid "May" +msgstr "" + +msgid "June" +msgstr "" + +msgid "July" +msgstr "" + +msgid "August" +msgstr "" + +msgid "September" +msgstr "" + +msgid "October" +msgstr "" + +msgid "November" +msgstr "" + +msgid "December" +msgstr "" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "" + +msgctxt "one letter Monday" +msgid "M" +msgstr "" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "" + +msgctxt "one letter Friday" +msgid "F" +msgstr "" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "" + +msgid "Show" +msgstr "ပြသ" + +msgid "Hide" +msgstr "ဖုံးကွယ်" diff --git a/external_sources/django/django/contrib/admin/locale/nb/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/nb/LC_MESSAGES/django.po new file mode 100644 index 0000000..3f6445e --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/nb/LC_MESSAGES/django.po @@ -0,0 +1,720 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel , 2011 +# jensadne , 2013-2014 +# Jon , 2015-2016 +# Jon , 2017-2020 +# Jon , 2013 +# Jon , 2011,2013 +# Sigurd Gartmann , 2012 +# Tommy Strand , 2013 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-07-14 19:53+0200\n" +"PO-Revision-Date: 2020-09-04 13:37+0000\n" +"Last-Translator: Jon \n" +"Language-Team: Norwegian Bokmål (http://www.transifex.com/django/django/" +"language/nb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Slettet %(count)d %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Kan ikke slette %(name)s" + +msgid "Are you sure?" +msgstr "Er du sikker?" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Slett valgte %(verbose_name_plural)s" + +msgid "Administration" +msgstr "Administrasjon" + +msgid "All" +msgstr "Alle" + +msgid "Yes" +msgstr "Ja" + +msgid "No" +msgstr "Nei" + +msgid "Unknown" +msgstr "Ukjent" + +msgid "Any date" +msgstr "Når som helst" + +msgid "Today" +msgstr "I dag" + +msgid "Past 7 days" +msgstr "Siste syv dager" + +msgid "This month" +msgstr "Denne måneden" + +msgid "This year" +msgstr "I år" + +msgid "No date" +msgstr "Ingen dato" + +msgid "Has date" +msgstr "Har dato" + +msgid "Empty" +msgstr "Tom" + +msgid "Not empty" +msgstr "Ikke tom" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Vennligst oppgi gyldig %(username)s og passord til en " +"administrasjonsbrukerkonto. Merk at det er forskjell på små og store " +"bokstaver." + +msgid "Action:" +msgstr "Handling:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Legg til ny %(verbose_name)s" + +msgid "Remove" +msgstr "Fjern" + +msgid "Addition" +msgstr "Tillegg" + +msgid "Change" +msgstr "Endre" + +msgid "Deletion" +msgstr "Sletting" + +msgid "action time" +msgstr "tid for handling" + +msgid "user" +msgstr "bruker" + +msgid "content type" +msgstr "innholdstype" + +msgid "object id" +msgstr "objekt-ID" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "objekt-repr" + +msgid "action flag" +msgstr "handlingsflagg" + +msgid "change message" +msgstr "endre melding" + +msgid "log entry" +msgstr "logginnlegg" + +msgid "log entries" +msgstr "logginnlegg" + +#, python-format +msgid "Added “%(object)s”." +msgstr "La til \"%(object)s\"." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Endret \"%(object)s\" — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Slettet \"%(object)s\"." + +msgid "LogEntry Object" +msgstr "LogEntry-objekt" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "La til {name} \"{object}\"." + +msgid "Added." +msgstr "Lagt til." + +msgid "and" +msgstr "og" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Endret {fields} for {name} \"{object}\"." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Endret {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Slettet {name} \"{object}\"." + +msgid "No fields changed." +msgstr "Ingen felt endret." + +msgid "None" +msgstr "Ingen" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Hold nede «Control», eller «Command» på en Mac, for å velge mer enn én." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "{name} \"{obj}\" ble lagt til." + +msgid "You may edit it again below." +msgstr "Du kan endre det igjen nedenfor." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "{name} \"{obj}\" ble lagt til. Du kan legge til en ny {name} nedenfor." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "{name} \"{obj}\" ble endret. Du kan redigere videre nedenfor." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "{name} \"{obj}\" ble lagt til. Du kan redigere videre nedenfor." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "{name} \"{obj}\" ble endret. Du kan legge til en ny {name} nedenfor." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "{name} \"{obj}\" ble endret." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Du må velge objekter for å utføre handlinger på dem. Ingen objekter har " +"blitt endret." + +msgid "No action selected." +msgstr "Ingen handling valgt." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s \"%(obj)s\" ble slettet." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "%(name)s med ID \"%(key)s\" eksisterer ikke. Kanskje det ble slettet?" + +#, python-format +msgid "Add %s" +msgstr "Legg til ny %s" + +#, python-format +msgid "Change %s" +msgstr "Endre %s" + +#, python-format +msgid "View %s" +msgstr "Se %s" + +msgid "Database error" +msgstr "Databasefeil" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s ble endret." +msgstr[1] "%(count)s %(name)s ble endret." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s valgt" +msgstr[1] "Alle %(total_count)s valgt" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 av %(cnt)s valgt" + +#, python-format +msgid "Change history: %s" +msgstr "Endringshistorikk: %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Sletting av %(class_name)s «%(instance)s» krever sletting av følgende " +"beskyttede relaterte objekter: %(related_objects)s" + +msgid "Django site admin" +msgstr "Django administrasjonsside" + +msgid "Django administration" +msgstr "Django-administrasjon" + +msgid "Site administration" +msgstr "Nettstedsadministrasjon" + +msgid "Log in" +msgstr "Logg inn" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s-administrasjon" + +msgid "Page not found" +msgstr "Fant ikke siden" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Beklager, men siden du spør etter finnes ikke." + +msgid "Home" +msgstr "Hjem" + +msgid "Server error" +msgstr "Tjenerfeil" + +msgid "Server error (500)" +msgstr "Tjenerfeil (500)" + +msgid "Server Error (500)" +msgstr "Tjenerfeil (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Det har oppstått en feil. Feilen er blitt rapportert til administrator via e-" +"post, og vil bli fikset snart. Takk for din tålmodighet." + +msgid "Run the selected action" +msgstr "Utfør den valgte handlingen" + +msgid "Go" +msgstr "Gå" + +msgid "Click here to select the objects across all pages" +msgstr "Trykk her for å velge samtlige objekter fra alle sider" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Velg alle %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Nullstill valg" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Modeller i %(name)s-applikasjonen" + +msgid "Add" +msgstr "Legg til" + +msgid "View" +msgstr "Se" + +msgid "You don’t have permission to view or edit anything." +msgstr "Du har ikke tillatelse til å vise eller endre noe." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Skriv først inn brukernavn og passord. Deretter vil du få mulighet til å " +"endre flere brukerinnstillinger." + +msgid "Enter a username and password." +msgstr "Skriv inn brukernavn og passord." + +msgid "Change password" +msgstr "Endre passord" + +msgid "Please correct the error below." +msgstr "Vennligst korriger feilen under." + +msgid "Please correct the errors below." +msgstr "Vennligst korriger feilene under." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Skriv inn et nytt passord for brukeren %(username)s." + +msgid "Welcome," +msgstr "Velkommen," + +msgid "View site" +msgstr "Vis nettsted" + +msgid "Documentation" +msgstr "Dokumentasjon" + +msgid "Log out" +msgstr "Logg ut" + +#, python-format +msgid "Add %(name)s" +msgstr "Legg til ny %(name)s" + +msgid "History" +msgstr "Historikk" + +msgid "View on site" +msgstr "Vis på nettsted" + +msgid "Filter" +msgstr "Filtrering" + +msgid "Clear all filters" +msgstr "Fjern alle filtre" + +msgid "Remove from sorting" +msgstr "Fjern fra sortering" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Sorteringsprioritet: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Slå av og på sortering" + +msgid "Delete" +msgstr "Slett" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Om du sletter %(object_name)s «%(escaped_object)s», vil også relaterte " +"objekter slettes, men du har ikke tillatelse til å slette følgende " +"objekttyper:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Sletting av %(object_name)s «%(escaped_object)s» krever sletting av følgende " +"beskyttede relaterte objekter:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Er du sikker på at du vil slette %(object_name)s «%(escaped_object)s»? Alle " +"de følgende relaterte objektene vil bli slettet:" + +msgid "Objects" +msgstr "Objekter" + +msgid "Yes, I’m sure" +msgstr "Ja, jeg er sikker" + +msgid "No, take me back" +msgstr "Nei, ta meg tilbake" + +msgid "Delete multiple objects" +msgstr "Slett flere objekter" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Sletting av det valgte %(objects_name)s ville resultere i sletting av " +"relaterte objekter, men kontoen din har ikke tillatelse til å slette " +"følgende objekttyper:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Sletting av det valgte %(objects_name)s ville kreve sletting av følgende " +"beskyttede relaterte objekter:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Er du sikker på vil slette det valgte %(objects_name)s? De følgende " +"objektene og deres relaterte objekter vil bli slettet:" + +msgid "Delete?" +msgstr "Slette?" + +#, python-format +msgid " By %(filter_title)s " +msgstr "Etter %(filter_title)s " + +msgid "Summary" +msgstr "Oppsummering" + +msgid "Recent actions" +msgstr "Siste handlinger" + +msgid "My actions" +msgstr "Mine handlinger" + +msgid "None available" +msgstr "Ingen tilgjengelige" + +msgid "Unknown content" +msgstr "Ukjent innhold" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Noe er galt med databaseinstallasjonen din. Sørg for at databasetabellene er " +"opprettet og at brukeren har de nødvendige rettighetene." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Du er logget inn som %(username)s, men er ikke autorisert til å få tilgang " +"til denne siden. Ønsker du å logge inn med en annen konto?" + +msgid "Forgotten your password or username?" +msgstr "Glemt brukernavnet eller passordet ditt?" + +msgid "Toggle navigation" +msgstr "Veksle navigasjon" + +msgid "Date/time" +msgstr "Dato/tid" + +msgid "User" +msgstr "Bruker" + +msgid "Action" +msgstr "Handling" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Dette objektet har ingen endringshistorikk. Det ble sannsynligvis ikke lagt " +"til på denne administrasjonssiden." + +msgid "Show all" +msgstr "Vis alle" + +msgid "Save" +msgstr "Lagre" + +msgid "Popup closing…" +msgstr "Lukker popup..." + +msgid "Search" +msgstr "Søk" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s resultat" +msgstr[1] "%(counter)s resultater" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s totalt" + +msgid "Save as new" +msgstr "Lagre som ny" + +msgid "Save and add another" +msgstr "Lagre og legg til ny" + +msgid "Save and continue editing" +msgstr "Lagre og fortsett å redigere" + +msgid "Save and view" +msgstr "Lagre og se" + +msgid "Close" +msgstr "Lukk" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Endre valgt %(model)s" + +#, python-format +msgid "Add another %(model)s" +msgstr "Legg til ny %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Slett valgte %(model)s" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Takk for i dag." + +msgid "Log in again" +msgstr "Logg inn igjen" + +msgid "Password change" +msgstr "Endre passord" + +msgid "Your password was changed." +msgstr "Ditt passord ble endret." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Av sikkerhetsgrunner må du oppgi ditt gamle passord. Deretter oppgir du det " +"nye passordet ditt to ganger, slik at vi kan kontrollere at det er korrekt." + +msgid "Change my password" +msgstr "Endre passord" + +msgid "Password reset" +msgstr "Nullstill passord" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Passordet ditt er satt. Du kan nå logge inn." + +msgid "Password reset confirmation" +msgstr "Bekreftelse på nullstilt passord" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Oppgi det nye passordet to ganger, for å sikre at det er skrevet korrekt." + +msgid "New password:" +msgstr "Nytt passord:" + +msgid "Confirm password:" +msgstr "Gjenta nytt passord:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Nullstillingslenken er ugyldig, kanskje fordi den allerede har vært brukt. " +"Vennligst nullstill passordet ditt på nytt." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Vi har sendt deg en e-post med instruksjoner for nullstilling av passord, " +"hvis en konto finnes på den e-postadressen du oppga. Du bør motta den om " +"kort tid." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Hvis du ikke mottar en e-post, sjekk igjen at du har oppgitt den adressen du " +"er registrert med og sjekk spam-mappen din." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Du mottar denne e-posten fordi du har bedt om nullstilling av passordet ditt " +"på %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Vennligst gå til følgende side og velg et nytt passord:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Brukernavnet ditt, i tilfelle du har glemt det:" + +msgid "Thanks for using our site!" +msgstr "Takk for at du bruker siden vår!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Hilsen %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Glemt passordet ditt? Oppgi e-postadressen din under, så sender vi deg en e-" +"post med instruksjoner for nullstilling av passord." + +msgid "Email address:" +msgstr "E-postadresse:" + +msgid "Reset my password" +msgstr "Nullstill mitt passord" + +msgid "All dates" +msgstr "Alle datoer" + +#, python-format +msgid "Select %s" +msgstr "Velg %s" + +#, python-format +msgid "Select %s to change" +msgstr "Velg %s du ønsker å endre" + +#, python-format +msgid "Select %s to view" +msgstr "Velg %s å se" + +msgid "Date:" +msgstr "Dato:" + +msgid "Time:" +msgstr "Tid:" + +msgid "Lookup" +msgstr "Oppslag" + +msgid "Currently:" +msgstr "Nåværende:" + +msgid "Change:" +msgstr "Endre:" diff --git a/external_sources/django/django/contrib/admin/locale/nb/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/nb/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..1e6ddb6 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/nb/LC_MESSAGES/djangojs.po @@ -0,0 +1,269 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Eirik Krogstad , 2014 +# Jannis Leidel , 2011 +# Jon, 2015-2016 +# Jon, 2014 +# Jon, 2020-2021 +# Jon, 2011-2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-15 09:00+0100\n" +"PO-Revision-Date: 2021-03-18 14:20+0000\n" +"Last-Translator: Jon\n" +"Language-Team: Norwegian Bokmål (http://www.transifex.com/django/django/" +"language/nb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "Tilgjengelige %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Dette er listen over tilgjengelige %s. Du kan velge noen ved å markere de i " +"boksen under og så klikke på \"Velg\"-pilen mellom de to boksene." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Skriv i dette feltet for å filtrere ned listen av tilgjengelige %s." + +msgid "Filter" +msgstr "Filter" + +msgid "Choose all" +msgstr "Velg alle" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Klikk for å velge alle %s samtidig" + +msgid "Choose" +msgstr "Velg" + +msgid "Remove" +msgstr "Slett" + +#, javascript-format +msgid "Chosen %s" +msgstr "Valgte %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Dette er listen over valgte %s. Du kan fjerne noen ved å markere de i boksen " +"under og så klikke på \"Fjern\"-pilen mellom de to boksene." + +msgid "Remove all" +msgstr "Fjern alle" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Klikk for å fjerne alle valgte %s samtidig" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s av %(cnt)s valgt" +msgstr[1] "%(sel)s av %(cnt)s valgt" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Du har ulagrede endringer i individuelle felter. Hvis du utfører en " +"handling, vil dine ulagrede endringer gå tapt." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Du har valgt en handling, men du har ikke lagret endringene dine i " +"individuelle felter enda. Vennligst trykk OK for å lagre. Du må utføre " +"handlingen på nytt." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Du har valgt en handling, og har ikke gjort noen endringer i individuelle " +"felter. Du ser mest sannsynlig etter Gå-knappen, ikke Lagre-knappen." + +msgid "Now" +msgstr "Nå" + +msgid "Midnight" +msgstr "Midnatt" + +msgid "6 a.m." +msgstr "06:00" + +msgid "Noon" +msgstr "12:00" + +msgid "6 p.m." +msgstr "18:00" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Merk: Du er %s time foran server-tid." +msgstr[1] "Merk: Du er %s timer foran server-tid." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Merk: Du er %s time bak server-tid." +msgstr[1] "Merk: Du er %s timer bak server-tid." + +msgid "Choose a Time" +msgstr "Velg et klokkeslett" + +msgid "Choose a time" +msgstr "Velg et klokkeslett" + +msgid "Cancel" +msgstr "Avbryt" + +msgid "Today" +msgstr "I dag" + +msgid "Choose a Date" +msgstr "Velg en dato" + +msgid "Yesterday" +msgstr "I går" + +msgid "Tomorrow" +msgstr "I morgen" + +msgid "January" +msgstr "Januar" + +msgid "February" +msgstr "Februar" + +msgid "March" +msgstr "Mars" + +msgid "April" +msgstr "April" + +msgid "May" +msgstr "Mai" + +msgid "June" +msgstr "Juni" + +msgid "July" +msgstr "Juli" + +msgid "August" +msgstr "August" + +msgid "September" +msgstr "September" + +msgid "October" +msgstr "Oktober" + +msgid "November" +msgstr "November" + +msgid "December" +msgstr "Desember" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Jan" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Feb" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Mar" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Apr" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "Mai" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Jun" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Jul" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Aug" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Sep" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Okt" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Nov" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Des" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "S" + +msgctxt "one letter Monday" +msgid "M" +msgstr "M" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "T" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "O" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "T" + +msgctxt "one letter Friday" +msgid "F" +msgstr "F" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "L" + +msgid "Show" +msgstr "Vis" + +msgid "Hide" +msgstr "Skjul" diff --git a/external_sources/django/django/contrib/admin/locale/ne/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/ne/LC_MESSAGES/django.po new file mode 100644 index 0000000..ab9e55a --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ne/LC_MESSAGES/django.po @@ -0,0 +1,688 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Sagar Chalise , 2011 +# Santosh Purbey , 2020 +# Shrawan Poudel , 2021 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-09-21 10:22+0200\n" +"PO-Revision-Date: 2021-11-22 06:50+0000\n" +"Last-Translator: Shrawan Poudel \n" +"Language-Team: Nepali (http://www.transifex.com/django/django/language/ne/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ne\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "%(verbose_name_plural)s छानिएको मेट्नुहोस" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "सफलतापूर्वक मेटियो %(count)d %(items)s ।" + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "%(name)s मेट्न सकिएन " + +msgid "Are you sure?" +msgstr "के तपाई पक्का हुनुहुन्छ ?" + +msgid "Administration" +msgstr "प्रशासन " + +msgid "All" +msgstr "सबै" + +msgid "Yes" +msgstr "हो" + +msgid "No" +msgstr "होइन" + +msgid "Unknown" +msgstr "अज्ञात" + +msgid "Any date" +msgstr "कुनै मिति" + +msgid "Today" +msgstr "आज" + +msgid "Past 7 days" +msgstr "पूर्व ७ दिन" + +msgid "This month" +msgstr "यो महिना" + +msgid "This year" +msgstr "यो साल" + +msgid "No date" +msgstr "मिति छैन" + +msgid "Has date" +msgstr "मिति छ" + +msgid "Empty" +msgstr "खाली" + +msgid "Not empty" +msgstr "खाली छैन" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"कृपया स्टाफ खाताको लागि सही %(username)s र पासवर्ड राख्नु होस । दुवै खाली ठाउँ केस " +"सेन्सिटिव हुन सक्छन् ।" + +msgid "Action:" +msgstr "कार्य:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "अर्को %(verbose_name)s थप्नुहोस ।" + +msgid "Remove" +msgstr "हटाउनुहोस" + +msgid "Addition" +msgstr "थप" + +msgid "Change" +msgstr "फेर्नुहोस" + +msgid "Deletion" +msgstr "हटाइयो" + +msgid "action time" +msgstr "कार्य समय" + +msgid "user" +msgstr "प्रयोग कर्ता" + +msgid "content type" +msgstr "" + +msgid "object id" +msgstr "वस्तु परिचय" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "" + +msgid "action flag" +msgstr "एक्सन फ्ल्याग" + +msgid "change message" +msgstr "सन्देश परिवर्तन गर्नुहोस" + +msgid "log entry" +msgstr "लग" + +msgid "log entries" +msgstr "लगहरु" + +#, python-format +msgid "Added “%(object)s”." +msgstr "थपियो “%(object)s”." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "बदलियो “%(object)s” — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "हटाईयो “%(object)s.”" + +msgid "LogEntry Object" +msgstr "लग ईन्ट्री वस्तु" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "थपियो  {name} “{object}”." + +msgid "Added." +msgstr "थपिएको छ ।" + +msgid "and" +msgstr "र" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "" + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "" + +msgid "No fields changed." +msgstr "कुनै फाँट फेरिएन ।" + +msgid "None" +msgstr "शुन्य" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "" + +msgid "You may edit it again below." +msgstr "तपाईं तल फेरि सम्पादन गर्न सक्नुहुन्छ।" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "कार्य गर्नका निम्ति वस्तु छान्नु पर्दछ । कुनैपनि छस्तु छानिएको छैन । " + +msgid "No action selected." +msgstr "कार्य छानिएको छैन ।" + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "" + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "%s थप्नुहोस" + +#, python-format +msgid "Change %s" +msgstr "%s परिवर्तित ।" + +#, python-format +msgid "View %s" +msgstr "" + +msgid "Database error" +msgstr "डाटाबेस त्रुटि" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s सफलतापूर्वक परिवर्तन भयो ।" +msgstr[1] "%(count)s %(name)sहरु सफलतापूर्वक परिवर्तन भयो ।" + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s चयन भयो" +msgstr[1] "सबै %(total_count)s चयन भयो" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "%(cnt)s को ० चयन गरियो" + +#, python-format +msgid "Change history: %s" +msgstr "इतिहास फेर्नुहोस : %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" + +msgid "Django site admin" +msgstr "ज्याङ्गो साइट प्रशासन" + +msgid "Django administration" +msgstr "ज्याङ्गो प्रशासन" + +msgid "Site administration" +msgstr "साइट प्रशासन" + +msgid "Log in" +msgstr "लगिन" + +#, python-format +msgid "%(app)s administration" +msgstr "" + +msgid "Page not found" +msgstr "पृष्ठ भेटिएन" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "हामी क्षमाप्रार्थी छौं, तर अनुरोध गरिएको पृष्ठ फेला पार्न सकिएन।" + +msgid "Home" +msgstr "गृह" + +msgid "Server error" +msgstr "सर्भर त्रुटि" + +msgid "Server error (500)" +msgstr "सर्भर त्रुटि (५००)" + +msgid "Server Error (500)" +msgstr "सर्भर त्रुटि (५००)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"त्यहाँ त्रुटि रहेको छ। यो ईमेल मार्फत साइट प्रशासकहरूलाई सूचित गरिएको छ र तुरुन्तै ठिक " +"गर्नुपर्नेछ। तपाईको धैर्यताको लागि धन्यबाद।" + +msgid "Run the selected action" +msgstr "छानिएको कार्य गर्नुहोस ।" + +msgid "Go" +msgstr "बढ्नुहोस" + +msgid "Click here to select the objects across all pages" +msgstr "सबै पृष्ठभरमा वस्तु छान्न यहाँ थिच्नुहोस ।" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "%(total_count)s %(module_name)s सबै छान्नुहोस " + +msgid "Clear selection" +msgstr "चुनेको कुरा हटाउनुहोस ।" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "%(name)s एप्लिकेसनमा भएको मोडेलहरु" + +msgid "Add" +msgstr "थप्नुहोस " + +msgid "View" +msgstr "" + +msgid "You don’t have permission to view or edit anything." +msgstr "तपाईंसँग केहि पनि हेर्न वा सम्पादन गर्न अनुमति छैन।" + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"पहिले, प्रयोगकर्ता नाम र पासवर्ड प्रविष्ट गर्नुहोस्। त्यसो भए, तपाई बढि उपयोगकर्ता " +"विकल्पहरू सम्पादन गर्न सक्षम हुनुहुनेछ।" + +msgid "Enter a username and password." +msgstr "प्रयोगकर्ता नाम र पासवर्ड राख्नुहोस।" + +msgid "Change password" +msgstr "पासवर्ड फेर्नुहोस " + +msgid "Please correct the error below." +msgstr "कृपया तल त्रुटि सुधार गर्नुहोस्।" + +msgid "Please correct the errors below." +msgstr "कृपया तलका त्रुटी सुधार्नु होस ।" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "प्रयोगकर्ता %(username)s को लागि नयाँ पासवर्ड राख्नुहोस ।" + +msgid "Welcome," +msgstr "स्वागतम्" + +msgid "View site" +msgstr "साइट हेर्नु होस ।" + +msgid "Documentation" +msgstr "विस्तृत विवरण" + +msgid "Log out" +msgstr "लग आउट" + +#, python-format +msgid "Add %(name)s" +msgstr "%(name)s थप्नुहोस" + +msgid "History" +msgstr "इतिहास" + +msgid "View on site" +msgstr "साइटमा हेर्नुहोस" + +msgid "Filter" +msgstr "छान्नुहोस" + +msgid "Clear all filters" +msgstr "" + +msgid "Remove from sorting" +msgstr "" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "" + +msgid "Toggle sorting" +msgstr "" + +msgid "Delete" +msgstr "मेट्नुहोस" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" + +msgid "Objects" +msgstr "" + +msgid "Yes, I’m sure" +msgstr "" + +msgid "No, take me back" +msgstr "" + +msgid "Delete multiple objects" +msgstr "वहु वस्तुहरु मेट्नुहोस ।" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "%(objects_name)s " + +msgid "Delete?" +msgstr "मेट्नुहुन्छ ?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " %(filter_title)s द्वारा" + +msgid "Summary" +msgstr "" + +msgid "Recent actions" +msgstr "भर्खरका कार्यहरू" + +msgid "My actions" +msgstr "मेरो कार्यहरू" + +msgid "None available" +msgstr "कुनै पनि उपलब्ध छैन ।" + +msgid "Unknown content" +msgstr "अज्ञात सामग्री" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"तपाईंको डाटाबेस स्थापनामा केहि गलत छ। निश्चित गर्नुहोस् कि उपयुक्त डाटाबेस टेबलहरू सिर्जना " +"गरिएको छ, र यो सुनिश्चित गर्नुहोस् कि उपयुक्त डाटाबेस उपयुक्त प्रयोगकर्ताद्वारा पढ्न योग्य " +"छ।" + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"तपाईं यस %(username)s रूपमा प्रमाणिकरण हुनुहुन्छ, तर यस पृष्ठ पहुँच गर्न अधिकृत हुनुहुन्न। के " +"तपाइँ बिभिन्न खातामा लगईन गर्न चाहानुहुन्छ?" + +msgid "Forgotten your password or username?" +msgstr "पासवर्ड अथवा प्रयोगकर्ता नाम भुल्नुभयो ।" + +msgid "Toggle navigation" +msgstr "" + +msgid "Start typing to filter…" +msgstr "" + +msgid "Filter navigation items" +msgstr "" + +msgid "Date/time" +msgstr "मिति/समय" + +msgid "User" +msgstr "प्रयोगकर्ता" + +msgid "Action" +msgstr "कार्य:" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" + +msgid "Show all" +msgstr "सबै देखाउनुहोस" + +msgid "Save" +msgstr "बचत गर्नुहोस" + +msgid "Popup closing…" +msgstr "" + +msgid "Search" +msgstr "खोज्नुहोस" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s नतिजा" +msgstr[1] "%(counter)s नतिजाहरु" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "जम्मा %(full_result_count)s" + +msgid "Save as new" +msgstr "नयाँ रुपमा बचत गर्नुहोस" + +msgid "Save and add another" +msgstr "बचत गरेर अर्को थप्नुहोस" + +msgid "Save and continue editing" +msgstr "बचत गरेर संशोधन जारी राख्नुहोस" + +msgid "Save and view" +msgstr "" + +msgid "Close" +msgstr "" + +#, python-format +msgid "Change selected %(model)s" +msgstr "" + +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "" + +msgid "Log in again" +msgstr "पुन: लगिन गर्नुहोस" + +msgid "Password change" +msgstr "पासवर्ड फेरबदल" + +msgid "Your password was changed." +msgstr "तपाइको पासवर्ड फेरिएको छ ।" + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" + +msgid "Change my password" +msgstr "मेरो पासवर्ड फेर्नुहोस " + +msgid "Password reset" +msgstr "पासवर्डपून: राख्नुहोस । " + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "तपाइको पासवर्ड राखियो । कृपया लगिन गर्नुहोस ।" + +msgid "Password reset confirmation" +msgstr "पासवर्ड पुनर्स्थापना पुष्टि" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "ठीक तरिकाले राखिएको पुष्टि गर्न कृपया नयाँ पासवर्ड दोहोर्याएर राख्नुहोस ।" + +msgid "New password:" +msgstr "नयाँ पासवर्ड :" + +msgid "Confirm password:" +msgstr "पासवर्ड पुष्टि:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "पासवर्ड पुनर्स्थापना प्रयोग भइसकेको छ । कृपया नयाँ पासवर्ड रिसेट माग्नुहोस ।" + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +" %(site_name)s को लागि तपाइले पासवर्ड पुन: राख्न आग्रह गरेको हुनाले ई-मेल पाउनुहुदैंछ । " + +msgid "Please go to the following page and choose a new password:" +msgstr "कृपया उक्त पृष्ठमा जानुहोस र नयाँ पासवर्ड राख्नुहोस :" + +msgid "Your username, in case you’ve forgotten:" +msgstr "तपाईंको प्रयोगकर्ता नाम, यदि तपाईंले बिर्सनुभयो भने:" + +msgid "Thanks for using our site!" +msgstr "हाम्रो साइट प्रयोग गरेकोमा धन्यवाद" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s टोली" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"तपाईँको पासवर्ड बिर्सनुभयो? तल तपाईंको ईमेल ठेगाना राख्नुहोस् र हामी नयाँ सेट गर्न ईमेल " +"निर्देशनहरू दिनेछौं।" + +msgid "Email address:" +msgstr "ई-मेल ठेगाना :" + +msgid "Reset my password" +msgstr "मेरो पासवर्ड पुन: राख्नुहोस ।" + +msgid "All dates" +msgstr "सबै मिति" + +#, python-format +msgid "Select %s" +msgstr "%s छान्नुहोस" + +#, python-format +msgid "Select %s to change" +msgstr "%s परिवर्तन गर्न छान्नुहोस ।" + +#, python-format +msgid "Select %s to view" +msgstr "" + +msgid "Date:" +msgstr "मिति:" + +msgid "Time:" +msgstr "समय:" + +msgid "Lookup" +msgstr "खोज तलास" + +msgid "Currently:" +msgstr "अहिले :" + +msgid "Change:" +msgstr "फेर्नु होस :" diff --git a/external_sources/django/django/contrib/admin/locale/ne/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/ne/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..d55bd9f --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ne/LC_MESSAGES/djangojs.po @@ -0,0 +1,213 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Paras Nath Chaudhary , 2012 +# Sagar Chalise , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"PO-Revision-Date: 2017-10-07 02:46+0000\n" +"Last-Translator: Sagar Chalise \n" +"Language-Team: Nepali (http://www.transifex.com/django/django/language/ne/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ne\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "उपलब्ध %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"यो उपलब्ध %s को सुची हो। तपाईंले यी मध्य केही बक्सबाट चयन गरी बक्स बीच्को \"छान्नुहोस " +"\" तीरमा क्लिक गरी छान्नसक्नुहुन्छ । " + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr " उपलब्ध %s को सुचिबाट छान्न यो बक्समा टाइप गर्नुहोस " + +msgid "Filter" +msgstr "छान्नुहोस" + +msgid "Choose all" +msgstr "सबै छान्नुहोस " + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "एकै क्लिकमा सबै %s छान्नुहोस " + +msgid "Choose" +msgstr "छान्नुहोस " + +msgid "Remove" +msgstr "हटाउनुहोस" + +#, javascript-format +msgid "Chosen %s" +msgstr "छानिएको %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"यो छानिएका %s को सुची हो । तपाईंले यी मध्य केही बक्सबाट चयन गरी बक्स बीच्को " +"\"हटाउनुहोस\" तीरमा क्लिक गरी हटाउन सक्नुहुन्छ । " + +msgid "Remove all" +msgstr "सबै हटाउनुहोस " + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "एकै क्लिकमा सबै छानिएका %s हटाउनुहोस ।" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(cnt)s को %(sel)s चयन गरियो" +msgstr[1] "%(cnt)s को %(sel)s चयन गरियो" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "तपाइको फेरबदल बचत भएको छैन । कार्य भएमा बचत नभएका फेरबदल हराउने छन् ।" + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"तपाइले कार्य छाने पनि फेरबदलहरु बचत गर्नु भएको छैन । कृपया बचत गर्न हुन्छ थिच्नुहोस । कार्य " +"पुन: सञ्चालन गर्नुपर्नेछ ।" + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"तपाइले कार्य छाने पनि फाँटहरुमा फेरबदलहरु गर्नु भएको छैन । बचत गर्नु भन्दा पनि अघि बढ्नुहोस " +"।" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "सूचना: तपाईँ सर्भर समय भन्दा %s घण्टा अगाडि हुनुहुन्छ ।" +msgstr[1] "सूचना: तपाईँ सर्भर समय भन्दा %s घण्टा अगाडि हुनुहुन्छ ।" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "सूचना: तपाईँ सर्भर समय भन्दा %s घण्टा पछाडि हुनुहुन्छ ।" +msgstr[1] "सूचना: तपाईँ सर्भर समय भन्दा %s घण्टा पछाडि हुनुहुन्छ ।" + +msgid "Now" +msgstr "यतिखेर" + +msgid "Choose a Time" +msgstr "समय छान्नु होस ।" + +msgid "Choose a time" +msgstr "समय चयन गर्नुहोस" + +msgid "Midnight" +msgstr "मध्यरात" + +msgid "6 a.m." +msgstr "बिहान ६ बजे" + +msgid "Noon" +msgstr "मध्यान्ह" + +msgid "6 p.m." +msgstr "बेलुकी ६ बजे" + +msgid "Cancel" +msgstr "रद्द गर्नुहोस " + +msgid "Today" +msgstr "आज" + +msgid "Choose a Date" +msgstr "मिति छान्नु होस ।" + +msgid "Yesterday" +msgstr "हिजो" + +msgid "Tomorrow" +msgstr "भोलि" + +msgid "January" +msgstr "" + +msgid "February" +msgstr "" + +msgid "March" +msgstr "" + +msgid "April" +msgstr "" + +msgid "May" +msgstr "" + +msgid "June" +msgstr "" + +msgid "July" +msgstr "" + +msgid "August" +msgstr "" + +msgid "September" +msgstr "" + +msgid "October" +msgstr "" + +msgid "November" +msgstr "" + +msgid "December" +msgstr "" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "" + +msgctxt "one letter Monday" +msgid "M" +msgstr "" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "" + +msgctxt "one letter Friday" +msgid "F" +msgstr "" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "" + +msgid "Show" +msgstr "देखाउनुहोस " + +msgid "Hide" +msgstr "लुकाउनुहोस " diff --git a/external_sources/django/django/contrib/admin/locale/nl/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/nl/LC_MESSAGES/django.po new file mode 100644 index 0000000..ee971dd --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/nl/LC_MESSAGES/django.po @@ -0,0 +1,799 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Bas Peschier , 2013 +# Claude Paroz , 2017 +# Evelijn Saaltink , 2016 +# Harro van der Klauw , 2012 +# Ilja Maas , 2015 +# Jannis Leidel , 2011 +# 6a27f10aef159701c7a5ff07f0fb0a78_05545ed , 2011-2012 +# dokterbob , 2015 +# Meteor0id, 2019-2020 +# 8de006b1b0894aab6aef71979dcd8bd6_5c6b207 , 2014-2015 +# Tino de Bruijn , 2011 +# Tonnes , 2017,2019-2020,2022-2024 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 07:05+0000\n" +"Last-Translator: Tonnes , 2017,2019-2020,2022-2024\n" +"Language-Team: Dutch (http://app.transifex.com/django/django/language/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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Geselecteerde %(verbose_name_plural)s verwijderen" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d %(items)s met succes verwijderd." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "%(name)s kan niet worden verwijderd " + +msgid "Are you sure?" +msgstr "Weet u het zeker?" + +msgid "Administration" +msgstr "Beheer" + +msgid "All" +msgstr "Alle" + +msgid "Yes" +msgstr "Ja" + +msgid "No" +msgstr "Nee" + +msgid "Unknown" +msgstr "Onbekend" + +msgid "Any date" +msgstr "Elke datum" + +msgid "Today" +msgstr "Vandaag" + +msgid "Past 7 days" +msgstr "Afgelopen zeven dagen" + +msgid "This month" +msgstr "Deze maand" + +msgid "This year" +msgstr "Dit jaar" + +msgid "No date" +msgstr "Geen datum" + +msgid "Has date" +msgstr "Heeft datum" + +msgid "Empty" +msgstr "Leeg" + +msgid "Not empty" +msgstr "Niet leeg" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Voer de correcte %(username)s en wachtwoord voor een stafaccount in. Let op " +"dat beide velden hoofdlettergevoelig zijn." + +msgid "Action:" +msgstr "Actie:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Nog een %(verbose_name)s toevoegen" + +msgid "Remove" +msgstr "Verwijderen" + +msgid "Addition" +msgstr "Toevoeging" + +msgid "Change" +msgstr "Wijzigen" + +msgid "Deletion" +msgstr "Verwijdering" + +msgid "action time" +msgstr "actietijd" + +msgid "user" +msgstr "gebruiker" + +msgid "content type" +msgstr "inhoudstype" + +msgid "object id" +msgstr "object-id" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "object-repr" + +msgid "action flag" +msgstr "actievlag" + +msgid "change message" +msgstr "wijzigingsbericht" + +msgid "log entry" +msgstr "logboekvermelding" + +msgid "log entries" +msgstr "logboekvermeldingen" + +#, python-format +msgid "Added “%(object)s”." +msgstr "‘%(object)s’ toegevoegd." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "‘%(object)s’ gewijzigd - %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "‘%(object)s’ verwijderd." + +msgid "LogEntry Object" +msgstr "LogEntry-object" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "{name} ‘{object}’ toegevoegd." + +msgid "Added." +msgstr "Toegevoegd." + +msgid "and" +msgstr "en" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "{fields} voor {name} ‘{object}’ gewijzigd." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "{fields} gewijzigd." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "{name} ‘{object}’ verwijderd." + +msgid "No fields changed." +msgstr "Geen velden gewijzigd." + +msgid "None" +msgstr "Geen" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Houd ‘Control’, of ‘Command’ op een Mac, ingedrukt om meerdere items te " +"selecteren." + +msgid "Select this object for an action - {}" +msgstr "Selecteer dit object voor een actie - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "De {name} ‘{obj}’ is met succes toegevoegd." + +msgid "You may edit it again below." +msgstr "U kunt deze hieronder weer bewerken." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"De {name} ‘{obj}’ is met succes toegevoegd. U kunt hieronder nog een {name} " +"toevoegen." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"De {name} ‘{obj}’ is met succes gewijzigd. U kunt deze hieronder nogmaals " +"bewerken." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"De {name} ‘{obj}’ is met succes gewijzigd. U kunt hieronder nog een {name} " +"toevoegen." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "De {name} ‘{obj}’ is met succes gewijzigd." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Er moeten items worden geselecteerd om acties op uit te voeren. Er zijn geen " +"items gewijzigd." + +msgid "No action selected." +msgstr "Geen actie geselecteerd." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "De %(name)s ‘%(obj)s’ is met succes verwijderd." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "%(name)s met ID ‘%(key)s’ bestaat niet. Misschien is deze verwijderd?" + +#, python-format +msgid "Add %s" +msgstr "%s toevoegen" + +#, python-format +msgid "Change %s" +msgstr "%s wijzigen" + +#, python-format +msgid "View %s" +msgstr "%s weergeven" + +msgid "Database error" +msgstr "Databasefout" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s is met succes gewijzigd." +msgstr[1] "%(count)s %(name)s zijn met succes gewijzigd." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s geselecteerd" +msgstr[1] "Alle %(total_count)s geselecteerd" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 van de %(cnt)s geselecteerd" + +#, python-format +msgid "Change history: %s" +msgstr "Wijzigingsgeschiedenis: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Het verwijderen van %(class_name)s %(instance)s vereist het verwijderen van " +"de volgende beschermde gerelateerde objecten: %(related_objects)s" + +msgid "Django site admin" +msgstr "Django-websitebeheer" + +msgid "Django administration" +msgstr "Django-beheer" + +msgid "Site administration" +msgstr "Websitebeheer" + +msgid "Log in" +msgstr "Aanmelden" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s-beheer" + +msgid "Page not found" +msgstr "Pagina niet gevonden" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Het spijt ons, maar de opgevraagde pagina kon niet worden gevonden." + +msgid "Home" +msgstr "Voorpagina" + +msgid "Server error" +msgstr "Serverfout" + +msgid "Server error (500)" +msgstr "Serverfout (500)" + +msgid "Server Error (500)" +msgstr "Serverfout (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Er heeft zich een fout voorgedaan. Dit is via e-mail bij de " +"websitebeheerders gemeld en zou snel verholpen moeten zijn. Bedankt voor uw " +"geduld." + +msgid "Run the selected action" +msgstr "De geselecteerde actie uitvoeren" + +msgid "Go" +msgstr "Uitvoeren" + +msgid "Click here to select the objects across all pages" +msgstr "Klik hier om alle objecten op alle pagina's te selecteren" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Alle %(total_count)s %(module_name)s selecteren" + +msgid "Clear selection" +msgstr "Selectie wissen" + +msgid "Breadcrumbs" +msgstr "Broodkruimels" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Modellen in de %(name)s-toepassing" + +msgid "Add" +msgstr "Toevoegen" + +msgid "View" +msgstr "Weergeven" + +msgid "You don’t have permission to view or edit anything." +msgstr "U hebt geen rechten om iets te bekijken of te bewerken." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Vul allereerst een gebruikersnaam en wachtwoord in. Daarna kunt u meer " +"gebruikersopties bewerken." + +msgid "Enter a username and password." +msgstr "Voer een gebruikersnaam en wachtwoord in." + +msgid "Change password" +msgstr "Wachtwoord wijzigen" + +msgid "Set password" +msgstr "Wachtwoord instellen" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Corrigeer de onderstaande fout." +msgstr[1] "Corrigeer de onderstaande fouten." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"Voer een nieuw wachtwoord in voor de gebruiker %(username)s." + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "" +"Deze actie schakelt op wachtwoord gebaseerde authenticatie in voor deze gebruiker." + +msgid "Disable password-based authentication" +msgstr "Op wachtwoord gebaseerde authenticatie uitschakelen" + +msgid "Enable password-based authentication" +msgstr "Op wachtwoord gebaseerde authenticatie inschakelen" + +msgid "Skip to main content" +msgstr "Naar hoofdinhoud" + +msgid "Welcome," +msgstr "Welkom," + +msgid "View site" +msgstr "Website bekijken" + +msgid "Documentation" +msgstr "Documentatie" + +msgid "Log out" +msgstr "Afmelden" + +#, python-format +msgid "Add %(name)s" +msgstr "%(name)s toevoegen" + +msgid "History" +msgstr "Geschiedenis" + +msgid "View on site" +msgstr "Weergeven op website" + +msgid "Filter" +msgstr "Filter" + +msgid "Hide counts" +msgstr "Aantallen verbergen" + +msgid "Show counts" +msgstr "Aantallen tonen" + +msgid "Clear all filters" +msgstr "Alle filters wissen" + +msgid "Remove from sorting" +msgstr "Verwijderen uit sortering" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Sorteerprioriteit: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Sortering aan/uit" + +msgid "Toggle theme (current theme: auto)" +msgstr "Thema wisselen (huidige thema: auto)" + +msgid "Toggle theme (current theme: light)" +msgstr "Thema wisselen (huidige thema: licht)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Thema wisselen (huidige thema: donker)" + +msgid "Delete" +msgstr "Verwijderen" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Het verwijderen van %(object_name)s '%(escaped_object)s' zou ook " +"gerelateerde objecten verwijderen, maar uw account heeft geen rechten om de " +"volgende typen objecten te verwijderen:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Het verwijderen van %(object_name)s '%(escaped_object)s' vereist het " +"verwijderen van de volgende gerelateerde objecten:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Weet u zeker dat u %(object_name)s '%(escaped_object)s' wilt verwijderen? " +"Alle volgende gerelateerde objecten worden verwijderd:" + +msgid "Objects" +msgstr "Objecten" + +msgid "Yes, I’m sure" +msgstr "Ja, ik weet het zeker" + +msgid "No, take me back" +msgstr "Nee, teruggaan" + +msgid "Delete multiple objects" +msgstr "Meerdere objecten verwijderen" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Het verwijderen van de geselecteerde %(objects_name)s zou ook gerelateerde " +"objecten verwijderen, maar uw account heeft geen rechten om de volgende " +"typen objecten te verwijderen:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Het verwijderen van de geselecteerde %(objects_name)s vereist het " +"verwijderen van de volgende beschermde gerelateerde objecten:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Weet u zeker dat u de geselecteerde %(objects_name)s wilt verwijderen? Alle " +"volgende objecten en hun aanverwante items zullen worden verwijderd:" + +msgid "Delete?" +msgstr "Verwijderen?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " Op %(filter_title)s " + +msgid "Summary" +msgstr "Samenvatting" + +msgid "Recent actions" +msgstr "Recente acties" + +msgid "My actions" +msgstr "Mijn acties" + +msgid "None available" +msgstr "Geen beschikbaar" + +msgid "Added:" +msgstr "Toegevoegd:" + +msgid "Changed:" +msgstr "Gewijzigd:" + +msgid "Deleted:" +msgstr "Verwijderd:" + +msgid "Unknown content" +msgstr "Onbekende inhoud" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Er is iets mis met de installatie van uw database. Zorg ervoor dat de juiste " +"databasetabellen zijn aangemaakt en dat de database voor de juiste gebruiker " +"leesbaar is." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"U bent geverifieerd als %(username)s, maar niet bevoegd om deze pagina te " +"bekijken. Wilt u zich aanmelden bij een andere account?" + +msgid "Forgotten your password or username?" +msgstr "Wachtwoord of gebruikersnaam vergeten?" + +msgid "Toggle navigation" +msgstr "Navigatie aan/uit" + +msgid "Sidebar" +msgstr "Zijbalk" + +msgid "Start typing to filter…" +msgstr "Begin met typen om te filteren…" + +msgid "Filter navigation items" +msgstr "Navigatie-items filteren" + +msgid "Date/time" +msgstr "Datum/tijd" + +msgid "User" +msgstr "Gebruiker" + +msgid "Action" +msgstr "Actie" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "vermelding" +msgstr[1] "vermeldingen" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Dit object heeft geen wijzigingsgeschiedenis. Het is mogelijk niet via de " +"beheerwebsite toegevoegd." + +msgid "Show all" +msgstr "Alles tonen" + +msgid "Save" +msgstr "Opslaan" + +msgid "Popup closing…" +msgstr "Pop-up sluiten…" + +msgid "Search" +msgstr "Zoeken" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s resultaat" +msgstr[1] "%(counter)s resultaten" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s totaal" + +msgid "Save as new" +msgstr "Opslaan als nieuw item" + +msgid "Save and add another" +msgstr "Opslaan en nieuwe toevoegen" + +msgid "Save and continue editing" +msgstr "Opslaan en opnieuw bewerken" + +msgid "Save and view" +msgstr "Opslaan en weergeven" + +msgid "Close" +msgstr "Sluiten" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Geselecteerde %(model)s wijzigen" + +#, python-format +msgid "Add another %(model)s" +msgstr "Nog een %(model)s toevoegen" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Geselecteerde %(model)s verwijderen" + +#, python-format +msgid "View selected %(model)s" +msgstr "Geselecteerde %(model)s weergeven" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Bedankt voor het vandaag wat tijd besteden aan de website." + +msgid "Log in again" +msgstr "Opnieuw aanmelden" + +msgid "Password change" +msgstr "Wachtwoordwijziging" + +msgid "Your password was changed." +msgstr "Uw wachtwoord is gewijzigd." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Voer omwille van beveiliging uw oude en twee keer uw nieuwe wachtwoord in, " +"zodat we kunnen controleren of u geen typefouten hebt gemaakt." + +msgid "Change my password" +msgstr "Mijn wachtwoord wijzigen" + +msgid "Password reset" +msgstr "Wachtwoord hersteld" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Uw wachtwoord is ingesteld. U kunt nu verdergaan en zich aanmelden." + +msgid "Password reset confirmation" +msgstr "Bevestiging wachtwoord herstellen" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Voer het nieuwe wachtwoord twee keer in, zodat we kunnen controleren of er " +"geen typefouten zijn gemaakt." + +msgid "New password:" +msgstr "Nieuw wachtwoord:" + +msgid "Confirm password:" +msgstr "Bevestig wachtwoord:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"De link voor het herstellen van het wachtwoord is ongeldig, waarschijnlijk " +"omdat de link al eens is gebruikt. Vraag opnieuw een wachtwoord aan." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"We hebben u instructies gestuurd voor het instellen van uw wachtwoord, als " +"er een account bestaat met het door u ingevoerde e-mailadres. U zou deze " +"straks moeten ontvangen." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Als u geen e-mail ontvangt, controleer dan of u het e-mailadres hebt " +"ingevoerd waarmee u zich hebt geregistreerd, en controleer uw spam-map." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"U ontvangt deze e-mail, omdat u een aanvraag voor opnieuw instellen van het " +"wachtwoord voor uw account op %(site_name)s hebt gedaan." + +msgid "Please go to the following page and choose a new password:" +msgstr "Ga naar de volgende pagina en kies een nieuw wachtwoord:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Uw gebruikersnaam, mocht u deze vergeten zijn:" + +msgid "Thanks for using our site!" +msgstr "Bedankt voor het gebruik van onze website!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Het %(site_name)s-team" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Wachtwoord vergeten? Vul hieronder uw e-mailadres in, en we sturen " +"instructies voor het instellen van een nieuw wachtwoord." + +msgid "Email address:" +msgstr "E-mailadres:" + +msgid "Reset my password" +msgstr "Mijn wachtwoord opnieuw instellen" + +msgid "Select all objects on this page for an action" +msgstr "Selecteer alle objecten op deze pagina voor een actie" + +msgid "All dates" +msgstr "Alle datums" + +#, python-format +msgid "Select %s" +msgstr "Selecteer %s" + +#, python-format +msgid "Select %s to change" +msgstr "Selecteer %s om te wijzigen" + +#, python-format +msgid "Select %s to view" +msgstr "Selecteer %s om te bekijken" + +msgid "Date:" +msgstr "Datum:" + +msgid "Time:" +msgstr "Tijd:" + +msgid "Lookup" +msgstr "Opzoeken" + +msgid "Currently:" +msgstr "Huidig:" + +msgid "Change:" +msgstr "Wijzigen:" diff --git a/external_sources/django/django/contrib/admin/locale/nl/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/nl/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..8c7a4ba --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/nl/LC_MESSAGES/djangojs.po @@ -0,0 +1,334 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Bouke Haarsma , 2013 +# Evelijn Saaltink , 2016 +# Harro van der Klauw , 2012 +# Ilja Maas , 2015 +# Jannis Leidel , 2011 +# 6a27f10aef159701c7a5ff07f0fb0a78_05545ed , 2011-2012 +# Meteor0id, 2019-2020 +# 8de006b1b0894aab6aef71979dcd8bd6_5c6b207 , 2015 +# Tonnes , 2019-2020,2022-2023 +# wunki , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 15:04-0300\n" +"PO-Revision-Date: 2023-12-04 07:59+0000\n" +"Last-Translator: Tonnes , 2019-2020,2022-2023\n" +"Language-Team: Dutch (http://app.transifex.com/django/django/language/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" + +#, javascript-format +msgid "Available %s" +msgstr "Beschikbare %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Dit is de lijst met beschikbare %s. U kunt er een aantal kiezen door ze in " +"het vak hieronder te selecteren en daarna op de pijl 'Kiezen' tussen de twee " +"vakken te klikken." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Typ in dit vak om de lijst met beschikbare %s te filteren." + +msgid "Filter" +msgstr "Filter" + +msgid "Choose all" +msgstr "Alle kiezen" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Klik om alle %s te kiezen." + +msgid "Choose" +msgstr "Kiezen" + +msgid "Remove" +msgstr "Verwijderen" + +#, javascript-format +msgid "Chosen %s" +msgstr "Gekozen %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Dit is de lijst met gekozen %s. U kunt er een aantal verwijderen door ze in " +"het vak hieronder te selecteren en daarna op de pijl 'Verwijderen' tussen de " +"twee vakken te klikken." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "Typ in dit vak om de lijst met geselecteerde %s te filteren." + +msgid "Remove all" +msgstr "Alle verwijderen" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Klik om alle gekozen %s tegelijk te verwijderen." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%s geselecteerde optie niet zichtbaar" +msgstr[1] "%s geselecteerde opties niet zichtbaar" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s van de %(cnt)s geselecteerd" +msgstr[1] "%(sel)s van de %(cnt)s geselecteerd" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"U hebt niet-opgeslagen wijzigingen op afzonderlijke bewerkbare velden. Als u " +"een actie uitvoert, gaan uw wijzigingen verloren." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"U hebt een actie geselecteerd, maar uw wijzigingen in afzonderlijke velden " +"nog niet opgeslagen. Klik op OK om deze op te slaan. U dient de actie " +"opnieuw uit te voeren." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"U hebt een actie geselecteerd, en geen wijzigingen in afzonderlijke velden " +"aangebracht. Waarschijnlijk zoekt u de knop Gaan in plaats van de knop " +"Opslaan." + +msgid "Now" +msgstr "Nu" + +msgid "Midnight" +msgstr "Middernacht" + +msgid "6 a.m." +msgstr "6 uur 's ochtends" + +msgid "Noon" +msgstr "12 uur 's middags" + +msgid "6 p.m." +msgstr "6 uur 's avonds" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Let op: u ligt %s uur voor ten opzichte van de servertijd." +msgstr[1] "Let op: u ligt %s uur voor ten opzichte van de servertijd." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Let op: u ligt %s uur achter ten opzichte van de servertijd." +msgstr[1] "Let op: u ligt %s uur achter ten opzichte van de servertijd." + +msgid "Choose a Time" +msgstr "Kies een tijdstip" + +msgid "Choose a time" +msgstr "Kies een tijd" + +msgid "Cancel" +msgstr "Annuleren" + +msgid "Today" +msgstr "Vandaag" + +msgid "Choose a Date" +msgstr "Kies een datum" + +msgid "Yesterday" +msgstr "Gisteren" + +msgid "Tomorrow" +msgstr "Morgen" + +msgid "January" +msgstr "januari" + +msgid "February" +msgstr "februari" + +msgid "March" +msgstr "maart" + +msgid "April" +msgstr "april" + +msgid "May" +msgstr "mei" + +msgid "June" +msgstr "juni" + +msgid "July" +msgstr "juli" + +msgid "August" +msgstr "augustus" + +msgid "September" +msgstr "september" + +msgid "October" +msgstr "oktober" + +msgid "November" +msgstr "november" + +msgid "December" +msgstr "december" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "jan" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "feb" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "mrt" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "apr" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "mei" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "jun" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "jul" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "aug" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "sep" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "okt" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "nov" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "dec" + +msgid "Sunday" +msgstr "zondag" + +msgid "Monday" +msgstr "maandag" + +msgid "Tuesday" +msgstr "dinsdag" + +msgid "Wednesday" +msgstr "woensdag" + +msgid "Thursday" +msgstr "donderdag" + +msgid "Friday" +msgstr "vrijdag" + +msgid "Saturday" +msgstr "zaterdag" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "zo" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "ma" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "di" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "wo" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "do" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "vr" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "za" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "Z" + +msgctxt "one letter Monday" +msgid "M" +msgstr "M" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "D" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "W" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "D" + +msgctxt "one letter Friday" +msgid "F" +msgstr "V" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "Z" + +msgid "Show" +msgstr "Tonen" + +msgid "Hide" +msgstr "Verbergen" diff --git a/external_sources/django/django/contrib/admin/locale/nn/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/nn/LC_MESSAGES/django.po new file mode 100644 index 0000000..4a7c846 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/nn/LC_MESSAGES/django.po @@ -0,0 +1,736 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# hgrimelid , 2011-2012 +# Jannis Leidel , 2011 +# jensadne , 2013 +# Sigurd Gartmann , 2012 +# Sivert Olstad, 2021-2022 +# velmont , 2012 +# Vibeke Uthaug, 2021 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-05-17 05:10-0500\n" +"PO-Revision-Date: 2022-07-25 07:05+0000\n" +"Last-Translator: Sivert Olstad\n" +"Language-Team: Norwegian Nynorsk (http://www.transifex.com/django/django/" +"language/nn/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nn\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Slett valgte %(verbose_name_plural)s" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Sletta %(count)d %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Kan ikkje slette %(name)s" + +msgid "Are you sure?" +msgstr "Er du sikker?" + +msgid "Administration" +msgstr "Administrasjon" + +msgid "All" +msgstr "Alle" + +msgid "Yes" +msgstr "Ja" + +msgid "No" +msgstr "Nei" + +msgid "Unknown" +msgstr "Ukjend" + +msgid "Any date" +msgstr "Når som helst" + +msgid "Today" +msgstr "I dag" + +msgid "Past 7 days" +msgstr "Siste sju dagar" + +msgid "This month" +msgstr "Denne månaden" + +msgid "This year" +msgstr "I år" + +msgid "No date" +msgstr "Ingen dato" + +msgid "Has date" +msgstr "Har dato" + +msgid "Empty" +msgstr "Tom" + +msgid "Not empty" +msgstr "Ikkje tom" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Oppgje korrekt %(username)s og passord for ein administrasjonsbrukarkonto. " +"Merk at det er skilnad på små og store bokstavar." + +msgid "Action:" +msgstr "Handling:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Opprett ny %(verbose_name)s." + +msgid "Remove" +msgstr "Fjern" + +msgid "Addition" +msgstr "Tillegg" + +msgid "Change" +msgstr "Endre" + +msgid "Deletion" +msgstr "Sletting" + +msgid "action time" +msgstr "tid for handling" + +msgid "user" +msgstr "brukar" + +msgid "content type" +msgstr "innhaldstype" + +msgid "object id" +msgstr "objekt-ID" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "objekt repr" + +msgid "action flag" +msgstr "handlingsflagg" + +msgid "change message" +msgstr "endre melding" + +msgid "log entry" +msgstr "logginnlegg" + +msgid "log entries" +msgstr "logginnlegg" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Oppretta “%(object)s”." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Endra “%(object)s” — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Sletta “%(object)s”." + +msgid "LogEntry Object" +msgstr "LogEntry-objekt" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Oppretta {name} “{object}”." + +msgid "Added." +msgstr "Oppretta." + +msgid "and" +msgstr "og" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Endra {fields} for {name} “{object}”." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Endra {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Sletta {name} “{object}”." + +msgid "No fields changed." +msgstr "Ingen felt endra." + +msgid "None" +msgstr "Ingen" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Hald nede “Control”, eller “Command” på ein Mac, for å velge meir enn éin." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "{name} “{obj}” vart oppretta." + +msgid "You may edit it again below." +msgstr "Du kan endre det att nedanfor." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"{name} “{obj}” vart oppretta. Du kan opprette enda ein {name} nedanfor." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "{name} “{obj}” vart endra. Du kan redigere vidare nedanfor." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "{name} “{obj}” vart oppretta. Du kan redigere vidare nedanfor." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "{name} “{obj}” vart endra. Du kan opprette enda ein {name} nedanfor." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "{name} “{obj}” vart endra." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Objekt må vere valde for at dei skal kunne utførast handlingar på. Ingen " +"object er endra." + +msgid "No action selected." +msgstr "Inga valt handling." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s “%(obj)s” vart sletta." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "" +"%(name)s med ID “%(key)s” eksisterer ikkje. Kanskje den har vorte sletta?" + +#, python-format +msgid "Add %s" +msgstr "Opprett %s" + +#, python-format +msgid "Change %s" +msgstr "Rediger %s" + +#, python-format +msgid "View %s" +msgstr "Sjå %s" + +msgid "Database error" +msgstr "Databasefeil" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s vart endra." +msgstr[1] "%(count)s %(name)s vart endra." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s valde" +msgstr[1] "Alle %(total_count)s valde" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "Ingen av %(cnt)s valde" + +#, python-format +msgid "Change history: %s" +msgstr "Endringshistorikk: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Sletting av %(class_name)s «%(instance)s» krev sletting av følgande beskytta " +"relaterte objekt: %(related_objects)s" + +msgid "Django site admin" +msgstr "Django administrasjonsside" + +msgid "Django administration" +msgstr "Django-administrasjon" + +msgid "Site administration" +msgstr "Nettstadsadministrasjon" + +msgid "Log in" +msgstr "Logg inn" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s-administrasjon" + +msgid "Page not found" +msgstr "Fann ikkje sida" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Sida du spør etter finst ikkje." + +msgid "Home" +msgstr "Heim" + +msgid "Server error" +msgstr "Tenarfeil" + +msgid "Server error (500)" +msgstr "Tenarfeil (500)" + +msgid "Server Error (500)" +msgstr "Tenarfeil (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Det har oppstått ein feil. Det er rapportert til dei som administrerer " +"nettsida med e-mail og burde bli fiksa snarast. Takk for tolmodigheita." + +msgid "Run the selected action" +msgstr "Utfør den valde handlinga" + +msgid "Go" +msgstr "Gå" + +msgid "Click here to select the objects across all pages" +msgstr "Klikk her for å velje objekt på tvers av alle sider" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Velg alle %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Nullstill utval" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Modellar i %(name)s-applikasjonen" + +msgid "Add" +msgstr "Opprett" + +msgid "View" +msgstr "Sjå" + +msgid "You don’t have permission to view or edit anything." +msgstr "Du har ikkje løyve til å sjå eller redigere noko." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Skriv først inn brukernamn og passord. Deretter vil du få høve til å endre " +"fleire brukarinnstillingar." + +msgid "Enter a username and password." +msgstr "Skriv inn nytt brukarnamn og passord." + +msgid "Change password" +msgstr "Endre passord" + +msgid "Please correct the error below." +msgstr "Korriger feilen under." + +msgid "Please correct the errors below." +msgstr "Korriger feila under." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Skriv inn eit nytt passord for brukaren %(username)s." + +msgid "Welcome," +msgstr "Velkommen," + +msgid "View site" +msgstr "Vis nettstad" + +msgid "Documentation" +msgstr "Dokumentasjon" + +msgid "Log out" +msgstr "Logg ut" + +#, python-format +msgid "Add %(name)s" +msgstr "Opprett %(name)s" + +msgid "History" +msgstr "Historikk" + +msgid "View on site" +msgstr "Vis på nettstad" + +msgid "Filter" +msgstr "Filtrering" + +msgid "Clear all filters" +msgstr "Fjern alle filter" + +msgid "Remove from sorting" +msgstr "Fjern frå sortering" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Sorteringspriorite: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Slår av eller på sortering" + +msgid "Delete" +msgstr "Slett" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Dersom du slettar %(object_name)s '%(escaped_object)s', vil også slette " +"relaterte objekt, men du har ikkje løyve til å slette følgande objekttypar:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Sletting av %(object_name)s '%(escaped_object)s' krevar sletting av " +"følgjande beskytta relaterte objekt:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Er du sikker på at du vil slette %(object_name)s \"%(escaped_object)s\"? " +"Alle dei følgjande relaterte objekta vil bli sletta:" + +msgid "Objects" +msgstr "Objekt" + +msgid "Yes, I’m sure" +msgstr "Ja, eg er sikker" + +msgid "No, take me back" +msgstr "Nei, ta meg attende" + +msgid "Delete multiple objects" +msgstr "Slett fleire objekt" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Sletting av %(objects_name)s vil føre til at relaterte objekt blir sletta, " +"men kontoen din manglar løyve til å slette følgjande objekttypar:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Sletting av %(objects_name)s krevar sletting av følgjande beskytta relaterte " +"objekt:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Er du sikker på at du vil slette dei valgte objekta %(objects_name)s? " +"Følgjande objekt og deira relaterte objekt vil bli sletta:" + +msgid "Delete?" +msgstr "Slette?" + +#, python-format +msgid " By %(filter_title)s " +msgstr "Etter %(filter_title)s " + +msgid "Summary" +msgstr "Oppsummering" + +msgid "Recent actions" +msgstr "Siste handlingar" + +msgid "My actions" +msgstr "Mine handlingar" + +msgid "None available" +msgstr "Ingen tilgjengelege" + +msgid "Unknown content" +msgstr "Ukjent innhald" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Noko er gale med databaseinstallasjonen din. Syt for at databasetabellane er " +"oppretta og at brukaren har dei naudsynte løyve." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Du er stadfesta som %(username)s, men er ikkje autentisert til å få tilgang " +"til denne sida. Ynskjer du å logge inn med ein annan konto?" + +msgid "Forgotten your password or username?" +msgstr "Gløymd brukarnamn eller passord?" + +msgid "Toggle navigation" +msgstr "Veksl navigasjon" + +msgid "Start typing to filter…" +msgstr "Begynn å skrive for å filtrere..." + +msgid "Filter navigation items" +msgstr "Filtrer navigasjonselement" + +msgid "Date/time" +msgstr "Dato/tid" + +msgid "User" +msgstr "Brukar" + +msgid "Action" +msgstr "Handling" + +msgid "entry" +msgstr "" + +msgid "entries" +msgstr "" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Dette objektet har ingen endringshistorikk. Det blei sannsynlegvis ikkje " +"oppretta av denne administratoren. " + +msgid "Show all" +msgstr "Vis alle" + +msgid "Save" +msgstr "Lagre" + +msgid "Popup closing…" +msgstr "Lukkar popup…" + +msgid "Search" +msgstr "Søk" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s resultat" +msgstr[1] "%(counter)s resultat" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s totalt" + +msgid "Save as new" +msgstr "Lagre som ny" + +msgid "Save and add another" +msgstr "Lagre og opprett ny" + +msgid "Save and continue editing" +msgstr "Lagre og hald fram å redigere" + +msgid "Save and view" +msgstr "Lagre og sjå" + +msgid "Close" +msgstr "Lukk" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Endre valt %(model)s" + +#, python-format +msgid "Add another %(model)s" +msgstr "Opprett ny %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Slett valde %(model)s" + +#, python-format +msgid "View selected %(model)s" +msgstr "" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Takk for at du brukte litt kvalitetstid på nettsida i dag. " + +msgid "Log in again" +msgstr "Logg inn att" + +msgid "Password change" +msgstr "Endre passord" + +msgid "Your password was changed." +msgstr "Passordet ditt vart endret." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Av sikkerheitsgrunnar må du oppgje det gamle passordet ditt. Oppgje så det " +"nye passordet ditt to gongar, sånn at vi kan kontrollere at det er korrekt." + +msgid "Change my password" +msgstr "Endre passord" + +msgid "Password reset" +msgstr "Nullstill passord" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Passordet ditt er sett. Du kan logge inn." + +msgid "Password reset confirmation" +msgstr "Stadfesting på nullstilt passord" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Oppgje det nye passordet ditt to gonger, for å sikre at du oppgjev det " +"korrekt." + +msgid "New password:" +msgstr "Nytt passord:" + +msgid "Confirm password:" +msgstr "Gjenta nytt passord:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Nullstillingslinken er ugyldig, kanskje fordi den allereie har vore brukt. " +"Nullstill passordet ditt på nytt." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Dersom det eksisterer ein brukarkonto med e-postadressa du skreiv inn vil " +"det bli sendt ein e-post med instruksjonar for å nullstille passordet til " +"den e-postadressa. Du burde motta den snart. " + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Om du ikkje mottar ein e-post, ver vennleg og sørg for at du skreiv inn e-" +"postadressa du er registrert med og sjekk spam-filteret. " + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Du får denne e-posten fordi du har bedt om å nullstille passordet for " +"brukarkontoen din på %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Gå til følgjande side og velg eit nytt passord:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Brukarnamnet ditt, i tilfelle du har gløymt det:" + +msgid "Thanks for using our site!" +msgstr "Takk for at du brukar sida vår!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Helsing %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Gløymt passordet ditt? Oppgje e-postadressa di under, så sender me deg ein e-" +"post med instruksjonar for nullstilling av passord." + +msgid "Email address:" +msgstr "E-postadresse:" + +msgid "Reset my password" +msgstr "Nullstill passordet" + +msgid "All dates" +msgstr "Alle datoar" + +#, python-format +msgid "Select %s" +msgstr "Velg %s" + +#, python-format +msgid "Select %s to change" +msgstr "Velg %s du ønskar å redigere" + +#, python-format +msgid "Select %s to view" +msgstr "Velg %s du ønskar å sjå" + +msgid "Date:" +msgstr "Dato:" + +msgid "Time:" +msgstr "Tid:" + +msgid "Lookup" +msgstr "Oppslag" + +msgid "Currently:" +msgstr "Noverande:" + +msgid "Change:" +msgstr "Endre:" diff --git a/external_sources/django/django/contrib/admin/locale/nn/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/nn/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..8d4f648 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/nn/LC_MESSAGES/djangojs.po @@ -0,0 +1,266 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# hgrimelid , 2011 +# Jannis Leidel , 2011 +# Sivert Olstad, 2021 +# velmont , 2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-15 09:00+0100\n" +"PO-Revision-Date: 2021-11-10 23:27+0000\n" +"Last-Translator: Sivert Olstad\n" +"Language-Team: Norwegian Nynorsk (http://www.transifex.com/django/django/" +"language/nn/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nn\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "Tilgjengelege %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Dette er lista over tilgjengelege %s. Du kan velja nokon ved å markera dei i " +"boksen under og so klikka på «Velg»-pila mellom dei to boksane." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Skriv i dette feltet for å filtrera ned lista av tilgjengelege %s." + +msgid "Filter" +msgstr "Filter" + +msgid "Choose all" +msgstr "Velg alle" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Klikk for å velja alle %s samtidig." + +msgid "Choose" +msgstr "Vel" + +msgid "Remove" +msgstr "Slett" + +#, javascript-format +msgid "Chosen %s" +msgstr "Valde %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Dette er lista over valte %s. Du kan fjerna nokon ved å markera dei i boksen " +"under og so klikka på «Fjern»-pila mellom dei to boksane." + +msgid "Remove all" +msgstr "Fjern alle" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Klikk for å fjerna alle valte %s samtidig." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s av %(cnt)s vald" +msgstr[1] "%(sel)s av %(cnt)s valde" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Det er endringar som ikkje er lagra i individuelt redigerbare felt. " +"Endringar som ikkje er lagra vil gå tapt." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Du har vald ei handling, men du har framleis ikkje lagra endringar for " +"individuelle felt. Klikk OK for å lagre. Du må gjere handlinga på nytt." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Du har vald ei handling og du har ikkje gjort endringar i individuelle felt. " +"Du ser sannsynlegvis etter Gå vidare-knappen - ikkje Lagre-knappen." + +msgid "Now" +msgstr "No" + +msgid "Midnight" +msgstr "Midnatt" + +msgid "6 a.m." +msgstr "06:00" + +msgid "Noon" +msgstr "12:00" + +msgid "6 p.m." +msgstr "18:00" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Merk: Du er %s time framanfor tjenar-tid." +msgstr[1] "Merk: Du er %s timar framanfor tjenar-tid." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Merk: Du er %s time bak tjenar-tid." +msgstr[1] "Merk: Du er %s timar bak tjenar-tid." + +msgid "Choose a Time" +msgstr "Velg eit klokkeslett" + +msgid "Choose a time" +msgstr "Velg eit klokkeslett" + +msgid "Cancel" +msgstr "Avbryt" + +msgid "Today" +msgstr "I dag" + +msgid "Choose a Date" +msgstr "Velg ein dato" + +msgid "Yesterday" +msgstr "I går" + +msgid "Tomorrow" +msgstr "I morgon" + +msgid "January" +msgstr "Januar" + +msgid "February" +msgstr "Februar" + +msgid "March" +msgstr "Mars" + +msgid "April" +msgstr "April" + +msgid "May" +msgstr "Mai" + +msgid "June" +msgstr "Juni" + +msgid "July" +msgstr "Juli" + +msgid "August" +msgstr "August" + +msgid "September" +msgstr "September" + +msgid "October" +msgstr "Oktober" + +msgid "November" +msgstr "November" + +msgid "December" +msgstr "Desember" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Jan" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Feb" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Mar" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Apr" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "Mai" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Jun" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Jul" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Aug" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Sep" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Okt" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Nov" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Des" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "S" + +msgctxt "one letter Monday" +msgid "M" +msgstr "M" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "T" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "O" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "T" + +msgctxt "one letter Friday" +msgid "F" +msgstr "F" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "L" + +msgid "Show" +msgstr "Vis" + +msgid "Hide" +msgstr "Skjul" diff --git a/external_sources/django/django/contrib/admin/locale/os/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/os/LC_MESSAGES/django.po new file mode 100644 index 0000000..aae9d9c --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/os/LC_MESSAGES/django.po @@ -0,0 +1,665 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Soslan Khubulov , 2013 +# Soslan Khubulov , 2013 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-19 16:49+0100\n" +"PO-Revision-Date: 2017-09-19 16:40+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Ossetic (http://www.transifex.com/django/django/language/" +"os/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: os\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d %(items)s хафт ӕрцыдысты." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Нӕ уайы схафын %(name)s" + +msgid "Are you sure?" +msgstr "Ӕцӕг дӕ фӕнды?" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Схафын ӕвзӕрст %(verbose_name_plural)s" + +msgid "Administration" +msgstr "" + +msgid "All" +msgstr "Иууылдӕр" + +msgid "Yes" +msgstr "О" + +msgid "No" +msgstr "Нӕ" + +msgid "Unknown" +msgstr "Ӕнӕбӕрӕг" + +msgid "Any date" +msgstr "Цыфӕнды бон" + +msgid "Today" +msgstr "Абон" + +msgid "Past 7 days" +msgstr "Фӕстаг 7 бон" + +msgid "This month" +msgstr "Ацы мӕй" + +msgid "This year" +msgstr "Ацы аз" + +msgid "No date" +msgstr "" + +msgid "Has date" +msgstr "" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Дӕ хорзӕхӕй, раст кусӕджы аккаунты %(username)s ӕмӕ пароль бафысс. Дӕ сӕры " +"дар уый, ӕмӕ дыууӕ дӕр гӕнӕн ис стыр ӕмӕ гыццыл дамгъӕ ӕвзарой." + +msgid "Action:" +msgstr "Ми:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Бафтауын ӕндӕр %(verbose_name)s" + +msgid "Remove" +msgstr "Схафын" + +msgid "action time" +msgstr "мийы рӕстӕг" + +msgid "user" +msgstr "" + +msgid "content type" +msgstr "" + +msgid "object id" +msgstr "объекты бӕрӕггӕнӕн" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/3/library/functions.html#repr) +msgid "object repr" +msgstr "объекты хуыз" + +msgid "action flag" +msgstr "мийы флаг" + +msgid "change message" +msgstr "фыстӕг фӕивын" + +msgid "log entry" +msgstr "логы иуӕг" + +msgid "log entries" +msgstr "логы иуӕгтӕ" + +#, python-format +msgid "Added \"%(object)s\"." +msgstr "Ӕфтыд ӕрцыд \"%(object)s\"." + +#, python-format +msgid "Changed \"%(object)s\" - %(changes)s" +msgstr "Ивд ӕрцыд \"%(object)s\" - %(changes)s" + +#, python-format +msgid "Deleted \"%(object)s.\"" +msgstr "Хафт ӕрцыд \"%(object)s.\"" + +msgid "LogEntry Object" +msgstr "ЛогыИуӕг Объект" + +#, python-brace-format +msgid "Added {name} \"{object}\"." +msgstr "" + +msgid "Added." +msgstr "" + +msgid "and" +msgstr "ӕмӕ" + +#, python-brace-format +msgid "Changed {fields} for {name} \"{object}\"." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "" + +#, python-brace-format +msgid "Deleted {name} \"{object}\"." +msgstr "" + +msgid "No fields changed." +msgstr "Ивд бынат нӕй." + +msgid "None" +msgstr "Никӕцы" + +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was added successfully." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Иуӕгтӕ хъуамӕ ӕвзӕрст уой, цӕмӕй цын исты ми бакӕнай. Ницы иуӕг ӕрцыд ивд." + +msgid "No action selected." +msgstr "Ницы ми у ӕвзӕрст." + +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "%(name)s \"%(obj)s\" хафт ӕрцыд." + +#, python-format +msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "Бафтауын %s" + +#, python-format +msgid "Change %s" +msgstr "Фӕивын %s" + +msgid "Database error" +msgstr "Бӕрӕгдоны рӕдыд" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s ивд ӕрцыд." +msgstr[1] "%(count)s %(name)s ивд ӕрцыдысты." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s у ӕвзӕрст" +msgstr[1] "%(total_count)s дӕр иууылдӕр сты ӕвзӕрст" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "%(cnt)s-ӕй 0 у ӕвзӕрст" + +#, python-format +msgid "Change history: %s" +msgstr "Ивынты истори: %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" + +msgid "Django site admin" +msgstr "Django сайты админ" + +msgid "Django administration" +msgstr "Django администраци" + +msgid "Site administration" +msgstr "Сайты администраци" + +msgid "Log in" +msgstr "Бахизын" + +#, python-format +msgid "%(app)s administration" +msgstr "" + +msgid "Page not found" +msgstr "Фарс нӕ зыны" + +msgid "We're sorry, but the requested page could not be found." +msgstr "Хатыр, фӕлӕ домд фарс нӕ зыны." + +msgid "Home" +msgstr "Хӕдзар" + +msgid "Server error" +msgstr "Серверы рӕдыд" + +msgid "Server error (500)" +msgstr "Серверы рӕдыд (500)" + +msgid "Server Error (500)" +msgstr "Серверы Рӕдыд (500)" + +msgid "" +"There's been an error. It's been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Рӕдыд разынд. Уый тыххӕй сайты администратормӕ электрон фыстӕг ӕрвыст ӕрцыд " +"ӕмӕ йӕ тагъд сраст кӕндзысты. Бузныг кӕй лӕууыс." + +msgid "Run the selected action" +msgstr "Бакӕнын ӕвзӕрст ми" + +msgid "Go" +msgstr "Бацӕуын" + +msgid "Click here to select the objects across all pages" +msgstr "Ам ныххӕц цӕмӕй алы фарсы объекттӕ равзарын" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Равзарын %(total_count)s %(module_name)s иууылдӕр" + +msgid "Clear selection" +msgstr "Ӕвзӕрст асыгъдӕг кӕнын" + +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"Фыццаг бафысс фӕсномыг ӕмӕ пароль. Стӕй дӕ бон уыдзӕн фылдӕр архайӕджы " +"фадӕттӕ ивын." + +msgid "Enter a username and password." +msgstr "Бафысс фӕсномыг ӕмӕ пароль." + +msgid "Change password" +msgstr "Пароль фӕивын" + +msgid "Please correct the error below." +msgstr "Дӕ хорзӕхӕй, бындӕр цы рӕдыдтытӕ ис, уыдон сраст кӕн." + +msgid "Please correct the errors below." +msgstr "" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Бафысс ног пароль архайӕг %(username)s-ӕн." + +msgid "Welcome," +msgstr "Ӕгас цу," + +msgid "View site" +msgstr "" + +msgid "Documentation" +msgstr "Документаци" + +msgid "Log out" +msgstr "Рахизын" + +#, python-format +msgid "Add %(name)s" +msgstr "Бафтауын %(name)s" + +msgid "History" +msgstr "Истори" + +msgid "View on site" +msgstr "Сайты фенын" + +msgid "Filter" +msgstr "Фӕрсудзӕн" + +msgid "Remove from sorting" +msgstr "Радӕй айсын" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Рады приоритет: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Рад аивын" + +msgid "Delete" +msgstr "Схафын" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"%(object_name)s '%(escaped_object)s' хафыны тыххӕй баст объекттӕ дӕр хафт " +"ӕрцӕудзысты, фӕлӕ дӕ аккаунтӕн нӕй бар ацы объекты хуызтӕ хафын:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"%(object_name)s '%(escaped_object)s' хафын домы ацы хъахъхъӕд баст объекттӕ " +"хафын дӕр:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Ӕцӕг дӕ фӕнды %(object_name)s \"%(escaped_object)s\" схафын? Ацы баст иуӕгтӕ " +"иууылдӕр хафт ӕрцӕудзысты:" + +msgid "Objects" +msgstr "" + +msgid "Yes, I'm sure" +msgstr "О, ӕцӕг мӕ фӕнды" + +msgid "No, take me back" +msgstr "" + +msgid "Delete multiple objects" +msgstr "Цалдӕр объекты схафын" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Ӕвзӕрст %(objects_name)s хафыны тыххӕй йемӕ баст объекттӕ дӕр схафт " +"уыдзысты, фӕлӕ дӕ аккаунтӕн нӕй бар ацы объекты хуызтӕ хафын:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Ӕвзӕрст %(objects_name)s хафын домы ацы хъахъхъӕд баст объекттӕ хафын дӕр:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Ӕцӕг дӕ фӕнды ӕвзӕрст %(objects_name)s схафын? ацы объекттӕ иууылдӕр, ӕмӕ " +"семӕ баст иуӕгтӕ хафт ӕрцӕудзысты:" + +msgid "Change" +msgstr "Фӕивын" + +msgid "Delete?" +msgstr "Хъӕуы схафын?" + +#, python-format +msgid " By %(filter_title)s " +msgstr "%(filter_title)s-мӕ гӕсгӕ" + +msgid "Summary" +msgstr "" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Моделтӕ %(name)s ӕфтуаны" + +msgid "Add" +msgstr "Бафтауын" + +msgid "You don't have permission to edit anything." +msgstr "Нӕй дын бар исты ивын." + +msgid "Recent actions" +msgstr "" + +msgid "My actions" +msgstr "" + +msgid "None available" +msgstr "Ницы ис" + +msgid "Unknown content" +msgstr "Ӕнӕбӕрӕг мидис" + +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Дӕ бӕрӕгдоны цыдӕр раст ӕвӕрд нӕу. Сбӕрӕг кӕн, хъӕугӕ бӕрӕгдоны таблицӕтӕ " +"конд кӕй сты ӕмӕ амынд архайӕгӕн бӕрӕгдон фӕрсыны бар кӕй ис, уый." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" + +msgid "Forgotten your password or username?" +msgstr "Дӕ пароль кӕнӕ дӕ фӕсномыг ферох кодтай?" + +msgid "Date/time" +msgstr "Бон/рӕстӕг" + +msgid "User" +msgstr "Архайӕг" + +msgid "Action" +msgstr "Ми" + +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "Ацы объектӕн ивдтыты истори нӕй. Уӕццӕгӕн ацы админӕй ӕфтыд нӕ уыд." + +msgid "Show all" +msgstr "Иууылдӕр равдисын" + +msgid "Save" +msgstr "Нывӕрын" + +msgid "Popup closing..." +msgstr "" + +#, python-format +msgid "Change selected %(model)s" +msgstr "" + +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "" + +msgid "Search" +msgstr "Агурын" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s фӕстиуӕг" +msgstr[1] "%(counter)s фӕстиуӕджы" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s иумӕ" + +msgid "Save as new" +msgstr "Нывӕрын куыд ног" + +msgid "Save and add another" +msgstr "Нывӕрын ӕмӕ ног бафтауын" + +msgid "Save and continue editing" +msgstr "Нывӕрын ӕмӕ дарддӕр ивын" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Бузныг дӕ рӕстӕг абон ацы веб сайтимӕ кӕй арвыстай." + +msgid "Log in again" +msgstr "Ногӕй бахизын" + +msgid "Password change" +msgstr "Пароль ивын" + +msgid "Your password was changed." +msgstr "Дӕ пароль ивд ӕрцыд." + +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Дӕ хорзӕхӕй, ӕдасдзинады тыххӕй, бафысс дӕ зӕронд пароль ӕмӕ стӕй та дыууӕ " +"хатт дӕ нӕуӕг пароль, цӕмӕй мах сбӕлвырд кӕнӕм раст ӕй кӕй ныффыстай, уый." + +msgid "Change my password" +msgstr "Мӕ пароль фӕивын" + +msgid "Password reset" +msgstr "Пароль рацаразын" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Дӕ пароль ӕвӕрд ӕрцыд. Дӕ бон у дарддӕр ацӕуын ӕмӕ бахизын." + +msgid "Password reset confirmation" +msgstr "Пароль ӕвӕрыны бӕлвырдгӕнӕн" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Дӕ хорзӕхӕй, дӕ ног пароль дыууӕ хатт бафысс, цӕмӕй мах сбӕрӕг кӕнӕм раст ӕй " +"кӕй ныффыстай, уый." + +msgid "New password:" +msgstr "Ног пароль:" + +msgid "Confirm password:" +msgstr "Бӕлвырд пароль:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Парол ӕвӕрыны ӕрвитӕн раст нӕ уыд. Уӕццӕгӕн уый тыххӕй, ӕмӕ нырид пайдагонд " +"ӕрцыд. Дӕ хорзӕхӕй, ӕрдом ног пароль ӕвӕрын." + +msgid "" +"We've emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don't receive an email, please make sure you've entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Кӕд ницы фыстӕг райстай, уӕд, дӕ хорзӕхӕй, сбӕрӕг кӕн цы электрон постимӕ " +"срегистраци кодтай, уый бацамыдтай, ӕви нӕ, ӕмӕ абӕрӕг кӕн дӕ спамтӕ." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Ды райстай ацы фыстӕг, уымӕн ӕмӕ %(site_name)s-ы дӕ архайӕджы аккаунтӕн " +"пароль сӕвӕрын ӕрдомдтай." + +msgid "Please go to the following page and choose a new password:" +msgstr "Дӕ хорзӕхӕй, ацу ацы фарсмӕ ӕмӕ равзар дӕ ног пароль:" + +msgid "Your username, in case you've forgotten:" +msgstr "Дӕ фӕсномыг, кӕд дӕ ферох ис:" + +msgid "Thanks for using our site!" +msgstr "Бузныг нӕ сайтӕй нын кӕй пайда кӕныс!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s-ы бал" + +msgid "" +"Forgotten your password? Enter your email address below, and we'll email " +"instructions for setting a new one." +msgstr "" +"Ферох дӕ ис дӕ пароль? Дӕ пароль бындӕр бафысс, ӕмӕ дӕм мах email-ӕй ног " +"пароль сывӕрыны амынд арвитдзыстӕм." + +msgid "Email address:" +msgstr "Email адрис:" + +msgid "Reset my password" +msgstr "Мӕ пароль ногӕй сӕвӕрын" + +msgid "All dates" +msgstr "Бонтӕ иууылдӕр" + +#, python-format +msgid "Select %s" +msgstr "Равзарын %s" + +#, python-format +msgid "Select %s to change" +msgstr "Равзарын %s ивынӕн" + +msgid "Date:" +msgstr "Бон:" + +msgid "Time:" +msgstr "Рӕстӕг:" + +msgid "Lookup" +msgstr "Акӕсын" + +msgid "Currently:" +msgstr "Нырыккон:" + +msgid "Change:" +msgstr "Ивд:" diff --git a/external_sources/django/django/contrib/admin/locale/os/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/os/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..ec6c9c4 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/os/LC_MESSAGES/djangojs.po @@ -0,0 +1,217 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Soslan Khubulov , 2013 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"PO-Revision-Date: 2017-09-19 16:41+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Ossetic (http://www.transifex.com/django/django/language/" +"os/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: os\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "Уӕвӕг %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Уӕвӕг %s-ты номхыгъд. Дӕ бон у искӕцытӕ дзы рауӕлдай кӕнай, куы сӕ равзарай " +"бындӕр къӕртты ӕмӕ дыууӕ къӕртты ӕхсӕн \"Равзарын\"-ы ӕгънӕгыл куы ныххӕцай, " +"уӕд." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Бафысс ацы къӕртты, уӕвӕг %s-ты номхыгъд фӕрсудзынӕн." + +msgid "Filter" +msgstr "Фӕрсудзӕн" + +msgid "Choose all" +msgstr "Равзарын алкӕцыдӕр" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Ныххӕц, алы %s равзарынӕн." + +msgid "Choose" +msgstr "Равзарын" + +msgid "Remove" +msgstr "Схафын" + +#, javascript-format +msgid "Chosen %s" +msgstr "Ӕвзӕрст %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Ай у ӕвзӕрст %s-ты номхыгъд. Сӕ хафынӕн сӕ дӕ бон у бындӕр къӕртты равзарын " +"ӕмӕ дыууӕ ӕгънӕджы ӕхсӕн \"Схфын\"-ыл ныххӕцын." + +msgid "Remove all" +msgstr "Схафын алкӕцыдӕр" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Ныххӕц, алы ӕвзӕрст %s схафынӕн." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(cnt)s-ӕй %(sel)s ӕвзӕрст" +msgstr[1] "%(cnt)s-ӕй %(sel)s ӕвзӕрст" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Ӕнӕвӕрд ивдтытӕ баззадысты ивыны бынӕтты. Кӕд исты ми саразай, уӕд дӕ " +"ӕнӕвӕрд ивдтытӕ фесӕфдзысты." + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"Ды равзӕрстай цыдӕр ми, фӕлӕ ивӕн бынӕтты цы фӕивтай, уыдон нӕ бавӕрдтай. Дӕ " +"хорзӕхӕй, ныххӕц Хорзыл цӕмӕй бавӕрд уой. Стӕй дын хъӕудзӕн ацы ми ногӕй " +"бакӕнын." + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Ды равзӕртай цыдӕр ми, фӕлӕ ивӕн бынӕтты ницы баивтай. Уӕццӕгӕн дӕ Ацӕуыны " +"ӕгънӕг хъӕуы, Бавӕрыны нӕ фӕлӕ." + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" +msgstr[1] "" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +msgstr[1] "" + +msgid "Now" +msgstr "Ныр" + +msgid "Choose a Time" +msgstr "" + +msgid "Choose a time" +msgstr "Рӕстӕг равзарын" + +msgid "Midnight" +msgstr "Ӕмбисӕхсӕв" + +msgid "6 a.m." +msgstr "6 ӕ.р." + +msgid "Noon" +msgstr "Ӕмбисбон" + +msgid "6 p.m." +msgstr "" + +msgid "Cancel" +msgstr "Раздӕхын" + +msgid "Today" +msgstr "Абон" + +msgid "Choose a Date" +msgstr "" + +msgid "Yesterday" +msgstr "Знон" + +msgid "Tomorrow" +msgstr "Сом" + +msgid "January" +msgstr "" + +msgid "February" +msgstr "" + +msgid "March" +msgstr "" + +msgid "April" +msgstr "" + +msgid "May" +msgstr "" + +msgid "June" +msgstr "" + +msgid "July" +msgstr "" + +msgid "August" +msgstr "" + +msgid "September" +msgstr "" + +msgid "October" +msgstr "" + +msgid "November" +msgstr "" + +msgid "December" +msgstr "" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "" + +msgctxt "one letter Monday" +msgid "M" +msgstr "" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "" + +msgctxt "one letter Friday" +msgid "F" +msgstr "" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "" + +msgid "Show" +msgstr "Равдисын" + +msgid "Hide" +msgstr "Айсын" diff --git a/external_sources/django/django/contrib/admin/locale/pa/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/pa/LC_MESSAGES/django.po new file mode 100644 index 0000000..0041893 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/pa/LC_MESSAGES/django.po @@ -0,0 +1,706 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# A S Alam, 2018 +# A S Alam, 2022 +# Jannis Leidel , 2011 +# Satnam S Virdi , 2021 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-01-17 02:13-0600\n" +"PO-Revision-Date: 2023-04-25 07:05+0000\n" +"Last-Translator: A S Alam, 2022\n" +"Language-Team: Panjabi (Punjabi) (http://www.transifex.com/django/django/" +"language/pa/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pa\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "ਚੁਣੇ %(verbose_name_plural)s ਹਟਾਓ" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d %(items)s ਠੀਕ ਤਰ੍ਹਾਂ ਹਟਾਈਆਂ ਗਈਆਂ।" + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "%(name)s ਨੂੰ ਹਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ" + +msgid "Are you sure?" +msgstr "ਕੀ ਤੁਸੀਂ ਇਹ ਚਾਹੁੰਦੇ ਹੋ?" + +msgid "Administration" +msgstr "ਪ੍ਰਸ਼ਾਸਨ" + +msgid "All" +msgstr "ਸਭ" + +msgid "Yes" +msgstr "ਹਾਂ" + +msgid "No" +msgstr "ਨਹੀਂ" + +msgid "Unknown" +msgstr "ਅਣਜਾਣ" + +msgid "Any date" +msgstr "ਕੋਈ ਵੀ ਮਿਤੀ" + +msgid "Today" +msgstr "ਅੱਜ" + +msgid "Past 7 days" +msgstr "ਪਿਛਲੇ ੭ ਦਿਨ" + +msgid "This month" +msgstr "ਇਹ ਮਹੀਨੇ" + +msgid "This year" +msgstr "ਇਹ ਸਾਲ" + +msgid "No date" +msgstr "ਕੋਈ ਮਿਤੀ ਨਹੀਂ" + +msgid "Has date" +msgstr "ਮਿਤੀ ਹੈ" + +msgid "Empty" +msgstr "ਖਾਲੀ" + +msgid "Not empty" +msgstr "" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" + +msgid "Action:" +msgstr "ਕਾਰਵਾਈ:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "%(verbose_name)s ਹੋਰ ਸ਼ਾਮਲ" + +msgid "Remove" +msgstr "ਹਟਾਓ" + +msgid "Addition" +msgstr "" + +msgid "Change" +msgstr "ਬਦਲੋ" + +msgid "Deletion" +msgstr "" + +msgid "action time" +msgstr "ਕਾਰਵਾਈ ਸਮਾਂ" + +msgid "user" +msgstr "ਵਰਤੋਂਕਾਰ" + +msgid "content type" +msgstr "ਸਮੱਗਰੀ ਕਿਸਮ" + +msgid "object id" +msgstr "ਆਬਜੈਕਟ id" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "ਆਬਜੈਕਟ repr" + +msgid "action flag" +msgstr "ਕਾਰਵਾਈ ਫਲੈਗ" + +msgid "change message" +msgstr "ਸੁਨੇਹਾ ਬਦਲੋ" + +msgid "log entry" +msgstr "ਲਾਗ ਐਂਟਰੀ" + +msgid "log entries" +msgstr "ਲਾਗ ਐਂਟਰੀਆਂ" + +#, python-format +msgid "Added “%(object)s”." +msgstr "" + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "" + +msgid "LogEntry Object" +msgstr "" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "" + +msgid "Added." +msgstr "" + +msgid "and" +msgstr "ਅਤੇ" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "" + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "" + +msgid "No fields changed." +msgstr "ਕੋਈ ਖੇਤਰ ਨਹੀਂ ਬਦਲਿਆ।" + +msgid "None" +msgstr "ਕੋਈ ਨਹੀਂ" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "" + +msgid "You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" + +msgid "No action selected." +msgstr "ਕੋਈ ਕਾਰਵਾਈ ਨਹੀਂ ਚੁਣੀ ਗਈ।" + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "" + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "%s ਸ਼ਾਮਲ" + +#, python-format +msgid "Change %s" +msgstr "%s ਬਦਲੋ" + +#, python-format +msgid "View %s" +msgstr "%s ਵੇਖੋ" + +msgid "Database error" +msgstr "ਡਾਟਾਬੇਸ ਗਲਤੀ" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s ਠੀਕ ਤਰ੍ਹਾਂ ਬਦਲਿਆ ਗਿਆ।" +msgstr[1] "%(count)s %(name)s ਠੀਕ ਤਰ੍ਹਾਂ ਬਦਲੇ ਗਏ ਹਨ।" + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s ਚੁਣਿਆ।" +msgstr[1] "%(total_count)s ਚੁਣੇ" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "" + +#, python-format +msgid "Change history: %s" +msgstr "ਅਤੀਤ ਬਦਲੋ: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" + +msgid "Django site admin" +msgstr "ਡੀਜਾਂਗੋ ਸਾਈਟ ਐਡਮਿਨ" + +msgid "Django administration" +msgstr "ਡੀਜਾਂਗੋ ਪਰਸ਼ਾਸ਼ਨ" + +msgid "Site administration" +msgstr "ਸਾਈਟ ਪਰਬੰਧ" + +msgid "Log in" +msgstr "ਲਾਗ ਇਨ" + +#, python-format +msgid "%(app)s administration" +msgstr "" + +msgid "Page not found" +msgstr "ਸਫ਼ਾ ਨਹੀਂ ਲੱਭਿਆ" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "" + +msgid "Home" +msgstr "ਘਰ" + +msgid "Server error" +msgstr "ਸਰਵਰ ਗਲਤੀ" + +msgid "Server error (500)" +msgstr "ਸਰਵਰ ਗਲਤੀ (500)" + +msgid "Server Error (500)" +msgstr "ਸਰਵਰ ਗਲਤੀ (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +msgid "Run the selected action" +msgstr "ਚੁਣੀ ਕਾਰਵਾਈ ਕਰੋ" + +msgid "Go" +msgstr "ਜਾਓ" + +msgid "Click here to select the objects across all pages" +msgstr "ਸਭ ਸਫ਼ਿਆਂ ਵਿੱਚੋਂ ਆਬਜੈਕਟ ਚੁਣਨ ਲਈ ਇੱਥੇ ਕਲਿੱਕ ਕਰੋ" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "ਸਭ %(total_count)s %(module_name)s ਚੁਣੋ" + +msgid "Clear selection" +msgstr "ਚੋਣ ਸਾਫ਼ ਕਰੋ" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "" + +msgid "Add" +msgstr "ਸ਼ਾਮਲ" + +msgid "View" +msgstr "" + +msgid "You don’t have permission to view or edit anything." +msgstr "" + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" + +msgid "Enter a username and password." +msgstr "" + +msgid "Change password" +msgstr "ਪਾਸਵਰਡ ਬਦਲੋ" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "ਯੂਜ਼ਰ %(username)s ਲਈ ਨਵਾਂ ਪਾਸਵਰਡ ਦਿਓ।" + +msgid "Skip to main content" +msgstr "" + +msgid "Welcome," +msgstr "ਜੀ ਆਇਆਂ ਨੂੰ, " + +msgid "View site" +msgstr "" + +msgid "Documentation" +msgstr "ਡੌਕੂਮੈਂਟੇਸ਼ਨ" + +msgid "Log out" +msgstr "ਲਾਗ ਆਉਟ" + +msgid "Breadcrumbs" +msgstr "" + +#, python-format +msgid "Add %(name)s" +msgstr "%(name)s ਸ਼ਾਮਲ" + +msgid "History" +msgstr "ਅਤੀਤ" + +msgid "View on site" +msgstr "ਸਾਈਟ ਉੱਤੇ ਜਾਓ" + +msgid "Filter" +msgstr "ਫਿਲਟਰ" + +msgid "Clear all filters" +msgstr "" + +msgid "Remove from sorting" +msgstr "" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "" + +msgid "Toggle sorting" +msgstr "" + +msgid "Toggle theme (current theme: auto)" +msgstr "" + +msgid "Toggle theme (current theme: light)" +msgstr "" + +msgid "Toggle theme (current theme: dark)" +msgstr "" + +msgid "Delete" +msgstr "ਹਟਾਓ" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" + +msgid "Objects" +msgstr "" + +msgid "Yes, I’m sure" +msgstr "" + +msgid "No, take me back" +msgstr "" + +msgid "Delete multiple objects" +msgstr "ਕਈ ਆਬਜੈਕਟ ਹਟਾਓ" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" + +msgid "Delete?" +msgstr "ਹਟਾਉਣਾ?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " %(filter_title)s ਵਲੋਂ " + +msgid "Summary" +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "My actions" +msgstr "" + +msgid "None available" +msgstr "ਕੋਈ ਉਪਲੱਬਧ ਨਹੀਂ" + +msgid "Unknown content" +msgstr "ਅਣਜਾਣ ਸਮੱਗਰੀ" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" + +msgid "Forgotten your password or username?" +msgstr "" + +msgid "Toggle navigation" +msgstr "" + +msgid "Sidebar" +msgstr "" + +msgid "Start typing to filter…" +msgstr "" + +msgid "Filter navigation items" +msgstr "" + +msgid "Date/time" +msgstr "ਮਿਤੀ/ਸਮਾਂ" + +msgid "User" +msgstr "ਯੂਜ਼ਰ" + +msgid "Action" +msgstr "ਕਾਰਵਾਈ" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "" +msgstr[1] "" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" + +msgid "Show all" +msgstr "ਸਭ ਵੇਖੋ" + +msgid "Save" +msgstr "ਸੰਭਾਲੋ" + +msgid "Popup closing…" +msgstr "" + +msgid "Search" +msgstr "ਖੋਜ" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s ਕੁੱਲ" + +msgid "Save as new" +msgstr "ਨਵੇਂ ਵਜੋਂ ਵੇਖੋ" + +msgid "Save and add another" +msgstr "ਸੰਭਾਲੋ ਤੇ ਹੋਰ ਸ਼ਾਮਲ" + +msgid "Save and continue editing" +msgstr "ਸੰਭਾਲੋ ਤੇ ਸੋਧਣਾ ਜਾਰੀ ਰੱਖੋ" + +msgid "Save and view" +msgstr "" + +msgid "Close" +msgstr "" + +#, python-format +msgid "Change selected %(model)s" +msgstr "" + +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "" + +#, python-format +msgid "View selected %(model)s" +msgstr "" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "" + +msgid "Log in again" +msgstr "ਫੇਰ ਲਾਗਇਨ ਕਰੋ" + +msgid "Password change" +msgstr "ਪਾਸਵਰਡ ਬਦਲੋ" + +msgid "Your password was changed." +msgstr "ਤੁਹਾਡਾ ਪਾਸਵਰਡ ਬਦਲਿਆ ਗਿਆ ਹੈ।" + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" + +msgid "Change my password" +msgstr "ਮੇਰਾ ਪਾਸਵਰਡ ਬਦਲੋ" + +msgid "Password reset" +msgstr "ਪਾਸਵਰਡ ਮੁੜ-ਸੈੱਟ" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "ਤੁਹਾਡਾ ਪਾਸਵਰਡ ਸੈੱਟ ਕੀਤਾ ਗਿਆ ਹੈ। ਤੁਸੀਂ ਜਾਰੀ ਰੱਖ ਕੇ ਹੁਣੇ ਲਾਗਇਨ ਕਰ ਸਕਦੇ ਹੋ।" + +msgid "Password reset confirmation" +msgstr "ਪਾਸਵਰਡ ਮੁੜ-ਸੈੱਟ ਕਰਨ ਪੁਸ਼ਟੀ" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"ਆਪਣਾ ਨਵਾਂ ਪਾਸਵਰਡ ਦੋ ਵਾਰ ਦਿਉ ਤਾਂ ਕਿ ਅਸੀਂ ਜਾਂਚ ਕਰ ਸਕੀਏ ਕਿ ਤੁਸੀਂ ਠੀਕ ਤਰ੍ਹਾਂ ਲਿਖਿਆ ਹੈ।" + +msgid "New password:" +msgstr "ਨਵਾਂ ਪਾਸਵਰਡ:" + +msgid "Confirm password:" +msgstr "ਪਾਸਵਰਡ ਪੁਸ਼ਟੀ:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"ਪਾਸਵਰਡ ਰੀ-ਸੈੱਟ ਲਿੰਕ ਗਲਤ ਹੈ, ਸੰਭਵ ਤੌਰ ਉੱਤੇ ਇਹ ਪਹਿਲਾਂ ਹੀ ਵਰਤਿਆ ਜਾ ਚੁੱਕਾ ਹੈ। ਨਵਾਂ ਪਾਸਵਰਡ ਰੀ-" +"ਸੈੱਟ ਲਈ ਬੇਨਤੀ ਭੇਜੋ ਜੀ।" + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" + +msgid "Please go to the following page and choose a new password:" +msgstr "ਅੱਗੇ ਦਿੱਤੇ ਸਫ਼ੇ ਉੱਤੇ ਜਾਉ ਤੇ ਨਵਾਂ ਪਾਸਵਰਡ ਚੁਣੋ:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "" + +msgid "Thanks for using our site!" +msgstr "ਸਾਡੀ ਸਾਈਟ ਵਰਤਣ ਲਈ ਧੰਨਵਾਦ ਜੀ!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s ਟੀਮ" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" + +msgid "Email address:" +msgstr "" + +msgid "Reset my password" +msgstr "ਮੇਰਾ ਪਾਸਵਰਡ ਮੁੜ-ਸੈੱਟ ਕਰੋ" + +msgid "All dates" +msgstr "ਸਭ ਮਿਤੀਆਂ" + +#, python-format +msgid "Select %s" +msgstr "%s ਚੁਣੋ" + +#, python-format +msgid "Select %s to change" +msgstr "ਬਦਲਣ ਲਈ %s ਚੁਣੋ" + +#, python-format +msgid "Select %s to view" +msgstr "" + +msgid "Date:" +msgstr "ਮਿਤੀ:" + +msgid "Time:" +msgstr "ਸਮਾਂ:" + +msgid "Lookup" +msgstr "ਖੋਜ" + +msgid "Currently:" +msgstr "" + +msgid "Change:" +msgstr "" diff --git a/external_sources/django/django/contrib/admin/locale/pa/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/pa/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..ed55c46 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/pa/LC_MESSAGES/djangojs.po @@ -0,0 +1,253 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-15 09:00+0100\n" +"PO-Revision-Date: 2021-01-15 11:28+0000\n" +"Last-Translator: Transifex Bot <>\n" +"Language-Team: Panjabi (Punjabi) (http://www.transifex.com/django/django/" +"language/pa/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pa\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "ਉਪਲੱਬਧ %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" + +msgid "Filter" +msgstr "ਫਿਲਟਰ" + +msgid "Choose all" +msgstr "ਸਭ ਚੁਣੋ" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "" + +msgid "Choose" +msgstr "" + +msgid "Remove" +msgstr "ਹਟਾਓ" + +#, javascript-format +msgid "Chosen %s" +msgstr "%s ਚੁਣੋ" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" + +msgid "Remove all" +msgstr "" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "" +msgstr[1] "" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" + +msgid "Now" +msgstr "ਹੁਣੇ" + +msgid "Midnight" +msgstr "ਅੱਧੀ-ਰਾਤ" + +msgid "6 a.m." +msgstr "6 ਸਵੇਰ" + +msgid "Noon" +msgstr "ਦੁਪਹਿਰ" + +msgid "6 p.m." +msgstr "" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" +msgstr[1] "" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +msgstr[1] "" + +msgid "Choose a Time" +msgstr "" + +msgid "Choose a time" +msgstr "ਸਮਾਂ ਚੁਣੋ" + +msgid "Cancel" +msgstr "ਰੱਦ ਕਰੋ" + +msgid "Today" +msgstr "ਅੱਜ" + +msgid "Choose a Date" +msgstr "" + +msgid "Yesterday" +msgstr "ਕੱਲ੍ਹ" + +msgid "Tomorrow" +msgstr "ਭਲਕੇ" + +msgid "January" +msgstr "" + +msgid "February" +msgstr "" + +msgid "March" +msgstr "" + +msgid "April" +msgstr "" + +msgid "May" +msgstr "" + +msgid "June" +msgstr "" + +msgid "July" +msgstr "" + +msgid "August" +msgstr "" + +msgid "September" +msgstr "" + +msgid "October" +msgstr "" + +msgid "November" +msgstr "" + +msgid "December" +msgstr "" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "" + +msgctxt "one letter Monday" +msgid "M" +msgstr "" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "" + +msgctxt "one letter Friday" +msgid "F" +msgstr "" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "" + +msgid "Show" +msgstr "ਵੇਖੋ" + +msgid "Hide" +msgstr "ਓਹਲੇ" diff --git a/external_sources/django/django/contrib/admin/locale/pl/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/pl/LC_MESSAGES/django.po new file mode 100644 index 0000000..bb14e7d --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/pl/LC_MESSAGES/django.po @@ -0,0 +1,816 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# angularcircle, 2011-2013 +# angularcircle, 2013-2014 +# Jannis Leidel , 2011 +# Janusz Harkot , 2014-2015 +# Karol , 2012 +# 0d5641585fd67fbdb97037c19ab83e4c_18c98b0 , 2011 +# 0d5641585fd67fbdb97037c19ab83e4c_18c98b0 , 2011 +# Maciej Olko , 2016-2022 +# Maciej Olko , 2023 +# Maciej Olko , 2015 +# Mariusz Felisiak , 2020,2022-2024 +# Ola Sitarska , 2013 +# Ola Sitarska , 2013 +# Roman Barczyński, 2014 +# Tomasz Kajtoch , 2017 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 07:05+0000\n" +"Last-Translator: Mariusz Felisiak , " +"2020,2022-2024\n" +"Language-Team: Polish (http://app.transifex.com/django/django/language/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Usuń wybrane(-nych) %(verbose_name_plural)s" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Pomyślnie usunięto %(count)d %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Nie można usunąć %(name)s" + +msgid "Are you sure?" +msgstr "Jesteś pewien?" + +msgid "Administration" +msgstr "Administracja" + +msgid "All" +msgstr "Wszystko" + +msgid "Yes" +msgstr "Tak" + +msgid "No" +msgstr "Nie" + +msgid "Unknown" +msgstr "Nieznany" + +msgid "Any date" +msgstr "Dowolna data" + +msgid "Today" +msgstr "Dzisiaj" + +msgid "Past 7 days" +msgstr "Ostatnie 7 dni" + +msgid "This month" +msgstr "Ten miesiąc" + +msgid "This year" +msgstr "Ten rok" + +msgid "No date" +msgstr "Brak daty" + +msgid "Has date" +msgstr "Posiada datę" + +msgid "Empty" +msgstr "Puste" + +msgid "Not empty" +msgstr "Niepuste" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Wprowadź poprawne dane w polach „%(username)s” i „hasło” dla konta " +"należącego do zespołu. Uwaga: wielkość liter może mieć znaczenie." + +msgid "Action:" +msgstr "Akcja:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Dodaj kolejne(go)(-ną)(-ny) %(verbose_name)s" + +msgid "Remove" +msgstr "Usuń" + +msgid "Addition" +msgstr "Dodanie" + +msgid "Change" +msgstr "Zmień" + +msgid "Deletion" +msgstr "Usunięcie" + +msgid "action time" +msgstr "czas akcji" + +msgid "user" +msgstr "użytkownik" + +msgid "content type" +msgstr "typ zawartości" + +msgid "object id" +msgstr "id obiektu" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "reprezentacja obiektu" + +msgid "action flag" +msgstr "flaga akcji" + +msgid "change message" +msgstr "zmień wiadomość" + +msgid "log entry" +msgstr "log" + +msgid "log entries" +msgstr "logi" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Dodano „%(object)s”." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Zmieniono „%(object)s” — %(changes)s " + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Usunięto „%(object)s”." + +msgid "LogEntry Object" +msgstr "Obiekt LogEntry" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Dodano {name} „{object}”." + +msgid "Added." +msgstr "Dodano." + +msgid "and" +msgstr "i" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Zmodyfikowano {fields} w {name} „{object}”." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Zmodyfikowano {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Usunięto {name} „{object}”." + +msgid "No fields changed." +msgstr "Żadne pole nie zostało zmienione." + +msgid "None" +msgstr "Brak" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Przytrzymaj wciśnięty klawisz „Ctrl” lub „Command” na Macu, aby zaznaczyć " +"więcej niż jeden wybór." + +msgid "Select this object for an action - {}" +msgstr "Wybierz ten obiekt do wykonania akcji - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "{name} „{obj}” został(a)(-ło) dodany(-na)(-ne) pomyślnie." + +msgid "You may edit it again below." +msgstr "Poniżej możesz ponownie edytować." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"{name} „{obj}” został(a)(-ło) dodany(-na)(-ne) pomyślnie. Można dodać " +"kolejne(go)(-ną)(-ny) {name} poniżej." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"{name} „{obj}” został(a)(-ło) pomyślnie zmieniony(-na)(-ne). Można edytować " +"go/ją/je ponownie poniżej." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"{name} „{obj}” został(a)(-ło) pomyślnie zmieniony(-na)(-ne). Można dodać " +"kolejny(-nego)(-ną)(-ne) {name} poniżej." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "{name} „{obj}” został(a)(-ło) pomyślnie zmieniony(-na)(-ne)." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Wykonanie akcji wymaga wybrania obiektów. Żaden obiekt nie został zmieniony." + +msgid "No action selected." +msgstr "Nie wybrano akcji." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s „%(obj)s” usunięty(-ta)(-te) pomyślnie." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "" +"%(name)s z ID „%(key)s” nie istnieje. Może został(a)(-ło) usunięty(-ta)(-te)?" + +#, python-format +msgid "Add %s" +msgstr "Dodaj %s" + +#, python-format +msgid "Change %s" +msgstr "Zmień %s" + +#, python-format +msgid "View %s" +msgstr "Zobacz %s" + +msgid "Database error" +msgstr "Błąd bazy danych" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s został(a)(-ło) pomyślnie zmieniony(-na)(-ne)." +msgstr[1] "%(count)s %(name)s zostały(-ło) pomyślnie zmienione(-nych)." +msgstr[2] "%(count)s %(name)s zostało pomyślnie zmienionych." +msgstr[3] "%(count)s %(name)s zostało pomyślnie zmienione." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "Wybrano %(total_count)s" +msgstr[1] "Wybrano %(total_count)s" +msgstr[2] "Wybrano %(total_count)s" +msgstr[3] "Wybrano wszystkie %(total_count)s" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "Wybrano 0 z %(cnt)s" + +#, python-format +msgid "Change history: %s" +msgstr "Historia zmian: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Usunięcie %(class_name)s %(instance)s może wiązać się z usunięciem " +"następujących chronionych obiektów pokrewnych: %(related_objects)s" + +msgid "Django site admin" +msgstr "Administracja stroną Django" + +msgid "Django administration" +msgstr "Administracja Django" + +msgid "Site administration" +msgstr "Administracja stroną" + +msgid "Log in" +msgstr "Zaloguj się" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s: administracja" + +msgid "Page not found" +msgstr "Strona nie została znaleziona" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Przykro nam, ale żądana strona nie została znaleziona." + +msgid "Home" +msgstr "Strona główna" + +msgid "Server error" +msgstr "Błąd serwera" + +msgid "Server error (500)" +msgstr "Błąd serwera (500)" + +msgid "Server Error (500)" +msgstr "Błąd Serwera (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Niestety wystąpił błąd. Zostało to zgłoszone administratorom strony poprzez " +"email i niebawem powinno zostać naprawione. Dziękujemy za cierpliwość." + +msgid "Run the selected action" +msgstr "Wykonaj wybraną akcję" + +msgid "Go" +msgstr "Wykonaj" + +msgid "Click here to select the objects across all pages" +msgstr "Kliknij by wybrać obiekty na wszystkich stronach" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Wybierz wszystkie(-kich) %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Wyczyść wybór" + +msgid "Breadcrumbs" +msgstr "Breadcrumbs" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Modele w aplikacji %(name)s" + +msgid "Add" +msgstr "Dodaj" + +msgid "View" +msgstr "Zobacz" + +msgid "You don’t have permission to view or edit anything." +msgstr "Nie masz uprawnień do oglądania ani edycji niczego." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Najpierw podaj nazwę użytkownika i hasło. Następnie będziesz mógł edytować " +"więcej opcji użytkownika." + +msgid "Enter a username and password." +msgstr "Podaj nazwę użytkownika i hasło." + +msgid "Change password" +msgstr "Zmień hasło" + +msgid "Set password" +msgstr "Ustaw hasło" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Prosimy poprawić poniższy błąd." +msgstr[1] "Prosimy poprawić poniższe błędy." +msgstr[2] "Prosimy poprawić poniższe błędy." +msgstr[3] "Prosimy poprawić poniższe błędy." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Podaj nowe hasło dla użytkownika %(username)s." + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "" +"To działanie włączy uwierzytelnianie oparte na haśle dla " +"tego użytkownika. " + +msgid "Disable password-based authentication" +msgstr "Wyłącz uwierzytelnianie oparte na haśle" + +msgid "Enable password-based authentication" +msgstr "Włącz uwierzytelnianie oparte na haśle" + +msgid "Skip to main content" +msgstr "Przejdź do głównej treści" + +msgid "Welcome," +msgstr "Witaj," + +msgid "View site" +msgstr "Pokaż stronę" + +msgid "Documentation" +msgstr "Dokumentacja" + +msgid "Log out" +msgstr "Wyloguj się" + +#, python-format +msgid "Add %(name)s" +msgstr "Dodaj %(name)s" + +msgid "History" +msgstr "Historia" + +msgid "View on site" +msgstr "Pokaż na stronie" + +msgid "Filter" +msgstr "Filtruj" + +msgid "Hide counts" +msgstr "Ukryj ilości" + +msgid "Show counts" +msgstr "Pokaż ilości" + +msgid "Clear all filters" +msgstr "Wyczyść wszystkie filtry" + +msgid "Remove from sorting" +msgstr "Usuń z sortowania" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Priorytet sortowania: %(priority_number)s " + +msgid "Toggle sorting" +msgstr "Przełącz sortowanie" + +msgid "Toggle theme (current theme: auto)" +msgstr "Przełącz motyw (bieżący motyw: auto)" + +msgid "Toggle theme (current theme: light)" +msgstr "Przełącz motyw (bieżący motyw: jasny)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Przełącz motyw (bieżący motyw: ciemny)" + +msgid "Delete" +msgstr "Usuń" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Usunięcie %(object_name)s „%(escaped_object)s” wiązałoby się z usunięciem " +"obiektów z nim/nią powiązanych, ale niestety nie posiadasz uprawnień do " +"usunięcia obiektów następujących typów:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Usunięcie %(object_name)s „%(escaped_object)s” wymagałoby skasowania " +"następujących chronionych obiektów, które są z nim/nią powiązane:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Czy chcesz skasować %(object_name)s „%(escaped_object)s”? Następujące " +"obiekty powiązane zostaną usunięte:" + +msgid "Objects" +msgstr "Obiekty" + +msgid "Yes, I’m sure" +msgstr "Tak, na pewno" + +msgid "No, take me back" +msgstr "Nie, zabierz mnie stąd" + +msgid "Delete multiple objects" +msgstr "Usuwanie wielu obiektów" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Usunięcie wybranych(-nego)(-nej) %(objects_name)s spowoduje skasowanie " +"obiektów, które są z nim(i)/nią powiązane. Niestety nie posiadasz uprawnień " +"do usunięcia następujących typów obiektów:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Usunięcie wybranych(-nego)(-nej) %(objects_name)s wymaga skasowania " +"następujących chronionych obiektów, które są z nim(i)/nią powiązane:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Czy chcesz skasować zaznaczone(go)(-ną)(-ny)(-nych) %(objects_name)s? " +"Następujące obiekty oraz obiekty od nich zależne zostaną skasowane:" + +msgid "Delete?" +msgstr "Usunąć?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " Według pola %(filter_title)s " + +msgid "Summary" +msgstr "Podsumowanie" + +msgid "Recent actions" +msgstr "Ostatnie działania" + +msgid "My actions" +msgstr "Moje działania" + +msgid "None available" +msgstr "Brak dostępnych" + +msgid "Added:" +msgstr "Dodano:" + +msgid "Changed:" +msgstr "Zmieniono:" + +msgid "Deleted:" +msgstr "Usunięto:" + +msgid "Unknown content" +msgstr "Zawartość nieznana" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Instalacja Twojej bazy danych jest niepoprawna. Upewnij się, że odpowiednie " +"tabele zostały utworzone i odpowiedni użytkownik jest uprawniony do ich " +"odczytu." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Jesteś uwierzytelniony jako %(username)s, ale nie jesteś upoważniony do " +"dostępu do tej strony. Czy chciałbyś zalogować się na inne konto?" + +msgid "Forgotten your password or username?" +msgstr "Nie pamiętasz swojego hasła lub nazwy użytkownika?" + +msgid "Toggle navigation" +msgstr "Przełącz nawigację" + +msgid "Sidebar" +msgstr "Pasek boczny" + +msgid "Start typing to filter…" +msgstr "Zacznij pisać, aby odfiltrować…" + +msgid "Filter navigation items" +msgstr "Filtruj elementy nawigacji" + +msgid "Date/time" +msgstr "Data/czas" + +msgid "User" +msgstr "Użytkownik" + +msgid "Action" +msgstr "Akcja" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "wpis" +msgstr[1] "wpisy" +msgstr[2] "wpisów" +msgstr[3] "wpisu" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Ten obiekt nie ma historii zmian. Najprawdopodobniej nie został on dodany " +"poprzez panel administracyjny." + +msgid "Show all" +msgstr "Pokaż wszystko" + +msgid "Save" +msgstr "Zapisz" + +msgid "Popup closing…" +msgstr "Zamykanie okna..." + +msgid "Search" +msgstr "Szukaj" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s wynik" +msgstr[1] "%(counter)s wyniki" +msgstr[2] "%(counter)s wyników" +msgstr[3] "%(counter)s wyników" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s łącznie" + +msgid "Save as new" +msgstr "Zapisz jako nowy" + +msgid "Save and add another" +msgstr "Zapisz i dodaj nowy" + +msgid "Save and continue editing" +msgstr "Zapisz i kontynuuj edycję" + +msgid "Save and view" +msgstr "Zapisz i obejrzyj" + +msgid "Close" +msgstr "Zamknij" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Zmień wybraną(-ne)(-nego)(-ny) %(model)s" + +#, python-format +msgid "Add another %(model)s" +msgstr "Dodaj kolejne(go)(-ną)(-ny) %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Usuń wybraną(-ne)(-nego)(-ny) %(model)s" + +#, python-format +msgid "View selected %(model)s" +msgstr "Obejrzyj wybraną(-ne)(-nego)(-ny) %(model)s" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Dzięki za spędzenie cennego czasu ze stroną." + +msgid "Log in again" +msgstr "Zaloguj się ponownie" + +msgid "Password change" +msgstr "Zmiana hasła" + +msgid "Your password was changed." +msgstr "Twoje hasło zostało zmienione." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Podaj swoje stare hasło, ze względów bezpieczeństwa, a później wpisz " +"dwukrotnie Twoje nowe hasło, abyśmy mogli zweryfikować, że zostało wpisane " +"poprawnie." + +msgid "Change my password" +msgstr "Zmień hasło" + +msgid "Password reset" +msgstr "Zresetuj hasło" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Twoje hasło zostało ustawione. Możesz się teraz zalogować." + +msgid "Password reset confirmation" +msgstr "Potwierdzenie zresetowania hasła" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Podaj dwukrotnie nowe hasło, by można było zweryfikować, czy zostało wpisane " +"poprawnie." + +msgid "New password:" +msgstr "Nowe hasło:" + +msgid "Confirm password:" +msgstr "Potwierdź hasło:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Link pozwalający na reset hasła jest niepoprawny - być może dlatego, że " +"został już raz użyty. Możesz ponownie zażądać zresetowania hasła." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Instrukcja pozwalająca ustawić nowe hasło dla podanego adresu e-mail została " +"wysłana. Niebawem powinna się pojawić na twoim koncie pocztowym." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"W przypadku nieotrzymania wiadomości e-mail: upewnij się czy adres " +"wprowadzony jest zgodny z tym podanym podczas rejestracji i sprawdź " +"zawartość folderu SPAM na swoim koncie." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Otrzymujesz tę wiadomość, gdyż skorzystano z opcji resetu hasła dla Twojego " +"konta na stronie %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "" +"Aby wprowadzić nowe hasło, proszę przejść na stronę, której adres widnieje " +"poniżej:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Twoja nazwa użytkownika, na wypadek, gdybyś zapomniał(a):" + +msgid "Thanks for using our site!" +msgstr "Dzięki za korzystanie z naszej strony!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Zespół %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Nie pamiętasz swojego hasła? Wprowadź w poniższym polu swój adres e-mail, a " +"wyślemy ci instrukcję opisującą sposób ustawienia nowego hasła." + +msgid "Email address:" +msgstr "Adres e-mail:" + +msgid "Reset my password" +msgstr "Zresetuj moje hasło" + +msgid "Select all objects on this page for an action" +msgstr "Wybierz wszystkie obiekty na tej stronie do wykonania akcji" + +msgid "All dates" +msgstr "Wszystkie daty" + +#, python-format +msgid "Select %s" +msgstr "Wybierz %s" + +#, python-format +msgid "Select %s to change" +msgstr "Wybierz %s do zmiany" + +#, python-format +msgid "Select %s to view" +msgstr "Wybierz %s do obejrzenia" + +msgid "Date:" +msgstr "Data:" + +msgid "Time:" +msgstr "Czas:" + +msgid "Lookup" +msgstr "Szukaj" + +msgid "Currently:" +msgstr "Aktualny:" + +msgid "Change:" +msgstr "Zmień:" diff --git a/external_sources/django/django/contrib/admin/locale/pl/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/pl/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..7b9641c --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/pl/LC_MESSAGES/djangojs.po @@ -0,0 +1,356 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# angularcircle, 2011 +# Darek, 2022 +# Jannis Leidel , 2011 +# Janusz Harkot , 2014-2015 +# 0d5641585fd67fbdb97037c19ab83e4c_18c98b0 , 2011 +# Maciej Olko , 2016,2018,2020 +# Maciej Olko , 2023 +# Mariusz Felisiak , 2021,2023 +# Roman Barczyński, 2012 +# Tomasz Kajtoch , 2016-2017 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 15:04-0300\n" +"PO-Revision-Date: 2023-12-04 07:59+0000\n" +"Last-Translator: Mariusz Felisiak , 2021,2023\n" +"Language-Team: Polish (http://app.transifex.com/django/django/language/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=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" + +#, javascript-format +msgid "Available %s" +msgstr "Dostępne %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"To lista dostępnych %s. Aby wybrać pozycje, zaznacz je i kliknij strzałkę " +"„Wybierz” pomiędzy listami." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Wpisz coś tutaj, aby wyfiltrować listę dostępnych %s." + +msgid "Filter" +msgstr "Filtr" + +msgid "Choose all" +msgstr "Wybierz wszystkie" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Kliknij, aby wybrać jednocześnie wszystkie %s." + +msgid "Choose" +msgstr "Wybierz" + +msgid "Remove" +msgstr "Usuń" + +#, javascript-format +msgid "Chosen %s" +msgstr "Wybrane %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"To lista wybranych %s. Aby usunąć, zaznacz pozycje wybrane do usunięcia i " +"kliknij strzałkę „Usuń” pomiędzy listami." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "Wpisz coś tutaj, aby wyfiltrować listę wybranych %s." + +msgid "Remove all" +msgstr "Usuń wszystkie" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Kliknij, aby usunąć jednocześnie wszystkie wybrane %s." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%s wybrana opcja jest ukryta" +msgstr[1] "%s wybrane opcje są ukryte" +msgstr[2] "%s wybranych opcji jest ukrytych" +msgstr[3] "%s wybranych opcji jest ukrytych" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "Wybrano %(sel)s z %(cnt)s" +msgstr[1] "Wybrano %(sel)s z %(cnt)s" +msgstr[2] "Wybrano %(sel)s z %(cnt)s" +msgstr[3] "Wybrano %(sel)s z %(cnt)s" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Zmiany w niektórych polach nie zostały zachowane. Po wykonaniu akcji, zmiany " +"te zostaną utracone." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Wybrano akcję, lecz część zmian w polach nie została zachowana. Kliknij OK, " +"aby zapisać. Aby wykonać akcję, należy ją ponownie uruchomić." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Wybrano akcję, lecz nie dokonano żadnych zmian w polach. Prawdopodobnie " +"szukasz przycisku „Wykonaj”, a nie „Zapisz”." + +msgid "Now" +msgstr "Teraz" + +msgid "Midnight" +msgstr "Północ" + +msgid "6 a.m." +msgstr "6 rano" + +msgid "Noon" +msgstr "Południe" + +msgid "6 p.m." +msgstr "6 po południu" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" +"Uwaga: Czas lokalny jest przesunięty o %s godzinę do przodu w stosunku do " +"czasu serwera." +msgstr[1] "" +"Uwaga: Czas lokalny jest przesunięty o %s godziny do przodu w stosunku do " +"czasu serwera." +msgstr[2] "" +"Uwaga: Czas lokalny jest przesunięty o %s godzin do przodu w stosunku do " +"czasu serwera." +msgstr[3] "" +"Uwaga: Czas lokalny jest przesunięty o %s godzin do przodu w stosunku do " +"czasu serwera." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +"Uwaga: Czas lokalny jest przesunięty o %s godzinę do tyłu w stosunku do " +"czasu serwera." +msgstr[1] "" +"Uwaga: Czas lokalny jest przesunięty o %s godziny do tyłu w stosunku do " +"czasu serwera." +msgstr[2] "" +"Uwaga: Czas lokalny jest przesunięty o %s godzin do tyłu w stosunku do czasu " +"serwera." +msgstr[3] "" +"Uwaga: Czas lokalny jest przesunięty o %s godzin do tyłu w stosunku do czasu " +"serwera." + +msgid "Choose a Time" +msgstr "Wybierz Czas" + +msgid "Choose a time" +msgstr "Wybierz czas" + +msgid "Cancel" +msgstr "Anuluj" + +msgid "Today" +msgstr "Dzisiaj" + +msgid "Choose a Date" +msgstr "Wybierz Datę" + +msgid "Yesterday" +msgstr "Wczoraj" + +msgid "Tomorrow" +msgstr "Jutro" + +msgid "January" +msgstr "Styczeń" + +msgid "February" +msgstr "Luty" + +msgid "March" +msgstr "Marzec" + +msgid "April" +msgstr "Kwiecień" + +msgid "May" +msgstr "Maj" + +msgid "June" +msgstr "Czerwiec" + +msgid "July" +msgstr "Lipiec" + +msgid "August" +msgstr "Sierpień" + +msgid "September" +msgstr "Wrzesień" + +msgid "October" +msgstr "Październik" + +msgid "November" +msgstr "Listopad" + +msgid "December" +msgstr "Grudzień" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Sty" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Lut" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Mar" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Kwi" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "Maj" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Cze" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Lip" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Sie" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Wrz" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Paź" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Lis" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Gru" + +msgid "Sunday" +msgstr "Niedziela" + +msgid "Monday" +msgstr "Poniedziałek" + +msgid "Tuesday" +msgstr "Wtorek" + +msgid "Wednesday" +msgstr "Środa" + +msgid "Thursday" +msgstr "Czwartek" + +msgid "Friday" +msgstr "Piątek" + +msgid "Saturday" +msgstr "Sobota" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "Nd" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "Pon" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "Wt" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "Śr" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "Czw" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "Pt" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "So" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "N" + +msgctxt "one letter Monday" +msgid "M" +msgstr "P" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "W" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "Ś" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "C" + +msgctxt "one letter Friday" +msgid "F" +msgstr "P" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "S" + +msgid "Show" +msgstr "Pokaż" + +msgid "Hide" +msgstr "Ukryj" diff --git a/external_sources/django/django/contrib/admin/locale/pt/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/pt/LC_MESSAGES/django.po new file mode 100644 index 0000000..3451a0e --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/pt/LC_MESSAGES/django.po @@ -0,0 +1,792 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# emansije , 2023 +# Henrique Azevedo , 2018,2023 +# Jannis Leidel , 2011 +# jorgecarleitao , 2015 +# Nuno Mariz , 2013,2015,2017-2018,2023 +# 12574c6d66324e145c1d19e02acecb73_84badd8 <4e8d94859927eab3b50486d21249c068_5346>, 2011 +# Raúl Pedro Fernandes Santos, 2014 +# Rui Dinis Silva, 2017 +# Sofia Matias, 2023 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 11:41-0300\n" +"PO-Revision-Date: 2023-12-04 07:05+0000\n" +"Last-Translator: emansije , 2023\n" +"Language-Team: Portuguese (http://app.transifex.com/django/django/language/" +"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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Remover %(verbose_name_plural)s selecionados" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Foram removidos com sucesso %(count)d %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Não é possível remover %(name)s " + +msgid "Are you sure?" +msgstr "Tem a certeza?" + +msgid "Administration" +msgstr "Administração" + +msgid "All" +msgstr "Todos" + +msgid "Yes" +msgstr "Sim" + +msgid "No" +msgstr "Não" + +msgid "Unknown" +msgstr "Desconhecido" + +msgid "Any date" +msgstr "Qualquer data" + +msgid "Today" +msgstr "Hoje" + +msgid "Past 7 days" +msgstr "Últimos 7 dias" + +msgid "This month" +msgstr "Este mês" + +msgid "This year" +msgstr "Este ano" + +msgid "No date" +msgstr "Sem data" + +msgid "Has date" +msgstr "Tem data" + +msgid "Empty" +msgstr "Vazio" + +msgid "Not empty" +msgstr "Não está vazio" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Por favor introduza o %(username)s e password corretos para a conta de " +"equipa. Tenha em atenção às maiúsculas e minúsculas." + +msgid "Action:" +msgstr "Ação:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Adicionar outro %(verbose_name)s" + +msgid "Remove" +msgstr "Remover" + +msgid "Addition" +msgstr "Adição" + +msgid "Change" +msgstr "Modificar" + +msgid "Deletion" +msgstr "Eliminação" + +msgid "action time" +msgstr "hora da ação" + +msgid "user" +msgstr "utilizador" + +msgid "content type" +msgstr "tipo de conteúdo" + +msgid "object id" +msgstr "id do objeto" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "repr do objeto" + +msgid "action flag" +msgstr "flag de ação" + +msgid "change message" +msgstr "modificar mensagem" + +msgid "log entry" +msgstr "entrada de log" + +msgid "log entries" +msgstr "entradas de log" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Adicionado \"%(object)s\"" + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Modificado \"%(object)s\" — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Removido \"%(object)s.\"" + +msgid "LogEntry Object" +msgstr "Objeto LogEntry" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Adicionado {name} \"{object}\"" + +msgid "Added." +msgstr "Adicionado." + +msgid "and" +msgstr "e" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Alterado {fields} para {name} “{object}”." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Foi modificado {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Removido {name} \"{object}\"" + +msgid "No fields changed." +msgstr "Nenhum campo foi modificado." + +msgid "None" +msgstr "Nenhum" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Mantenha premida a tecla “Control”, ou “Command” no Mac, para selecionar " +"mais do que uma." + +msgid "Select this object for an action - {}" +msgstr "Selecionar este objecto para uma ação - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "O {name} “{obj}” foi adicionado com sucesso." + +msgid "You may edit it again below." +msgstr "Pode editar novamente abaixo." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"O {name} “{obj}” foi adicionado com sucesso. Pode adicionar outro {name} " +"abaixo." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"O {name} “{obj}” foi adicionado com sucesso. Pode editar novamente abaixo." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "" +"O {name} “{obj}” foi adicionado com sucesso. Pode editar novamente abaixo. " + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"O {name} “{obj}” foi alterado com sucesso. Pode adicionar outro {name} " +"abaixo." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "O {name} “{obj}” foi alterado com sucesso." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Os itens devem ser selecionados de forma a efectuar ações sobre eles. Nenhum " +"item foi modificado." + +msgid "No action selected." +msgstr "Nenhuma ação selecionada." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "O %(name)s “%(obj)s” foi apagado com sucesso." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "%(name)s com o ID “%(key)s” não existe. Talvez tenha sido apagado?" + +#, python-format +msgid "Add %s" +msgstr "Adicionar %s" + +#, python-format +msgid "Change %s" +msgstr "Modificar %s" + +#, python-format +msgid "View %s" +msgstr "View %s " + +msgid "Database error" +msgstr "Erro de base de dados" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s foi modificado com sucesso." +msgstr[1] "%(count)s %(name)s foram modificados com sucesso." +msgstr[2] "%(count)s %(name)s foram modificados com sucesso." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s selecionado" +msgstr[1] "Todos %(total_count)s selecionados" +msgstr[2] "Todos %(total_count)s selecionados" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 de %(cnt)s selecionados" + +#, python-format +msgid "Change history: %s" +msgstr "Histórico de modificações: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Remover %(class_name)s %(instance)s exigiria a remoção dos seguintes objetos " +"relacionados protegidos: %(related_objects)s" + +msgid "Django site admin" +msgstr "Site de administração do Django" + +msgid "Django administration" +msgstr "Administração do Django" + +msgid "Site administration" +msgstr "Administração do site" + +msgid "Log in" +msgstr "Entrar" + +#, python-format +msgid "%(app)s administration" +msgstr "Administração de %(app)s" + +msgid "Page not found" +msgstr "Página não encontrada" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Pedimos desculpa mas a página solicitada não foi encontrada. " + +msgid "Home" +msgstr "Início" + +msgid "Server error" +msgstr "Erro do servidor" + +msgid "Server error (500)" +msgstr "Erro do servidor (500)" + +msgid "Server Error (500)" +msgstr "Erro do servidor (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Ocorreu um erro. Foi comunicado por email aos administradores da página e " +"deverá ser corrigido em breve. Obrigado pela sua compreensão. " + +msgid "Run the selected action" +msgstr "Executar a acção selecionada" + +msgid "Go" +msgstr "Ir" + +msgid "Click here to select the objects across all pages" +msgstr "Clique aqui para selecionar os objetos em todas as páginas" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Selecionar todos %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Remover seleção" + +msgid "Breadcrumbs" +msgstr "Marcas de navegação" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Modelos na aplicação %(name)s" + +msgid "Add" +msgstr "Adicionar" + +msgid "View" +msgstr "View" + +msgid "You don’t have permission to view or edit anything." +msgstr "Não tem permissões para visualizar ou editar nada. " + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Primeiro, introduza o nome de utilizador e senha. Depois, poderá editar " +"mais opções de utilizador. " + +msgid "Enter a username and password." +msgstr "Introduza o utilizador e palavra-passe." + +msgid "Change password" +msgstr "Modificar palavra-passe" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Por favor, corrija o erro abaixo" +msgstr[1] "Por favor, corrija os erros abaixo." +msgstr[2] "Por favor, corrija os erros abaixo." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"Introduza uma nova palavra-passe para o utilizador %(username)s." + +msgid "Skip to main content" +msgstr "Ir para o conteúdo principal" + +msgid "Welcome," +msgstr "Bem-vindo," + +msgid "View site" +msgstr "Ver site" + +msgid "Documentation" +msgstr "Documentação" + +msgid "Log out" +msgstr "Sair" + +#, python-format +msgid "Add %(name)s" +msgstr "Adicionar %(name)s" + +msgid "History" +msgstr "História" + +msgid "View on site" +msgstr "Ver no site" + +msgid "Filter" +msgstr "Filtro" + +msgid "Hide counts" +msgstr "Ocultar contagem" + +msgid "Show counts" +msgstr "Mostrar contagem" + +msgid "Clear all filters" +msgstr "Limpar todos os filtros" + +msgid "Remove from sorting" +msgstr "Remover da ordenação" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Prioridade de ordenação: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Altenar ordenação" + +msgid "Toggle theme (current theme: auto)" +msgstr "Mudar tema (tema corrente: auto)" + +msgid "Toggle theme (current theme: light)" +msgstr "Mudar tema (tema corrente: claro)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Mudar tema (tema corrente: escuro)" + +msgid "Delete" +msgstr "Remover" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"A remoção de %(object_name)s '%(escaped_object)s' resultará na remoção dos " +"objetos relacionados, mas a sua conta não tem permissão de remoção dos " +"seguintes tipos de objetos:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Remover o %(object_name)s ' %(escaped_object)s ' exigiria a remoção dos " +"seguintes objetos protegidos relacionados:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Tem a certeza que deseja remover %(object_name)s \"%(escaped_object)s\"? " +"Todos os items relacionados seguintes irão ser removidos:" + +msgid "Objects" +msgstr "Objectos" + +msgid "Yes, I’m sure" +msgstr "Sim, tenho a certeza" + +msgid "No, take me back" +msgstr "Não, retrocede" + +msgid "Delete multiple objects" +msgstr "Remover múltiplos objetos." + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Remover o %(objects_name)s selecionado poderia resultar na remoção de " +"objetos relacionados, mas a sua conta não tem permissão para remover os " +"seguintes tipos de objetos:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Remover o %(objects_name)s selecionado exigiria remover os seguintes objetos " +"protegidos relacionados:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Tem certeza de que deseja remover %(objects_name)s selecionado? Todos os " +"objetos seguintes e seus itens relacionados serão removidos:" + +msgid "Delete?" +msgstr "Remover?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " Por %(filter_title)s " + +msgid "Summary" +msgstr "Sumário" + +msgid "Recent actions" +msgstr "Ações recentes" + +msgid "My actions" +msgstr "As minhas ações" + +msgid "None available" +msgstr "Nenhum disponível" + +msgid "Added:" +msgstr "Adicionado:" + +msgid "Changed:" +msgstr "Alterado:" + +msgid "Deleted:" +msgstr "Apagado:" + +msgid "Unknown content" +msgstr "Conteúdo desconhecido" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Há algo de errado com a instalação da base de dados. Certifique-se de que as " +"tabelas adequadas da base de dados foram criadas e de que a base de dados " +"pode ser lida pelo utilizador adequado." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Está autenticado como %(username)s, mas não está autorizado a aceder a esta " +"página. Deseja autenticar-se com uma conta diferente?" + +msgid "Forgotten your password or username?" +msgstr "Esqueceu-se da sua palavra-passe ou utilizador?" + +msgid "Toggle navigation" +msgstr "Alternar navegação" + +msgid "Sidebar" +msgstr "Barra lateral" + +msgid "Start typing to filter…" +msgstr "Começe a digitar para filtrar…" + +msgid "Filter navigation items" +msgstr "Filtrar itens de navegação" + +msgid "Date/time" +msgstr "Data/hora" + +msgid "User" +msgstr "Utilizador" + +msgid "Action" +msgstr "Ação" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "entrada" +msgstr[1] "entradas" +msgstr[2] "entradas" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Este objeto não tem um histórico de alterações. Provavelmente não foi " +"adicionado através da página de administração." + +msgid "Show all" +msgstr "Mostrar todos" + +msgid "Save" +msgstr "Gravar" + +msgid "Popup closing…" +msgstr "Encerramento de popup…" + +msgid "Search" +msgstr "Pesquisar" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s resultado" +msgstr[1] "%(counter)s resultados" +msgstr[2] "%(counter)s resultados" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s no total" + +msgid "Save as new" +msgstr "Gravar como novo" + +msgid "Save and add another" +msgstr "Gravar e adicionar outro" + +msgid "Save and continue editing" +msgstr "Gravar e continuar a editar" + +msgid "Save and view" +msgstr "Gravar e ver" + +msgid "Close" +msgstr "Fechar" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Alterar %(model)s selecionado." + +#, python-format +msgid "Add another %(model)s" +msgstr "Adicionar outro %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Remover %(model)s seleccionado" + +#, python-format +msgid "View selected %(model)s" +msgstr "Vista selecionada %(model)s" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Obrigado por passar algum tempo de qualidade com a página Web hoje." + +msgid "Log in again" +msgstr "Entrar novamente" + +msgid "Password change" +msgstr "Modificação da palavra-passe" + +msgid "Your password was changed." +msgstr "A sua palavra-passe foi modificada." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Por razões de segurança, introduza a sua palavra-passe antiga e, em seguida, " +"introduza a sua nova palavra-passe duas vezes para podermos verificar se a " +"digitou corretamente." + +msgid "Change my password" +msgstr "Modificar a minha palavra-passe" + +msgid "Password reset" +msgstr "Palavra-passe de reinicialização" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "A sua palavra-passe foi atribuída. Pode entrar agora." + +msgid "Password reset confirmation" +msgstr "Confirmação da reinicialização da palavra-passe" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Por favor, introduza a sua nova palavra-passe duas vezes para verificarmos " +"se está correcta." + +msgid "New password:" +msgstr "Nova palavra-passe:" + +msgid "Confirm password:" +msgstr "Confirmação da palavra-passe:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"O endereço de reinicialização da palavra-passe é inválido, possivelmente " +"porque já foi usado. Por favor requisite uma nova reinicialização da palavra-" +"passe." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Enviámos-lhe um e-mail com instruções para definir a sua palavra-passe, caso " +"exista uma conta com o e-mail que introduziu. Deverá recebê-las em breve." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Se não receber uma mensagem de correio eletrónico, certifique-se de que " +"introduziu o endereço com que se registou e verifique a sua pasta de spam." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Está a receber este email porque pediu para redefinir a palavra-chave para o " +"seu utilizador no site %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Por favor siga a seguinte página e escolha a sua nova palavra-passe:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Seu nome de utilizador, caso se tenha esquecido:" + +msgid "Thanks for using our site!" +msgstr "Obrigado pela sua visita ao nosso site!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "A equipa do %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Esqueceu-se da sua palavra-passe? Introduza o seu endereço de correio " +"eletrónico abaixo e enviar-lhe-emos instruções para definir uma nova palavra-" +"passe." + +msgid "Email address:" +msgstr "Endereço de email:" + +msgid "Reset my password" +msgstr "Reinicializar a minha palavra-passe" + +msgid "Select all objects on this page for an action" +msgstr "Marque todos os itens nesta página para executar uma operação" + +msgid "All dates" +msgstr "Todas as datas" + +#, python-format +msgid "Select %s" +msgstr "Selecionar %s" + +#, python-format +msgid "Select %s to change" +msgstr "Selecione %s para modificar" + +#, python-format +msgid "Select %s to view" +msgstr "Selecione %s para ver" + +msgid "Date:" +msgstr "Data:" + +msgid "Time:" +msgstr "Hora:" + +msgid "Lookup" +msgstr "Procurar" + +msgid "Currently:" +msgstr "Atualmente:" + +msgid "Change:" +msgstr "Modificar:" diff --git a/external_sources/django/django/contrib/admin/locale/pt/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/pt/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..7b37cad --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/pt/LC_MESSAGES/djangojs.po @@ -0,0 +1,331 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel , 2011 +# Nuno Mariz , 2011-2012,2015,2017,2023 +# 12574c6d66324e145c1d19e02acecb73_84badd8 <4e8d94859927eab3b50486d21249c068_5346>, 2011 +# Raúl Pedro Fernandes Santos, 2014 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 15:04-0300\n" +"PO-Revision-Date: 2023-12-04 07:59+0000\n" +"Last-Translator: Nuno Mariz , 2011-2012,2015,2017,2023\n" +"Language-Team: Portuguese (http://app.transifex.com/django/django/language/" +"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" + +#, javascript-format +msgid "Available %s" +msgstr "Disponível %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Esta é a lista de %s disponíveis. Poderá escolher alguns, selecionando-os na " +"caixa abaixo e clicando na seta \"Escolher\" entre as duas caixas." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Digite nesta caixa para filtrar a lista de %s disponíveis." + +msgid "Filter" +msgstr "Filtrar" + +msgid "Choose all" +msgstr "Escolher todos" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Clique para escolher todos os %s de uma vez." + +msgid "Choose" +msgstr "Escolher" + +msgid "Remove" +msgstr "Remover" + +#, javascript-format +msgid "Chosen %s" +msgstr "Escolhido %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Esta é a lista de %s escolhidos. Poderá remover alguns, selecionando-os na " +"caixa abaixo e clicando na seta \"Remover\" entre as duas caixas." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "" + +msgid "Remove all" +msgstr "Remover todos" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Clique para remover todos os %s escolhidos de uma vez." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s de %(cnt)s selecionado" +msgstr[1] "%(sel)s de %(cnt)s selecionados" +msgstr[2] "%(sel)s de %(cnt)s selecionados" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Tem mudanças por guardar nos campos individuais. Se usar uma ação, as suas " +"mudanças por guardar serão perdidas." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" + +msgid "Now" +msgstr "Agora" + +msgid "Midnight" +msgstr "Meia-noite" + +msgid "6 a.m." +msgstr "6 a.m." + +msgid "Noon" +msgstr "Meio-dia" + +msgid "6 p.m." +msgstr "6 p.m." + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" +"Nota: O seu fuso horário está %s hora adiantado em relação ao servidor." +msgstr[1] "" +"Nota: O seu fuso horário está %s horas adiantado em relação ao servidor." +msgstr[2] "" +"Nota: O seu fuso horário está %s horas adiantado em relação ao servidor." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +"Nota: O use fuso horário está %s hora atrasado em relação ao servidor." +msgstr[1] "" +"Nota: O use fuso horário está %s horas atrasado em relação ao servidor." +msgstr[2] "" +"Nota: O use fuso horário está %s horas atrasado em relação ao servidor." + +msgid "Choose a Time" +msgstr "Escolha a Hora" + +msgid "Choose a time" +msgstr "Escolha a hora" + +msgid "Cancel" +msgstr "Cancelar" + +msgid "Today" +msgstr "Hoje" + +msgid "Choose a Date" +msgstr "Escolha a Data" + +msgid "Yesterday" +msgstr "Ontem" + +msgid "Tomorrow" +msgstr "Amanhã" + +msgid "January" +msgstr "Janeiro" + +msgid "February" +msgstr "Fevereiro" + +msgid "March" +msgstr "Março" + +msgid "April" +msgstr "Abril" + +msgid "May" +msgstr "Maio" + +msgid "June" +msgstr "Junho" + +msgid "July" +msgstr "Julho" + +msgid "August" +msgstr "Agosto" + +msgid "September" +msgstr "Setembro" + +msgid "October" +msgstr "Outubro" + +msgid "November" +msgstr "Novembro" + +msgid "December" +msgstr "Dezembro" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Jan" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Fev" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Mar" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Abr" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "Mai" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Jun" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Jul" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Ago" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Set" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Out" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Nov" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Dez" + +msgid "Sunday" +msgstr "Domingo" + +msgid "Monday" +msgstr "Segunda-feira" + +msgid "Tuesday" +msgstr "Terça-feira" + +msgid "Wednesday" +msgstr "Quarta-feira" + +msgid "Thursday" +msgstr "Quinta-feira" + +msgid "Friday" +msgstr "Sexta-feira" + +msgid "Saturday" +msgstr "Sábado" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "Dom" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "Seg" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "Ter" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "Qua" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "Qui" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "Sex" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "Sáb" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "D" + +msgctxt "one letter Monday" +msgid "M" +msgstr "S" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "T" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "Q" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "Q" + +msgctxt "one letter Friday" +msgid "F" +msgstr "S" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "S" + +msgid "Show" +msgstr "Mostrar" + +msgid "Hide" +msgstr "Ocultar" diff --git a/external_sources/django/django/contrib/admin/locale/pt_BR/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/pt_BR/LC_MESSAGES/django.po new file mode 100644 index 0000000..8318b37 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/pt_BR/LC_MESSAGES/django.po @@ -0,0 +1,821 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Allisson Azevedo , 2014 +# Bruce de Sá , 2019 +# bruno.devpod , 2014 +# Carlos Cadu “Cadu” Leite , 2019 +# Carlos Cadu “Cadu” Leite , 2019 +# Filipe Cifali , 2016 +# dudanogueira , 2012 +# Eduardo Felipe Castegnaro , 2024 +# Elyézer Rezende , 2013 +# Fábio C. Barrionuevo da Luz , 2015 +# Fabio Cerqueira , 2019 +# Francisco Petry Rauber , 2016 +# Gabriel da Mota , 2023 +# Gladson , 2013 +# Guilherme Ferreira , 2017 +# fa9e10542e458baef0599ae856e43651_13d2225, 2012-2013 +# Jannis Leidel , 2011 +# João Paulo Andrade , 2018 +# Jonas Rodrigues, 2023 +# Lucas Infante , 2015 +# Luiz Boaretto , 2017 +# Marssal Jr. , 2022 +# Marcelo Moro Brondani , 2018 +# Marco Rougeth , 2015 +# Otávio Reis , 2018 +# Raysa Dutra, 2016 +# R.J Lelis , 2019 +# Samuel Nogueira Bacelar , 2020 +# Sergio Garcia , 2015 +# Tomaz Marcelino Cunha Neto , 2022 +# Vinícius Damaceno , 2019 +# Vinícius Muniz de Melo , 2019 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 07:05+0000\n" +"Last-Translator: Eduardo Felipe Castegnaro , 2024\n" +"Language-Team: Portuguese (Brazil) (http://app.transifex.com/django/django/" +"language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Remover %(verbose_name_plural)s selecionados" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Removido %(count)d %(items)s com sucesso." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Não é possível remover %(name)s " + +msgid "Are you sure?" +msgstr "Tem certeza?" + +msgid "Administration" +msgstr "Administração" + +msgid "All" +msgstr "Todos" + +msgid "Yes" +msgstr "Sim" + +msgid "No" +msgstr "Não" + +msgid "Unknown" +msgstr "Desconhecido" + +msgid "Any date" +msgstr "Qualquer data" + +msgid "Today" +msgstr "Hoje" + +msgid "Past 7 days" +msgstr "Últimos 7 dias" + +msgid "This month" +msgstr "Este mês" + +msgid "This year" +msgstr "Este ano" + +msgid "No date" +msgstr "Sem data" + +msgid "Has date" +msgstr "Tem data" + +msgid "Empty" +msgstr "Vazio" + +msgid "Not empty" +msgstr "Não está vazio" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Por favor, insira um %(username)s e senha corretos para uma conta de equipe. " +"Note que ambos campos são sensíveis a maiúsculas e minúsculas." + +msgid "Action:" +msgstr "Ação:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Adicionar outro(a) %(verbose_name)s" + +msgid "Remove" +msgstr "Remover" + +msgid "Addition" +msgstr "Adição" + +msgid "Change" +msgstr "Modificar" + +msgid "Deletion" +msgstr "Remoção" + +msgid "action time" +msgstr "hora da ação" + +msgid "user" +msgstr "usuário" + +msgid "content type" +msgstr "tipo de conteúdo" + +msgid "object id" +msgstr "id do objeto" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "repr do objeto" + +msgid "action flag" +msgstr "flag de ação" + +msgid "change message" +msgstr "modificar mensagem" + +msgid "log entry" +msgstr "entrada de log" + +msgid "log entries" +msgstr "entradas de log" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Adicionado “%(object)s”." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Alterado “%(object)s” — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Removido “%(object)s.”" + +msgid "LogEntry Object" +msgstr "Objeto LogEntry" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Adicionado {name} “{object}”." + +msgid "Added." +msgstr "Adicionado." + +msgid "and" +msgstr "e" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Alterado {fields} para {name} “{object}”." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Alterado {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Removido {name} “{object}”." + +msgid "No fields changed." +msgstr "Nenhum campo modificado." + +msgid "None" +msgstr "Nenhum" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "Pressione “Control”, ou “Command” no Mac, para selecionar mais de um." + +msgid "Select this object for an action - {}" +msgstr "Selecione esse objeto para uma ação - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "O {name} “{obj}” foi adicionado com sucesso." + +msgid "You may edit it again below." +msgstr "Você pode editá-lo novamente abaixo." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"O {name} “{obj}” foi adicionado com sucesso. Você pode adicionar outro " +"{name} abaixo." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"O {name} “{obj}” foi alterado com sucesso. Você pode alterá-lo novamente " +"abaixo." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"O {name} “{obj}” foi alterado com sucesso. Você talvez adicione outro " +"{name} abaixo." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "O {name} “{obj}” foi alterado com sucesso." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Os itens devem ser selecionados em ordem a fim de executar ações sobre eles. " +"Nenhum item foi modificado." + +msgid "No action selected." +msgstr "Nenhuma ação selecionada." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "O %(name)s “%(obj)s” foi removido com sucesso." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "O %(name)s com ID “%(key)s” não existe. Talvez tenha sido removido." + +#, python-format +msgid "Add %s" +msgstr "Adicionar %s" + +#, python-format +msgid "Change %s" +msgstr "Modificar %s" + +#, python-format +msgid "View %s" +msgstr "Visualizar %s" + +msgid "Database error" +msgstr "Erro no banco de dados" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s modificado com sucesso." +msgstr[1] "%(count)s %(name)s modificados com sucesso." +msgstr[2] "%(count)s %(name)s modificados com sucesso." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s selecionado" +msgstr[1] "Todos %(total_count)s selecionados" +msgstr[2] "Todos %(total_count)s selecionados" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 de %(cnt)s selecionados" + +#, python-format +msgid "Change history: %s" +msgstr "Histórico de modificações: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Remover o %(class_name)s %(instance)s exigiria remover os seguintes objetos " +"protegidos relacionados: %(related_objects)s" + +msgid "Django site admin" +msgstr "Site de administração do Django" + +msgid "Django administration" +msgstr "Administração do Django" + +msgid "Site administration" +msgstr "Administração do Site" + +msgid "Log in" +msgstr "Acessar" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s administração" + +msgid "Page not found" +msgstr "Página não encontrada" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Lamentamos, mas a página requisitada não pode ser encontrada." + +msgid "Home" +msgstr "Início" + +msgid "Server error" +msgstr "Erro no servidor" + +msgid "Server error (500)" +msgstr "Erro no servidor (500)" + +msgid "Server Error (500)" +msgstr "Erro no Servidor (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Ocorreu um erro. Este foi reportado para os administradores do site via " +"email e deve ser corrigido logo. Obirgado por sua paciência." + +msgid "Run the selected action" +msgstr "Executar ação selecionada" + +msgid "Go" +msgstr "Ir" + +msgid "Click here to select the objects across all pages" +msgstr "Clique aqui para selecionar os objetos de todas as páginas" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Selecionar todos %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Limpar seleção" + +msgid "Breadcrumbs" +msgstr "Marcas de navegação" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Modelos na aplicação %(name)s" + +msgid "Add" +msgstr "Adicionar" + +msgid "View" +msgstr "Visualizar" + +msgid "You don’t have permission to view or edit anything." +msgstr "Você não tem permissão para ver ou editar nada." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Primeiro, informe um nome de usuário e senha. Então, você poderá editar " +"outras opções do usuário." + +msgid "Enter a username and password." +msgstr "Digite um nome de usuário e senha." + +msgid "Change password" +msgstr "Alterar senha" + +msgid "Set password" +msgstr "Definir senha" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Por favor corrija o erro abaixo." +msgstr[1] "Por favor corrija os erros abaixo." +msgstr[2] "Por favor corrija os erros abaixo." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Informe uma nova senha para o usuário %(username)s." + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "" +"Esta ação irá habilitarautenticação baseada em senha para " +"este usuário." + +msgid "Disable password-based authentication" +msgstr "Desabilitar autenticação baseada em senha" + +msgid "Enable password-based authentication" +msgstr "Habilitar autenticação baseada em senha" + +msgid "Skip to main content" +msgstr "Ir para o conteúdo principal" + +msgid "Welcome," +msgstr "Bem-vindo(a)," + +msgid "View site" +msgstr "Ver o site" + +msgid "Documentation" +msgstr "Documentação" + +msgid "Log out" +msgstr "Encerrar sessão" + +#, python-format +msgid "Add %(name)s" +msgstr "Adicionar %(name)s" + +msgid "History" +msgstr "Histórico" + +msgid "View on site" +msgstr "Ver no site" + +msgid "Filter" +msgstr "Filtro" + +msgid "Hide counts" +msgstr "Esconder contagem" + +msgid "Show counts" +msgstr "Mostrar contagem" + +msgid "Clear all filters" +msgstr "Limpar todos os filtros" + +msgid "Remove from sorting" +msgstr "Remover da ordenação" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Prioridade da ordenação: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Alternar ordenção" + +msgid "Toggle theme (current theme: auto)" +msgstr "Alternar tema (tema atual: automático)" + +msgid "Toggle theme (current theme: light)" +msgstr "Alternar tema (tema atual: claro)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Alternar tema (tema atual: escuro)" + +msgid "Delete" +msgstr "Remover" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"A remoção de '%(object_name)s' %(escaped_object)s pode resultar na remoção " +"de objetos relacionados, mas sua conta não tem a permissão para remoção dos " +"seguintes tipos de objetos:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Remover o %(object_name)s ' %(escaped_object)s ' exigiria remover os " +"seguintes objetos protegidos relacionados:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Você tem certeza que quer remover %(object_name)s \"%(escaped_object)s\"? " +"Todos os seguintes itens relacionados serão removidos:" + +msgid "Objects" +msgstr "Objetos" + +msgid "Yes, I’m sure" +msgstr "Sim, eu tenho certeza" + +msgid "No, take me back" +msgstr "Não, me leve de volta" + +msgid "Delete multiple objects" +msgstr "Remover múltiplos objetos" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Remover o %(objects_name)s selecionado pode resultar na remoção de objetos " +"relacionados, mas sua conta não tem permissão para remover os seguintes " +"tipos de objetos:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Remover o %(objects_name)s selecionado exigiria remover os seguintes objetos " +"relacionados protegidos:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Tem certeza de que deseja remover o %(objects_name)s selecionado? Todos os " +"seguintes objetos e seus itens relacionados serão removidos:" + +msgid "Delete?" +msgstr "Remover?" + +#, python-format +msgid " By %(filter_title)s " +msgstr "Por %(filter_title)s " + +msgid "Summary" +msgstr "Resumo" + +msgid "Recent actions" +msgstr "Ações recentes" + +msgid "My actions" +msgstr "Minhas Ações" + +msgid "None available" +msgstr "Nenhum disponível" + +msgid "Added:" +msgstr "Adicionado:" + +msgid "Changed:" +msgstr "Alterado:" + +msgid "Deleted:" +msgstr "Removido:" + +msgid "Unknown content" +msgstr "Conteúdo desconhecido" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Alguma coisa está errada com sua estalação do banco de dados. Certifique-se " +"que as tabelas apropriadas foram criadas, e certifique-se que o banco de " +"dados pode ser acessado pelo usuário apropriado." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Você está autenticado como %(username)s, mas não está autorizado a acessar " +"esta página. Você gostaria de realizar login com uma conta diferente?" + +msgid "Forgotten your password or username?" +msgstr "Esqueceu sua senha ou nome de usuário?" + +msgid "Toggle navigation" +msgstr "Alternar navegação" + +msgid "Sidebar" +msgstr "Barra Lateral" + +msgid "Start typing to filter…" +msgstr "Comece a digitar para filtrar…" + +msgid "Filter navigation items" +msgstr "Filtrar itens de navegação" + +msgid "Date/time" +msgstr "Data/hora" + +msgid "User" +msgstr "Usuário" + +msgid "Action" +msgstr "Ação" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "entrada" +msgstr[1] "entradas" +msgstr[2] "entradas" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Este objeto não tem histórico de alterações. Provavelmente não adicionado " +"por este site de administração." + +msgid "Show all" +msgstr "Mostrar tudo" + +msgid "Save" +msgstr "Salvar" + +msgid "Popup closing…" +msgstr "Popup fechando…" + +msgid "Search" +msgstr "Pesquisar" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s resultado" +msgstr[1] "%(counter)s resultados" +msgstr[2] "%(counter)s resultados" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s total" + +msgid "Save as new" +msgstr "Salvar como novo" + +msgid "Save and add another" +msgstr "Salvar e adicionar outro(a)" + +msgid "Save and continue editing" +msgstr "Salvar e continuar editando" + +msgid "Save and view" +msgstr "Salvar e visualizar" + +msgid "Close" +msgstr "Fechar" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Alterar %(model)s selecionado" + +#, python-format +msgid "Add another %(model)s" +msgstr "Adicionar outro %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Remover %(model)s selecionado" + +#, python-format +msgid "View selected %(model)s" +msgstr "Visualizar %(model)s selecionados" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Obrigado por passar algum tempo de qualidade com o site hoje." + +msgid "Log in again" +msgstr "Acessar novamente" + +msgid "Password change" +msgstr "Alterar senha" + +msgid "Your password was changed." +msgstr "Sua senha foi alterada." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Informe sua senha antiga por favor, por motivos de segurança, e então " +"informe sua nova senha duas vezes para que possamos verificar se você " +"digitou tudo corretamente." + +msgid "Change my password" +msgstr "Alterar minha senha" + +msgid "Password reset" +msgstr "Recuperar senha" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Sua senha foi definida. Você pode prosseguir e se autenticar agora." + +msgid "Password reset confirmation" +msgstr "Confirmação de recuperação de senha" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Por favor, informe sua nova senha duas vezes para que possamos verificar se " +"você a digitou corretamente." + +msgid "New password:" +msgstr "Nova senha:" + +msgid "Confirm password:" +msgstr "Confirme a senha:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"O link para a recuperação de senha era inválido, possivelmente porque já foi " +"utilizado. Por favor, solicite uma nova recuperação de senha." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Nos te enviamos um email com instruções para configurar sua senha, se uma " +"conta existe com o email fornecido. Você receberá a mensagem em breve." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Se você não recebeu um email, por favor certifique-se que você forneceu o " +"endereço que você está cadastrado, e verifique sua pasta de spam." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Você está recebendo este email porque solicitou a redefinição da senha da " +"sua conta em %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Por favor, acesse a seguinte página e escolha uma nova senha:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Seu nome de usuário, caso tenha esquecido:" + +msgid "Thanks for using our site!" +msgstr "Obrigado por usar nosso site!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Equipe %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Esqueceu sua senha? Forneça seu endereço de email abaixo, e nos te " +"enviaremos um email com instruções para configurar uma nova." + +msgid "Email address:" +msgstr "Endereço de email:" + +msgid "Reset my password" +msgstr "Reinicializar minha senha" + +msgid "Select all objects on this page for an action" +msgstr "Selecione todos os objetos nessa página para uma ação" + +msgid "All dates" +msgstr "Todas as datas" + +#, python-format +msgid "Select %s" +msgstr "Selecione %s" + +#, python-format +msgid "Select %s to change" +msgstr "Selecione %s para modificar" + +#, python-format +msgid "Select %s to view" +msgstr "Selecione %s para visualizar" + +msgid "Date:" +msgstr "Data:" + +msgid "Time:" +msgstr "Hora:" + +msgid "Lookup" +msgstr "Procurar" + +msgid "Currently:" +msgstr "Atualmente:" + +msgid "Change:" +msgstr "Alterar:" diff --git a/external_sources/django/django/contrib/admin/locale/pt_BR/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/pt_BR/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..10e5080 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/pt_BR/LC_MESSAGES/djangojs.po @@ -0,0 +1,333 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Allisson Azevedo , 2014 +# andrewsmedina , 2016 +# Eduardo Cereto Carvalho, 2011 +# Eduardo Felipe Castegnaro , 2024 +# Gabriel da Mota , 2023 +# fa9e10542e458baef0599ae856e43651_13d2225, 2012 +# Jannis Leidel , 2011 +# Jonas Rodrigues, 2023 +# Lucas Infante , 2015 +# Marssal Jr. , 2022 +# Rafael Fontenelle , 2021 +# Renata Barbosa Almeida , 2016 +# Samuel Nogueira Bacelar , 2020 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 07:59+0000\n" +"Last-Translator: Eduardo Felipe Castegnaro , 2024\n" +"Language-Team: Portuguese (Brazil) (http://app.transifex.com/django/django/" +"language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "%s disponíveis" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Esta é a lista de %s disponíveis. Você pode escolhê-los(as) selecionando-" +"os(as) abaixo e clicando na seta \"Escolher\" entre as duas caixas." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Digite nessa caixa para filtrar a lista de %s disponíveis." + +msgid "Filter" +msgstr "Filtro" + +msgid "Choose all" +msgstr "Escolher todos" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Clique para escolher todos os %s de uma só vez" + +msgid "Choose" +msgstr "Escolher" + +msgid "Remove" +msgstr "Remover" + +#, javascript-format +msgid "Chosen %s" +msgstr "%s escolhido(s)" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Esta é a lista de %s disponíveis. Você pode removê-los(as) selecionando-" +"os(as) abaixo e clicando na seta \"Remover\" entre as duas caixas." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "Digite nesta caixa para filtrar a lista de selecionados %s." + +msgid "Remove all" +msgstr "Remover todos" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Clique para remover de uma só vez todos os %s escolhidos." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%s opção selecionada não visível" +msgstr[1] "%s opções selecionadas não visíveis" +msgstr[2] "%s opções selecionadas não visíveis" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s de %(cnt)s selecionado" +msgstr[1] "%(sel)s de %(cnt)s selecionados" +msgstr[2] "%(sel)s de %(cnt)s selecionados" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Você tem alterações não salvas em campos editáveis individuais. Se você " +"executar uma ação suas alterações não salvas serão perdidas." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Você selecionou uma ação, mas você ainda não salvou suas alterações nos " +"campos individuais. Por favor clique OK para salvar. você precisará de rodar " +"novamente a ação." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Você selecionou uma ação sem fazer mudanças nos campos individuais. Você " +"provavelmente está procurando pelo botão Ir ao invés do botão Salvar." + +msgid "Now" +msgstr "Agora" + +msgid "Midnight" +msgstr "Meia-noite" + +msgid "6 a.m." +msgstr "6 da manhã" + +msgid "Noon" +msgstr "Meio-dia" + +msgid "6 p.m." +msgstr "6 da tarde" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Nota: Você está %s hora à frente do horário do servidor." +msgstr[1] "Nota: Você está %s horas à frente do horário do servidor." +msgstr[2] "Nota: Você está %s horas à frente do horário do servidor." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Nota: Você está %s hora atrás do tempo do servidor." +msgstr[1] "Nota: Você está %s horas atrás do horário do servidor." +msgstr[2] "Nota: Você está %s horas atrás do horário do servidor." + +msgid "Choose a Time" +msgstr "Escolha um horário" + +msgid "Choose a time" +msgstr "Escolha uma hora" + +msgid "Cancel" +msgstr "Cancelar" + +msgid "Today" +msgstr "Hoje" + +msgid "Choose a Date" +msgstr "Escolha uma data" + +msgid "Yesterday" +msgstr "Ontem" + +msgid "Tomorrow" +msgstr "Amanhã" + +msgid "January" +msgstr "Janeiro" + +msgid "February" +msgstr "Fevereiro" + +msgid "March" +msgstr "Março" + +msgid "April" +msgstr "Abril" + +msgid "May" +msgstr "Maio" + +msgid "June" +msgstr "Junho" + +msgid "July" +msgstr "Julho" + +msgid "August" +msgstr "Agosto" + +msgid "September" +msgstr "Setembro" + +msgid "October" +msgstr "Outubro" + +msgid "November" +msgstr "Novembro" + +msgid "December" +msgstr "Dezembro" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Jan" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Fev" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Mar" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Abr" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "Mai" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Jun" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Jul" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Ago" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Set" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Out" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Nov" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Dez" + +msgid "Sunday" +msgstr "Domingo" + +msgid "Monday" +msgstr "Segunda-feira" + +msgid "Tuesday" +msgstr "Terça-feira" + +msgid "Wednesday" +msgstr "Quarta-feira" + +msgid "Thursday" +msgstr "Quinta-feira" + +msgid "Friday" +msgstr "Sexta-feira" + +msgid "Saturday" +msgstr "Sábado" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "Dom" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "Seg" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "Ter" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "Qua" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "Qui" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "Sex" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "Sáb" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "D" + +msgctxt "one letter Monday" +msgid "M" +msgstr "S" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "T" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "Q" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "Q" + +msgctxt "one letter Friday" +msgid "F" +msgstr "S" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "S" diff --git a/external_sources/django/django/contrib/admin/locale/ro/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/ro/LC_MESSAGES/django.po new file mode 100644 index 0000000..f328477 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ro/LC_MESSAGES/django.po @@ -0,0 +1,758 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Bogdan Mateescu, 2018-2019 +# Daniel Ursache-Dogariu, 2011,2022 +# Denis Darii , 2011,2014 +# Eugenol Man , 2020 +# Ionel Cristian Mărieș , 2012 +# Jannis Leidel , 2011 +# Mihai Fotea , 2020 +# Razvan Stefanescu , 2015-2017 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-01-17 02:13-0600\n" +"PO-Revision-Date: 2023-04-25 07:05+0000\n" +"Last-Translator: Daniel Ursache-Dogariu, 2011,2022\n" +"Language-Team: Romanian (http://www.transifex.com/django/django/language/" +"ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Elimină %(verbose_name_plural)s selectate" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d %(items)s șterse cu succes." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Nu se poate șterge %(name)s" + +msgid "Are you sure?" +msgstr "Sigur?" + +msgid "Administration" +msgstr "Administrare" + +msgid "All" +msgstr "Toate" + +msgid "Yes" +msgstr "Da" + +msgid "No" +msgstr "Nu" + +msgid "Unknown" +msgstr "Necunoscut" + +msgid "Any date" +msgstr "Orice dată" + +msgid "Today" +msgstr "Astăzi" + +msgid "Past 7 days" +msgstr "Ultimele 7 zile" + +msgid "This month" +msgstr "Luna aceasta" + +msgid "This year" +msgstr "Anul acesta" + +msgid "No date" +msgstr "Fără dată" + +msgid "Has date" +msgstr "Are dată" + +msgid "Empty" +msgstr "Gol" + +msgid "Not empty" +msgstr "Nu este gol" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Introduceți vă rog un %(username)s și parola corectă pentru un cont de " +"membru. De remarcat că ambele pot conține majuscule." + +msgid "Action:" +msgstr "Acțiune:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Adăugati încă un/o %(verbose_name)s" + +msgid "Remove" +msgstr "Elimină" + +msgid "Addition" +msgstr "Adăugare" + +msgid "Change" +msgstr "Schimbare" + +msgid "Deletion" +msgstr "Ștergere" + +msgid "action time" +msgstr "timp acțiune" + +msgid "user" +msgstr "utilizator" + +msgid "content type" +msgstr "tip de conținut" + +msgid "object id" +msgstr "id obiect" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "repr obiect" + +msgid "action flag" +msgstr "marcaj acțiune" + +msgid "change message" +msgstr "mesaj schimbare" + +msgid "log entry" +msgstr "intrare jurnal" + +msgid "log entries" +msgstr "intrări jurnal" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Adăugat %(object)s" + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Schimbat “%(object)s” — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Șters “%(object)s.”" + +msgid "LogEntry Object" +msgstr "Obiect LogEntry" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Adăugat {name} “{object}”." + +msgid "Added." +msgstr "Adăugat." + +msgid "and" +msgstr "și" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "{fields} schimbat pentru {name} “{object}”." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "S-au schimbat {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Șters {name} “{object}”." + +msgid "No fields changed." +msgstr "Niciun câmp modificat." + +msgid "None" +msgstr "Nimic" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "{name} \"{obj}\" a fost adăugat cu succes." + +msgid "You may edit it again below." +msgstr "Poți edita din nou mai jos." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"{name} \"{obj}\" a fost adăugat cu succes. Poți adăuga alt {name} mai jos." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"{name} \"{obj}\" a fost modificat cu succes. Poți să editezi în continuare " +"mai jos." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "" +"{name} \"{obj}\" a fost adăugat cu succes. Poți să editezi în continuare mai " +"jos." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"{name} \"{obj}\" a fost modificat cu succes. Poți adăuga alt {name} mai jos." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "{name} \"{obj}\" a fost schimbat cu succes." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Itemii trebuie selectați pentru a putea îndeplini sarcini asupra lor. Niciun " +"item nu a fost modificat." + +msgid "No action selected." +msgstr "Nicio acțiune selectată." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "" + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "Adaugă %s" + +#, python-format +msgid "Change %s" +msgstr "Schimbă %s" + +#, python-format +msgid "View %s" +msgstr "Vizualizează %s" + +msgid "Database error" +msgstr "Eroare de bază de date" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s s-a modificat cu succes." +msgstr[1] "%(count)s %(name)s s-au modificat cu succes." +msgstr[2] "%(count)s de %(name)s s-au modificat cu succes." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s selectat(ă)" +msgstr[1] "Toate %(total_count)s selectate" +msgstr[2] "Toate %(total_count)s selectate" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 din %(cnt)s selectat" + +#, python-format +msgid "Change history: %s" +msgstr "Istoric schimbări: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Ștergerea %(class_name)s %(instance)s ar necesita ștergerea următoarelor " +"obiecte asociate protejate: %(related_objects)s" + +msgid "Django site admin" +msgstr "Administrare site Django" + +msgid "Django administration" +msgstr "Administrare Django" + +msgid "Site administration" +msgstr "Administrare site" + +msgid "Log in" +msgstr "Autentificare" + +#, python-format +msgid "%(app)s administration" +msgstr "administrare %(app)s" + +msgid "Page not found" +msgstr "Pagină inexistentă" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Din păcate nu am găsit pagina solicitată" + +msgid "Home" +msgstr "Acasă" + +msgid "Server error" +msgstr "Eroare de server" + +msgid "Server error (500)" +msgstr "Eroare de server (500)" + +msgid "Server Error (500)" +msgstr "Eroare server (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +msgid "Run the selected action" +msgstr "Pornește acțiunea selectată" + +msgid "Go" +msgstr "Start" + +msgid "Click here to select the objects across all pages" +msgstr "Clic aici pentru a selecta obiectele la nivelul tuturor paginilor" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Selectați toate %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Deselectați" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Modele în aplicația %(name)s" + +msgid "Add" +msgstr "Adaugă" + +msgid "View" +msgstr "Vizualizează" + +msgid "You don’t have permission to view or edit anything." +msgstr "" + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" + +msgid "Enter a username and password." +msgstr "Introduceți un nume de utilizator și o parolă." + +msgid "Change password" +msgstr "Schimbă parola" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"Introduceți o parolă nouă pentru utilizatorul %(username)s." + +msgid "Skip to main content" +msgstr "" + +msgid "Welcome," +msgstr "Bun venit," + +msgid "View site" +msgstr "Vizualizare site" + +msgid "Documentation" +msgstr "Documentație" + +msgid "Log out" +msgstr "Deconectează-te" + +msgid "Breadcrumbs" +msgstr "" + +#, python-format +msgid "Add %(name)s" +msgstr "Adaugă %(name)s" + +msgid "History" +msgstr "Istoric" + +msgid "View on site" +msgstr "Vizualizează pe site" + +msgid "Filter" +msgstr "Filtru" + +msgid "Clear all filters" +msgstr "Șterge toate filtrele" + +msgid "Remove from sorting" +msgstr "Elimină din sortare" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Prioritate sortare: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Alternează sortarea" + +msgid "Toggle theme (current theme: auto)" +msgstr "" + +msgid "Toggle theme (current theme: light)" +msgstr "" + +msgid "Toggle theme (current theme: dark)" +msgstr "" + +msgid "Delete" +msgstr "Șterge" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Ștergerea %(object_name)s '%(escaped_object)s' va duce și la ștergerea " +"obiectelor asociate, însă contul dumneavoastră nu are permisiunea de a " +"șterge următoarele tipuri de obiecte:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Ștergerea %(object_name)s '%(escaped_object)s' ar putea necesita și " +"ștergerea următoarelor obiecte protejate asociate:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Sigur doriți ștergerea %(object_name)s \"%(escaped_object)s\"? Următoarele " +"itemuri asociate vor fi șterse:" + +msgid "Objects" +msgstr "Obiecte" + +msgid "Yes, I’m sure" +msgstr "Da, sunt sigur" + +msgid "No, take me back" +msgstr "Nu, vreau să mă întorc" + +msgid "Delete multiple objects" +msgstr "Ștergeți obiecte multiple" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Ștergerea %(objects_name)s conform selecției ar putea duce la ștergerea " +"obiectelor asociate, însă contul dvs. de utilizator nu are permisiunea de a " +"șterge următoarele tipuri de obiecte:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Ştergerea %(objects_name)s conform selecției ar necesita și ștergerea " +"următoarelor obiecte protejate asociate:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Sigur doriţi să ștergeți %(objects_name)s conform selecției? Toate obiectele " +"următoare alături de cele asociate lor vor fi șterse:" + +msgid "Delete?" +msgstr "Elimină?" + +#, python-format +msgid " By %(filter_title)s " +msgstr "După %(filter_title)s " + +msgid "Summary" +msgstr "Sumar" + +msgid "Recent actions" +msgstr "Acțiuni recente" + +msgid "My actions" +msgstr "Acțiunile mele" + +msgid "None available" +msgstr "Niciuna" + +msgid "Unknown content" +msgstr "Conținut necunoscut" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Sunteți autentificat ca %(username)s, dar nu sunteți autorizat să accesați " +"această pagină. Doriți să vă autentificați cu un alt cont?" + +msgid "Forgotten your password or username?" +msgstr "Ați uitat parola sau utilizatorul ?" + +msgid "Toggle navigation" +msgstr "Comutare navigație" + +msgid "Sidebar" +msgstr "" + +msgid "Start typing to filter…" +msgstr "Începeți să scrieți pentru filtrare..." + +msgid "Filter navigation items" +msgstr "" + +msgid "Date/time" +msgstr "Dată/oră" + +msgid "User" +msgstr "Utilizator" + +msgid "Action" +msgstr "Acțiune" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" + +msgid "Show all" +msgstr "Arată totul" + +msgid "Save" +msgstr "Salvează" + +msgid "Popup closing…" +msgstr "Fereastra se închide..." + +msgid "Search" +msgstr "Caută" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s rezultat" +msgstr[1] "%(counter)s rezultate" +msgstr[2] "%(counter)s de rezultate" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s în total" + +msgid "Save as new" +msgstr "Salvați ca nou" + +msgid "Save and add another" +msgstr "Salvați și mai adăugați" + +msgid "Save and continue editing" +msgstr "Salvați și continuați editarea" + +msgid "Save and view" +msgstr "Salvează și vizualizează" + +msgid "Close" +msgstr "Închide" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Modifică %(model)s selectat" + +#, python-format +msgid "Add another %(model)s" +msgstr "Adaugă alt %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Șterge %(model)s selectat" + +#, python-format +msgid "View selected %(model)s" +msgstr "" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "" + +msgid "Log in again" +msgstr "Reautentificare" + +msgid "Password change" +msgstr "Schimbare parolă" + +msgid "Your password was changed." +msgstr "Parola a fost schimbată." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Vă rog introduceți parola veche, pentru securitate, apoi introduceți parola " +"nouă de doua ori pentru a verifica dacă a fost scrisă corect. " + +msgid "Change my password" +msgstr "Schimbă-mi parola" + +msgid "Password reset" +msgstr "Resetare parolă" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "" +"Parola dumneavoastră a fost stabilită. Acum puteți continua să vă " +"autentificați." + +msgid "Password reset confirmation" +msgstr "Confirmare resetare parolă" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Introduceți parola de două ori, pentru a putea verifica dacă ați scris-o " +"corect." + +msgid "New password:" +msgstr "Parolă nouă:" + +msgid "Confirm password:" +msgstr "Confirmare parolă:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Link-ul de resetare a parolei a fost nevalid, probabil din cauză că acesta a " +"fost deja utilizat. Solicitați o nouă resetare a parolei." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Am trimis instrucțiuni pentru a seta parola, daca există un cont cu email-ul " +"introdus. O sa-l primiți cât de curând." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Dacă nu ați primit un email, verificați vă rog dacă ați introdus adresa cu " +"care v-ați înregistrat și verificați si folderul Spam." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Primiți acest email deoarece ați cerut o resetare a parolei pentru contul de " +"utilizator de la %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Mergeți la următoarea pagină și alegeți o parolă nouă:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Numele tău de utilizator, în caz că l-ai uitat:" + +msgid "Thanks for using our site!" +msgstr "Mulțumiri pentru utilizarea sitului nostru!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Echipa %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Ați uitat parola ? Introduceți adresa de email mai jos și vă vom trimite " +"instrucțiuni pentru o parolă nouă." + +msgid "Email address:" +msgstr "Adresă e-mail:" + +msgid "Reset my password" +msgstr "Resetează-mi parola" + +msgid "All dates" +msgstr "Toate datele" + +#, python-format +msgid "Select %s" +msgstr "Selectează %s" + +#, python-format +msgid "Select %s to change" +msgstr "Selectează %s pentru schimbare" + +#, python-format +msgid "Select %s to view" +msgstr "Selecteză %s pentru a vizualiza" + +msgid "Date:" +msgstr "Dată:" + +msgid "Time:" +msgstr "Oră:" + +msgid "Lookup" +msgstr "Căutare" + +msgid "Currently:" +msgstr "În prezent:" + +msgid "Change:" +msgstr "Schimbă:" diff --git a/external_sources/django/django/contrib/admin/locale/ro/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/ro/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..e681dde --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ro/LC_MESSAGES/djangojs.po @@ -0,0 +1,228 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Bogdan Mateescu, 2018-2019 +# Daniel Ursache-Dogariu, 2011 +# Denis Darii , 2011 +# Eugenol Man , 2020 +# Ionel Cristian Mărieș , 2012 +# Jannis Leidel , 2011 +# razvan ionescu , 2015 +# Razvan Stefanescu , 2016-2017 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-05-11 20:56+0200\n" +"PO-Revision-Date: 2020-07-15 11:16+0000\n" +"Last-Translator: Eugenol Man \n" +"Language-Team: Romanian (http://www.transifex.com/django/django/language/" +"ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" + +#, javascript-format +msgid "Available %s" +msgstr "%s disponibil" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Aceasta este o listă cu %s disponibile. Le puteți alege selectând mai multe " +"in chenarul de mai jos și apăsând pe săgeata \"Alege\" dintre cele două " +"chenare." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Scrie în acest chenar pentru a filtra lista de %s disponibile." + +msgid "Filter" +msgstr "Filtru" + +msgid "Choose all" +msgstr "Alege toate" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Click pentru a alege toate %s." + +msgid "Choose" +msgstr "Alege" + +msgid "Remove" +msgstr "Elimină" + +#, javascript-format +msgid "Chosen %s" +msgstr "%s alese" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Aceasta este lista de %s alese. Puteți elimina din ele selectându-le in " +"chenarul de mai jos și apasand pe săgeata \"Elimină\" dintre cele două " +"chenare." + +msgid "Remove all" +msgstr "Elimină toate" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Click pentru a elimina toate %s alese." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s din %(cnt)s selectate" +msgstr[1] "%(sel)s din %(cnt)s selectate" +msgstr[2] "de %(sel)s din %(cnt)s selectate" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Aveţi modificări nesalvate în cîmpuri individuale editabile. Dacă executaţi " +"o acțiune, modificările nesalvate vor fi pierdute." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Ai selectat o acțiune dar nu ai salvat modificările făcute în câmpuri " +"individuale. Te rugăm apasa Ok pentru a salva. Va trebui sa reiei acțiunea." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Ai selectat o acțiune și nu ai făcut modificări. Probabil că dorești butonul " +"de Go mai putin cel de Salvează." + +msgid "Now" +msgstr "Acum" + +msgid "Midnight" +msgstr "Miezul nopții" + +msgid "6 a.m." +msgstr "6 a.m." + +msgid "Noon" +msgstr "Amiază" + +msgid "6 p.m." +msgstr "6 p.m." + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Notă: Sunteți cu %s oră înaintea orei serverului." +msgstr[1] "Notă: Sunteți cu %s ore înaintea orei serverului." +msgstr[2] "Notă: Sunteți cu %s de ore înaintea orei serverului." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Notă: Sunteți cu %s oră în urma orei serverului." +msgstr[1] "Notă: Sunteți cu %s ore în urma orei serverului." +msgstr[2] "Notă: Sunteți cu %s de ore în urma orei serverului." + +msgid "Choose a Time" +msgstr "Alege o oră" + +msgid "Choose a time" +msgstr "Alege o oră" + +msgid "Cancel" +msgstr "Anulează" + +msgid "Today" +msgstr "Astăzi" + +msgid "Choose a Date" +msgstr "Alege o dată" + +msgid "Yesterday" +msgstr "Ieri" + +msgid "Tomorrow" +msgstr "Mâine" + +msgid "January" +msgstr "Ianuarie" + +msgid "February" +msgstr "Februarie" + +msgid "March" +msgstr "Martie" + +msgid "April" +msgstr "Aprilie" + +msgid "May" +msgstr "Mai" + +msgid "June" +msgstr "Iunie" + +msgid "July" +msgstr "Iulie" + +msgid "August" +msgstr "August" + +msgid "September" +msgstr "Septembrie" + +msgid "October" +msgstr "Octombrie" + +msgid "November" +msgstr "Noiembrie" + +msgid "December" +msgstr "Decembrie" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "D" + +msgctxt "one letter Monday" +msgid "M" +msgstr "L" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "M" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "M" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "J" + +msgctxt "one letter Friday" +msgid "F" +msgstr "V" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "S" + +msgid "Show" +msgstr "Arată" + +msgid "Hide" +msgstr "Ascunde" diff --git a/external_sources/django/django/contrib/admin/locale/ru/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/ru/LC_MESSAGES/django.po new file mode 100644 index 0000000..c77ffd1 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ru/LC_MESSAGES/django.po @@ -0,0 +1,807 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Alex Ibragimov, 2021 +# Ivan Ivaschenko , 2013 +# Denis Darii , 2011 +# Dimmus , 2011 +# Eugene , 2016-2017 +# crazyzubr , 2020 +# Sergey , 2016 +# Jannis Leidel , 2011 +# SeryiMysh , 2020 +# Алексей Борискин , 2012-2015,2022-2024 +# Дмитрий , 2019 +# Bobsans , 2018 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 07:05+0000\n" +"Last-Translator: Алексей Борискин , 2012-2015,2022-2024\n" +"Language-Team: Russian (http://app.transifex.com/django/django/language/" +"ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " +"(n%100>=11 && n%100<=14)? 2 : 3);\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Удалить выбранные %(verbose_name_plural)s" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Успешно удалены %(count)d %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Не удается удалить %(name)s" + +msgid "Are you sure?" +msgstr "Вы уверены?" + +msgid "Administration" +msgstr "Администрирование" + +msgid "All" +msgstr "Все" + +msgid "Yes" +msgstr "Да" + +msgid "No" +msgstr "Нет" + +msgid "Unknown" +msgstr "Неизвестно" + +msgid "Any date" +msgstr "Любая дата" + +msgid "Today" +msgstr "Сегодня" + +msgid "Past 7 days" +msgstr "Последние 7 дней" + +msgid "This month" +msgstr "Этот месяц" + +msgid "This year" +msgstr "Этот год" + +msgid "No date" +msgstr "Дата не указана" + +msgid "Has date" +msgstr "Дата указана" + +msgid "Empty" +msgstr "Пусто" + +msgid "Not empty" +msgstr "Не пусто" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Пожалуйста, введите корректные %(username)s и пароль учётной записи. Оба " +"поля могут быть чувствительны к регистру." + +msgid "Action:" +msgstr "Действие:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Добавить еще один %(verbose_name)s" + +msgid "Remove" +msgstr "Удалить" + +msgid "Addition" +msgstr "Добавление" + +msgid "Change" +msgstr "Изменить" + +msgid "Deletion" +msgstr "Удаление" + +msgid "action time" +msgstr "время действия" + +msgid "user" +msgstr "пользователь" + +msgid "content type" +msgstr "тип содержимого" + +msgid "object id" +msgstr "идентификатор объекта" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "представление объекта" + +msgid "action flag" +msgstr "тип действия" + +msgid "change message" +msgstr "сообщение об изменении" + +msgid "log entry" +msgstr "запись в журнале" + +msgid "log entries" +msgstr "записи в журнале" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Добавлено “%(object)s“." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Изменено “%(object)s“ - %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Удалено “%(object)s.“" + +msgid "LogEntry Object" +msgstr "Запись в журнале" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Добавлен {name} “{object}“." + +msgid "Added." +msgstr "Добавлено." + +msgid "and" +msgstr "и" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Изменено {fields} у {name} “{object}“." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Изменено {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Удален {name} “{object}“." + +msgid "No fields changed." +msgstr "Ни одно поле не изменено." + +msgid "None" +msgstr "Нет" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Удерживайте “Control“ (или “Command“ на Mac), чтобы выбрать несколько " +"значений." + +msgid "Select this object for an action - {}" +msgstr "Выбрать этот объект, чтобы применить к нему действие - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "{name} \"{obj}\" был успешно добавлен." + +msgid "You may edit it again below." +msgstr "Вы можете снова изменить этот объект ниже." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"{name} “{obj}“ был успешно добавлен. Вы можете добавить еще один {name} ниже." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"{name} “{obj}“ был изменен успешно. Вы можете отредактировать его снова ниже." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "{name} “{obj}“ был изменен. Вы можете добавить еще один {name} ниже." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "{name} “{obj}“ был успешно изменен." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Чтобы произвести действия над объектами, необходимо их выбрать. Объекты не " +"были изменены." + +msgid "No action selected." +msgstr "Действие не выбрано." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s “%(obj)s“ был успешно удален." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "%(name)s с ID “%(key)s“ не существует. Возможно оно было удалено?" + +#, python-format +msgid "Add %s" +msgstr "Добавить %s" + +#, python-format +msgid "Change %s" +msgstr "Изменить %s" + +#, python-format +msgid "View %s" +msgstr "Просмотреть %s" + +msgid "Database error" +msgstr "Ошибка базы данных" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s был успешно изменен." +msgstr[1] "%(count)s %(name)s были успешно изменены." +msgstr[2] "%(count)s %(name)s были успешно изменены." +msgstr[3] "%(count)s %(name)s были успешно изменены." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "Выбран %(total_count)s" +msgstr[1] "Выбраны все %(total_count)s" +msgstr[2] "Выбраны все %(total_count)s" +msgstr[3] "Выбраны все %(total_count)s" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "Выбрано 0 объектов из %(cnt)s " + +#, python-format +msgid "Change history: %s" +msgstr "История изменений: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Удаление объекта %(instance)s типа %(class_name)s будет требовать удаления " +"следующих связанных объектов: %(related_objects)s" + +msgid "Django site admin" +msgstr "Административный сайт Django" + +msgid "Django administration" +msgstr "Администрирование Django" + +msgid "Site administration" +msgstr "Администрирование сайта" + +msgid "Log in" +msgstr "Войти" + +#, python-format +msgid "%(app)s administration" +msgstr "Администрирование приложения «%(app)s»" + +msgid "Page not found" +msgstr "Страница не найдена" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "К сожалению, запрашиваемая вами страница не найдена." + +msgid "Home" +msgstr "Начало" + +msgid "Server error" +msgstr "Ошибка сервера" + +msgid "Server error (500)" +msgstr "Ошибка сервера (500)" + +msgid "Server Error (500)" +msgstr "Ошибка сервера (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Произошла ошибка. О ней сообщено администраторам сайта по электронной почте, " +"ошибка должна быть вскоре исправлена. Благодарим вас за терпение." + +msgid "Run the selected action" +msgstr "Выполнить выбранное действие" + +msgid "Go" +msgstr "Выполнить" + +msgid "Click here to select the objects across all pages" +msgstr "Нажмите здесь, чтобы выбрать объекты на всех страницах" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Выбрать все %(module_name)s (%(total_count)s)" + +msgid "Clear selection" +msgstr "Снять выделение" + +msgid "Breadcrumbs" +msgstr "Хлебные крошки" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Модели в приложении %(name)s" + +msgid "Add" +msgstr "Добавить" + +msgid "View" +msgstr "Просмотреть" + +msgid "You don’t have permission to view or edit anything." +msgstr "У вас недостаточно полномочий для просмотра или изменения чего либо." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Сначала введите имя пользователя и пароль. Затем вы сможете ввести больше " +"информации о пользователе." + +msgid "Enter a username and password." +msgstr "Введите имя пользователя и пароль." + +msgid "Change password" +msgstr "Изменить пароль" + +msgid "Set password" +msgstr "Задать пароль" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Пожалуйста, исправьте ошибку ниже." +msgstr[1] "Пожалуйста, исправьте ошибки ниже." +msgstr[2] "Пожалуйста, исправьте ошибки ниже." +msgstr[3] "Пожалуйста, исправьте ошибки ниже." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Введите новый пароль для пользователя %(username)s." + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "" +"Это действие разрешит парольную аутентификацию для этого " +"пользователя." + +msgid "Disable password-based authentication" +msgstr "Запретить аутентификацию по паролю" + +msgid "Enable password-based authentication" +msgstr "Разрешить аутентификацию по паролю" + +msgid "Skip to main content" +msgstr "К основному" + +msgid "Welcome," +msgstr "Добро пожаловать," + +msgid "View site" +msgstr "Открыть сайт" + +msgid "Documentation" +msgstr "Документация" + +msgid "Log out" +msgstr "Выйти" + +#, python-format +msgid "Add %(name)s" +msgstr "Добавить %(name)s" + +msgid "History" +msgstr "История" + +msgid "View on site" +msgstr "Смотреть на сайте" + +msgid "Filter" +msgstr "Фильтр" + +msgid "Hide counts" +msgstr "Скрыть счётчики" + +msgid "Show counts" +msgstr "Показать счётчики" + +msgid "Clear all filters" +msgstr "Сбросить все фильтры" + +msgid "Remove from sorting" +msgstr "Удалить из сортировки" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Приоритет сортировки: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Сортировать в другом направлении" + +msgid "Toggle theme (current theme: auto)" +msgstr "Переключить тему (текущая: выбрана автоматически)" + +msgid "Toggle theme (current theme: light)" +msgstr "Переключить тему (текущая: светлая)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Переключить тему (текущая: тёмная)" + +msgid "Delete" +msgstr "Удалить" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Удаление %(object_name)s '%(escaped_object)s' приведет к удалению связанных " +"объектов, но ваша учетная запись не имеет прав для удаления следующих типов " +"объектов:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Удаление %(object_name)s '%(escaped_object)s' потребует удаления следующих " +"связанных защищенных объектов:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Вы уверены, что хотите удалить %(object_name)s \"%(escaped_object)s\"? Все " +"следующие связанные объекты также будут удалены:" + +msgid "Objects" +msgstr "Объекты" + +msgid "Yes, I’m sure" +msgstr "Да, я уверен" + +msgid "No, take me back" +msgstr "Нет, отменить и вернуться к выбору" + +msgid "Delete multiple objects" +msgstr "Удалить несколько объектов" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Удаление выбранной %(objects_name)s приведет к удалению связанных объектов, " +"но ваша учетная запись не имеет прав на удаление следующих типов объектов:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Удаление %(objects_name)s потребует удаления следующих связанных защищенных " +"объектов:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Вы уверены, что хотите удалить %(objects_name)s? Все следующие объекты и " +"связанные с ними элементы будут удалены:" + +msgid "Delete?" +msgstr "Удалить?" + +#, python-format +msgid " By %(filter_title)s " +msgstr "%(filter_title)s" + +msgid "Summary" +msgstr "Краткая статистика" + +msgid "Recent actions" +msgstr "Последние действия" + +msgid "My actions" +msgstr "Мои действия" + +msgid "None available" +msgstr "Недоступно" + +msgid "Added:" +msgstr "Создано:" + +msgid "Changed:" +msgstr "Изменено:" + +msgid "Deleted:" +msgstr "Удалено:" + +msgid "Unknown content" +msgstr "Неизвестный тип" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Ваша база данных неправильно настроена. Убедитесь, что соответствующие " +"таблицы были созданы, и что соответствующему пользователю разрешен к ним " +"доступ." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Вы вошли в систему как %(username)s, однако у вас недостаточно прав для " +"просмотра данной страницы. Возможно, вы хотели бы войти в систему, используя " +"другую учётную запись?" + +msgid "Forgotten your password or username?" +msgstr "Забыли свой пароль или имя пользователя?" + +msgid "Toggle navigation" +msgstr "Переключить навигацию" + +msgid "Sidebar" +msgstr "Боковая панель" + +msgid "Start typing to filter…" +msgstr "Начните печатать для фильтрации..." + +msgid "Filter navigation items" +msgstr "Фильтр элементов навигации" + +msgid "Date/time" +msgstr "Дата и время" + +msgid "User" +msgstr "Пользователь" + +msgid "Action" +msgstr "Действие" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "запись" +msgstr[1] "записи" +msgstr[2] "записей" +msgstr[3] "записей" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Данный объект не имеет истории изменений. Возможно, он был добавлен не через " +"данный административный сайт." + +msgid "Show all" +msgstr "Показать все" + +msgid "Save" +msgstr "Сохранить" + +msgid "Popup closing…" +msgstr "Всплывающее окно закрывается..." + +msgid "Search" +msgstr "Найти" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s результат" +msgstr[1] "%(counter)s результата" +msgstr[2] "%(counter)s результатов" +msgstr[3] "%(counter)s результатов" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s всего" + +msgid "Save as new" +msgstr "Сохранить как новый объект" + +msgid "Save and add another" +msgstr "Сохранить и добавить другой объект" + +msgid "Save and continue editing" +msgstr "Сохранить и продолжить редактирование" + +msgid "Save and view" +msgstr "Сохранить и просмотреть" + +msgid "Close" +msgstr "Закрыть" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Изменить выбранный объект типа \"%(model)s\"" + +#, python-format +msgid "Add another %(model)s" +msgstr "Добавить ещё один объект типа \"%(model)s\"" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Удалить выбранный объект типа \"%(model)s\"" + +#, python-format +msgid "View selected %(model)s" +msgstr "Просмотреть выбранный объект типа \"%(model)s\"" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Благодарим вас за время, проведенное на этом сайте." + +msgid "Log in again" +msgstr "Войти снова" + +msgid "Password change" +msgstr "Изменение пароля" + +msgid "Your password was changed." +msgstr "Ваш пароль был изменен." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"В целях безопасности, пожалуйста, введите свой старый пароль, затем введите " +"новый пароль дважды, чтобы мы могли убедиться в правильности написания." + +msgid "Change my password" +msgstr "Изменить мой пароль" + +msgid "Password reset" +msgstr "Восстановление пароля" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Ваш пароль был сохранен. Теперь вы можете войти." + +msgid "Password reset confirmation" +msgstr "Подтверждение восстановления пароля" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Пожалуйста, введите новый пароль дважды, чтобы мы могли убедиться в " +"правильности написания." + +msgid "New password:" +msgstr "Новый пароль:" + +msgid "Confirm password:" +msgstr "Подтвердите пароль:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Неверная ссылка для восстановления пароля. Возможно, ей уже воспользовались. " +"Пожалуйста, попробуйте восстановить пароль еще раз." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Мы отправили вам инструкцию по установке нового пароля на указанный адрес " +"электронной почты (если в нашей базе данных есть такой адрес). Вы должны " +"получить ее в ближайшее время." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Если вы не получили письмо, пожалуйста, убедитесь, что вы ввели адрес с " +"которым Вы зарегистрировались, и проверьте папку со спамом." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Вы получили это письмо, потому что вы (или кто-то другой) запросили " +"восстановление пароля от учётной записи на сайте %(site_name)s, которая " +"связана с этим адресом электронной почты." + +msgid "Please go to the following page and choose a new password:" +msgstr "Пожалуйста, перейдите на эту страницу и введите новый пароль:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Ваше имя пользователя (на случай, если вы его забыли):" + +msgid "Thanks for using our site!" +msgstr "Спасибо, что используете наш сайт!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Команда сайта %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Забыли пароль? Введите свой адрес электронной почты ниже, и мы вышлем вам " +"инструкцию, как установить новый пароль." + +msgid "Email address:" +msgstr "Адрес электронной почты:" + +msgid "Reset my password" +msgstr "Восстановить мой пароль" + +msgid "Select all objects on this page for an action" +msgstr "Выбрать все объекты на этой странице, чтобы применить к ним действие" + +msgid "All dates" +msgstr "Все даты" + +#, python-format +msgid "Select %s" +msgstr "Выберите %s" + +#, python-format +msgid "Select %s to change" +msgstr "Выберите %s для изменения" + +#, python-format +msgid "Select %s to view" +msgstr "Выберите %s для просмотра" + +msgid "Date:" +msgstr "Дата:" + +msgid "Time:" +msgstr "Время:" + +msgid "Lookup" +msgstr "Поиск" + +msgid "Currently:" +msgstr "Сейчас:" + +msgid "Change:" +msgstr "Изменить:" diff --git a/external_sources/django/django/contrib/admin/locale/ru/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/ru/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..cb33c01 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ru/LC_MESSAGES/djangojs.po @@ -0,0 +1,350 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Claude Paroz , 2020 +# Denis Darii , 2011 +# Dimmus , 2011 +# Eugene , 2012 +# Eugene , 2016 +# crazyzubr , 2020 +# Jannis Leidel , 2011 +# Panasoft, 2021 +# Алексей Борискин , 2012,2014-2015,2022-2023 +# Андрей Щуров , 2016 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 15:04-0300\n" +"PO-Revision-Date: 2023-12-04 07:59+0000\n" +"Last-Translator: Алексей Борискин , " +"2012,2014-2015,2022-2023\n" +"Language-Team: Russian (http://app.transifex.com/django/django/language/" +"ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " +"(n%100>=11 && n%100<=14)? 2 : 3);\n" + +#, javascript-format +msgid "Available %s" +msgstr "Доступные %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Это список всех доступных %s. Вы можете выбрать некоторые из них, выделив их " +"в поле ниже и кликнув \"Выбрать\", либо двойным щелчком." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" +"Начните вводить текст в этом поле, чтобы отфитровать список доступных %s." + +msgid "Filter" +msgstr "Фильтр" + +msgid "Choose all" +msgstr "Выбрать все" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Нажмите, чтобы выбрать все %s сразу." + +msgid "Choose" +msgstr "Выбрать" + +msgid "Remove" +msgstr "Удалить" + +#, javascript-format +msgid "Chosen %s" +msgstr "Выбранные %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Это список выбранных %s. Вы можете удалить некоторые из них, выделив их в " +"поле ниже и кликнув \"Удалить\", либо двойным щелчком." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "" +"Набирайте символы в этом поле, чтобы отфильтровать список выбранных %s." + +msgid "Remove all" +msgstr "Удалить все" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Нажмите чтобы удалить все %s сразу." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%s выбранный объект не виден" +msgstr[1] "%s выбранных объекта не видны" +msgstr[2] "%s выбранных объектов не видны" +msgstr[3] "%s выбранных объектов не видны" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "Выбран %(sel)s из %(cnt)s" +msgstr[1] "Выбрано %(sel)s из %(cnt)s" +msgstr[2] "Выбрано %(sel)s из %(cnt)s" +msgstr[3] "Выбрано %(sel)s из %(cnt)s" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Имеются несохраненные изменения в отдельных полях для редактирования. Если " +"вы запустите действие, несохраненные изменения будут потеряны." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Вы выбрали действие, но еще не сохранили изменения, внесенные в некоторых " +"полях для редактирования. Нажмите OK, чтобы сохранить изменения. После " +"сохранения вам придется запустить действие еще раз." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Вы выбрали действие и не внесли изменений в данные. Возможно, вы хотели " +"воспользоваться кнопкой \"Выполнить\", а не кнопкой \"Сохранить\". Если это " +"так, то нажмите \"Отмена\", чтобы вернуться в интерфейс редактирования." + +msgid "Now" +msgstr "Сейчас" + +msgid "Midnight" +msgstr "Полночь" + +msgid "6 a.m." +msgstr "6 утра" + +msgid "Noon" +msgstr "Полдень" + +msgid "6 p.m." +msgstr "6 вечера" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Внимание: Ваше локальное время опережает время сервера на %s час." +msgstr[1] "Внимание: Ваше локальное время опережает время сервера на %s часа." +msgstr[2] "Внимание: Ваше локальное время опережает время сервера на %s часов." +msgstr[3] "Внимание: Ваше локальное время опережает время сервера на %s часов." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +"Внимание: Ваше локальное время отстаёт от времени сервера на %s час." +msgstr[1] "" +"Внимание: Ваше локальное время отстаёт от времени сервера на %s часа." +msgstr[2] "" +"Внимание: Ваше локальное время отстаёт от времени сервера на %s часов." +msgstr[3] "" +"Внимание: Ваше локальное время отстаёт от времени сервера на %s часов." + +msgid "Choose a Time" +msgstr "Выберите время" + +msgid "Choose a time" +msgstr "Выберите время" + +msgid "Cancel" +msgstr "Отмена" + +msgid "Today" +msgstr "Сегодня" + +msgid "Choose a Date" +msgstr "Выберите дату" + +msgid "Yesterday" +msgstr "Вчера" + +msgid "Tomorrow" +msgstr "Завтра" + +msgid "January" +msgstr "Январь" + +msgid "February" +msgstr "Февраль" + +msgid "March" +msgstr "Март" + +msgid "April" +msgstr "Апрель" + +msgid "May" +msgstr "Май" + +msgid "June" +msgstr "Июнь" + +msgid "July" +msgstr "Июль" + +msgid "August" +msgstr "Август" + +msgid "September" +msgstr "Сентябрь" + +msgid "October" +msgstr "Октябрь" + +msgid "November" +msgstr "Ноябрь" + +msgid "December" +msgstr "Декабрь" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Янв" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Фев" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Мар" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Апр" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "Май" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Июн" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Июл" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Авг" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Сен" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Окт" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Ноя" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Дек" + +msgid "Sunday" +msgstr "Воскресенье" + +msgid "Monday" +msgstr "Понедельник" + +msgid "Tuesday" +msgstr "Вторник" + +msgid "Wednesday" +msgstr "Среда" + +msgid "Thursday" +msgstr "Четверг" + +msgid "Friday" +msgstr "Пятница" + +msgid "Saturday" +msgstr "Суббота" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "Вс" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "Пн" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "Вт" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "Ср" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "Чт" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "Пт" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "Сб" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "В" + +msgctxt "one letter Monday" +msgid "M" +msgstr "П" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "В" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "С" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "Ч" + +msgctxt "one letter Friday" +msgid "F" +msgstr "П" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "С" + +msgid "Show" +msgstr "Показать" + +msgid "Hide" +msgstr "Скрыть" diff --git a/external_sources/django/django/contrib/admin/locale/sk/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/sk/LC_MESSAGES/django.po new file mode 100644 index 0000000..7e18ff8 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/sk/LC_MESSAGES/django.po @@ -0,0 +1,802 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Adam Zahradník, 2023-2024 +# Jannis Leidel , 2011 +# 18f25ad6fa9930fc67cb11aca9d16a27, 2012-2013 +# Marian Andre , 2013-2015,2017 +# 29cf7e517570e1bc05a1509565db92ae_2a01508, 2011 +# Martin Tóth , 2017,2023 +# Miroslav Bendik , 2023 +# Peter Kuma, 2021 +# Peter Stríž , 2020 +# Zbynek Drlik , 2019 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-10-07 07:05+0000\n" +"Last-Translator: Adam Zahradník, 2023-2024\n" +"Language-Team: Slovak (http://app.transifex.com/django/django/language/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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Odstrániť označené %(verbose_name_plural)s" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Úspešne odstránených %(count)d %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Nedá sa odstrániť %(name)s" + +msgid "Are you sure?" +msgstr "Ste si istý?" + +msgid "Administration" +msgstr "Správa" + +msgid "All" +msgstr "Všetko" + +msgid "Yes" +msgstr "Áno" + +msgid "No" +msgstr "Nie" + +msgid "Unknown" +msgstr "Neznámy" + +msgid "Any date" +msgstr "Ľubovoľný dátum" + +msgid "Today" +msgstr "Dnes" + +msgid "Past 7 days" +msgstr "Posledných 7 dní" + +msgid "This month" +msgstr "Tento mesiac" + +msgid "This year" +msgstr "Tento rok" + +msgid "No date" +msgstr "Bez dátumu" + +msgid "Has date" +msgstr "S dátumom" + +msgid "Empty" +msgstr "Prázdna hodnota" + +msgid "Not empty" +msgstr "Neprázdna hodnota" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Zadajte prosím správne %(username)s a heslo pre účet personálu - „staff " +"account“. Obe polia môžu obsahovať veľké a malé písmená." + +msgid "Action:" +msgstr "Akcia:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Pridať ďalší %(verbose_name)s" + +msgid "Remove" +msgstr "Odstrániť" + +msgid "Addition" +msgstr "Pridávanie" + +msgid "Change" +msgstr "Zmeniť" + +msgid "Deletion" +msgstr "Odstránenie" + +msgid "action time" +msgstr "čas akcie" + +msgid "user" +msgstr "používateľ" + +msgid "content type" +msgstr "typ obsahu" + +msgid "object id" +msgstr "identifikátor objektu" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "reprezentácia objektu" + +msgid "action flag" +msgstr "príznak akcie" + +msgid "change message" +msgstr "zmeniť správu" + +msgid "log entry" +msgstr "položka záznamu" + +msgid "log entries" +msgstr "položky záznamu" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Pridané „%(object)s“." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Zmenené „%(object)s“ — %(changes)s " + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Odstránené „%(object)s“." + +msgid "LogEntry Object" +msgstr "Objekt LogEntry" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Pridaný {name} „{object}“." + +msgid "Added." +msgstr "Pridaný." + +msgid "and" +msgstr "a" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Zmenené {fields} pre {name} „{object}“." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Zmenené {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Odstránený {name} „{object}“." + +msgid "No fields changed." +msgstr "Polia nezmenené." + +msgid "None" +msgstr "Žiadne" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Ak chcete vybrať viac ako jednu položku na Mac, podržte „Control“, alebo " +"„Command“" + +msgid "Select this object for an action - {}" +msgstr "Vybrať tento objekt pre akciu - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "Objekt {name} „{obj}“ bol úspešne pridaný." + +msgid "You may edit it again below." +msgstr "Ďalšie zmeny môžete urobiť nižšie." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"Objekt {name} „{obj}“ bol úspešne pridaný. Môžete pridať ďaľší {name} nižšie." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"Objekt {name} „{obj}“ bol úspešne zmenený. Ďalšie zmeny môžete urobiť nižšie." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"Objekt {name} „{obj}“ bol úspešne zmenený. Môžete pridať ďaľší {name} nižšie." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "Objekt {name} „{obj}“ bol úspešne zmenený." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Položky musia byť vybrané, ak chcete na nich vykonať akcie. Neboli vybrané " +"žiadne položky." + +msgid "No action selected." +msgstr "Nebola vybraná žiadna akcia." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "Objekt %(name)s „%(obj)s“ bol úspešne odstránený." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "Objekt %(name)s s ID „%(key)s“ neexistuje. Možno bol odstránený?" + +#, python-format +msgid "Add %s" +msgstr "Pridať %s" + +#, python-format +msgid "Change %s" +msgstr "Zmeniť %s" + +#, python-format +msgid "View %s" +msgstr "Zobraziť%s" + +msgid "Database error" +msgstr "Chyba databázy" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s bola úspešne zmenená." +msgstr[1] "%(count)s %(name)s boli úspešne zmenené." +msgstr[2] "%(count)s %(name)s bolo úspešne zmenených." +msgstr[3] "%(count)s %(name)s bolo úspešne zmenených." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s vybraná" +msgstr[1] "Všetky %(total_count)s vybrané" +msgstr[2] "Všetkých %(total_count)s vybraných" +msgstr[3] "Všetkých %(total_count)s vybraných" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 z %(cnt)s vybraných" + +#, python-format +msgid "Change history: %s" +msgstr "Zoznam zmien: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Vymazanie %(class_name)s %(instance)s vyžaduje vymazanie nasledovných " +"súvisiacich chránených objektov: %(related_objects)s" + +msgid "Django site admin" +msgstr "Správa Django stránky" + +msgid "Django administration" +msgstr "Správa Django" + +msgid "Site administration" +msgstr "Správa stránky" + +msgid "Log in" +msgstr "Prihlásenie" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s správa" + +msgid "Page not found" +msgstr "Stránka nenájdená" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Ľutujeme, ale požadovaná stránka nebola nájdená." + +msgid "Home" +msgstr "Domov" + +msgid "Server error" +msgstr "Chyba servera" + +msgid "Server error (500)" +msgstr "Chyba servera (500)" + +msgid "Server Error (500)" +msgstr "Chyba servera (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Došlo k chybe. Chyba bola nahlásená správcovi webu prostredníctvom e-mailu a " +"zanedlho by mala byť odstránená. Ďakujeme za vašu trpezlivosť." + +msgid "Run the selected action" +msgstr "Vykonať vybranú akciu" + +msgid "Go" +msgstr "Vykonať" + +msgid "Click here to select the objects across all pages" +msgstr "Kliknite sem pre výber objektov na všetkých stránkach" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Vybrať všetkých %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Zrušiť výber" + +msgid "Breadcrumbs" +msgstr "Mininavigácia" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Modely v %(name)s aplikácii" + +msgid "Add" +msgstr "Pridať" + +msgid "View" +msgstr "Zobraziť" + +msgid "You don’t have permission to view or edit anything." +msgstr "Nemáte právo na zobrazenie alebo vykonávanie zmien." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Najskôr zadajte používateľské meno a heslo. Potom budete môcť upraviť viac " +"používateľských nastavení." + +msgid "Enter a username and password." +msgstr "Zadajte používateľské meno a heslo." + +msgid "Change password" +msgstr "Zmeniť heslo" + +msgid "Set password" +msgstr "Nastaviť heslo" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Prosím, opravte chybu uvedenú nižšie." +msgstr[1] "Prosím, opravte chyby uvedené nižšie." +msgstr[2] "Prosím, opravte chyby uvedené nižšie." +msgstr[3] "Prosím, opravte chyby uvedené nižšie." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Zadajte nové heslo pre používateľa %(username)s." + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "" +"Týmto povolíte tomuto používateľovi prihlasovanie pomocou " +"hesla." + +msgid "Disable password-based authentication" +msgstr "Vypnúť prihlasovanie pomocou hesla" + +msgid "Enable password-based authentication" +msgstr "Povoliť prihlasovanie pomocou hesla" + +msgid "Skip to main content" +msgstr "Preskočiť na hlavný obsah" + +msgid "Welcome," +msgstr "Vitajte," + +msgid "View site" +msgstr "Pozrieť stránku" + +msgid "Documentation" +msgstr "Dokumentácia" + +msgid "Log out" +msgstr "Odhlásiť" + +#, python-format +msgid "Add %(name)s" +msgstr "Pridať %(name)s" + +msgid "History" +msgstr "Zmeny" + +msgid "View on site" +msgstr "Pozrieť na stránke" + +msgid "Filter" +msgstr "Filtrovať" + +msgid "Hide counts" +msgstr "Skryť počet" + +msgid "Show counts" +msgstr "Zobraziť počet" + +msgid "Clear all filters" +msgstr "Zrušiť všetky filtre" + +msgid "Remove from sorting" +msgstr "Odstrániť z triedenia" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Triedenie priority: %(priority_number)s " + +msgid "Toggle sorting" +msgstr "Prepnúť triedenie" + +msgid "Toggle theme (current theme: auto)" +msgstr "Prepnúť vzhľad (aktuálne: automatický)" + +msgid "Toggle theme (current theme: light)" +msgstr "Prepnúť vzhľad (aktuálne: svetlý)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Prepnúť vzhľad (aktuálne: tmavý)" + +msgid "Delete" +msgstr "Odstrániť" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Odstránenie objektu %(object_name)s „%(escaped_object)s“ by malo za následok " +"aj odstránenie súvisiacich objektov. Váš účet však nemá oprávnenie na " +"odstránenie nasledujúcich typov objektov:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Vymazanie %(object_name)s „%(escaped_object)s“ vyžaduje vymazanie " +"nasledovných súvisiacich chránených objektov:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Ste si istý, že chcete odstrániť objekt %(object_name)s " +"„%(escaped_object)s“? Všetky nasledujúce súvisiace objekty budú odstránené:" + +msgid "Objects" +msgstr "Objekty" + +msgid "Yes, I’m sure" +msgstr "Áno, som si istý" + +msgid "No, take me back" +msgstr "Nie, chcem sa vrátiť" + +msgid "Delete multiple objects" +msgstr "Odstrániť viacero objektov" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Odstránenie označených %(objects_name)s by spôsobilo odstránenie súvisiacich " +"objektov, ale váš účet nemá oprávnenie na odstránenie nasledujúcich typov " +"objektov:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Vymazanie označených %(objects_name)s vyžaduje vymazanie nasledujúcich " +"chránených súvisiacich objektov:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Ste si istý, že chcete odstrániť označené %(objects_name)s? Odstránia sa " +"všetky nasledujúce objekty a ich súvisiace položky:" + +msgid "Delete?" +msgstr "Odstrániť?" + +#, python-format +msgid " By %(filter_title)s " +msgstr "Podľa %(filter_title)s " + +msgid "Summary" +msgstr "Súhrn" + +msgid "Recent actions" +msgstr "Posledné akcie" + +msgid "My actions" +msgstr "Moje akcie" + +msgid "None available" +msgstr "Nedostupné" + +msgid "Added:" +msgstr "Pridaný:" + +msgid "Changed:" +msgstr "Zmenený:" + +msgid "Deleted:" +msgstr "Odstránený:" + +msgid "Unknown content" +msgstr "Neznámy obsah" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Niečo nie je v poriadku s vašou inštaláciou databázy. Zabezpečte, aby boli " +"vytvorené potrebné databázové tabuľky a taktiež zabezpečte, aby príslušný " +"používateľ mohol čítať databázu." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Ste prihlásený ako %(username)s, ale nemáte práva k tejto stránke. Chcete sa " +"prihlásiť do iného účtu?" + +msgid "Forgotten your password or username?" +msgstr "Zabudli ste heslo alebo používateľské meno?" + +msgid "Toggle navigation" +msgstr "Prepnúť navigáciu" + +msgid "Sidebar" +msgstr "Bočný panel" + +msgid "Start typing to filter…" +msgstr "Filtrovať začnete písaním textu…" + +msgid "Filter navigation items" +msgstr "Filtrovať položky navigácie" + +msgid "Date/time" +msgstr "Dátum a čas" + +msgid "User" +msgstr "Používateľ" + +msgid "Action" +msgstr "Akcia" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "záznam" +msgstr[1] "záznamy" +msgstr[2] "záznamov" +msgstr[3] "záznamov" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Tento objekt nemá zoznam zmien. Pravdepodobne nebol pridaný prostredníctvom " +"tejto správcovskej stránky." + +msgid "Show all" +msgstr "Zobraziť všetky" + +msgid "Save" +msgstr "Uložiť" + +msgid "Popup closing…" +msgstr "Vyskakovacie okno sa zatvára…" + +msgid "Search" +msgstr "Vyhľadávanie" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s výsledok" +msgstr[1] "%(counter)s výsledky" +msgstr[2] "%(counter)s výsledkov" +msgstr[3] "%(counter)s výsledkov" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s spolu" + +msgid "Save as new" +msgstr "Uložiť ako nový" + +msgid "Save and add another" +msgstr "Uložiť a pridať ďalší" + +msgid "Save and continue editing" +msgstr "Uložiť a pokračovať v úpravách" + +msgid "Save and view" +msgstr "Uložiť a zobraziť" + +msgid "Close" +msgstr "Zatvoriť" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Zmeniť vybrané %(model)s" + +#, python-format +msgid "Add another %(model)s" +msgstr "Pridať ďalší %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Odstrániť vybrané %(model)s" + +#, python-format +msgid "View selected %(model)s" +msgstr "Zobraziť vybrané %(model)s" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "" +"Ďakujeme, že ste dnes strávili pár pekných okamihov na tejto webovej stránke." + +msgid "Log in again" +msgstr "Znova sa prihlásiť" + +msgid "Password change" +msgstr "Zmena hesla" + +msgid "Your password was changed." +msgstr "Vaše heslo bolo zmenené." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Z bezpečnostných dôvodov zadajte staré heslo a potom nové heslo dvakrát, aby " +"sme mohli overiť, že ste ho zadali správne." + +msgid "Change my password" +msgstr "Zmeniť moje heslo" + +msgid "Password reset" +msgstr "Obnovenie hesla" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Vaše heslo bolo nastavené. Môžete pokračovať a prihlásiť sa." + +msgid "Password reset confirmation" +msgstr "Potvrdenie obnovenia hesla" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Zadajte nové heslo dvakrát, aby sme mohli overiť, že ste ho zadali správne." + +msgid "New password:" +msgstr "Nové heslo:" + +msgid "Confirm password:" +msgstr "Potvrdenie hesla:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Odkaz na obnovenie hesla je neplatný, pretože už bol pravdepodobne raz " +"použitý. Prosím, požiadajte znovu o obnovu hesla." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Poslali sme vám e-mailom inštrukcie pre nastavenie hesla, ak existuje konto " +"so zadanou emailovou adresou. Čoskoro by ste ich mali dostať." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Ak vám nepríde e-mail, uistite sa, že ste zadali adresu, s ktorou ste sa " +"registrovali a skontrolujte svoj spamový priečinok." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Tento e-mail ste dostali preto, lebo ste požiadali o obnovenie hesla pre " +"užívateľský účet na %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Prosím, choďte na túto stránku a zvoľte si nové heslo:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Ak ste náhodou zabudli, vaše používateľské meno je:" + +msgid "Thanks for using our site!" +msgstr "Ďakujeme, že používate našu stránku!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Tím %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Zabudli ste heslo? Zadajte vašu e-mailovú adresu nižšie a my vám pošleme " +"inštrukcie pre nastavenie nového hesla." + +msgid "Email address:" +msgstr "E-mailová adresa:" + +msgid "Reset my password" +msgstr "Obnova môjho hesla" + +msgid "Select all objects on this page for an action" +msgstr "Vybrať všetky objekty na tejto strane pre akciu" + +msgid "All dates" +msgstr "Všetky dátumy" + +#, python-format +msgid "Select %s" +msgstr "Vybrať %s" + +#, python-format +msgid "Select %s to change" +msgstr "Vybrať %s na úpravu" + +#, python-format +msgid "Select %s to view" +msgstr "Pre zobrazenie %s zvolte" + +msgid "Date:" +msgstr "Dátum:" + +msgid "Time:" +msgstr "Čas:" + +msgid "Lookup" +msgstr "Vyhľadanie" + +msgid "Currently:" +msgstr "Aktuálne:" + +msgid "Change:" +msgstr "Zmeniť:" diff --git a/external_sources/django/django/contrib/admin/locale/sk/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/sk/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..e4b2fd4 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/sk/LC_MESSAGES/djangojs.po @@ -0,0 +1,337 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Adam Zahradník, 2023 +# Dimitris Glezos , 2012 +# Jannis Leidel , 2011 +# 18f25ad6fa9930fc67cb11aca9d16a27, 2012 +# Marian Andre , 2012,2015 +# 29cf7e517570e1bc05a1509565db92ae_2a01508, 2011 +# Martin Tóth , 2017,2023 +# Peter Kuma, 2021 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 15:04-0300\n" +"PO-Revision-Date: 2023-12-04 07:59+0000\n" +"Last-Translator: Martin Tóth , 2017,2023\n" +"Language-Team: Slovak (http://app.transifex.com/django/django/language/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" + +#, javascript-format +msgid "Available %s" +msgstr "Dostupné %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Toto je zoznam dostupných %s. Pre výber je potrebné označiť ich v poli a " +"následne kliknutím na šípku „Vybrať“ presunúť." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Píšte do tohto poľa pre vyfiltrovanie dostupných %s." + +msgid "Filter" +msgstr "Filtrovať" + +msgid "Choose all" +msgstr "Vybrať všetko" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Kliknite sem pre vybratie všetkých %s naraz." + +msgid "Choose" +msgstr "Vybrať" + +msgid "Remove" +msgstr "Odstrániť" + +#, javascript-format +msgid "Chosen %s" +msgstr "Vybrané %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Toto je zoznam dostupných %s. Pre vymazanie je potrebné označiť ich v poli a " +"následne kliknutím na šípku „Vymazať“ vymazať." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "Píšte do tohto poľa pre vyfiltrovanie označených %s." + +msgid "Remove all" +msgstr "Odstrániť všetky" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Kliknite sem pre vymazanie vybratých %s naraz." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%s označená možnosť sa nezobrazuje" +msgstr[1] "%s označené možnosti sa nezobrazujú" +msgstr[2] "%s označených možností sa nezobrazuje" +msgstr[3] "%s označených možností sa nezobrazuje" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s z %(cnt)s vybrané" +msgstr[1] "%(sel)s z %(cnt)s vybrané" +msgstr[2] "%(sel)s z %(cnt)s vybraných" +msgstr[3] "%(sel)s z %(cnt)s vybraných" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Vrámci jednotlivých editovateľných polí máte neuložené zmeny. Ak vykonáte " +"akciu, vaše zmeny budú stratené." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Vybrali ste akciu, ale neuložili ste jednotlivé polia. Prosím, uložte zmeny " +"kliknutím na OK. Akciu budete musieť vykonať znova." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Vybrali ste akciu, ale neurobili ste žiadne zmeny v jednotlivých poliach. " +"Pravdepodobne ste chceli použiť tlačidlo Vykonať namiesto Uložiť." + +msgid "Now" +msgstr "Teraz" + +msgid "Midnight" +msgstr "Polnoc" + +msgid "6 a.m." +msgstr "6:00" + +msgid "Noon" +msgstr "Poludnie" + +msgid "6 p.m." +msgstr "18:00" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Poznámka: Ste %s hodinu pred časom servera." +msgstr[1] "Poznámka: Ste %s hodiny pred časom servera." +msgstr[2] "Poznámka: Ste %s hodín pred časom servera." +msgstr[3] "Poznámka: Ste %s hodín pred časom servera." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Poznámka: Ste %s hodinu za časom servera." +msgstr[1] "Poznámka: Ste %s hodiny za časom servera." +msgstr[2] "Poznámka: Ste %s hodín za časom servera." +msgstr[3] "Poznámka: Ste %s hodín za časom servera." + +msgid "Choose a Time" +msgstr "Vybrať Čas" + +msgid "Choose a time" +msgstr "Vybrať čas" + +msgid "Cancel" +msgstr "Zrušiť" + +msgid "Today" +msgstr "Dnes" + +msgid "Choose a Date" +msgstr "Vybrať Dátum" + +msgid "Yesterday" +msgstr "Včera" + +msgid "Tomorrow" +msgstr "Zajtra" + +msgid "January" +msgstr "január" + +msgid "February" +msgstr "február" + +msgid "March" +msgstr "marec" + +msgid "April" +msgstr "apríl" + +msgid "May" +msgstr "máj" + +msgid "June" +msgstr "jún" + +msgid "July" +msgstr "júl" + +msgid "August" +msgstr "august" + +msgid "September" +msgstr "september" + +msgid "October" +msgstr "október" + +msgid "November" +msgstr "november" + +msgid "December" +msgstr "december" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "jan." + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "feb." + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "mar." + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "apr." + +msgctxt "abbrev. month May" +msgid "May" +msgstr "máj" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "jún" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "júl" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "aug." + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "sep." + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "okt." + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "nov." + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "dec." + +msgid "Sunday" +msgstr "nedeľa" + +msgid "Monday" +msgstr "pondelok" + +msgid "Tuesday" +msgstr "utorok" + +msgid "Wednesday" +msgstr "streda" + +msgid "Thursday" +msgstr "štvrtok" + +msgid "Friday" +msgstr "piatok" + +msgid "Saturday" +msgstr "sobota" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "ne" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "po" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "ut" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "st" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "št" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "pi" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "so" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "N" + +msgctxt "one letter Monday" +msgid "M" +msgstr "P" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "U" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "S" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "Š" + +msgctxt "one letter Friday" +msgid "F" +msgstr "P" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "S" + +msgid "Show" +msgstr "Zobraziť" + +msgid "Hide" +msgstr "Skryť" diff --git a/external_sources/django/django/contrib/admin/locale/sl/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/sl/LC_MESSAGES/django.po new file mode 100644 index 0000000..3993498 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/sl/LC_MESSAGES/django.po @@ -0,0 +1,774 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Andrej Marsetič, 2022-2023 +# Jannis Leidel , 2011 +# Primoz Verdnik , 2017 +# zejn , 2013,2016 +# zejn , 2011-2013 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 11:41-0300\n" +"PO-Revision-Date: 2023-12-04 07:05+0000\n" +"Last-Translator: Andrej Marsetič, 2022-2023\n" +"Language-Team: Slovenian (http://app.transifex.com/django/django/language/" +"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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Izbriši izbrano: %(verbose_name_plural)s" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Uspešno izbrisano %(count)d %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Ni mogoče izbrisati %(name)s" + +msgid "Are you sure?" +msgstr "Ste prepričani?" + +msgid "Administration" +msgstr "Administracija" + +msgid "All" +msgstr "Vse" + +msgid "Yes" +msgstr "Da" + +msgid "No" +msgstr "Ne" + +msgid "Unknown" +msgstr "Neznano" + +msgid "Any date" +msgstr "Kadarkoli" + +msgid "Today" +msgstr "Danes" + +msgid "Past 7 days" +msgstr "Zadnjih 7 dni" + +msgid "This month" +msgstr "Ta mesec" + +msgid "This year" +msgstr "Letos" + +msgid "No date" +msgstr "Brez datuma" + +msgid "Has date" +msgstr "Z datumom" + +msgid "Empty" +msgstr "Prazno" + +msgid "Not empty" +msgstr "Ni prazno" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Vnesite veljavno %(username)s in geslo za račun osebja. Opomba: obe polji " +"upoštevata velikost črk." + +msgid "Action:" +msgstr "Dejanje:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Dodaj še en %(verbose_name)s" + +msgid "Remove" +msgstr "Odstrani" + +msgid "Addition" +msgstr "Dodatek" + +msgid "Change" +msgstr "Spremeni" + +msgid "Deletion" +msgstr "Izbris" + +msgid "action time" +msgstr "čas dejanja" + +msgid "user" +msgstr "uporabnik" + +msgid "content type" +msgstr "vrsta vsebine" + +msgid "object id" +msgstr "id objekta" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "predstavitev objekta" + +msgid "action flag" +msgstr "zastavica dejanja" + +msgid "change message" +msgstr "spremeni sporočilo" + +msgid "log entry" +msgstr "dnevniški vnos" + +msgid "log entries" +msgstr "dnevniški vnosi" + +#, python-format +msgid "Added “%(object)s”." +msgstr "" + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Izbrisan “%(object)s.”" + +msgid "LogEntry Object" +msgstr "Dnevniški vnos" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Dodan {name} “{object}”." + +msgid "Added." +msgstr "Dodano." + +msgid "and" +msgstr "in" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Spremenjena polja {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Izbrisan {name} “{object}”." + +msgid "No fields changed." +msgstr "Nobeno polje ni bilo spremenjeno." + +msgid "None" +msgstr "Brez vrednosti" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" + +msgid "Select this object for an action - {}" +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "" + +msgid "You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Izbrati morate vnose, nad katerimi želite izvesti operacijo. Noben vnos ni " +"bil spremenjen." + +msgid "No action selected." +msgstr "Brez dejanja." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "" + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "Dodaj %s" + +#, python-format +msgid "Change %s" +msgstr "Spremeni %s" + +#, python-format +msgid "View %s" +msgstr "Pogled %s" + +msgid "Database error" +msgstr "Napaka v podatkovni bazi" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s je bil uspešno spremenjen." +msgstr[1] "%(count)s %(name)s sta bila uspešno spremenjena." +msgstr[2] "%(count)s %(name)s so bili uspešno spremenjeni." +msgstr[3] "%(count)s %(name)s je bilo uspešno spremenjenih." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s izbran" +msgstr[1] "%(total_count)s izbrana" +msgstr[2] "Vsi %(total_count)s izbrani" +msgstr[3] "Vseh %(total_count)s izbranih" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 od %(cnt)s izbranih" + +#, python-format +msgid "Change history: %s" +msgstr "Zgodovina sprememb: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Brisanje %(class_name)s %(instance)s bi zahtevalo brisanje naslednjih " +"zaščitenih povezanih objektov: %(related_objects)s" + +msgid "Django site admin" +msgstr "Django administrativni vmesnik" + +msgid "Django administration" +msgstr "Django administracija" + +msgid "Site administration" +msgstr "Administracija strani" + +msgid "Log in" +msgstr "Prijavite se" + +#, python-format +msgid "%(app)s administration" +msgstr "Administracija %(app)s" + +msgid "Page not found" +msgstr "Strani ni mogoče najti" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Opravičujemo se, a zahtevane strani ni mogoče najti." + +msgid "Home" +msgstr "Domov" + +msgid "Server error" +msgstr "Napaka na strežniku" + +msgid "Server error (500)" +msgstr "Napaka na strežniku (500)" + +msgid "Server Error (500)" +msgstr "Napaka na strežniku (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Prišlo je do nepričakovane napake. Napaka je bila preko e-pošte javljena " +"administratorjem spletne strani in naj bo bila v kratkem odpravljena. Hvala " +"za potrpljenje." + +msgid "Run the selected action" +msgstr "Izvedi izbrano dejanje" + +msgid "Go" +msgstr "Pojdi" + +msgid "Click here to select the objects across all pages" +msgstr "Kliknite tu za izbiro vseh vnosov na vseh straneh" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Izberi vse %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Počisti izbiro" + +msgid "Breadcrumbs" +msgstr "Navigacijska sled" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Model v %(name)s aplikaciji" + +msgid "Add" +msgstr "Dodaj" + +msgid "View" +msgstr "Pogled" + +msgid "You don’t have permission to view or edit anything." +msgstr "Nimate dovoljenja za ogled ali urejanje česarkoli." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Najprej vnesite uporabniško ime in geslo. Nato boste lahko urejali več " +"uporabniških možnosti." + +msgid "Enter a username and password." +msgstr "Vnesite uporabniško ime in geslo." + +msgid "Change password" +msgstr "Spremeni geslo" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Popravite spodnjo napako." +msgstr[1] "Prosim popravite spodnji napaki." +msgstr[2] "Prosim popravite spodnje napake." +msgstr[3] "Prosim popravite spodnje napake." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Vpišite novo geslo za uporabnika %(username)s." + +msgid "Skip to main content" +msgstr "Preskoči na glavno vsebino" + +msgid "Welcome," +msgstr "Dobrodošli," + +msgid "View site" +msgstr "Poglej stran" + +msgid "Documentation" +msgstr "Dokumentacija" + +msgid "Log out" +msgstr "Odjava" + +#, python-format +msgid "Add %(name)s" +msgstr "Dodaj %(name)s" + +msgid "History" +msgstr "Zgodovina" + +msgid "View on site" +msgstr "Poglej na strani" + +msgid "Filter" +msgstr "Filter" + +msgid "Hide counts" +msgstr "" + +msgid "Show counts" +msgstr "" + +msgid "Clear all filters" +msgstr "Počisti vse filtre" + +msgid "Remove from sorting" +msgstr "Odstrani iz razvrščanja" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Prioriteta razvrščanja: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Preklopi razvrščanje" + +msgid "Toggle theme (current theme: auto)" +msgstr "Preklopi temo (trenutna tema: samodejno)" + +msgid "Toggle theme (current theme: light)" +msgstr "Preklopi temo (trenutna tema: svetla)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Preklop teme (trenutna tema: temna)" + +msgid "Delete" +msgstr "Izbriši" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Izbris %(object_name)s '%(escaped_object)s' bi pomenil izbris povezanih " +"objektov, vendar nimate dovoljenja za izbris naslednjih tipov objektov:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Brisanje %(object_name)s '%(escaped_object)s' bi zahtevalo brisanje " +"naslednjih zaščitenih povezanih objektov:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Ste prepričani, da želite izbrisati %(object_name)s \"%(escaped_object)s\"? " +"Vsi naslednji povezani elementi bodo izbrisani:" + +msgid "Objects" +msgstr "Objekti" + +msgid "Yes, I’m sure" +msgstr "Da, prepričan sem" + +msgid "No, take me back" +msgstr "Ne, vrni me nazaj" + +msgid "Delete multiple objects" +msgstr "Izbriši več objektov" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Brisanje naslendjih %(objects_name)s bi imelo za posledico izbris naslednjih " +"povezanih objektov, vendar vaš račun nima pravic za izbris naslednjih tipov " +"objektov:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Brisanje izbranih %(objects_name)s zahteva brisanje naslednjih zaščitenih " +"povezanih objektov:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Ali res želite izbrisati izbrane %(objects_name)s? Vsi naslednji objekti in " +"njihovi povezani vnosi bodo izbrisani:" + +msgid "Delete?" +msgstr "Izbrišem?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " Po %(filter_title)s " + +msgid "Summary" +msgstr "Povzetek" + +msgid "Recent actions" +msgstr "Nedavna dejanja" + +msgid "My actions" +msgstr "Moja dejanja" + +msgid "None available" +msgstr "Ni na voljo" + +msgid "Added:" +msgstr "" + +msgid "Changed:" +msgstr "" + +msgid "Deleted:" +msgstr "" + +msgid "Unknown content" +msgstr "Neznana vsebina" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Prijavljeni ste kot %(username)s in nimate pravic za dostop do te strani. Bi " +"se želeli prijaviti z drugim računom?" + +msgid "Forgotten your password or username?" +msgstr "Ste pozabili geslo ali uporabniško ime?" + +msgid "Toggle navigation" +msgstr "Preklopi navigacijo" + +msgid "Sidebar" +msgstr "Stranska vrstica" + +msgid "Start typing to filter…" +msgstr "Za filtriranje začnite tipkati ..." + +msgid "Filter navigation items" +msgstr "Filtrirajte navigacijske elemente" + +msgid "Date/time" +msgstr "Datum/čas" + +msgid "User" +msgstr "Uporabnik" + +msgid "Action" +msgstr "Dejanje" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" + +msgid "Show all" +msgstr "Prikaži vse" + +msgid "Save" +msgstr "Shrani" + +msgid "Popup closing…" +msgstr "" + +msgid "Search" +msgstr "Išči" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s zadetkov" +msgstr[1] "%(counter)s zadetek" +msgstr[2] "%(counter)s zadetka" +msgstr[3] "%(counter)s zadetki" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s skupno" + +msgid "Save as new" +msgstr "Shrani kot novo" + +msgid "Save and add another" +msgstr "Shrani in dodaj še eno" + +msgid "Save and continue editing" +msgstr "Shrani in nadaljuj z urejanjem" + +msgid "Save and view" +msgstr "Shrani in poglej" + +msgid "Close" +msgstr "Zapri" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Spremeni izbran %(model)s" + +#, python-format +msgid "Add another %(model)s" +msgstr "Dodaj še en %(model)s " + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Izbriši izbran %(model)s" + +#, python-format +msgid "View selected %(model)s" +msgstr "Poglej izbran %(model)s" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Hvala, ker ste si danes vzeli nekaj časa za to spletno stran." + +msgid "Log in again" +msgstr "Ponovna prijava" + +msgid "Password change" +msgstr "Sprememba gesla" + +msgid "Your password was changed." +msgstr "Vaše geslo je bilo spremenjeno." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Zaradi varnosti vnesite svoje staro geslo in nato dvakrat vnesite novo " +"geslo, da bomo lahko preverili, ali ste ga pravilno vnesli." + +msgid "Change my password" +msgstr "Spremeni moje geslo" + +msgid "Password reset" +msgstr "Ponastavitev gesla" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Vaše geslo je bilo nastavljeno. Zdaj se lahko prijavite." + +msgid "Password reset confirmation" +msgstr "Potrdite ponastavitev gesla" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "Vnesite vaše novo geslo dvakrat, da se izognete tipkarskim napakam." + +msgid "New password:" +msgstr "Novo geslo:" + +msgid "Confirm password:" +msgstr "Potrditev gesla:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Povezava za ponastavitev gesla ni bila veljavna, morda je bila že " +"uporabljena. Prosimo zahtevajte novo ponastavitev gesla." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Po e-pošti smo vam poslali navodila za nastavitev gesla, če obstaja račun z " +"e-pošto, ki ste jo vnesli. Prejeti bi jih morali kmalu." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Če ne prejmete e-poštnega sporočila, preverite, ali ste vnesli naslov, s " +"katerim ste se registrirali, in preverite mapo z vsiljeno pošto." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"To e-pošto ste prejeli, ker je ste zahtevali ponastavitev gesla za vaš " +"uporabniški račun na %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Prosimo pojdite na sledečo stran in izberite novo geslo:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Vaše uporabniško ime, če ste ga pozabili:" + +msgid "Thanks for using our site!" +msgstr "Hvala, ker uporabljate našo stran!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Ekipa strani %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Ste pozabili geslo? Spodaj vnesite svoj e-poštni naslov in poslali vam bomo " +"navodila za nastavitev novega." + +msgid "Email address:" +msgstr "E-poštni naslov:" + +msgid "Reset my password" +msgstr "Ponastavi moje geslo" + +msgid "Select all objects on this page for an action" +msgstr "" + +msgid "All dates" +msgstr "Vsi datumi" + +#, python-format +msgid "Select %s" +msgstr "Izberite %s" + +#, python-format +msgid "Select %s to change" +msgstr "Izberite %s, ki ga želite spremeniti" + +#, python-format +msgid "Select %s to view" +msgstr "" + +msgid "Date:" +msgstr "Datum:" + +msgid "Time:" +msgstr "Ura:" + +msgid "Lookup" +msgstr "Poizvedba" + +msgid "Currently:" +msgstr "Trenutno:" + +msgid "Change:" +msgstr "Spremembe:" diff --git a/external_sources/django/django/contrib/admin/locale/sl/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/sl/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..08a77f6 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/sl/LC_MESSAGES/djangojs.po @@ -0,0 +1,328 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Andrej Marsetič, 2022,2024 +# Jannis Leidel , 2011 +# zejn , 2016 +# zejn , 2011-2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 07:59+0000\n" +"Last-Translator: Andrej Marsetič, 2022,2024\n" +"Language-Team: Slovenian (http://app.transifex.com/django/django/language/" +"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" + +#, javascript-format +msgid "Available %s" +msgstr "Možne %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"To je seznam možnih %s. Izbrane lahko izberete z izbiro v spodnjem okvirju " +"in s klikom na puščico \"Izberi\" med okvirjema." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Z vpisom niza v to polje, zožite izbor %s." + +msgid "Filter" +msgstr "Filtriraj" + +msgid "Choose all" +msgstr "Izberi vse" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Kliknite za izbor vseh %s hkrati." + +msgid "Choose" +msgstr "Izberi" + +msgid "Remove" +msgstr "Odstrani" + +#, javascript-format +msgid "Chosen %s" +msgstr "Izbran %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"To je seznam možnih %s. Odvečne lahko odstranite z izbiro v okvirju in " +"klikom na puščico \"Odstrani\" med okvirjema." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "Vnesite v to polje, da filtrirate seznam izbranih %s ." + +msgid "Remove all" +msgstr "Odstrani vse" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Kliknite za odstranitev vseh %s hkrati." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] " %s izbrana možnosti ni vidna" +msgstr[1] " %s izbrani možnosti nista vidni" +msgstr[2] " %s izbrane možnosti niso vidne" +msgstr[3] " %s izbrane možnosti niso vidne" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s od %(cnt)s izbranih" +msgstr[1] "%(sel)s od %(cnt)s izbran" +msgstr[2] "%(sel)s od %(cnt)s izbrana" +msgstr[3] "%(sel)s od %(cnt)s izbrani" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Na nekaterih poljih, kjer je omogočeno urejanje, so neshranjene spremembe. V " +"primeru nadaljevanja bodo neshranjene spremembe trajno izgubljene." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Izbrali ste dejanje, vendar še niste shranili sprememb posameznih polj. Za " +"shranjevanje kliknite V redu. Akcijo boste morali ponovno zagnati." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Izbrali ste dejanje in niste spremenili posameznih polj. Verjetno iščete " +"gumb Pojdi in ne gumb Shrani." + +msgid "Now" +msgstr "Takoj" + +msgid "Midnight" +msgstr "Polnoč" + +msgid "6 a.m." +msgstr "Ob 6h" + +msgid "Noon" +msgstr "Opoldne" + +msgid "6 p.m." +msgstr "Ob 18h" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Opomba: glede na čas na strežniku ste %s uro naprej." +msgstr[1] "Opomba: glede na čas na strežniku ste %s uri naprej." +msgstr[2] "Opomba: glede na čas na strežniku ste %s ure naprej." +msgstr[3] "Opomba: glede na čas na strežniku ste %s ur naprej." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Opomba: glede na čas na strežniku ste %s uro zadaj." +msgstr[1] "Opomba: glede na čas na strežniku ste %s uri zadaj." +msgstr[2] "Opomba: glede na čas na strežniku ste %s ure zadaj." +msgstr[3] "Opomba: glede na čas na strežniku ste %s ur zadaj." + +msgid "Choose a Time" +msgstr "Izberite čas" + +msgid "Choose a time" +msgstr "Izbor časa" + +msgid "Cancel" +msgstr "Prekliči" + +msgid "Today" +msgstr "Danes" + +msgid "Choose a Date" +msgstr "Izberite datum" + +msgid "Yesterday" +msgstr "Včeraj" + +msgid "Tomorrow" +msgstr "Jutri" + +msgid "January" +msgstr "januar" + +msgid "February" +msgstr "februar" + +msgid "March" +msgstr "marec" + +msgid "April" +msgstr "april" + +msgid "May" +msgstr "maj" + +msgid "June" +msgstr "junij" + +msgid "July" +msgstr "julij" + +msgid "August" +msgstr "avgust" + +msgid "September" +msgstr "september" + +msgid "October" +msgstr "oktober" + +msgid "November" +msgstr "november" + +msgid "December" +msgstr "december" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Jan" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Feb" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Mar" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Apr" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "Maj" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Jun" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Jul" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Aug" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Sep" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Okt" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Nov" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Dec" + +msgid "Sunday" +msgstr "Nedelja" + +msgid "Monday" +msgstr "Ponedeljek" + +msgid "Tuesday" +msgstr "Torek" + +msgid "Wednesday" +msgstr "Sreda" + +msgid "Thursday" +msgstr "Četrtek" + +msgid "Friday" +msgstr "Petek" + +msgid "Saturday" +msgstr "Sobota" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "Ned" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "Pon" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "Tor" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "Sre" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "Čet" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "Pet" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "Sob" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "N" + +msgctxt "one letter Monday" +msgid "M" +msgstr "P" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "T" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "S" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "Č" + +msgctxt "one letter Friday" +msgid "F" +msgstr "P" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "S" diff --git a/external_sources/django/django/contrib/admin/locale/sq/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/sq/LC_MESSAGES/django.po new file mode 100644 index 0000000..9e571d0 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/sq/LC_MESSAGES/django.po @@ -0,0 +1,790 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Besnik Bleta , 2011,2015 +# Besnik Bleta , 2020,2022-2024 +# Besnik Bleta , 2015,2018-2019 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 07:05+0000\n" +"Last-Translator: Besnik Bleta , 2020,2022-2024\n" +"Language-Team: Albanian (http://app.transifex.com/django/django/language/" +"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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Fshiji %(verbose_name_plural)s e përzgjedhur" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "U fshinë me sukses %(count)d %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "S’mund të fshijë %(name)s" + +msgid "Are you sure?" +msgstr "Jeni i sigurt?" + +msgid "Administration" +msgstr "Administrim" + +msgid "All" +msgstr "Krejt" + +msgid "Yes" +msgstr "Po" + +msgid "No" +msgstr "Jo" + +msgid "Unknown" +msgstr "E panjohur" + +msgid "Any date" +msgstr "Çfarëdo date" + +msgid "Today" +msgstr "Sot" + +msgid "Past 7 days" +msgstr "7 ditët e shkuara" + +msgid "This month" +msgstr "Këtë muaj" + +msgid "This year" +msgstr "Këtë vit" + +msgid "No date" +msgstr "Pa datë" + +msgid "Has date" +msgstr "Ka datë" + +msgid "Empty" +msgstr "E zbrazët" + +msgid "Not empty" +msgstr "Jo e zbrazët" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Ju lutemi, jepni %(username)s dhe fjalëkalimin e saktë për një llogari " +"ekipi. Kini parasysh se që të dy fushat mund të jenë të ndjeshme ndaj " +"shkrimit me shkronja të mëdha ose të vogla." + +msgid "Action:" +msgstr "Veprim:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Shtoni një tjetër %(verbose_name)s" + +msgid "Remove" +msgstr "Hiqe" + +msgid "Addition" +msgstr "Shtim" + +msgid "Change" +msgstr "Ndryshoje" + +msgid "Deletion" +msgstr "Fshirje" + +msgid "action time" +msgstr "kohë veprimi" + +msgid "user" +msgstr "përdorues" + +msgid "content type" +msgstr "lloj lënde" + +msgid "object id" +msgstr "id objekti" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "paraqitje objekti" + +msgid "action flag" +msgstr "shenjë veprimi" + +msgid "change message" +msgstr "mesazh ndryshimi" + +msgid "log entry" +msgstr "zë regjistrimi" + +msgid "log entries" +msgstr "zëra regjistrimi" + +#, python-format +msgid "Added “%(object)s”." +msgstr "U shtua “%(object)s”." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "U ndryshua “%(object)s” — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "U fshi “%(object)s.”" + +msgid "LogEntry Object" +msgstr "Objekt LogEntry" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "U shtua {name} “{object}”." + +msgid "Added." +msgstr "U shtua." + +msgid "and" +msgstr "dhe " + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "U ndryshuan {fields} për {name} “{object}”." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "U ndryshuan {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "U fshi {name} “{object}”." + +msgid "No fields changed." +msgstr "S’u ndryshua ndonjë fushë." + +msgid "None" +msgstr "Asnjë" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Që të përzgjidhni më shumë se një, mbani të shtypur “Control”, ose “Command” " +"në një Mac." + +msgid "Select this object for an action - {}" +msgstr "Përzgjidheni këtë objekt për një veprim - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "{name} “{obj}” u shtua me sukses." + +msgid "You may edit it again below." +msgstr "Mund ta ripërpunoni më poshtë." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"{name} “{obj}” u shtua me sukses. Mund të shtoni {name} tjetër më poshtë." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"{name} “{obj}” u ndryshua me sukses. Mund ta përpunoni sërish më poshtë." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"{name} “{obj}” u ndryshua me sukses. Mund të shtoni {name} tjetër më poshtë." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "{name} “{obj}” u ndryshua me sukses." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Duhen përzgjedhur objekte që të kryhen veprime mbi ta. S’u ndryshua ndonjë " +"objekt." + +msgid "No action selected." +msgstr "S’u përzgjodh ndonjë veprim." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s “%(obj)s” u fshi me sukses." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "%(name)s me “%(key)s” ID s’ekziston. Mos qe fshirë vallë?" + +#, python-format +msgid "Add %s" +msgstr "Shtoni %s" + +#, python-format +msgid "Change %s" +msgstr "Ndrysho %s" + +#, python-format +msgid "View %s" +msgstr "Shiheni %s" + +msgid "Database error" +msgstr "Gabim baze të dhënash" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s u ndryshua me sukses." +msgstr[1] "%(count)s %(name)s u ndryshuan me sukses." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s i përzgjedhur" +msgstr[1] "Krejt %(total_count)s të përzgjedhurat" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 nga %(cnt)s të përzgjedhur" + +#, python-format +msgid "Change history: %s" +msgstr "Ndryshoni historikun: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Fshirja e %(class_name)s %(instance)s do të lypte fshirjen e objekteve " +"vijuese të mbrojtura që kanë lidhje me ta: %(related_objects)s" + +msgid "Django site admin" +msgstr "Përgjegjës sajti Django" + +msgid "Django administration" +msgstr "Administrim i Django-s" + +msgid "Site administration" +msgstr "Administrim sajti" + +msgid "Log in" +msgstr "Hyni" + +#, python-format +msgid "%(app)s administration" +msgstr "Administrim %(app)s" + +msgid "Page not found" +msgstr "S’u gjet faqe" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Na ndjeni, por faqja e kërkuar s’u gjet dot." + +msgid "Home" +msgstr "Hyrje" + +msgid "Server error" +msgstr "Gabim shërbyesi" + +msgid "Server error (500)" +msgstr "Gabim shërbyesi (500)" + +msgid "Server Error (500)" +msgstr "Gabim Shërbyesi (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Pati një gabim. U është njoftuar përgjegjësve të sajtit përmes email-i dhe " +"do të duhej ndrequr pa humbur kohë. Faleminderit për durimin." + +msgid "Run the selected action" +msgstr "Xhiro veprimin e përzgjedhur" + +msgid "Go" +msgstr "Shko tek" + +msgid "Click here to select the objects across all pages" +msgstr "Klikoni këtu që të përzgjidhni objektet nëpër krejt faqet" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Përzgjidhni krejt %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Spastroje përzgjedhjen" + +msgid "Breadcrumbs" +msgstr "" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Modele te aplikacioni %(name)s" + +msgid "Add" +msgstr "Shtoni" + +msgid "View" +msgstr "Shiheni" + +msgid "You don’t have permission to view or edit anything." +msgstr "S’keni leje të shihni apo të përpunoni gjë." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Së pari, jepni një emër përdoruesi dhe një fjalëkalim. Mandej, do të jeni në " +"gjendje të përpunoni më tepër mundësi përdoruesi." + +msgid "Enter a username and password." +msgstr "Jepni emër përdoruesi dhe fjalëkalim." + +msgid "Change password" +msgstr "Ndryshoni fjalëkalimin" + +msgid "Set password" +msgstr "Caktoni fjalëkalim" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Ju lutemi, ndreqni gabimin më poshtë." +msgstr[1] "Ju lutemi, ndreqni gabimet më poshtë." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"Jepni një fjalëkalim të ri për përdoruesin %(username)s." + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "" +"Ky veprim do të aktivizojë për këtë përdorues mirëfilltësim " +"me bazë fjalëkalimin." + +msgid "Disable password-based authentication" +msgstr "Çaktivizo mirëfilltësim me bazë fjalëkalimin" + +msgid "Enable password-based authentication" +msgstr "Aktivizo mirëfilltësim me bazë fjalëkalimin" + +msgid "Skip to main content" +msgstr "Kalo te lënda bazë" + +msgid "Welcome," +msgstr "Mirë se vini," + +msgid "View site" +msgstr "Shihni sajtin" + +msgid "Documentation" +msgstr "Dokumentim" + +msgid "Log out" +msgstr "Dilni" + +#, python-format +msgid "Add %(name)s" +msgstr "Shto %(name)s" + +msgid "History" +msgstr "Historik" + +msgid "View on site" +msgstr "Shiheni në sajt" + +msgid "Filter" +msgstr "Filtër" + +msgid "Hide counts" +msgstr "Fshihi numrat" + +msgid "Show counts" +msgstr "Shfaqi numrat" + +msgid "Clear all filters" +msgstr "Spastroji krejt filtrat" + +msgid "Remove from sorting" +msgstr "Hiqe prej renditjeje" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Përparësi renditjesh: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Shfaq/fshih renditjen" + +msgid "Toggle theme (current theme: auto)" +msgstr "Ndërroni temën (temë e tanishme: auto)" + +msgid "Toggle theme (current theme: light)" +msgstr "Ndërroni temën (temë e tanishme: e çelët)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Ndërroni temën (temë e tanishme: e errët)" + +msgid "Delete" +msgstr "Fshije" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Fshirja e %(object_name)s '%(escaped_object)s' do të shpinte në fshirjen e " +"objekteve të lidhur me të, por llogaria juaj nuk ka leje për fshirje të " +"objekteve të llojeve të mëposhtëm:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Fshirja e %(object_name)s '%(escaped_object)s' do të kërkonte fshirjen e " +"objekteve të mbrojtur vijues, të lidhur me të:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Jeni i sigurt se doni të fshihet %(object_name)s \"%(escaped_object)s\"? " +"Krejt objektet vijues të lidhur me të do të fshihen:" + +msgid "Objects" +msgstr "Objekte" + +msgid "Yes, I’m sure" +msgstr "Po, jam i sigurt" + +msgid "No, take me back" +msgstr "Jo, kthemëni mbrapsht" + +msgid "Delete multiple objects" +msgstr "Fshini disa objekte njëherësh" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Fshirja e %(objects_name)s të përzgjedhur do të shpjerë në fshirjen e " +"objekteve të lidhur me të, por llogaria juaj nuk ka leje të fshijë llojet " +"vijuese të objekteve:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Fshirja e %(objects_name)s të përzgjedhur do të kërkonte fshirjen e " +"objekteve të mbrojtur vijues, të lidhur me të:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Jeni i sigurt se doni të fshihen %(objects_name)s e përzgjedhur? Krejt " +"objektet vijues dhe gjëra të lidhura me ta do të fshihen:" + +msgid "Delete?" +msgstr "Të fshihet?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " Nga %(filter_title)s " + +msgid "Summary" +msgstr "Përmbledhje" + +msgid "Recent actions" +msgstr "Veprime së fundi" + +msgid "My actions" +msgstr "Veprimet e mia" + +msgid "None available" +msgstr "Asnjë i passhëm" + +msgid "Added:" +msgstr "U shtua më:" + +msgid "Changed:" +msgstr "U ndryshua më:" + +msgid "Deleted:" +msgstr "U fshi më:" + +msgid "Unknown content" +msgstr "Lëndë e panjohur" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Diç është gabim me instalimin tuaj të bazës së të dhënave. Sigurohuni që " +"janë krijuar tabelat e duhura të bazës së të dhënave dhe sigurohuni që baza " +"e të dhënave është e lexueshme nga përdoruesi i duhur." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Jeni mirëfilltësuar si %(username)s, por s’jeni i autorizuar të hyni në këtë " +"faqe. Do të donit të hyni në një llogari tjetër?" + +msgid "Forgotten your password or username?" +msgstr "Harruat fjalëkalimin ose emrin tuaj të përdoruesit?" + +msgid "Toggle navigation" +msgstr "Shfaqni/fshihni lëvizjen" + +msgid "Sidebar" +msgstr "Anështyllë" + +msgid "Start typing to filter…" +msgstr "Që të bëhet filtrim, filloni të shtypni…" + +msgid "Filter navigation items" +msgstr "Filtroni elementë lëvizjeje" + +msgid "Date/time" +msgstr "Datë/kohë" + +msgid "User" +msgstr "Përdorues" + +msgid "Action" +msgstr "Veprim" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "zë" +msgstr[1] "zëra" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Ky objekt nuk ka historik ndryshimesh. Gjasat janë të mos ketë qenë shtuar " +"përmes këtij sajti admin." + +msgid "Show all" +msgstr "Shfaqi krejt" + +msgid "Save" +msgstr "Ruaje" + +msgid "Popup closing…" +msgstr "Mbyllje flluske…" + +msgid "Search" +msgstr "Kërko" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s përfundim" +msgstr[1] "%(counter)s përfundime" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s gjithsej" + +msgid "Save as new" +msgstr "Ruaje si të ri" + +msgid "Save and add another" +msgstr "Ruajeni dhe shtoni një tjetër" + +msgid "Save and continue editing" +msgstr "Ruajeni dhe vazhdoni përpunimin" + +msgid "Save and view" +msgstr "Ruajeni dhe shiheni" + +msgid "Close" +msgstr "Mbylle" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Ndryshoni %(model)s e përzgjedhur" + +#, python-format +msgid "Add another %(model)s" +msgstr "Shtoni një %(model)s tjetër" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Fshije %(model)s e përzgjedhur" + +#, python-format +msgid "View selected %(model)s" +msgstr "Shihni %(model)s e përzgjedhur" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Faleminderit që harxhoni pak kohë me sajtin sot." + +msgid "Log in again" +msgstr "Hyni sërish" + +msgid "Password change" +msgstr "Ndryshim fjalëkalimi" + +msgid "Your password was changed." +msgstr "Fjalëkalimi juaj u ndryshua." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Ju lutemi, për hir të sigurisë, jepni fjalëkalimin tuaj të vjetër,dhe mandej " +"jepeni dy herë fjalëkalimin tuaj të ri, që të mund të verifikojmë se i keni " +"shtypur saktë." + +msgid "Change my password" +msgstr "Ndrysho fjalëkalimin tim" + +msgid "Password reset" +msgstr "Ricaktim fjalëkalimi" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "" +"Fjalëkalimi juaj u caktua. Mund të vazhdoni më tej dhe të bëni hyrjen tani." + +msgid "Password reset confirmation" +msgstr "Ripohim ricaktimi fjalëkalimi" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Ju lutemi, jepeni fjalëkalimin tuaj dy herë, që kështu të mund të " +"verifikojmë që e shtypët saktë." + +msgid "New password:" +msgstr "Fjalëkalim i ri:" + +msgid "Confirm password:" +msgstr "Ripohoni fjalëkalimin:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Lidhja për ricaktimin e fjalëkalimit qe e pavlefshme, ndoshta ngaqë është " +"përdorur tashmë një herë. Ju lutemi, kërkoni një ricaktim të ri fjalëkalimi." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Ju kemi dërguar me email udhëzime për caktimin e fjalëkalimit tuaj, nëse " +"ekziston një llogari me email-in që dhatë. Duhet t’ju vijnë pas pak." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Nëse s’merrni ndonjë email, ju lutemi, sigurohuni se keni dhënë adresën me " +"të cilën u regjistruat, dhe kontrolloni edhe te dosja e mesazheve të " +"padëshiruar." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Këtë email po e merrni ngaqë kërkuat ricaktim fjalëkalimi për llogarinë tuaj " +"si përdorues te %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Ju lutemi, shkoni te faqja vijuese dhe zgjidhni një fjalëkalim të ri:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Emri juaj i përdoruesit, në rast se e keni harruar:" + +msgid "Thanks for using our site!" +msgstr "Faleminderit që përdorni sajtin tonë!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Ekipi i %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Harruat fjalëkalimin tuaj? Jepni më poshtë adresën tuaj email, dhe do t’ju " +"dërgojmë me email udhëzime për caktimin e një të riu." + +msgid "Email address:" +msgstr "Adresë email:" + +msgid "Reset my password" +msgstr "Ricakto fjalëkalimin tim" + +msgid "Select all objects on this page for an action" +msgstr "Përzgjidhni për një veprim krejt objektet në këtë faqe" + +msgid "All dates" +msgstr "Krejt datat" + +#, python-format +msgid "Select %s" +msgstr "Përzgjidhni %s" + +#, python-format +msgid "Select %s to change" +msgstr "Përzgjidhni %s për ta ndryshuar" + +#, python-format +msgid "Select %s to view" +msgstr "Përzgjidhni %s për parje" + +msgid "Date:" +msgstr "Datë:" + +msgid "Time:" +msgstr "Kohë:" + +msgid "Lookup" +msgstr "Kërkim" + +msgid "Currently:" +msgstr "Tani:" + +msgid "Change:" +msgstr "Ndryshim:" diff --git a/external_sources/django/django/contrib/admin/locale/sq/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/sq/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..bda2615 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/sq/LC_MESSAGES/djangojs.po @@ -0,0 +1,328 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Besnik Bleta , 2011-2012,2015 +# Besnik Bleta , 2020-2023 +# Besnik Bleta , 2015,2017 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 15:04-0300\n" +"PO-Revision-Date: 2023-12-04 07:59+0000\n" +"Last-Translator: Besnik Bleta , 2020-2023\n" +"Language-Team: Albanian (http://app.transifex.com/django/django/language/" +"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" + +#, javascript-format +msgid "Available %s" +msgstr "%s i gatshëm" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Kjo është lista e %s të gatshëm. Mund të zgjidhni disa duke i përzgjedhur te " +"kutiza më poshtë dhe mandej duke klikuar mbi shigjetën \"Zgjidhe\" mes dy " +"kutizave." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Shkruani brenda kutizës që të filtrohet lista e %s të passhme." + +msgid "Filter" +msgstr "Filtro" + +msgid "Choose all" +msgstr "Zgjidheni krejt" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Klikoni që të zgjidhen krejt %s njëherësh." + +msgid "Choose" +msgstr "Zgjidhni" + +msgid "Remove" +msgstr "Hiqe" + +#, javascript-format +msgid "Chosen %s" +msgstr "U zgjodh %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Kjo është lista e %s të gatshme. Mund të hiqni disa duke i përzgjedhur te " +"kutiza më poshtë e mandej duke klikuar mbi shigjetën \"Hiqe\" mes dy " +"kutizave." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "Shtypni në këtë kuadrat, që të filtroni listën e %s të përzgjedhur." + +msgid "Remove all" +msgstr "Hiqi krejt" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Klikoni që të hiqen krejt %s e zgjedhura njëherësh." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%s mundësi e përzgjedhur jo e dukshme" +msgstr[1] "%s mundësi të përzgjedhura jo të dukshme" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "U përzgjodh %(sel)s nga %(cnt)s" +msgstr[1] "U përzgjodhën %(sel)s nga %(cnt)s" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Keni ndryshime të paruajtura te fusha individuale të ndryshueshme. Nëse " +"kryeni një veprim, ndryshimet e paruajtura do të humbin." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Keni përzgjedhur një veprim, por s’keni ruajtur ende ndryshimet që bëtë te " +"fusha individuale. Ju lutemi, klikoni OK që të bëhet ruajtja. Do t’ju duhet " +"ta ribëni veprimin." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Keni përzgjedhur një veprim, dhe nuk keni bërë ndonjë ndryshim te fusha " +"individuale. Ndoshta po kërkonit për butonin Shko, në vend se për butonin " +"Ruaje." + +msgid "Now" +msgstr "Tani" + +msgid "Midnight" +msgstr "Mesnatë" + +msgid "6 a.m." +msgstr "6 a.m." + +msgid "Noon" +msgstr "Mesditë" + +msgid "6 p.m." +msgstr "6 p.m." + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Shënim: Jeni %s orë para kohës së shërbyesit." +msgstr[1] "Shënim: Jeni %s orë para kohës së shërbyesit." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Shënim: Jeni %s orë pas kohës së shërbyesit." +msgstr[1] "Shënim: Jeni %s orë pas kohës së shërbyesit." + +msgid "Choose a Time" +msgstr "Zgjidhni një Kohë" + +msgid "Choose a time" +msgstr "Zgjidhni një kohë" + +msgid "Cancel" +msgstr "Anuloje" + +msgid "Today" +msgstr "Sot" + +msgid "Choose a Date" +msgstr "Zgjidhni një Datë" + +msgid "Yesterday" +msgstr "Dje" + +msgid "Tomorrow" +msgstr "Nesër" + +msgid "January" +msgstr "Janar" + +msgid "February" +msgstr "Shkurt" + +msgid "March" +msgstr "Mars" + +msgid "April" +msgstr "Prill" + +msgid "May" +msgstr "Maj" + +msgid "June" +msgstr "Qershor" + +msgid "July" +msgstr "Korrik" + +msgid "August" +msgstr "Gusht" + +msgid "September" +msgstr "Shtator" + +msgid "October" +msgstr "Tetor" + +msgid "November" +msgstr "Nëntor" + +msgid "December" +msgstr "Dhjetor" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Jan" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Shk" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Mar" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Pri" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "Maj" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Qer" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Kor" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Gus" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Sht" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Tet" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Nën" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Dhje" + +msgid "Sunday" +msgstr "E diel" + +msgid "Monday" +msgstr "E hënë" + +msgid "Tuesday" +msgstr "E martë" + +msgid "Wednesday" +msgstr "E mërkurë" + +msgid "Thursday" +msgstr "E enjte" + +msgid "Friday" +msgstr "E premte" + +msgid "Saturday" +msgstr "E shtunë" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "Die" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "Hën" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "Mar" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "Mër" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "Enj" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "Pre" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "Sht" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "D" + +msgctxt "one letter Monday" +msgid "M" +msgstr "H" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "M" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "M" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "E" + +msgctxt "one letter Friday" +msgid "F" +msgstr "P" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "S" + +msgid "Show" +msgstr "Shfaqe" + +msgid "Hide" +msgstr "Fshihe" diff --git a/external_sources/django/django/contrib/admin/locale/sr/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/sr/LC_MESSAGES/django.po new file mode 100644 index 0000000..1c9d7f9 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/sr/LC_MESSAGES/django.po @@ -0,0 +1,792 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Branko Kokanovic , 2018 +# Igor Jerosimić, 2019,2021,2023-2024 +# Jannis Leidel , 2011 +# Janos Guljas , 2011-2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 07:05+0000\n" +"Last-Translator: Igor Jerosimić, 2019,2021,2023-2024\n" +"Language-Team: Serbian (http://app.transifex.com/django/django/language/" +"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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Бриши означене објекте класе %(verbose_name_plural)s" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Успешно обрисано: %(count)d %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Несуспело брисање %(name)s" + +msgid "Are you sure?" +msgstr "Да ли сте сигурни?" + +msgid "Administration" +msgstr "Администрација" + +msgid "All" +msgstr "Сви" + +msgid "Yes" +msgstr "Да" + +msgid "No" +msgstr "Не" + +msgid "Unknown" +msgstr "Непознато" + +msgid "Any date" +msgstr "Сви датуми" + +msgid "Today" +msgstr "Данас" + +msgid "Past 7 days" +msgstr "Последњих 7 дана" + +msgid "This month" +msgstr "Овај месец" + +msgid "This year" +msgstr "Ова година" + +msgid "No date" +msgstr "Нема датума" + +msgid "Has date" +msgstr "Има датум" + +msgid "Empty" +msgstr "Празно" + +msgid "Not empty" +msgstr "Није празно" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Молим вас унесите исправно %(username)s и лозинку. Обратите пажњу да мала и " +"велика слова представљају различите карактере." + +msgid "Action:" +msgstr "Радња:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Додај још један објекат класе %(verbose_name)s." + +msgid "Remove" +msgstr "Обриши" + +msgid "Addition" +msgstr "Додавања" + +msgid "Change" +msgstr "Измени" + +msgid "Deletion" +msgstr "Брисања" + +msgid "action time" +msgstr "време радње" + +msgid "user" +msgstr "корисник" + +msgid "content type" +msgstr "тип садржаја" + +msgid "object id" +msgstr "id објекта" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "опис објекта" + +msgid "action flag" +msgstr "ознака радње" + +msgid "change message" +msgstr "опис измене" + +msgid "log entry" +msgstr "запис у логовима" + +msgid "log entries" +msgstr "записи у логовима" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Додат објекат класе „%(object)s“." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Промењен објекат класе „%(object)s“ - %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Уклоњен објекат класе „%(object)s“." + +msgid "LogEntry Object" +msgstr "Објекат уноса лога" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Додат објекат {name} \"{object}\"." + +msgid "Added." +msgstr "Додато." + +msgid "and" +msgstr "и" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Измењена поља {fields} за {name} \"{object}\"." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Измењена поља {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Обрисан објекат {name} \"{object}\"." + +msgid "No fields changed." +msgstr "Без измена у пољима." + +msgid "None" +msgstr "Ништа" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Држите „Control“, или „Command“ на Mac-у да бисте обележили више од једне " +"ставке." + +msgid "Select this object for an action - {}" +msgstr "Изабери овај објекат за радњу - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "Објекат {name} \"{obj}\" успешно додат." + +msgid "You may edit it again below." +msgstr "Можете га изменити опет испод" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"Објекат {name} \"{obj}\" успешно додат. Можете додати још један {name} испод." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"Објекат {name} \"{obj}\" успешно измењен. Можете га опет изменити испод." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"Објекат {name} \"{obj}\" успешно измењен. Можете додати још један {name} " +"испод." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "Објекат {name} \"{obj}\" успешно измењен." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Потребно је изабрати објекте да би се извршила акција над њима. Ниједан " +"објекат није промењен." + +msgid "No action selected." +msgstr "Није изабрана ниједна акција." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "Објекат „%(obj)s“ класе %(name)s је успешно обрисан." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "%(name)s са идентификацијом \"%(key)s\" не постоји. Можда је избрисан?" + +#, python-format +msgid "Add %s" +msgstr "Додај објекат класе %s" + +#, python-format +msgid "Change %s" +msgstr "Измени објекат класе %s" + +#, python-format +msgid "View %s" +msgstr "Преглед %s" + +msgid "Database error" +msgstr "Грешка у бази података" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "Успешно промењен %(count)s %(name)s." +msgstr[1] "Успешно промењена %(count)s %(name)s." +msgstr[2] "Успешно промењених %(count)s %(name)s." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s изабран" +msgstr[1] "Сва %(total_count)s изабрана" +msgstr[2] "Свих %(total_count)s изабраних" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 од %(cnt)s изабрано" + +#, python-format +msgid "Change history: %s" +msgstr "Историјат измена: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Да би избрисали %(class_name)s%(instance)s потребно је брисати и следеће " +"заштићене повезане објекте: %(related_objects)s" + +msgid "Django site admin" +msgstr "Django администрација сајта" + +msgid "Django administration" +msgstr "Django администрација" + +msgid "Site administration" +msgstr "Администрација система" + +msgid "Log in" +msgstr "Пријава" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s администрација" + +msgid "Page not found" +msgstr "Страница није пронађена" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Жао нам је, тражена страница није пронађена." + +msgid "Home" +msgstr "Почетна" + +msgid "Server error" +msgstr "Грешка на серверу" + +msgid "Server error (500)" +msgstr "Грешка на серверу (500)" + +msgid "Server Error (500)" +msgstr "Грешка на серверу (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Десила се грешка. Пријављена је администраторима сајта преко е-поште и " +"требало би да ускоро буде исправљена. Хвала Вам на стрпљењу." + +msgid "Run the selected action" +msgstr "Покрени одабрану радњу" + +msgid "Go" +msgstr "Почни" + +msgid "Click here to select the objects across all pages" +msgstr "Изабери све објекте на овој страници." + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Изабери све %(module_name)s од %(total_count)s укупно." + +msgid "Clear selection" +msgstr "Поништи избор" + +msgid "Breadcrumbs" +msgstr "Мрвице" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Модели у апликацији %(name)s" + +msgid "Add" +msgstr "Додај" + +msgid "View" +msgstr "Преглед" + +msgid "You don’t have permission to view or edit anything." +msgstr "Немате дозволе да погледате или измените било шта." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Прво унесите корисничко име и лозинку. Потом ћете моћи да мењате још " +"корисничких подешавања." + +msgid "Enter a username and password." +msgstr "Унесите корисничко име и лозинку" + +msgid "Change password" +msgstr "Промена лозинке" + +msgid "Set password" +msgstr "Постави лозинку" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Молимо исправите грешку испод." +msgstr[1] "Молимо исправите грешке испод." +msgstr[2] "Молимо исправите грешке испод." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Унесите нову лозинку за корисника %(username)s." + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "" +" Ова акција ћеомогућити аутентификацију засновану на " +"лозинки за овог корисника." + +msgid "Disable password-based authentication" +msgstr "Онемогући аутентификацију засновану на лозинки" + +msgid "Enable password-based authentication" +msgstr "Омогући аутентификацију засновану на лозинки" + +msgid "Skip to main content" +msgstr "Пређи на главни садржај" + +msgid "Welcome," +msgstr "Добродошли," + +msgid "View site" +msgstr "Погледај сајт" + +msgid "Documentation" +msgstr "Документација" + +msgid "Log out" +msgstr "Одјава" + +#, python-format +msgid "Add %(name)s" +msgstr "Додај објекат класе %(name)s" + +msgid "History" +msgstr "Историјат" + +msgid "View on site" +msgstr "Преглед на сајту" + +msgid "Filter" +msgstr "Филтер" + +msgid "Hide counts" +msgstr "Сакриј бројање" + +msgid "Show counts" +msgstr "Прикажи бројање" + +msgid "Clear all filters" +msgstr "Обриши све филтере" + +msgid "Remove from sorting" +msgstr "Избаци из сортирања" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Приоритет сортирања: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Укључи/искључи сортирање" + +msgid "Toggle theme (current theme: auto)" +msgstr "Укључи/искључи тему (тренутна тема: ауто)" + +msgid "Toggle theme (current theme: light)" +msgstr "Укључи/искључи тему (тренутна тема: светла)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Укључи/искључи тему (тренутна тема: тамна)" + +msgid "Delete" +msgstr "Обриши" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Уклањање %(object_name)s „%(escaped_object)s“ повлачи уклањање свих објеката " +"који су повезани са овим објектом, али ваш налог нема дозволе за брисање " +"следећих типова објеката:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Да би избрисали изабран %(object_name)s „%(escaped_object)s“ потребно је " +"брисати и следеће заштићене повезане објекте:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Да сигурни да желите да обришете %(object_name)s „%(escaped_object)s“? " +"Следећи објекти који су у вези са овим објектом ће такође бити обрисани:" + +msgid "Objects" +msgstr "Објекти" + +msgid "Yes, I’m sure" +msgstr "Да, сигуран сам" + +msgid "No, take me back" +msgstr "Не, хоћу назад" + +msgid "Delete multiple objects" +msgstr "Брисање више објеката" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Да би избрисали изабране %(objects_name)s потребно је брисати и заштићене " +"повезане објекте, међутим ваш налог нема дозволе за брисање следећих типова " +"објеката:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Да би избрисали изабране %(objects_name)s потребно је брисати и следеће " +"заштићене повезане објекте:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Да ли сте сигурни да желите да избришете изабране %(objects_name)s? Сви " +"следећи објекти и објекти са њима повезани ће бити избрисани:" + +msgid "Delete?" +msgstr "Брисање?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " %(filter_title)s " + +msgid "Summary" +msgstr "Сумарно" + +msgid "Recent actions" +msgstr "Скорашње акције" + +msgid "My actions" +msgstr "Моје акције" + +msgid "None available" +msgstr "Нема података" + +msgid "Added:" +msgstr "Додато:" + +msgid "Changed:" +msgstr "Измењено:" + +msgid "Deleted:" +msgstr "Обрисано:" + +msgid "Unknown content" +msgstr "Непознат садржај" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Нешто није уреду са вашом базом података. Проверите да ли постоје " +"одговарајуће табеле и да ли одговарајући корисник има приступ бази." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Пријављени сте као %(username)s, али немате овлашћења да приступите овој " +"страни. Да ли желите да се пријавите под неким другим налогом?" + +msgid "Forgotten your password or username?" +msgstr "Заборавили сте лозинку или корисничко име?" + +msgid "Toggle navigation" +msgstr "Укључи/искључи мени" + +msgid "Sidebar" +msgstr "Бочна трака" + +msgid "Start typing to filter…" +msgstr "Почните да куцате да бисте филтрирали…" + +msgid "Filter navigation items" +msgstr "Филтрирајте ставке навигације" + +msgid "Date/time" +msgstr "Датум/време" + +msgid "User" +msgstr "Корисник" + +msgid "Action" +msgstr "Радња" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "унос" +msgstr[1] "уноса" +msgstr[2] "уноса" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Овај објекат нема забележен историјат измена. Вероватно није додат кроз овај " +"сајт за администрацију." + +msgid "Show all" +msgstr "Прикажи све" + +msgid "Save" +msgstr "Сачувај" + +msgid "Popup closing…" +msgstr "Попуп се затвара..." + +msgid "Search" +msgstr "Претрага" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s резултат" +msgstr[1] "%(counter)s резултата" +msgstr[2] "%(counter)s резултата" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "укупно %(full_result_count)s" + +msgid "Save as new" +msgstr "Сачувај као нови" + +msgid "Save and add another" +msgstr "Сачувај и додај следећи" + +msgid "Save and continue editing" +msgstr "Сачувај и настави са изменама" + +msgid "Save and view" +msgstr "Сними и погледај" + +msgid "Close" +msgstr "Затвори" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Измени одабрани модел %(model)s" + +#, python-format +msgid "Add another %(model)s" +msgstr "Додај још један модел %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Обриши одабрани модел %(model)s" + +#, python-format +msgid "View selected %(model)s" +msgstr "Изабран приказ %(model)s" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Хвала што сте данас провели време на овом сајту." + +msgid "Log in again" +msgstr "Поновна пријава" + +msgid "Password change" +msgstr "Измена лозинке" + +msgid "Your password was changed." +msgstr "Ваша лозинка је измењена." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Из безбедносних разлога прво унесите своју стару лозинку, а нову затим " +"унесите два пута да бисмо могли да проверимо да ли сте је правилно унели." + +msgid "Change my password" +msgstr "Измени моју лозинку" + +msgid "Password reset" +msgstr "Ресетовање лозинке" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Ваша лозинка је постављена. Можете се пријавити." + +msgid "Password reset confirmation" +msgstr "Потврда ресетовања лозинке" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Унесите нову лозинку два пута како бисмо могли да проверимо да ли сте је " +"правилно унели." + +msgid "New password:" +msgstr "Нова лозинка:" + +msgid "Confirm password:" +msgstr "Потврда лозинке:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Линк за ресетовање лозинке није важећи, вероватно зато што је већ " +"искоришћен. Поново затражите ресетовање лозинке." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Послали смо Вам упутства за постављање лозинке, уколико налог са овом " +"адресом постоји. Требало би да их добијете ускоро." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Ако не добијете поруку, проверите да ли сте унели добру адресу са којом сте " +"се и регистровали и проверите фасциклу за нежељену пошту." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Примате ову поруку зато што сте затражили ресетовање лозинке за кориснички " +"налог на сајту %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Идите на следећу страницу и поставите нову лозинку." + +msgid "Your username, in case you’ve forgotten:" +msgstr "Ваше корисничко име, уколико сте заборавили:" + +msgid "Thanks for using our site!" +msgstr "Хвала што користите наш сајт!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Екипа сајта %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Заборавили сте лозинку? Унесите адресу е-поште испод и послаћемо Вам на њу " +"упутства за постављање нове лозинке." + +msgid "Email address:" +msgstr "Адреса е-поште:" + +msgid "Reset my password" +msgstr "Ресетуј моју лозинку" + +msgid "Select all objects on this page for an action" +msgstr "Изаберите све објекте на овој страници за радњу" + +msgid "All dates" +msgstr "Сви датуми" + +#, python-format +msgid "Select %s" +msgstr "Одабери објекат класе %s" + +#, python-format +msgid "Select %s to change" +msgstr "Одабери објекат класе %s за измену" + +#, python-format +msgid "Select %s to view" +msgstr "Одабери %s за преглед" + +msgid "Date:" +msgstr "Датум:" + +msgid "Time:" +msgstr "Време:" + +msgid "Lookup" +msgstr "Претражи" + +msgid "Currently:" +msgstr "Тренутно:" + +msgid "Change:" +msgstr "Измена:" diff --git a/external_sources/django/django/contrib/admin/locale/sr/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/sr/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..98d95ae --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/sr/LC_MESSAGES/djangojs.po @@ -0,0 +1,330 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Branko Kokanovic , 2018 +# Igor Jerosimić, 2021,2023 +# Jannis Leidel , 2011 +# Janos Guljas , 2011-2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 15:04-0300\n" +"PO-Revision-Date: 2023-12-04 07:59+0000\n" +"Last-Translator: Igor Jerosimić, 2021,2023\n" +"Language-Team: Serbian (http://app.transifex.com/django/django/language/" +"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" + +#, javascript-format +msgid "Available %s" +msgstr "Доступни %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Ово је листа доступних „%s“. Можете изабрати елементе тако што ћете их " +"изабрати у листи и кликнути на „Изабери“." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Филтрирајте листу доступних елемената „%s“." + +msgid "Filter" +msgstr "Филтер" + +msgid "Choose all" +msgstr "Изабери све" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Изаберите све „%s“ одједном." + +msgid "Choose" +msgstr "Изабери" + +msgid "Remove" +msgstr "Уклони" + +#, javascript-format +msgid "Chosen %s" +msgstr "Изабрано „%s“" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Ово је листа изабраних „%s“. Можете уклонити елементе тако што ћете их " +"изабрати у листи и кликнути на „Уклони“." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "Унесите ово поље да бисте филтрирали листу изабраних %s." + +msgid "Remove all" +msgstr "Уклони све" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Уклоните све изабране „%s“ одједном." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%s изабрана опција није видљива" +msgstr[1] "%s изабране опције нису видљиве" +msgstr[2] "%s изабраних опција није видљиво" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s од %(cnt)s изабран" +msgstr[1] "%(sel)s од %(cnt)s изабрана" +msgstr[2] "%(sel)s од %(cnt)s изабраних" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Имате несачиване измене. Ако покренете акцију, измене ће бити изгубљене." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Изабрали сте акцију, али нисте сачували ваше промене у појединачна поља. " +"Кликните на OK да сачувате промене. Биће неопходно да поново покренете " +"акцију." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Изабрали сте акцију и нисте направили ниједну промену на појединачним " +"пољима. Вероватно тражите Крени дугме уместо Сачувај." + +msgid "Now" +msgstr "Тренутно време" + +msgid "Midnight" +msgstr "Поноћ" + +msgid "6 a.m." +msgstr "18ч" + +msgid "Noon" +msgstr "Подне" + +msgid "6 p.m." +msgstr "18ч" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Обавештење: %s сат сте испред серверског времена." +msgstr[1] "Обавештење: %s сата сте испред серверског времена." +msgstr[2] "Обавештење: %s сати сте испред серверског времена." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Обавештење: %s сат сте иза серверског времена." +msgstr[1] "Обавештење: %s сата сте иза серверског времена." +msgstr[2] "Обавештење: %s сати сте иза серверског времена." + +msgid "Choose a Time" +msgstr "Одаберите време" + +msgid "Choose a time" +msgstr "Одабир времена" + +msgid "Cancel" +msgstr "Поништи" + +msgid "Today" +msgstr "Данас" + +msgid "Choose a Date" +msgstr "Одаберите датум" + +msgid "Yesterday" +msgstr "Јуче" + +msgid "Tomorrow" +msgstr "Сутра" + +msgid "January" +msgstr "Јануар" + +msgid "February" +msgstr "Фебруар" + +msgid "March" +msgstr "Март" + +msgid "April" +msgstr "Април" + +msgid "May" +msgstr "Мај" + +msgid "June" +msgstr "Јун" + +msgid "July" +msgstr "Јул" + +msgid "August" +msgstr "Август" + +msgid "September" +msgstr "Септембар" + +msgid "October" +msgstr "Октобар" + +msgid "November" +msgstr "Новембар" + +msgid "December" +msgstr "Децембар" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "јан" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "феб" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "март" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "апр" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "мај" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "јун" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "јул" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "авг" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "сеп" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "окт" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "нов" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "дец" + +msgid "Sunday" +msgstr "недеља" + +msgid "Monday" +msgstr "понедељак" + +msgid "Tuesday" +msgstr "уторак" + +msgid "Wednesday" +msgstr "среда" + +msgid "Thursday" +msgstr "четвртак" + +msgid "Friday" +msgstr "петак" + +msgid "Saturday" +msgstr "субота" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "нед" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "пон" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "уто" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "сре" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "чет" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "пет" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "суб" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "Н" + +msgctxt "one letter Monday" +msgid "M" +msgstr "П" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "У" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "С" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "Ч" + +msgctxt "one letter Friday" +msgid "F" +msgstr "П" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "С" + +msgid "Show" +msgstr "Покажи" + +msgid "Hide" +msgstr "Сакриј" diff --git a/external_sources/django/django/contrib/admin/locale/sr_Latn/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/sr_Latn/LC_MESSAGES/django.po new file mode 100644 index 0000000..4c3d304 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/sr_Latn/LC_MESSAGES/django.po @@ -0,0 +1,694 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Igor Jerosimić, 2019 +# Jannis Leidel , 2011 +# Janos Guljas , 2011-2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-01-16 20:42+0100\n" +"PO-Revision-Date: 2019-06-27 12:37+0000\n" +"Last-Translator: Igor Jerosimić\n" +"Language-Team: Serbian (Latin) (http://www.transifex.com/django/django/" +"language/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" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Uspešno obrisano: %(count)d %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Nesuspelo brisanje %(name)s" + +msgid "Are you sure?" +msgstr "Da li ste sigurni?" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Briši označene objekte klase %(verbose_name_plural)s" + +msgid "Administration" +msgstr "Administracija" + +msgid "All" +msgstr "Svi" + +msgid "Yes" +msgstr "Da" + +msgid "No" +msgstr "Ne" + +msgid "Unknown" +msgstr "Nepoznato" + +msgid "Any date" +msgstr "Svi datumi" + +msgid "Today" +msgstr "Danas" + +msgid "Past 7 days" +msgstr "Poslednjih 7 dana" + +msgid "This month" +msgstr "Ovaj mesec" + +msgid "This year" +msgstr "Ova godina" + +msgid "No date" +msgstr "Nema datuma" + +msgid "Has date" +msgstr "Ima datum" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Molim vas unesite ispravno %(username)s i lozinku. Obratite pažnju da mala i " +"velika slova predstavljaju različite karaktere." + +msgid "Action:" +msgstr "Radnja:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Dodaj još jedan objekat klase %(verbose_name)s." + +msgid "Remove" +msgstr "Obriši" + +msgid "Addition" +msgstr "Dodavanja" + +msgid "Change" +msgstr "Izmeni" + +msgid "Deletion" +msgstr "Brisanja" + +msgid "action time" +msgstr "vreme radnje" + +msgid "user" +msgstr "korisnik" + +msgid "content type" +msgstr "tip sadržaja" + +msgid "object id" +msgstr "id objekta" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "opis objekta" + +msgid "action flag" +msgstr "oznaka radnje" + +msgid "change message" +msgstr "opis izmene" + +msgid "log entry" +msgstr "zapis u logovima" + +msgid "log entries" +msgstr "zapisi u logovima" + +#, python-format +msgid "Added \"%(object)s\"." +msgstr "Dodat objekat klase „%(object)s“." + +#, python-format +msgid "Changed \"%(object)s\" - %(changes)s" +msgstr "Promenjen objekat klase „%(object)s“ - %(changes)s" + +#, python-format +msgid "Deleted \"%(object)s.\"" +msgstr "Uklonjen objekat klase „%(object)s“." + +msgid "LogEntry Object" +msgstr "Objekat unosa loga" + +#, python-brace-format +msgid "Added {name} \"{object}\"." +msgstr "Dodat objekat {name} \"{object}\"." + +msgid "Added." +msgstr "Dodato." + +msgid "and" +msgstr "i" + +#, python-brace-format +msgid "Changed {fields} for {name} \"{object}\"." +msgstr "Izmenjena polja {fields} za {name} \"{object}\"." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Izmenjena polja {fields}." + +#, python-brace-format +msgid "Deleted {name} \"{object}\"." +msgstr "Obrisan objekat {name} \"{object}\"." + +msgid "No fields changed." +msgstr "Bez izmena u poljima." + +msgid "None" +msgstr "Ništa" + +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was added successfully." +msgstr "" + +msgid "You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Potrebno je izabrati objekte da bi se izvršila akcija nad njima. Nijedan " +"objekat nije promenjen." + +msgid "No action selected." +msgstr "Nije izabrana nijedna akcija." + +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "Objekat „%(obj)s“ klase %(name)s uspešno je obrisan." + +#, python-format +msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "Dodaj objekat klase %s" + +#, python-format +msgid "Change %s" +msgstr "Izmeni objekat klase %s" + +#, python-format +msgid "View %s" +msgstr "Pregled %s" + +msgid "Database error" +msgstr "Greška u bazi podataka" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "Uspešno promenjen %(count)s %(name)s." +msgstr[1] "Uspešno promenjena %(count)s %(name)s." +msgstr[2] "Uspešno promenjenih %(count)s %(name)s." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s izabran" +msgstr[1] "Sva %(total_count)s izabrana" +msgstr[2] "Svih %(total_count)s izabranih" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 od %(cnt)s izabrano" + +#, python-format +msgid "Change history: %s" +msgstr "Istorijat izmena: %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" + +msgid "Django site admin" +msgstr "Django administracija sajta" + +msgid "Django administration" +msgstr "Django administracija" + +msgid "Site administration" +msgstr "Administracija sistema" + +msgid "Log in" +msgstr "Prijava" + +#, python-format +msgid "%(app)s administration" +msgstr "" + +msgid "Page not found" +msgstr "Stranica nije pronađena" + +msgid "We're sorry, but the requested page could not be found." +msgstr "Žao nam je, tražena stranica nije pronađena." + +msgid "Home" +msgstr "Početna" + +msgid "Server error" +msgstr "Greška na serveru" + +msgid "Server error (500)" +msgstr "Greška na serveru (500)" + +msgid "Server Error (500)" +msgstr "Greška na serveru (500)" + +msgid "" +"There's been an error. It's been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +msgid "Run the selected action" +msgstr "Pokreni odabranu radnju" + +msgid "Go" +msgstr "Počni" + +msgid "Click here to select the objects across all pages" +msgstr "Izaberi sve objekte na ovoj stranici." + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Izaberi sve %(module_name)s od %(total_count)s ukupno." + +msgid "Clear selection" +msgstr "Poništi izbor" + +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"Prvo unesite korisničko ime i lozinku. Potom ćete moći da menjate još " +"korisničkih podešavanja." + +msgid "Enter a username and password." +msgstr "Unesite korisničko ime i lozinku" + +msgid "Change password" +msgstr "Promena lozinke" + +msgid "Please correct the error below." +msgstr "" + +msgid "Please correct the errors below." +msgstr "" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Unesite novu lozinku za korisnika %(username)s." + +msgid "Welcome," +msgstr "Dobrodošli," + +msgid "View site" +msgstr "Pogledaj sajt" + +msgid "Documentation" +msgstr "Dokumentacija" + +msgid "Log out" +msgstr "Odjava" + +#, python-format +msgid "Add %(name)s" +msgstr "Dodaj objekat klase %(name)s" + +msgid "History" +msgstr "Istorijat" + +msgid "View on site" +msgstr "Pregled na sajtu" + +msgid "Filter" +msgstr "Filter" + +msgid "Remove from sorting" +msgstr "Izbaci iz sortiranja" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Prioritet sortiranja: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Uključi/isključi sortiranje" + +msgid "Delete" +msgstr "Obriši" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Uklanjanje %(object_name)s „%(escaped_object)s“ povlači uklanjanje svih " +"objekata koji su povezani sa ovim objektom, ali vaš nalog nema dozvole za " +"brisanje sledećih tipova objekata:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Da bi izbrisali izabran %(object_name)s „%(escaped_object)s“ potrebno je " +"brisati i sledeće zaštićene povezane objekte:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Da sigurni da želite da obrišete %(object_name)s „%(escaped_object)s“? " +"Sledeći objekti koji su u vezi sa ovim objektom će takođe biti obrisani:" + +msgid "Objects" +msgstr "" + +msgid "Yes, I'm sure" +msgstr "Da, siguran sam" + +msgid "No, take me back" +msgstr "" + +msgid "Delete multiple objects" +msgstr "Brisanje više objekata" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Da bi izbrisali izabrane %(objects_name)s potrebno je brisati i zaštićene " +"povezane objekte, međutim vaš nalog nema dozvole za brisanje sledećih tipova " +"objekata:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Da bi izbrisali izabrane %(objects_name)s potrebno je brisati i sledeće " +"zaštićene povezane objekte:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Da li ste sigurni da želite da izbrišete izabrane %(objects_name)s? Svi " +"sledeći objekti i objekti sa njima povezani će biti izbrisani:" + +msgid "View" +msgstr "Pregled" + +msgid "Delete?" +msgstr "Brisanje?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " %(filter_title)s " + +msgid "Summary" +msgstr "" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "" + +msgid "Add" +msgstr "Dodaj" + +msgid "You don't have permission to view or edit anything." +msgstr "Nemate dozvolu da pogledate ili izmenite bilo šta." + +msgid "Recent actions" +msgstr "" + +msgid "My actions" +msgstr "" + +msgid "None available" +msgstr "Nema podataka" + +msgid "Unknown content" +msgstr "Nepoznat sadržaj" + +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Nešto nije uredu sa vašom bazom podataka. Proverite da li postoje " +"odgovarajuće tabele i da li odgovarajući korisnik ima pristup bazi." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" + +msgid "Forgotten your password or username?" +msgstr "Zaboravili ste lozinku ili korisničko ime?" + +msgid "Date/time" +msgstr "Datum/vreme" + +msgid "User" +msgstr "Korisnik" + +msgid "Action" +msgstr "Radnja" + +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"Ovaj objekat nema zabeležen istorijat izmena. Verovatno nije dodat kroz ovaj " +"sajt za administraciju." + +msgid "Show all" +msgstr "Prikaži sve" + +msgid "Save" +msgstr "Sačuvaj" + +msgid "Popup closing…" +msgstr "" + +msgid "Search" +msgstr "Pretraga" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s rezultat" +msgstr[1] "%(counter)s rezultata" +msgstr[2] "%(counter)s rezultata" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "ukupno %(full_result_count)s" + +msgid "Save as new" +msgstr "Sačuvaj kao novi" + +msgid "Save and add another" +msgstr "Sačuvaj i dodaj sledeći" + +msgid "Save and continue editing" +msgstr "Sačuvaj i nastavi sa izmenama" + +msgid "Save and view" +msgstr "Snimi i pogledaj" + +msgid "Close" +msgstr "" + +#, python-format +msgid "Change selected %(model)s" +msgstr "" + +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Hvala što ste danas proveli vreme na ovom sajtu." + +msgid "Log in again" +msgstr "Ponovna prijava" + +msgid "Password change" +msgstr "Izmena lozinke" + +msgid "Your password was changed." +msgstr "Vaša lozinka je izmenjena." + +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Iz bezbednosnih razloga prvo unesite svoju staru lozinku, a novu zatim " +"unesite dva puta da bismo mogli da proverimo da li ste je pravilno uneli." + +msgid "Change my password" +msgstr "Izmeni moju lozinku" + +msgid "Password reset" +msgstr "Resetovanje lozinke" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Vaša lozinka je postavljena. Možete se prijaviti." + +msgid "Password reset confirmation" +msgstr "Potvrda resetovanja lozinke" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Unesite novu lozinku dva puta kako bismo mogli da proverimo da li ste je " +"pravilno uneli." + +msgid "New password:" +msgstr "Nova lozinka:" + +msgid "Confirm password:" +msgstr "Potvrda lozinke:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Link za resetovanje lozinke nije važeći, verovatno zato što je već " +"iskorišćen. Ponovo zatražite resetovanje lozinke." + +msgid "" +"We've emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don't receive an email, please make sure you've entered the address " +"you registered with, and check your spam folder." +msgstr "" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" + +msgid "Please go to the following page and choose a new password:" +msgstr "Idite na sledeću stranicu i postavite novu lozinku." + +msgid "Your username, in case you've forgotten:" +msgstr "Ukoliko ste zaboravili, vaše korisničko ime:" + +msgid "Thanks for using our site!" +msgstr "Hvala što koristite naš sajt!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Ekipa sajta %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we'll email " +"instructions for setting a new one." +msgstr "" + +msgid "Email address:" +msgstr "" + +msgid "Reset my password" +msgstr "Resetuj moju lozinku" + +msgid "All dates" +msgstr "Svi datumi" + +#, python-format +msgid "Select %s" +msgstr "Odaberi objekat klase %s" + +#, python-format +msgid "Select %s to change" +msgstr "Odaberi objekat klase %s za izmenu" + +#, python-format +msgid "Select %s to view" +msgstr "Odaberi %sza pregled" + +msgid "Date:" +msgstr "Datum:" + +msgid "Time:" +msgstr "Vreme:" + +msgid "Lookup" +msgstr "Pretraži" + +msgid "Currently:" +msgstr "" + +msgid "Change:" +msgstr "" diff --git a/external_sources/django/django/contrib/admin/locale/sr_Latn/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/sr_Latn/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..ec4e06e --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/sr_Latn/LC_MESSAGES/djangojs.po @@ -0,0 +1,392 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Igor Jerosimić, 2019,2021,2023-2024 +# Jannis Leidel , 2011 +# Janos Guljas , 2011-2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 07:59+0000\n" +"Last-Translator: Igor Jerosimić, 2019,2021,2023-2024\n" +"Language-Team: Serbian (Latin) (http://app.transifex.com/django/django/language/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" + +#: contrib/admin/static/admin/js/SelectFilter2.js:38 +#, javascript-format +msgid "Available %s" +msgstr "Dostupni %s" + +#: contrib/admin/static/admin/js/SelectFilter2.js:44 +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "Ovo je lista dostupnih „%s“. Možete izabrati elemente tako što ćete ih izabrati u listi i kliknuti na „Izaberi“." + +#: contrib/admin/static/admin/js/SelectFilter2.js:60 +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Filtrirajte listu dostupnih elemenata „%s“." + +#: contrib/admin/static/admin/js/SelectFilter2.js:65 +#: contrib/admin/static/admin/js/SelectFilter2.js:110 +msgid "Filter" +msgstr "Filter" + +#: contrib/admin/static/admin/js/SelectFilter2.js:69 +msgid "Choose all" +msgstr "Izaberi sve" + +#: contrib/admin/static/admin/js/SelectFilter2.js:69 +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Izaberite sve „%s“ odjednom." + +#: contrib/admin/static/admin/js/SelectFilter2.js:75 +msgid "Choose" +msgstr "Izaberi" + +#: contrib/admin/static/admin/js/SelectFilter2.js:77 +msgid "Remove" +msgstr "Ukloni" + +#: contrib/admin/static/admin/js/SelectFilter2.js:83 +#, javascript-format +msgid "Chosen %s" +msgstr "Izabrano „%s“" + +#: contrib/admin/static/admin/js/SelectFilter2.js:89 +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "Ovo je lista izabranih „%s“. Možete ukloniti elemente tako što ćete ih izabrati u listi i kliknuti na „Ukloni“." + +#: contrib/admin/static/admin/js/SelectFilter2.js:105 +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "Unesite u ovo polje da biste filtrirali listu izabranih %s." + +#: contrib/admin/static/admin/js/SelectFilter2.js:120 +msgid "Remove all" +msgstr "Ukloni sve" + +#: contrib/admin/static/admin/js/SelectFilter2.js:120 +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Uklonite sve izabrane „%s“ odjednom." + +#: contrib/admin/static/admin/js/SelectFilter2.js:211 +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%s izabrana opcija nije vidljiva" +msgstr[1] "%s izabrane opcije nisu vidljive" +msgstr[2] "%s izabranih opcija nije vidljivo" + +#: contrib/admin/static/admin/js/actions.js:67 +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s od %(cnt)s izabran" +msgstr[1] "%(sel)s od %(cnt)s izabrana" +msgstr[2] "%(sel)s od %(cnt)s izabranih" + +#: contrib/admin/static/admin/js/actions.js:161 +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "Imate nesačivane izmene. Ako pokrenete akciju, izmene će biti izgubljene." + +#: contrib/admin/static/admin/js/actions.js:174 +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "Izabrali ste akciju, ali niste sačuvali vaše promene u pojedinačna polja. Kliknite na OK da sačuvate promene. Biće neophodno da ponovo pokrenete akciju." + +#: contrib/admin/static/admin/js/actions.js:175 +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "Izabrali ste akciju i niste napravili nijednu promenu na pojedinačnim poljima. Verovatno tražite Kreni dugme umesto Sačuvaj." + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:13 +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:110 +msgid "Now" +msgstr "Trenutno vreme" + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:14 +msgid "Midnight" +msgstr "Ponoć" + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:15 +msgid "6 a.m." +msgstr "18č" + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:16 +msgid "Noon" +msgstr "Podne" + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:17 +msgid "6 p.m." +msgstr "18č" + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:78 +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Obaveštenje: Vi ste %s sat ispred serverskog vremena." +msgstr[1] "Obaveštenje: Vi ste %s sata ispred serverskog vremena." +msgstr[2] "Obaveštenje: Vi ste %s sati ispred serverskog vremena." + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:86 +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Obaveštenje: Vi ste %s sat iza serverskog vremena." +msgstr[1] "Obaveštenje: Vi ste %s sata iza serverskog vremena." +msgstr[2] "Obaveštenje: Vi ste %s sati iza serverskog vremena." + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:128 +msgid "Choose a Time" +msgstr "Odaberite vreme" + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:158 +msgid "Choose a time" +msgstr "Odabir vremena" + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:175 +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:333 +msgid "Cancel" +msgstr "Poništi" + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:238 +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:318 +msgid "Today" +msgstr "Danas" + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:255 +msgid "Choose a Date" +msgstr "Odaberite datum" + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:312 +msgid "Yesterday" +msgstr "Juče" + +#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:324 +msgid "Tomorrow" +msgstr "Sutra" + +#: contrib/admin/static/admin/js/calendar.js:11 +msgid "January" +msgstr "Januar" + +#: contrib/admin/static/admin/js/calendar.js:12 +msgid "February" +msgstr "Februar" + +#: contrib/admin/static/admin/js/calendar.js:13 +msgid "March" +msgstr "Mart" + +#: contrib/admin/static/admin/js/calendar.js:14 +msgid "April" +msgstr "April" + +#: contrib/admin/static/admin/js/calendar.js:15 +msgid "May" +msgstr "Maj" + +#: contrib/admin/static/admin/js/calendar.js:16 +msgid "June" +msgstr "Jun" + +#: contrib/admin/static/admin/js/calendar.js:17 +msgid "July" +msgstr "Jul" + +#: contrib/admin/static/admin/js/calendar.js:18 +msgid "August" +msgstr "Avgust" + +#: contrib/admin/static/admin/js/calendar.js:19 +msgid "September" +msgstr "Septembar" + +#: contrib/admin/static/admin/js/calendar.js:20 +msgid "October" +msgstr "Oktobar" + +#: contrib/admin/static/admin/js/calendar.js:21 +msgid "November" +msgstr "Novembar" + +#: contrib/admin/static/admin/js/calendar.js:22 +msgid "December" +msgstr "Decembar" + +#: contrib/admin/static/admin/js/calendar.js:25 +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "jan" + +#: contrib/admin/static/admin/js/calendar.js:26 +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "feb" + +#: contrib/admin/static/admin/js/calendar.js:27 +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "mart" + +#: contrib/admin/static/admin/js/calendar.js:28 +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "apr" + +#: contrib/admin/static/admin/js/calendar.js:29 +msgctxt "abbrev. month May" +msgid "May" +msgstr "maj" + +#: contrib/admin/static/admin/js/calendar.js:30 +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "jun" + +#: contrib/admin/static/admin/js/calendar.js:31 +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "jul" + +#: contrib/admin/static/admin/js/calendar.js:32 +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "avg" + +#: contrib/admin/static/admin/js/calendar.js:33 +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "sep" + +#: contrib/admin/static/admin/js/calendar.js:34 +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "okt" + +#: contrib/admin/static/admin/js/calendar.js:35 +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "nov" + +#: contrib/admin/static/admin/js/calendar.js:36 +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "dec" + +#: contrib/admin/static/admin/js/calendar.js:39 +msgid "Sunday" +msgstr "nedelja" + +#: contrib/admin/static/admin/js/calendar.js:40 +msgid "Monday" +msgstr "ponedeljak" + +#: contrib/admin/static/admin/js/calendar.js:41 +msgid "Tuesday" +msgstr "utorak" + +#: contrib/admin/static/admin/js/calendar.js:42 +msgid "Wednesday" +msgstr "sreda" + +#: contrib/admin/static/admin/js/calendar.js:43 +msgid "Thursday" +msgstr "četvrtak" + +#: contrib/admin/static/admin/js/calendar.js:44 +msgid "Friday" +msgstr "petak" + +#: contrib/admin/static/admin/js/calendar.js:45 +msgid "Saturday" +msgstr "subota" + +#: contrib/admin/static/admin/js/calendar.js:48 +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "ned" + +#: contrib/admin/static/admin/js/calendar.js:49 +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "pon" + +#: contrib/admin/static/admin/js/calendar.js:50 +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "uto" + +#: contrib/admin/static/admin/js/calendar.js:51 +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "sre" + +#: contrib/admin/static/admin/js/calendar.js:52 +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "čet" + +#: contrib/admin/static/admin/js/calendar.js:53 +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "pet" + +#: contrib/admin/static/admin/js/calendar.js:54 +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "sub" + +#: contrib/admin/static/admin/js/calendar.js:57 +msgctxt "one letter Sunday" +msgid "S" +msgstr "N" + +#: contrib/admin/static/admin/js/calendar.js:58 +msgctxt "one letter Monday" +msgid "M" +msgstr "P" + +#: contrib/admin/static/admin/js/calendar.js:59 +msgctxt "one letter Tuesday" +msgid "T" +msgstr "U" + +#: contrib/admin/static/admin/js/calendar.js:60 +msgctxt "one letter Wednesday" +msgid "W" +msgstr "S" + +#: contrib/admin/static/admin/js/calendar.js:61 +msgctxt "one letter Thursday" +msgid "T" +msgstr "Č" + +#: contrib/admin/static/admin/js/calendar.js:62 +msgctxt "one letter Friday" +msgid "F" +msgstr "P" + +#: contrib/admin/static/admin/js/calendar.js:63 +msgctxt "one letter Saturday" +msgid "S" +msgstr "S" diff --git a/external_sources/django/django/contrib/admin/locale/sv/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/sv/LC_MESSAGES/django.po new file mode 100644 index 0000000..bc85c43 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/sv/LC_MESSAGES/django.po @@ -0,0 +1,795 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Albin Larsson , 2022-2023 +# Alex Nordlund , 2012 +# Anders Hovmöller , 2023 +# Andreas Pelme , 2014 +# d7bcbd5f5cbecdc2b959899620582440, 2011 +# Cybjit , 2012 +# Elias Johnstone , 2022 +# Henrik Palmlund Wahlgren , 2019 +# Jannis Leidel , 2011 +# Johan Rohdin, 2021 +# Jonathan Lindén, 2015 +# Jörgen Olofsson, 2024 +# Jonathan Lindén, 2014 +# metteludwig , 2019 +# Mattias Hansson , 2016 +# Mikko Hellsing , 2011 +# Thomas Lundqvist, 2013,2016-2017 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 07:05+0000\n" +"Last-Translator: Jörgen Olofsson, 2024\n" +"Language-Team: Swedish (http://app.transifex.com/django/django/language/" +"sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Ta bort markerade %(verbose_name_plural)s" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Tog bort %(count)d %(items)s" + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Kan inte ta bort %(name)s" + +msgid "Are you sure?" +msgstr "Är du säker?" + +msgid "Administration" +msgstr "Administration" + +msgid "All" +msgstr "Alla" + +msgid "Yes" +msgstr "Ja" + +msgid "No" +msgstr "Nej" + +msgid "Unknown" +msgstr "Okänt" + +msgid "Any date" +msgstr "Alla datum" + +msgid "Today" +msgstr "Idag" + +msgid "Past 7 days" +msgstr "Senaste 7 dagarna" + +msgid "This month" +msgstr "Denna månad" + +msgid "This year" +msgstr "Detta år" + +msgid "No date" +msgstr "Inget datum" + +msgid "Has date" +msgstr "Har datum" + +msgid "Empty" +msgstr "Tom" + +msgid "Not empty" +msgstr "Inte tom" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Ange %(username)s och lösenord för ett personalkonto. Notera att båda fälten " +"är skiftlägeskänsliga." + +msgid "Action:" +msgstr "Åtgärd:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Lägg till ytterligare %(verbose_name)s" + +msgid "Remove" +msgstr "Ta bort" + +msgid "Addition" +msgstr "Tillägg" + +msgid "Change" +msgstr "Ändra" + +msgid "Deletion" +msgstr "Borttagning" + +msgid "action time" +msgstr "händelsetid" + +msgid "user" +msgstr "användare" + +msgid "content type" +msgstr "innehållstyp" + +msgid "object id" +msgstr "objektets id" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "objektets beskrivning" + +msgid "action flag" +msgstr "händelseflagga" + +msgid "change message" +msgstr "ändra meddelande" + +msgid "log entry" +msgstr "loggpost" + +msgid "log entries" +msgstr "loggposter" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Lade till \"%(object)s\"." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Ändrade “%(object)s” — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Tog bort “%(object)s.”" + +msgid "LogEntry Object" +msgstr "LogEntry-Objekt" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Lade till {name} “{object}”." + +msgid "Added." +msgstr "Lagt till." + +msgid "and" +msgstr "och" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Ändrade {fields} för {name} “{object}”." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Ändrade {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Tog bort {name} “{object}”." + +msgid "No fields changed." +msgstr "Inga fält ändrade." + +msgid "None" +msgstr "Inget" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Håll inne “Control”, eller “Command” på en Mac, för att välja fler än en." + +msgid "Select this object for an action - {}" +msgstr "Välj detta objekt för en åtgärd - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "Lade till {name} “{obj}”." + +msgid "You may edit it again below." +msgstr "Du kan redigera det igen nedan" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "Lade till {name} “{obj}”. Du kan lägga till ytterligare {name} nedan." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "Ändrade {name} “{obj}”. Du kan göra ytterligare förändringar nedan." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "Ändrade {name} “{obj}”. Du kan lägga till ytterligare {name} nedan." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "Ändrade {name} “{obj}”." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Poster måste väljas för att genomföra åtgärder. Inga poster har ändrats." + +msgid "No action selected." +msgstr "Inga åtgärder valda." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "Tog bort %(name)s “%(obj)s”." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "%(name)s med ID “%(key)s” finns inte. Kan den ha blivit borttagen?" + +#, python-format +msgid "Add %s" +msgstr "Lägg till %s" + +#, python-format +msgid "Change %s" +msgstr "Ändra %s" + +#, python-format +msgid "View %s" +msgstr "Visa %s" + +msgid "Database error" +msgstr "Databasfel" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s ändrades." +msgstr[1] "%(count)s %(name)s ändrades." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s vald" +msgstr[1] "Alla %(total_count)s valda" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 av %(cnt)s valda" + +#, python-format +msgid "Change history: %s" +msgstr "Ändringshistorik: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Borttagning av %(class_name)s %(instance)s kräver borttagning av följande " +"skyddade relaterade objekt: %(related_objects)s" + +msgid "Django site admin" +msgstr "Django webbplatsadministration" + +msgid "Django administration" +msgstr "Django-administration" + +msgid "Site administration" +msgstr "Webbplatsadministration" + +msgid "Log in" +msgstr "Logga in" + +#, python-format +msgid "%(app)s administration" +msgstr "Administration av %(app)s" + +msgid "Page not found" +msgstr "Sidan kunde inte hittas" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Tyvärr kunde inte den begärda sidan hittas." + +msgid "Home" +msgstr "Hem" + +msgid "Server error" +msgstr "Serverfel" + +msgid "Server error (500)" +msgstr "Serverfel (500)" + +msgid "Server Error (500)" +msgstr "Serverfel (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Ett fel har inträffat. Felet är rapporterat till sidans administratörer via " +"e-post och bör vara åtgärdat inom kort. Tack för ditt tålamod." + +msgid "Run the selected action" +msgstr "Kör markerade operationer" + +msgid "Go" +msgstr "Utför" + +msgid "Click here to select the objects across all pages" +msgstr "Klicka här för att välja alla objekt från alla sidor" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Välj alla %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Rensa urval" + +msgid "Breadcrumbs" +msgstr "Brödsmulor" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Modeller i applikationen %(name)s" + +msgid "Add" +msgstr "Lägg till" + +msgid "View" +msgstr "Visa" + +msgid "You don’t have permission to view or edit anything." +msgstr "Du har inte tillåtelse att se eller ändra någonting." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Ange först ett användarnamn och ett lösenord. Därefter kan du ändra fler " +"egenskaper för användaren." + +msgid "Enter a username and password." +msgstr "Mata in användarnamn och lösenord." + +msgid "Change password" +msgstr "Ändra lösenord" + +msgid "Set password" +msgstr "Sätt lösenord" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Var god rätta felet nedan." +msgstr[1] "Vad god rätta felen nedan." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Ange nytt lösenord för användare %(username)s." + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "" +"Denna åtgärd aktiverar lösenordsbaserad autentisering för " +"denna användare." + +msgid "Disable password-based authentication" +msgstr "Inaktivera lösenordsbaserad autentisering" + +msgid "Enable password-based authentication" +msgstr "Aktivera lösenordsbaserad autentisering" + +msgid "Skip to main content" +msgstr "Hoppa till huvudinnehållet" + +msgid "Welcome," +msgstr "Välkommen," + +msgid "View site" +msgstr "Visa sida" + +msgid "Documentation" +msgstr "Dokumentation" + +msgid "Log out" +msgstr "Logga ut" + +#, python-format +msgid "Add %(name)s" +msgstr "Lägg till %(name)s" + +msgid "History" +msgstr "Historik" + +msgid "View on site" +msgstr "Visa på webbplats" + +msgid "Filter" +msgstr "Filtrera" + +msgid "Hide counts" +msgstr "Dölj antal" + +msgid "Show counts" +msgstr "Visa antal" + +msgid "Clear all filters" +msgstr "Rensa alla filter" + +msgid "Remove from sorting" +msgstr "Ta bort från sortering" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Sorteringsprioritet: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Ändra sorteringsordning" + +msgid "Toggle theme (current theme: auto)" +msgstr "Växla tema (aktuellt tema: automatiskt)" + +msgid "Toggle theme (current theme: light)" +msgstr "Växla tema (aktuellt tema: ljust)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Växla tema (aktuellt tema: mörkt)" + +msgid "Delete" +msgstr "Radera" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Att ta bort %(object_name)s '%(escaped_object)s' skulle innebära att " +"relaterade objekt togs bort, men ditt konto har inte rättigheter att ta bort " +"följande objekttyper:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Borttagning av %(object_name)s '%(escaped_object)s' kräver borttagning av " +"följande skyddade relaterade objekt:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Är du säker på att du vill ta bort %(object_name)s \"%(escaped_object)s\"? " +"Följande relaterade objekt kommer att tas bort:" + +msgid "Objects" +msgstr "Objekt" + +msgid "Yes, I’m sure" +msgstr "Ja, jag är säker" + +msgid "No, take me back" +msgstr "Nej, ta mig tillbaka" + +msgid "Delete multiple objects" +msgstr "Ta bort flera objekt" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Borttagning av valda %(objects_name)s skulle resultera i borttagning av " +"relaterade objekt, men ditt konto har inte behörighet att ta bort följande " +"typer av objekt:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Borttagning av valda %(objects_name)s skulle kräva borttagning av följande " +"skyddade objekt:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Är du säker på att du vill ta bort valda %(objects_name)s? Alla följande " +"objekt samt relaterade objekt kommer att tas bort: " + +msgid "Delete?" +msgstr "Radera?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " På %(filter_title)s " + +msgid "Summary" +msgstr "Översikt" + +msgid "Recent actions" +msgstr "Senaste Händelser" + +msgid "My actions" +msgstr "Mina händelser" + +msgid "None available" +msgstr "Inga tillgängliga" + +msgid "Added:" +msgstr "Lagt till:" + +msgid "Changed:" +msgstr "Ändrade:" + +msgid "Deleted:" +msgstr "Raderade:" + +msgid "Unknown content" +msgstr "Okänt innehåll" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Någonting är fel med din databas-installation. Kontrollera att relevanta " +"tabeller i databasen är skapta, och kontrollera även att databasen är läsbar " +"av rätt användare." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Du är autentiserad som %(username)s men är inte behörig att komma åt denna " +"sida. Vill du logga in med ett annat konto?" + +msgid "Forgotten your password or username?" +msgstr "Har du glömt lösenordet eller användarnamnet?" + +msgid "Toggle navigation" +msgstr "Växla navigering" + +msgid "Sidebar" +msgstr "Sidopanel" + +msgid "Start typing to filter…" +msgstr "Börja skriv för att filtrera..." + +msgid "Filter navigation items" +msgstr "Filtrera navigeringsobjekt" + +msgid "Date/time" +msgstr "Datum tid" + +msgid "User" +msgstr "Användare" + +msgid "Action" +msgstr "Händelse" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "post" +msgstr[1] "poster" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Det här objektet har ingen förändringshistorik. Det var antagligen inte " +"tillagt via den här admin-sidan." + +msgid "Show all" +msgstr "Visa alla" + +msgid "Save" +msgstr "Spara" + +msgid "Popup closing…" +msgstr "Popup stängs..." + +msgid "Search" +msgstr "Sök" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s resultat" +msgstr[1] "%(counter)s resultat" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s totalt" + +msgid "Save as new" +msgstr "Spara som ny" + +msgid "Save and add another" +msgstr "Spara och lägg till ny" + +msgid "Save and continue editing" +msgstr "Spara och fortsätt redigera" + +msgid "Save and view" +msgstr "Spara och visa" + +msgid "Close" +msgstr "Stäng" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Ändra markerade %(model)s" + +#, python-format +msgid "Add another %(model)s" +msgstr "Lägg till %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Ta bort markerade %(model)s" + +#, python-format +msgid "View selected %(model)s" +msgstr "Visa valda %(model)s" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Tack för att du spenderade kvalitetstid med webbplatsen idag." + +msgid "Log in again" +msgstr "Logga in igen" + +msgid "Password change" +msgstr "Ändra lösenord" + +msgid "Your password was changed." +msgstr "Ditt lösenord har ändrats." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Vänligen ange ditt gamla lösenord, för säkerhets skull, och ange därefter " +"ditt nya lösenord två gånger så att vi kan kontrollera att du skrivit rätt." + +msgid "Change my password" +msgstr "Ändra mitt lösenord" + +msgid "Password reset" +msgstr "Nollställ lösenord" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Ditt lösenord har ändrats. Du kan nu logga in." + +msgid "Password reset confirmation" +msgstr "Bekräftelse av lösenordsnollställning" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Var god fyll i ditt nya lösenord två gånger så vi kan kontrollera att du " +"skrev det rätt." + +msgid "New password:" +msgstr "Nytt lösenord:" + +msgid "Confirm password:" +msgstr "Bekräfta lösenord:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Länken för lösenordsnollställning var felaktig, möjligen därför att den " +"redan använts. Var god skicka en ny nollställningsförfrågan." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Vi har via e-post skickat dig instruktioner för hur du ställer in ditt " +"lösenord, om ett konto finns med e-posten du angav. Du borde få " +"instruktionerna inom kort." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Om du inte fick ett e-postmeddelande; kontrollera att e-postadressen är " +"densamma som du registrerade dig med, och kolla i din skräppost." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Du får detta e-postmeddelande för att du har begärt återställning av ditt " +"lösenord av ditt konto på %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Var god gå till följande sida och välj ett nytt lösenord:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Ditt användarnamn, utifall du glömt det:" + +msgid "Thanks for using our site!" +msgstr "Tack för att du använder vår webbplats!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s-teamet" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Har du glömt ditt lösenord? Ange din e-postadress nedan, så skickar vi dig " +"instruktioner för hur du ställer in ett nytt." + +msgid "Email address:" +msgstr "E-postadress:" + +msgid "Reset my password" +msgstr "Nollställ mitt lösenord" + +msgid "Select all objects on this page for an action" +msgstr "Välj alla objekt på denna sida för en åtgärd" + +msgid "All dates" +msgstr "Alla datum" + +#, python-format +msgid "Select %s" +msgstr "Välj %s" + +#, python-format +msgid "Select %s to change" +msgstr "Välj %s att ändra" + +#, python-format +msgid "Select %s to view" +msgstr "Välj %s för visning" + +msgid "Date:" +msgstr "Datum:" + +msgid "Time:" +msgstr "Tid:" + +msgid "Lookup" +msgstr "Uppslag" + +msgid "Currently:" +msgstr "Nuvarande:" + +msgid "Change:" +msgstr "Ändra:" diff --git a/external_sources/django/django/contrib/admin/locale/sv/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/sv/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..28bd355 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/sv/LC_MESSAGES/djangojs.po @@ -0,0 +1,328 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Anders Hovmöller , 2023 +# Andreas Pelme , 2012,2024 +# Danijel Grujicic, 2023 +# Elias Johnstone , 2022 +# Jannis Leidel , 2011 +# Jörgen Olofsson, 2024 +# Jonathan Lindén, 2014 +# Mattias Hansson , 2016 +# Mattias Benjaminsson , 2011 +# Samuel Linde , 2011 +# Thomas Lundqvist, 2016 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 07:59+0000\n" +"Last-Translator: Jörgen Olofsson, 2024\n" +"Language-Team: Swedish (http://app.transifex.com/django/django/language/" +"sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "Tillgängliga %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Detta är listan med tillgängliga %s. Du kan välja ut vissa genom att markera " +"dem i rutan nedan och sedan klicka på \"Välj\"-knapparna mellan de två " +"rutorna." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Skriv i denna ruta för att filtrera listan av tillgängliga %s." + +msgid "Filter" +msgstr "Filter" + +msgid "Choose all" +msgstr "Välj alla" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Klicka för att välja alla %s på en gång." + +msgid "Choose" +msgstr "Välj" + +msgid "Remove" +msgstr "Ta bort" + +#, javascript-format +msgid "Chosen %s" +msgstr "Välj %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Detta är listan med utvalda %s. Du kan ta bort vissa genom att markera dem i " +"rutan nedan och sedan klicka på \"Ta bort\"-pilen mellan de två rutorna." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "Skriv i denna ruta för att filtrera listan av tillgängliga %s." + +msgid "Remove all" +msgstr "Ta bort alla" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Klicka för att ta bort alla valda %s på en gång." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%s valt alternativ inte synligt" +msgstr[1] "%s valda alternativ inte synliga" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s av %(cnt)s markerade" +msgstr[1] "%(sel)s av %(cnt)s markerade" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Du har ändringar som inte sparats i enskilda redigerbara fält. Om du kör en " +"operation kommer de ändringar som inte sparats att gå förlorade." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Du har markerat en operation, men du har inte sparat sparat dina ändringar " +"till enskilda fält ännu. Var vänlig klicka OK för att spara. Du kommer att " +"behöva köra operationen på nytt." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Du har markerat en operation och du har inte gjort några ändringar i " +"enskilda fält. Du letar antagligen efter Utför-knappen snarare än Spara." + +msgid "Now" +msgstr "Nu" + +msgid "Midnight" +msgstr "Midnatt" + +msgid "6 a.m." +msgstr "06:00" + +msgid "Noon" +msgstr "Middag" + +msgid "6 p.m." +msgstr "6 p.m." + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Notera: Du är %s timme före serverns tid." +msgstr[1] "Notera: Du är %s timmar före serverns tid." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Notera: Du är %s timme efter serverns tid." +msgstr[1] "Notera: Du är %s timmar efter serverns tid." + +msgid "Choose a Time" +msgstr "Välj en tidpunkt" + +msgid "Choose a time" +msgstr "Välj en tidpunkt" + +msgid "Cancel" +msgstr "Avbryt" + +msgid "Today" +msgstr "I dag" + +msgid "Choose a Date" +msgstr "Välj ett datum" + +msgid "Yesterday" +msgstr "I går" + +msgid "Tomorrow" +msgstr "I morgon" + +msgid "January" +msgstr "januari" + +msgid "February" +msgstr "februari" + +msgid "March" +msgstr "mars" + +msgid "April" +msgstr "april" + +msgid "May" +msgstr "maj" + +msgid "June" +msgstr "juni" + +msgid "July" +msgstr "juli" + +msgid "August" +msgstr "augusti" + +msgid "September" +msgstr "september" + +msgid "October" +msgstr "oktober" + +msgid "November" +msgstr "november" + +msgid "December" +msgstr "december" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "jan" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "feb" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "mar" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "apr" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "maj" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "jun" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "jul" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "aug" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "sep" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "okt" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "nov" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "dec" + +msgid "Sunday" +msgstr "Söndag" + +msgid "Monday" +msgstr "Måndag" + +msgid "Tuesday" +msgstr "Tisdag" + +msgid "Wednesday" +msgstr "Onsdag" + +msgid "Thursday" +msgstr "Torsdag" + +msgid "Friday" +msgstr "Fredag" + +msgid "Saturday" +msgstr "Lördag" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "sön" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "mån" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "tis" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "ons" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "tors" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "fre" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "lör" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "S" + +msgctxt "one letter Monday" +msgid "M" +msgstr "M" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "T" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "O" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "T" + +msgctxt "one letter Friday" +msgid "F" +msgstr "F" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "L" diff --git a/external_sources/django/django/contrib/admin/locale/sw/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/sw/LC_MESSAGES/django.po new file mode 100644 index 0000000..afbca8e --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/sw/LC_MESSAGES/django.po @@ -0,0 +1,779 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Antony Owino , 2023 +# DOREEN WANYAMA, 2023 +# Machaku, 2013-2014 +# Machaku, 2016 +# Millicent Atieno Obwanda , 2023 +# Natalia (Django Fellow), 2023 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 11:41-0300\n" +"PO-Revision-Date: 2023-12-25 07:05+0000\n" +"Last-Translator: DOREEN WANYAMA, 2023\n" +"Language-Team: Swahili (http://app.transifex.com/django/django/language/" +"sw/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sw\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Futa %(verbose_name_plural)s teule" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Umefanikiwa kufuta %(items)s %(count)d." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Huwezi kufuta %(name)s" + +msgid "Are you sure?" +msgstr "Una uhakika?" + +msgid "Administration" +msgstr "Utawala" + +msgid "All" +msgstr "yote" + +msgid "Yes" +msgstr "Ndiyo" + +msgid "No" +msgstr "Hapana" + +msgid "Unknown" +msgstr "Haijulikani" + +msgid "Any date" +msgstr "Tarehe yoyote" + +msgid "Today" +msgstr "Leo" + +msgid "Past 7 days" +msgstr "Siku 7 zilizopita" + +msgid "This month" +msgstr "mwezi huu" + +msgid "This year" +msgstr "Mwaka huu" + +msgid "No date" +msgstr "Hakuna tarehe" + +msgid "Has date" +msgstr "Kuna tarehe" + +msgid "Empty" +msgstr "tupu" + +msgid "Not empty" +msgstr "si tupu" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Tafadhali ingiza %(username)s na nywila sahihi kwa akaunti ya msimamizi. " +"Kumbuka kuzingatia herufi kubwa na ndogo." + +msgid "Action:" +msgstr "Tendo" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Ongeza %(verbose_name)s" + +msgid "Remove" +msgstr "Ondoa" + +msgid "Addition" +msgstr "ongeza" + +msgid "Change" +msgstr "Badilisha" + +msgid "Deletion" +msgstr "Ufutaji" + +msgid "action time" +msgstr "muda wa tendo" + +msgid "user" +msgstr "mtumiaji" + +msgid "content type" +msgstr "aina ya maudhui" + +msgid "object id" +msgstr "Kitambulisho cha kitu" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "`repr` ya kitu" + +msgid "action flag" +msgstr "bendera ya tendo" + +msgid "change message" +msgstr "badilisha ujumbe" + +msgid "log entry" +msgstr "ingizo kwenye kumbukumbu" + +msgid "log entries" +msgstr "maingizo kwenye kumbukumbu" + +#, python-format +msgid "Added “%(object)s”." +msgstr "“%(object)s” Imeongezwa" + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Kubadilishwa kwa “%(object)s” — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Kimefutwa “%(object)s”" + +msgid "LogEntry Object" +msgstr "Kitu cha Ingizo la Kumbukumbu" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Kumeongezwa {name} “{object}”." + +msgid "Added." +msgstr "Imeongezwa" + +msgid "and" +msgstr "na" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Mabadiliko ya {fields} yamefanyika kwenye {name} “{object}”." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Mabadiliko yamefanyika katika {fields} " + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr " {name} “{object}” umefutwa." + +msgid "No fields changed." +msgstr "Hakuna uga uliobadilishwa." + +msgid "None" +msgstr "Hakuna" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +" Shikilia 'Control', au 'Command' kwenye Mac, ili kuchagua zaidi ya moja." + +msgid "Select this object for an action - {}" +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "{name} “{obj}” imeongezwa kwa mafanikio." + +msgid "You may edit it again below." +msgstr "Unaweza kuihariri tena hapa chini" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"{name} “{obj}” imeongezwa kwa mafanikio. Unaweza kuongeza {name} nyingine " +"hapa chini." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"{name} “{obj}” ilibadilishwa kwa mafanikio. Unaweza kuihariri tena hapa " +"chini." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "" +"{name} “{obj}” imeongezwa kwa mafanikio. Unaweza kuihariri tena hapa chini." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"{name} “{obj} imebadilishwa kwa mafanikio. Unaweza kuongeza {name} nyingine " +"hapa chini. " + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "{name} “{obj}” imebadilishwa kwa mafanikio." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Nilazima kuchagua vitu ili kufanyia kitu fulani. Hakuna kitu " +"kilichochaguliwa." + +msgid "No action selected." +msgstr "Hakuna tendo lililochaguliwa" + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s%(obj)s ilifutwa kwa mafanikio." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "%(name)sna ID %(key)s haipo. Labda ilifutwa?" + +#, python-format +msgid "Add %s" +msgstr "Ongeza %s" + +#, python-format +msgid "Change %s" +msgstr "Badilisha %s" + +#, python-format +msgid "View %s" +msgstr "Muonekano %s" + +msgid "Database error" +msgstr "Hitilafu katika hifadhidata" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "mabadiliko ya %(name)s %(count)s yamefanikiwa." +msgstr[1] "mabadiliko ya %(name)s %(count)s yamefanikiwa." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s kuchaguliwa" +msgstr[1] "%(total_count)s (kila kitu) kuchaguliwa" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "Vilivyo chaguliwa ni 0 kati ya %(cnt)s" + +#, python-format +msgid "Change history: %s" +msgstr "Badilisha historia: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(instance)s %(class_name)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Kufutwa kwa ingizo la %(instance)s %(class_name)s kutahitaji kufutwa kwa " +"vitu vifuatavyo vyenye mahusiano vilivyokingwa: %(related_objects)s" + +msgid "Django site admin" +msgstr "Utawala wa tovuti ya django" + +msgid "Django administration" +msgstr "Utawala wa Django" + +msgid "Site administration" +msgstr "Utawala wa tovuti" + +msgid "Log in" +msgstr "Ingia" + +#, python-format +msgid "%(app)s administration" +msgstr "Utawala wa %(app)s" + +msgid "Page not found" +msgstr "Ukurasa haujapatikana" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Samahani, ukurasa uliotafutwa haukupatikana." + +msgid "Home" +msgstr "Nyumbani" + +msgid "Server error" +msgstr "Hitilafu ya seva" + +msgid "Server error (500)" +msgstr "Hitilafu ya seva (500)" + +msgid "Server Error (500)" +msgstr "Hitilafu ya seva (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Kumekuwa na kosa. Waendeshaji wa tovuti wamearifiwa kupitia barua pepe, na " +"linapaswa kurekebishwa hivi karibuni. Asante kwa uvumilivu wako." + +msgid "Run the selected action" +msgstr "Fanya tendo lililochaguliwa." + +msgid "Go" +msgstr "Nenda" + +msgid "Click here to select the objects across all pages" +msgstr "Bofya hapa kuchagua viumbile katika kurasa zote" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Chagua kila %(module_name)s, (%(total_count)s). " + +msgid "Clear selection" +msgstr "Safisha chaguo" + +msgid "Breadcrumbs" +msgstr "Nyayo " + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Models katika application %(name)s" + +msgid "Add" +msgstr "Ongeza" + +msgid "View" +msgstr "Muonekano" + +msgid "You don’t have permission to view or edit anything." +msgstr "Huna ruhusa ya kutazama au kuhariri kitu chochote" + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Kwanza, ingiza jina la mtumiaji na nywila. Kisha, utaweza kuhariri chaguo " +"zaidi za mtumiaji." + +msgid "Enter a username and password." +msgstr "Ingiza jina la mtumiaji na nywila." + +msgid "Change password" +msgstr "Badilisha nywila" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Tafadhali sahihisha kosa lifuatalo." +msgstr[1] "Tafadhali sahihisha makosa yafuatayo" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "ingiza nywila ya mtumiaji %(username)s." + +msgid "Skip to main content" +msgstr "Ruka hadi kwa maudhui makuu." + +msgid "Welcome," +msgstr "Karibu" + +msgid "View site" +msgstr "Tazama tovuti" + +msgid "Documentation" +msgstr "Nyaraka" + +msgid "Log out" +msgstr "Toka" + +#, python-format +msgid "Add %(name)s" +msgstr "Ongeza %(name)s" + +msgid "History" +msgstr "Historia" + +msgid "View on site" +msgstr "Ona kwenye tovuti" + +msgid "Filter" +msgstr "Chuja" + +msgid "Hide counts" +msgstr "Ficha idadi" + +msgid "Show counts" +msgstr "Onesha idadi" + +msgid "Clear all filters" +msgstr "Safisha vichungi vyote" + +msgid "Remove from sorting" +msgstr "Ondoa katika upangaji" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Kipaumbele katika mpangilio: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Geuza mpangilio" + +msgid "Toggle theme (current theme: auto)" +msgstr "Badilisha mandhari (mandhari ya sasa: auto)" + +msgid "Toggle theme (current theme: light)" +msgstr "Badilisha mandhari (mandhari ya sasa: mwanga)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Badilisha mandhari (mandhari ya sasa: giza)" + +msgid "Delete" +msgstr "Futa" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Kufutwa kwa '%(escaped_object)s' %(object_name)s kutasababisha kufutwa kwa " +"vitu vinavyohuisana, lakini akaunti yako haina ruhusa ya kufuta vitu vya " +"aina zifuatazo:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Kufuta '%(escaped_object)s' %(object_name)s kutahitaji kufuta vitu " +"vifuatavyo ambavyo vinavyohuisana na vimelindwa:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Una uhakika kuwa unataka kufuta \"%(escaped_object)s\" %(object_name)s ? " +"Vitu vyote vinavyohuisana kati ya vifuatavyo vitafutwa:" + +msgid "Objects" +msgstr "Viumbile" + +msgid "Yes, I’m sure" +msgstr "Ndiyo, nina uhakika" + +msgid "No, take me back" +msgstr "Hapana, nirudishe" + +msgid "Delete multiple objects" +msgstr "Futa viumbile mbalimbali" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Kufutwa kwa %(objects_name)s chaguliwa kutasababisha kufutwa kwa " +"vituvinavyohusiana, lakini akaunti yako haina ruhusa ya kufuta vitu vya " +"vifuatavyo:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Kufutwa kwa %(objects_name)s kutahitaji kufutwa kwa vitu vifuatavyo vyenye " +"uhusiano na vilivyolindwa:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Una uhakika kuwa unataka kufuta %(objects_name)s chaguliwa ? Vitu vyote kati " +"ya vifuatavyo vinavyohusiana vitafutwa:" + +msgid "Delete?" +msgstr "Futa?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " Kwa %(filter_title)s" + +msgid "Summary" +msgstr "Muhtasari" + +msgid "Recent actions" +msgstr "Matendo ya karibuni" + +msgid "My actions" +msgstr "Matendo yangu" + +msgid "None available" +msgstr "Hakuna kilichopatikana" + +msgid "Added:" +msgstr "Imeongezwa:" + +msgid "Changed:" +msgstr "Kimebadilika" + +msgid "Deleted:" +msgstr "Kimefutwa" + +msgid "Unknown content" +msgstr "Maudhui hayajulikani" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Kuna tatizo na ufungaji wa hifadhidata yako. Hakikisha meza sahihi za " +"hifadhidata zimeundwa, na hakikisha hifadhidata inaweza kusomwa na mtumiaji " +"sahihi." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Umejithibitisha kama %(username)s, lakini huna ruhusa ya kupata ukurasa huu. " +"Ungependa kuingia kwa akaunti nyingine?" + +msgid "Forgotten your password or username?" +msgstr "Umesahau jina na nenosiri lako?" + +msgid "Toggle navigation" +msgstr "Badilisha urambazaji" + +msgid "Sidebar" +msgstr "Upande wa Kando" + +msgid "Start typing to filter…" +msgstr "Anza kuchapa ili kuchuja…" + +msgid "Filter navigation items" +msgstr "Chuja vitu vya urambazaji" + +msgid "Date/time" +msgstr "Tarehe/saa" + +msgid "User" +msgstr "Mtumiaji" + +msgid "Action" +msgstr "Tendo" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "ingizo" +msgstr[1] "maingizo" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Hakuna historia ya mabadiliko kwa kipande hiki. Labda hakikuongezwa kupitia " +"tovuti hii ya usimamizi." + +msgid "Show all" +msgstr "Onesha yotee" + +msgid "Save" +msgstr "Hifadhi" + +msgid "Popup closing…" +msgstr "Udukizi inafungwa..." + +msgid "Search" +msgstr "Tafuta" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "tokeo %(counter)s" +msgstr[1] "matokeo %(counter)s" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "jumla %(full_result_count)s" + +msgid "Save as new" +msgstr "Hifadhi kama mpya" + +msgid "Save and add another" +msgstr "Hifadhi na ongeza" + +msgid "Save and continue editing" +msgstr "Hifadhi na endelea kuhariri" + +msgid "Save and view" +msgstr "Hifadhi kisha tazama" + +msgid "Close" +msgstr "Funga" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Badili %(model)s husika" + +#, python-format +msgid "Add another %(model)s" +msgstr "Ongeza %(model)s tena" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Futa %(model)s husika" + +#, python-format +msgid "View selected %(model)s" +msgstr "Tazama %(model)s zilizochaguliwa" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Asante kwa kutumia muda wako kenye tovuti leo." + +msgid "Log in again" +msgstr "ingia tena" + +msgid "Password change" +msgstr "Badilisha nywila" + +msgid "Your password was changed." +msgstr "Nywila yako imebadilishwa" + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Tafadhali ingiza nywila yako ya zamani, kwa usalama, na kisha ingiza nywila " +"yako mpya mara mbili ili tuweze kuthibitisha kuwa umeingiza kwa usahihi" + +msgid "Change my password" +msgstr "Badilisha nywila yangu" + +msgid "Password reset" +msgstr "Kuseti nywila upya" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Nywila yako imesetiwa. Unaweza kuendelea na kuingia sasa." + +msgid "Password reset confirmation" +msgstr "Uthibitisho wa kuseti nywila upya" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Tafadhali ingiza nywila mpya mara mbili ili tuweze kuthibitisha kuwa " +"umelichapisha kwa usahihi." + +msgid "New password:" +msgstr "Nywila mpya:" + +msgid "Confirm password:" +msgstr "Thibitisha nywila" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Kiungo cha kuseti nywila upya ni batili, inawezekana ni kwa sababu kiungo " +"hicho tayari kimetumika. tafadhali omba upya kuseti nywila." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Tumekutumia barua pepe na maelekezo ya kuweka nywila yako, endapo akaunti " +"inayolingana na barua pepe uliyoingiza ipo. Unapaswa kuzipokea hivi karibuni." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Ikiwa hautapokea barua pepe, tafadhali hakikisha umeweka anwani " +"uliyojiandikisha nayo, na angalia folda yako ya barua taka" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Umepata barua pepe hii kwa sababu ulihitaji ku seti upya nywila ya akaunti " +"yako ya %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Tafadhali nenda ukurasa ufuatao na uchague nywila mpya:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Jina lako la utumiaji, ikiwa umesahau:" + +msgid "Thanks for using our site!" +msgstr "Ahsante kwa kutumia tovui yetu!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "timu ya %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Umensahau nywila yako? Ingiza anwani yako ya barua pepe hapa chini, na " +"tutakutumia barua pepe na maelekezo ya kuweka mpya." + +msgid "Email address:" +msgstr "Anuani ya barua pepe:" + +msgid "Reset my password" +msgstr "Seti nywila yangu upya" + +msgid "Select all objects on this page for an action" +msgstr "Chagua vitu vyote kwenye ukurasa huu kwa hatua." + +msgid "All dates" +msgstr "Tarehe zote" + +#, python-format +msgid "Select %s" +msgstr "Chagua %s" + +#, python-format +msgid "Select %s to change" +msgstr "Chaguo %s kwa mabadilisho" + +#, python-format +msgid "Select %s to view" +msgstr "Chagua %s kuona" + +msgid "Date:" +msgstr "Tarehe" + +msgid "Time:" +msgstr "Saa" + +msgid "Lookup" +msgstr "`Lookup`" + +msgid "Currently:" +msgstr "Kwa sasa:" + +msgid "Change:" +msgstr "Badilisha:" diff --git a/external_sources/django/django/contrib/admin/locale/sw/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/sw/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..5806dd9 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/sw/LC_MESSAGES/djangojs.po @@ -0,0 +1,217 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Machaku , 2013-2014 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"PO-Revision-Date: 2017-09-23 18:54+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Swahili (http://www.transifex.com/django/django/language/" +"sw/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sw\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "Yaliyomo: %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Hii ni orodha ya %s uliyochagua. Unaweza kuchagua baadhi vitu kwa kuvichagua " +"katika kisanduku hapo chini kisha kubofya mshale wa \"Chagua\" kati ya " +"visanduku viwili." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Chapisha katika kisanduku hiki ili kuchuja orodha ya %s iliyopo." + +msgid "Filter" +msgstr "Chuja" + +msgid "Choose all" +msgstr "Chagua vyote" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Bofya kuchagua %s kwa pamoja." + +msgid "Choose" +msgstr "Chagua" + +msgid "Remove" +msgstr "Ondoa" + +#, javascript-format +msgid "Chosen %s" +msgstr "Chaguo la %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Hii ni orodha ya %s uliyochagua. Unaweza kuondoa baadhi vitu kwa kuvichagua " +"katika kisanduku hapo chini kisha kubofya mshale wa \"Ondoa\" kati ya " +"visanduku viwili." + +msgid "Remove all" +msgstr "Ondoa vyote" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Bofya ili kuondoa %s chaguliwa kwa pamoja." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "umechagua %(sel)s kati ya %(cnt)s" +msgstr[1] "umechagua %(sel)s kati ya %(cnt)s" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Umeacha kuhifadhi mabadiliko katika uga zinazoharirika. Ikiwa utafanya tendo " +"lingine, mabadiliko ambayo hayajahifadhiwa yatapotea." + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"Umechagua tendo, lakini bado hujahifadhi mabadiliko yako katika uga husika. " +"Tafadali bofya Sawa ukitaka kuhifadhi. Utahitajika kufanya upya kitendo " + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Umechagua tendo, lakini bado hujahifadhi mabadiliko yako katika uga husika. " +"Inawezekana unatafuta kitufe cha Nenda badala ya Hifadhi" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Kumbuka: Uko saa %s mbele ukilinganisha na majira ya seva" +msgstr[1] "Kumbuka: Uko masaa %s mbele ukilinganisha na majira ya seva" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Kumbuka: Uko saa %s nyuma ukilinganisha na majira ya seva" +msgstr[1] "Kumbuka: Uko masaa %s nyuma ukilinganisha na majira ya seva" + +msgid "Now" +msgstr "Sasa" + +msgid "Choose a Time" +msgstr "" + +msgid "Choose a time" +msgstr "Chagua wakati" + +msgid "Midnight" +msgstr "Usiku wa manane" + +msgid "6 a.m." +msgstr "Saa 12 alfajiri" + +msgid "Noon" +msgstr "Adhuhuri" + +msgid "6 p.m." +msgstr "" + +msgid "Cancel" +msgstr "Ghairi" + +msgid "Today" +msgstr "Leo" + +msgid "Choose a Date" +msgstr "" + +msgid "Yesterday" +msgstr "Jana" + +msgid "Tomorrow" +msgstr "Kesho" + +msgid "January" +msgstr "" + +msgid "February" +msgstr "" + +msgid "March" +msgstr "" + +msgid "April" +msgstr "" + +msgid "May" +msgstr "" + +msgid "June" +msgstr "" + +msgid "July" +msgstr "" + +msgid "August" +msgstr "" + +msgid "September" +msgstr "" + +msgid "October" +msgstr "" + +msgid "November" +msgstr "" + +msgid "December" +msgstr "" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "" + +msgctxt "one letter Monday" +msgid "M" +msgstr "" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "" + +msgctxt "one letter Friday" +msgid "F" +msgstr "" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "" + +msgid "Show" +msgstr "Onesha" + +msgid "Hide" +msgstr "Ficha" diff --git a/external_sources/django/django/contrib/admin/locale/ta/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/ta/LC_MESSAGES/django.po new file mode 100644 index 0000000..3a3cf1b --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ta/LC_MESSAGES/django.po @@ -0,0 +1,643 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-19 16:49+0100\n" +"PO-Revision-Date: 2017-09-19 16:40+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Tamil (http://www.transifex.com/django/django/language/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" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "" + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "" + +msgid "Are you sure?" +msgstr "உறுதியாக சொல்கிறீர்களா?" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "" + +msgid "Administration" +msgstr "" + +msgid "All" +msgstr "அனைத்தும்" + +msgid "Yes" +msgstr "ஆம்" + +msgid "No" +msgstr "இல்லை" + +msgid "Unknown" +msgstr "தெரியாத" + +msgid "Any date" +msgstr "எந்த தேதியும்" + +msgid "Today" +msgstr "இன்று" + +msgid "Past 7 days" +msgstr "கடந்த 7 நாட்களில்" + +msgid "This month" +msgstr "இந்த மாதம்" + +msgid "This year" +msgstr "இந்த வருடம்" + +msgid "No date" +msgstr "" + +msgid "Has date" +msgstr "" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" + +msgid "Action:" +msgstr "" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "" + +msgid "Remove" +msgstr "அழிக்க" + +msgid "action time" +msgstr "செயல் நேரம்" + +msgid "user" +msgstr "" + +msgid "content type" +msgstr "" + +msgid "object id" +msgstr "பொருள் அடையாளம்" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/3/library/functions.html#repr) +msgid "object repr" +msgstr "பொருள் உருவகித்தம்" + +msgid "action flag" +msgstr "செயர்குறி" + +msgid "change message" +msgstr "செய்தியை மாற்று" + +msgid "log entry" +msgstr "புகுபதிவு உள்ளீடு" + +msgid "log entries" +msgstr "புகுபதிவு உள்ளீடுகள்" + +#, python-format +msgid "Added \"%(object)s\"." +msgstr "" + +#, python-format +msgid "Changed \"%(object)s\" - %(changes)s" +msgstr "" + +#, python-format +msgid "Deleted \"%(object)s.\"" +msgstr "" + +msgid "LogEntry Object" +msgstr "" + +#, python-brace-format +msgid "Added {name} \"{object}\"." +msgstr "" + +msgid "Added." +msgstr "" + +msgid "and" +msgstr "மற்றும்" + +#, python-brace-format +msgid "Changed {fields} for {name} \"{object}\"." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "" + +#, python-brace-format +msgid "Deleted {name} \"{object}\"." +msgstr "" + +msgid "No fields changed." +msgstr "எந்த புலமும் மாறவில்லை." + +msgid "None" +msgstr "" + +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was added successfully." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" + +msgid "No action selected." +msgstr "" + +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "%(name)s \"%(obj)s\" வெற்றிகரமாக அழிக்கப்பட்டுள்ளது." + +#, python-format +msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "%s யை சேர்க்க" + +#, python-format +msgid "Change %s" +msgstr "%s யை மாற்று" + +msgid "Database error" +msgstr "தகவல்சேமிப்பு பிழை" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "" + +#, python-format +msgid "Change history: %s" +msgstr "வரலாற்றை மாற்று: %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" + +msgid "Django site admin" +msgstr "டிஜாங்ஙோ தள நிர்வாகி" + +msgid "Django administration" +msgstr "டிஜாங்ஙோ நிர்வாகம் " + +msgid "Site administration" +msgstr "இணைய மேலான்மை" + +msgid "Log in" +msgstr "உள்ளே போ" + +#, python-format +msgid "%(app)s administration" +msgstr "" + +msgid "Page not found" +msgstr "பக்கத்தைக் காணவில்லை" + +msgid "We're sorry, but the requested page could not be found." +msgstr "நீங்கள் விரும்பிய பக்கத்தை காண இயலவில்லை,அதற்காக நாங்கள் வருந்துகிறோம்." + +msgid "Home" +msgstr "வீடு" + +msgid "Server error" +msgstr "சேவகன் பிழை" + +msgid "Server error (500)" +msgstr "சேவையகம் தவறு(500)" + +msgid "Server Error (500)" +msgstr "சேவையகம் பிழை(500)" + +msgid "" +"There's been an error. It's been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +msgid "Run the selected action" +msgstr "" + +msgid "Go" +msgstr "செல்" + +msgid "Click here to select the objects across all pages" +msgstr "" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "" + +msgid "Clear selection" +msgstr "" + +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"முதலில்,பயனர்ப்பெயர் மற்றும் கடவுச்சொல்லை உள்ளிடவும்.அதன் பிறகு தான் நீங்கள் உங்கள் பெயரின் " +"விவரங்களை திருத்த முடியும்" + +msgid "Enter a username and password." +msgstr "" + +msgid "Change password" +msgstr "கடவுச்சொல்லை மாற்று" + +msgid "Please correct the error below." +msgstr "கீழே உள்ள தவறுகளைத் திருத்துக" + +msgid "Please correct the errors below." +msgstr "" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" + +msgid "Welcome," +msgstr "நல்வரவு," + +msgid "View site" +msgstr "" + +msgid "Documentation" +msgstr "ஆவனமாக்கம்" + +msgid "Log out" +msgstr "வெளியேறு" + +#, python-format +msgid "Add %(name)s" +msgstr "%(name)s சேர்க்க" + +msgid "History" +msgstr "வரலாறு" + +msgid "View on site" +msgstr "தளத்தில் பார்" + +msgid "Filter" +msgstr "வடிகட்டி" + +msgid "Remove from sorting" +msgstr "" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "" + +msgid "Toggle sorting" +msgstr "" + +msgid "Delete" +msgstr "நீக்குக" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"நீக்கும் '%(escaped_object)s' ஆனது %(object_name)s தொடர்புடைய மற்றவற்றையும் நீக்கும். " +"ஆனால் அதை நீக்குவதற்குரிய உரிமை உங்களுக்கு இல்லை" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"நீங்கள் இந்த \"%(escaped_object)s\" %(object_name)s நீக்குவதில் நிச்சயமா?தொடர்புடைய " +"மற்றவையும் நீக்கப்படும். " + +msgid "Objects" +msgstr "" + +msgid "Yes, I'm sure" +msgstr "ஆம், எனக்கு உறுதி" + +msgid "No, take me back" +msgstr "" + +msgid "Delete multiple objects" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" + +msgid "Change" +msgstr "மாற்றுக" + +msgid "Delete?" +msgstr "" + +#, python-format +msgid " By %(filter_title)s " +msgstr "%(filter_title)s ஆல்" + +msgid "Summary" +msgstr "" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "" + +msgid "Add" +msgstr "சேர்க்க" + +msgid "You don't have permission to edit anything." +msgstr "உங்களுக்கு மாற்றுவதற்குரிய உரிமையில்லை" + +msgid "Recent actions" +msgstr "" + +msgid "My actions" +msgstr "" + +msgid "None available" +msgstr "எதுவும் கிடைக்கவில்லை" + +msgid "Unknown content" +msgstr "" + +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"உங்களுடைய தகவல்சேமிப்பகத்தை நிறுவுவதில் சில தவறுகள் உள்ளது. அதற்கு இணையான " +"தகவல்சேமிப்பு அட்டவணையைதயாரிக்கவும். மேலும் பயனர் படிக்கும் படியான தகவல்சேமிப்பகத்தை " +"உருவாக்கவும்." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" + +msgid "Forgotten your password or username?" +msgstr "" + +msgid "Date/time" +msgstr "தேதி/நேரம் " + +msgid "User" +msgstr "பயனர்" + +msgid "Action" +msgstr "செயல்" + +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"இந்த பொருள் மாற்று வரலாற்றில் இல்லைஒரு வேளை நிர்வாகத்தளத்தின் மூலம் சேர்க்கப்படாமலிருக்கலாம்" + +msgid "Show all" +msgstr "எல்லாவற்றையும் காட்டு" + +msgid "Save" +msgstr "சேமிக்க" + +msgid "Popup closing..." +msgstr "" + +#, python-format +msgid "Change selected %(model)s" +msgstr "" + +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "" + +msgid "Search" +msgstr "" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s மொத்தம்" + +msgid "Save as new" +msgstr "புதியதாக சேமி" + +msgid "Save and add another" +msgstr "சேமித்து இன்னுமொன்றைச் சேர்" + +msgid "Save and continue editing" +msgstr "சேமித்து மாற்றத்தை தொடருக" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "வலைத்தளத்தில் உங்களது பொன்னான நேரத்தை செலவழித்தமைக்கு மிகுந்த நன்றி" + +msgid "Log in again" +msgstr "மீண்டும் உள்ளே பதிவு செய்யவும்" + +msgid "Password change" +msgstr "கடவுச்சொல் மாற்று" + +msgid "Your password was changed." +msgstr "உங்களுடைய கடவுச்சொல் மாற்றபட்டது" + +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"பாதுகாப்பு காரணங்களுக்காக , முதலில் உங்களது பழைய கடவுச்சொல்லை உள்ளிடுக. அதன் பிறகு " +"புதிய கடவுச்சொல்லை இரு முறை உள்ளிடுக. இது உங்களது உள்ளிடுதலை சரிபார்க்க உதவும். " + +msgid "Change my password" +msgstr "கடவுச் சொல்லை மாற்றவும்" + +msgid "Password reset" +msgstr "கடவுச்சொல்லை மாற்றியமை" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "" + +msgid "Password reset confirmation" +msgstr "" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" + +msgid "New password:" +msgstr "புதிய கடவுச்சொல்:" + +msgid "Confirm password:" +msgstr "கடவுச்சொலின் மாற்றத்தை உறுதிப்படுத்து:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" + +msgid "" +"We've emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don't receive an email, please make sure you've entered the address " +"you registered with, and check your spam folder." +msgstr "" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" + +msgid "Please go to the following page and choose a new password:" +msgstr "" + +msgid "Your username, in case you've forgotten:" +msgstr "உங்களது பயனாளர் பெயர், நீங்கள் மறந்திருந்தால்:" + +msgid "Thanks for using our site!" +msgstr "எங்களது வலைத்தளத்தை பயன் படுத்தியதற்கு மிகுந்த நன்றி" + +#, python-format +msgid "The %(site_name)s team" +msgstr "இந்த %(site_name)s -இன் குழு" + +msgid "" +"Forgotten your password? Enter your email address below, and we'll email " +"instructions for setting a new one." +msgstr "" + +msgid "Email address:" +msgstr "" + +msgid "Reset my password" +msgstr "எனது கடவுச்சொல்லை மாற்றியமை" + +msgid "All dates" +msgstr "அனைத்து தேதியும்" + +#, python-format +msgid "Select %s" +msgstr "%s யை தேர்ந்தெடு" + +#, python-format +msgid "Select %s to change" +msgstr "%s யை மாற்ற தேர்ந்தெடு" + +msgid "Date:" +msgstr "தேதி:" + +msgid "Time:" +msgstr "நேரம்:" + +msgid "Lookup" +msgstr "" + +msgid "Currently:" +msgstr "" + +msgid "Change:" +msgstr "" diff --git a/external_sources/django/django/contrib/admin/locale/ta/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/ta/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..0a7bfcc --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ta/LC_MESSAGES/djangojs.po @@ -0,0 +1,204 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"PO-Revision-Date: 2017-09-19 16:41+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Tamil (http://www.transifex.com/django/django/language/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" + +#, javascript-format +msgid "Available %s" +msgstr "%s இருக்கிறதா " + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" + +msgid "Filter" +msgstr "வடிகட்டி" + +msgid "Choose all" +msgstr "எல்லாவற்றையும் தேர்ந்த்தெடுக்க" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "" + +msgid "Choose" +msgstr "" + +msgid "Remove" +msgstr "அழிக்க" + +#, javascript-format +msgid "Chosen %s" +msgstr "%s தேர்ந்த்தெடுக்கப்பட்ட" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" + +msgid "Remove all" +msgstr "" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "" +msgstr[1] "" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" +msgstr[1] "" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +msgstr[1] "" + +msgid "Now" +msgstr "இப்பொழுது " + +msgid "Choose a Time" +msgstr "" + +msgid "Choose a time" +msgstr "ஒரு நேரத்தை தேர்ந்த்தெடுக்க " + +msgid "Midnight" +msgstr "நடு இரவு " + +msgid "6 a.m." +msgstr "காலை 6 மணி " + +msgid "Noon" +msgstr "மதியம் " + +msgid "6 p.m." +msgstr "" + +msgid "Cancel" +msgstr "வேண்டாம் " + +msgid "Today" +msgstr "இன்று " + +msgid "Choose a Date" +msgstr "" + +msgid "Yesterday" +msgstr "நேற்று " + +msgid "Tomorrow" +msgstr "நாளை" + +msgid "January" +msgstr "" + +msgid "February" +msgstr "" + +msgid "March" +msgstr "" + +msgid "April" +msgstr "" + +msgid "May" +msgstr "" + +msgid "June" +msgstr "" + +msgid "July" +msgstr "" + +msgid "August" +msgstr "" + +msgid "September" +msgstr "" + +msgid "October" +msgstr "" + +msgid "November" +msgstr "" + +msgid "December" +msgstr "" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "" + +msgctxt "one letter Monday" +msgid "M" +msgstr "" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "" + +msgctxt "one letter Friday" +msgid "F" +msgstr "" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "" + +msgid "Show" +msgstr "" + +msgid "Hide" +msgstr "" diff --git a/external_sources/django/django/contrib/admin/locale/te/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/te/LC_MESSAGES/django.po new file mode 100644 index 0000000..f624d4f --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/te/LC_MESSAGES/django.po @@ -0,0 +1,640 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# bhaskar teja yerneni , 2011 +# Jannis Leidel , 2011 +# ప్రవీణ్ ఇళ్ళ , 2011,2013 +# వీవెన్ , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-19 16:49+0100\n" +"PO-Revision-Date: 2017-09-19 16:40+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Telugu (http://www.transifex.com/django/django/language/te/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: te\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d %(items)s జయప్రదముగా తీసేవేయబడినది." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "%(name)s తొలగించుట వీలుకాదు" + +msgid "Are you sure?" +msgstr "మీరు ఖచ్చితంగా ఇలా చేయాలనుకుంటున్నారా?" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "ఎంచుకోన్న %(verbose_name_plural)s తీసివేయుము " + +msgid "Administration" +msgstr "" + +msgid "All" +msgstr "అన్నీ" + +msgid "Yes" +msgstr "అవును" + +msgid "No" +msgstr "కాదు" + +msgid "Unknown" +msgstr "తెలియనది" + +msgid "Any date" +msgstr "ఏ రోజైన" + +msgid "Today" +msgstr "ఈ రోజు" + +msgid "Past 7 days" +msgstr "గత 7 రోజుల గా" + +msgid "This month" +msgstr "ఈ నెల" + +msgid "This year" +msgstr "ఈ సంవత్సరం" + +msgid "No date" +msgstr "" + +msgid "Has date" +msgstr "" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" + +msgid "Action:" +msgstr "చర్య:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "" + +msgid "Remove" +msgstr "తొలగించు" + +msgid "action time" +msgstr "పని సమయము " + +msgid "user" +msgstr "" + +msgid "content type" +msgstr "" + +msgid "object id" +msgstr "వస్తువు" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/3/library/functions.html#repr) +msgid "object repr" +msgstr "వస్తువు" + +msgid "action flag" +msgstr "పని ఫ్లాగ్" + +msgid "change message" +msgstr "సందేశము ని మార్చంది" + +msgid "log entry" +msgstr "లాగ్ ఎంట్రీ" + +msgid "log entries" +msgstr "లాగ్ ఎంట్రీలు" + +#, python-format +msgid "Added \"%(object)s\"." +msgstr "" + +#, python-format +msgid "Changed \"%(object)s\" - %(changes)s" +msgstr "" + +#, python-format +msgid "Deleted \"%(object)s.\"" +msgstr "" + +msgid "LogEntry Object" +msgstr "" + +#, python-brace-format +msgid "Added {name} \"{object}\"." +msgstr "" + +msgid "Added." +msgstr "" + +msgid "and" +msgstr "మరియు" + +#, python-brace-format +msgid "Changed {fields} for {name} \"{object}\"." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "" + +#, python-brace-format +msgid "Deleted {name} \"{object}\"." +msgstr "" + +msgid "No fields changed." +msgstr "క్షేత్రములు ఏమి మార్చబడలేదు" + +msgid "None" +msgstr "వొకటీ లేదు" + +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was added successfully." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"అంశములపయి తదుపరి చర్య తీసుకోనటకు వాటిని ఎంపిక చేసుకోవలెను. ప్రస్తుతం ఎటువంటి అంశములు " +"మార్చబడలేదు." + +msgid "No action selected." +msgstr "మీరు ఎటువంటి చర్య తీసుకొనలేదు " + +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "%(name)s \"%(obj)s\" జయప్రదంగా తీసివేయబడ్డడి" + +#, python-format +msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "%sని జత చేయండి " + +#, python-format +msgid "Change %s" +msgstr "%sని మార్చుము" + +msgid "Database error" +msgstr "దత్తాంశస్థానము పొరబాటు " + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s జయప్రదముగా మార్చబడినవి." +msgstr[1] "%(count)s %(name)s జయప్రదముగా మార్చబడినవి." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s ఎంపికయినది." +msgstr[1] "అన్ని %(total_count)s ఎంపికయినవి." + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 of %(cnt)s ఎంపికయినవి." + +#, python-format +msgid "Change history: %s" +msgstr "చరిత్రం మార్చు: %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" + +msgid "Django site admin" +msgstr "జాంగొ యొక్క నిర్వాహణదారులు" + +msgid "Django administration" +msgstr "జాంగొ నిర్వాహణ" + +msgid "Site administration" +msgstr "సైట్ నిర్వాహణ" + +msgid "Log in" +msgstr "ప్రవేశించండి" + +#, python-format +msgid "%(app)s administration" +msgstr "" + +msgid "Page not found" +msgstr "పుట దొరకలేదు" + +msgid "We're sorry, but the requested page could not be found." +msgstr "క్షమించండి మీరు కోరిన పుట దొరకలేడు" + +msgid "Home" +msgstr "నివాసము" + +msgid "Server error" +msgstr "సర్వర్ పొరబాటు" + +msgid "Server error (500)" +msgstr "సర్వర్ పొరబాటు (500)" + +msgid "Server Error (500)" +msgstr "సర్వర్ పొరబాటు (500)" + +msgid "" +"There's been an error. It's been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +msgid "Run the selected action" +msgstr "ఎంచుకున్న చర్యను నడుపు" + +msgid "Go" +msgstr "వెళ్లు" + +msgid "Click here to select the objects across all pages" +msgstr "" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "" + +msgid "Clear selection" +msgstr "ఎంపికను తుడిచివేయి" + +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" + +msgid "Enter a username and password." +msgstr "ఒక వాడుకరిపేరు మరియు సంకేతపదాన్ని ప్రవేశపెట్టండి." + +msgid "Change password" +msgstr "సంకేతపదాన్ని మార్చుకోండి" + +msgid "Please correct the error below." +msgstr "క్రింద ఉన్న తప్పులు సరిదిద్దుకోండి" + +msgid "Please correct the errors below." +msgstr "" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" + +msgid "Welcome," +msgstr "సుస్వాగతం" + +msgid "View site" +msgstr "" + +msgid "Documentation" +msgstr "పత్రీకరణ" + +msgid "Log out" +msgstr "నిష్క్రమించండి" + +#, python-format +msgid "Add %(name)s" +msgstr "%(name)s జత చేయు" + +msgid "History" +msgstr "చరిత్ర" + +msgid "View on site" +msgstr "సైట్ లో చూడండి" + +msgid "Filter" +msgstr "వడపోత" + +msgid "Remove from sorting" +msgstr "క్రమీకరణ నుండి తొలగించు" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "" + +msgid "Toggle sorting" +msgstr "" + +msgid "Delete" +msgstr "తొలగించు" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" + +msgid "Objects" +msgstr "" + +msgid "Yes, I'm sure" +msgstr "అవును " + +msgid "No, take me back" +msgstr "" + +msgid "Delete multiple objects" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" + +msgid "Change" +msgstr "మార్చు" + +msgid "Delete?" +msgstr "తొలగించాలా?" + +#, python-format +msgid " By %(filter_title)s " +msgstr "" + +msgid "Summary" +msgstr "" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "" + +msgid "Add" +msgstr "చేర్చు" + +msgid "You don't have permission to edit anything." +msgstr "మీకు ఏది మార్చటానికి అధికారము లేదు" + +msgid "Recent actions" +msgstr "" + +msgid "My actions" +msgstr "" + +msgid "None available" +msgstr "ఏమి దొరకలేదు" + +msgid "Unknown content" +msgstr "తెలియని విషయం" + +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" + +msgid "Forgotten your password or username?" +msgstr "మీ సంకేతపదం లేదా వాడుకరిపేరును మర్చిపోయారా?" + +msgid "Date/time" +msgstr "తేదీ/సమయం" + +msgid "User" +msgstr "వాడుకరి" + +msgid "Action" +msgstr "చర్య" + +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" + +msgid "Show all" +msgstr "అన్నీ చూపించు" + +msgid "Save" +msgstr "భద్రపరుచు" + +msgid "Popup closing..." +msgstr "" + +#, python-format +msgid "Change selected %(model)s" +msgstr "" + +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "" + +msgid "Search" +msgstr "వెతుకు" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s ఫలితం" +msgstr[1] "%(counter)s ఫలితాలు" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s మొత్తము" + +msgid "Save as new" +msgstr "కొత్త దాని లా దాచు" + +msgid "Save and add another" +msgstr "దాచి కొత్త దానిని కలపండి" + +msgid "Save and continue editing" +msgstr "దాచి మార్చుటా ఉందండి" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "" + +msgid "Log in again" +msgstr "మళ్ళీ ప్రవేశించండి" + +msgid "Password change" +msgstr "అనుమతి పదం మార్పు" + +msgid "Your password was changed." +msgstr "మీ అనుమతి పదం మార్చబడిండి" + +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"దయచేసి రక్షన కోసము, మీ పాత అనుమతి పదం ఇవ్వండి , కొత్త అనుమతి పదం రెండు సార్లు ఇవ్వండి , " +"ఎం దుకంటే మీరు తప్పు ఇస్తే సరిచేయటానికి " + +msgid "Change my password" +msgstr "నా సంకేతపదాన్ని మార్చు" + +msgid "Password reset" +msgstr "అనుమతి పదం తిరిగి అమర్చు" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "మీ అనుమతి పదం మర్చుబడినది. మీరు ఇప్పుదు లాగ్ ఇన్ అవ్వచ్చు." + +msgid "Password reset confirmation" +msgstr "అనుమతి పదం తిరిగి మార్చు ఖాయం చెయండి" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"దయచేసి రక్షన కోసము, మీ పాత అనుమతి పదం ఇవ్వండి , కొత్త అనుమతి పదం రెండు సార్లు ఇవ్వండి , " +"ఎం దుకంటే మీరు తప్పు ఇస్తే సరిచేయటానికి " + +msgid "New password:" +msgstr "కొత్త సంకేతపదం:" + +msgid "Confirm password:" +msgstr "సంకేతపదాన్ని నిర్ధారించండి:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" + +msgid "" +"We've emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don't receive an email, please make sure you've entered the address " +"you registered with, and check your spam folder." +msgstr "" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" + +msgid "Please go to the following page and choose a new password:" +msgstr "" + +msgid "Your username, in case you've forgotten:" +msgstr "మీ వాడుకరిపేరు, ఒక వేళ మీరు మర్చిపోయివుంటే:" + +msgid "Thanks for using our site!" +msgstr "మా సైటుని ఉపయోగిస్తున్నందుకు ధన్యవాదములు!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s జట్టు" + +msgid "" +"Forgotten your password? Enter your email address below, and we'll email " +"instructions for setting a new one." +msgstr "" + +msgid "Email address:" +msgstr "ఈమెయిలు చిరునామా:" + +msgid "Reset my password" +msgstr "అనుమతిపదం తిరిగి అమర్చు" + +msgid "All dates" +msgstr "అన్నీ తేదీలు" + +#, python-format +msgid "Select %s" +msgstr "%s ని ఎన్నుకోండి" + +#, python-format +msgid "Select %s to change" +msgstr "%s ని మార్చటానికి ఎన్నుకోండి" + +msgid "Date:" +msgstr "తారీఖు:" + +msgid "Time:" +msgstr "సమయం:" + +msgid "Lookup" +msgstr "అంశ శోధన." + +msgid "Currently:" +msgstr "ప్రస్తుతం" + +msgid "Change:" +msgstr "మార్చు:" diff --git a/external_sources/django/django/contrib/admin/locale/te/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/te/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..cfa35a1 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/te/LC_MESSAGES/djangojs.po @@ -0,0 +1,205 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# bhaskar teja yerneni , 2011 +# Jannis Leidel , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"PO-Revision-Date: 2017-09-19 16:41+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Telugu (http://www.transifex.com/django/django/language/te/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: te\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "ఆందుబాతులోఉన్న %s " + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" + +msgid "Filter" +msgstr "వడపోత" + +msgid "Choose all" +msgstr "అన్నీ ఎన్నుకోండి" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "" + +msgid "Choose" +msgstr "" + +msgid "Remove" +msgstr "తీసివేయండి" + +#, javascript-format +msgid "Chosen %s" +msgstr "ఎన్నుకున్న %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" + +msgid "Remove all" +msgstr "" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "" +msgstr[1] "" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" +msgstr[1] "" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +msgstr[1] "" + +msgid "Now" +msgstr "ఇప్పుడు" + +msgid "Choose a Time" +msgstr "" + +msgid "Choose a time" +msgstr "ఒక సమయము ఎన్నుకోండి" + +msgid "Midnight" +msgstr "ఆర్ధరాత్రి" + +msgid "6 a.m." +msgstr "6 a.m" + +msgid "Noon" +msgstr "మధ్యాహ్నము" + +msgid "6 p.m." +msgstr "" + +msgid "Cancel" +msgstr "రద్దు చేయు" + +msgid "Today" +msgstr "ఈనాడు" + +msgid "Choose a Date" +msgstr "" + +msgid "Yesterday" +msgstr "నిన్న" + +msgid "Tomorrow" +msgstr "రేపు" + +msgid "January" +msgstr "" + +msgid "February" +msgstr "" + +msgid "March" +msgstr "" + +msgid "April" +msgstr "" + +msgid "May" +msgstr "" + +msgid "June" +msgstr "" + +msgid "July" +msgstr "" + +msgid "August" +msgstr "" + +msgid "September" +msgstr "" + +msgid "October" +msgstr "" + +msgid "November" +msgstr "" + +msgid "December" +msgstr "" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "" + +msgctxt "one letter Monday" +msgid "M" +msgstr "" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "" + +msgctxt "one letter Friday" +msgid "F" +msgstr "" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "" + +msgid "Show" +msgstr "చూపించుము" + +msgid "Hide" +msgstr "దాచు" diff --git a/external_sources/django/django/contrib/admin/locale/tg/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/tg/LC_MESSAGES/django.po new file mode 100644 index 0000000..dee2872 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/tg/LC_MESSAGES/django.po @@ -0,0 +1,699 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Mariusz Felisiak , 2020 +# Surush Sufiew , 2020 +# Surush Sufiew , 2020 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-07-14 19:53+0200\n" +"PO-Revision-Date: 2020-07-30 18:53+0000\n" +"Last-Translator: Mariusz Felisiak \n" +"Language-Team: Tajik (http://www.transifex.com/django/django/language/tg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Муваффақона нест сохтед %(count)d %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Нест карда нашуд %(name)s" + +msgid "Are you sure?" +msgstr "Шумо рози ҳастед ?" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Нест сохтани интихобшудаҳо %(verbose_name_plural)s" + +msgid "Administration" +msgstr "Маъмурият" + +msgid "All" +msgstr "Ҳама" + +msgid "Yes" +msgstr "Ҳа" + +msgid "No" +msgstr "Не" + +msgid "Unknown" +msgstr "Номуайян" + +msgid "Any date" +msgstr "Санаи бефарқ" + +msgid "Today" +msgstr "Имрӯз" + +msgid "Past 7 days" +msgstr "7 рӯзи охир" + +msgid "This month" +msgstr "Моҳи ҷорӣ" + +msgid "This year" +msgstr "Соли ҷорӣ" + +msgid "No date" +msgstr "Сана ишора нашудааст" + +msgid "Has date" +msgstr "Сана ишора шудааст" + +msgid "Empty" +msgstr "Холӣ" + +msgid "Not empty" +msgstr "Холӣ нест" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Хоҳиш менамоем %(username)s ва рамзро дуруст ворид созед. Ҳарду майдон " +"метавонанд духура бошанд." + +msgid "Action:" +msgstr "Амал:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Боз якто %(verbose_name)s илова кардан" + +msgid "Remove" +msgstr "Нест кардан" + +msgid "Addition" +msgstr "Иловакунӣ" + +msgid "Change" +msgstr "Тағйир додан" + +msgid "Deletion" +msgstr "Несткунӣ" + +msgid "action time" +msgstr "вақти амал" + +msgid "user" +msgstr "истифодабаранда" + +msgid "content type" +msgstr "намуди контент" + +msgid "object id" +msgstr "идентификатори объект" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "намоиши объект" + +msgid "action flag" +msgstr "намуди амал" + +msgid "change message" +msgstr "хабар оиди тағйирот" + +msgid "log entry" +msgstr "қайд дар дафтар" + +msgid "log entries" +msgstr "қайдҳо дар дафтар" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Илова шуд \"%(object)s\"" + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "" + +msgid "LogEntry Object" +msgstr "Қайд дар дафтар" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "" + +msgid "Added." +msgstr "Илова шуд." + +msgid "and" +msgstr "ва" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Тағйир ёфт {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "" + +msgid "No fields changed." +msgstr "Ягон майдон тағйир наёфт." + +msgid "None" +msgstr "Не" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "" + +msgid "You may edit it again below." +msgstr "Шумо метавонед ин объектро дар поён аз нав тағйир диҳед." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Барои иҷрои амал лозим аст, ки объектро интихоб намоед. Тағйирот барои " +"объектҳо ворид нашуданд " + +msgid "No action selected." +msgstr "Ҳеҷ амал инихоб нашудааст." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "" + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "Илова кардан %s" + +#, python-format +msgid "Change %s" +msgstr "Тағйир додан %s" + +#, python-format +msgid "View %s" +msgstr "Азназаргузаронӣ %s" + +msgid "Database error" +msgstr "Мушкилӣ дар базаи додаҳо" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "Интихоб карда шуд 0 аз %(cnt)s " + +#, python-format +msgid "Change history: %s" +msgstr "Таърихи вориди тағйирот: %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Несткунии объекти %(instance)s намуди %(class_name)s талаб мекунад, ки " +"объектҳои алоқамандшудаизерин низ нест карда шаванд: %(related_objects)s" + +msgid "Django site admin" +msgstr "Сомонаи маъмурии Django" + +msgid "Django administration" +msgstr "Маъмурияти Django" + +msgid "Site administration" +msgstr "Маъмурияти сомона" + +msgid "Log in" +msgstr "Ворид шудан" + +#, python-format +msgid "%(app)s administration" +msgstr "Маъмурияти барномаи «%(app)s»" + +msgid "Page not found" +msgstr "Саҳифа ёфт нашуд" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "" + +msgid "Home" +msgstr "Асосӣ" + +msgid "Server error" +msgstr "Мушкилӣ дар сервер" + +msgid "Server error (500)" +msgstr "Мушкилӣ дар сервер (500)" + +msgid "Server Error (500)" +msgstr "Мушкилӣ дар сервер (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +msgid "Run the selected action" +msgstr "Иҷрои амалҳои ихтихобшуда" + +msgid "Go" +msgstr "Иҷро кардан" + +msgid "Click here to select the objects across all pages" +msgstr "Барои интихоби объектҳо дар ҳамаи саҳифаҳо, инҷоро пахш намоед" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Интихоби ҳамаи %(module_name)s (%(total_count)s)" + +msgid "Clear selection" +msgstr "Бекоркунии интихоб" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Моелҳои барномаи %(name)s" + +msgid "Add" +msgstr "Илова кардан" + +msgid "View" +msgstr "Азназаргузаронӣ" + +msgid "You don’t have permission to view or edit anything." +msgstr "" + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" + +msgid "Enter a username and password." +msgstr "Ном ва рамзро ворид созед." + +msgid "Change password" +msgstr "Тағйир додани рамз" + +msgid "Please correct the error below." +msgstr "Хоҳишмандем, хатогии зеринро ислоҳ кунед." + +msgid "Please correct the errors below." +msgstr "Хоҳишмандем, хатогиҳои зеринро ислоҳ кунед." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Рамзи навро ворид созед %(username)s." + +msgid "Welcome," +msgstr "Марҳамат," + +msgid "View site" +msgstr "Гузариш ба сомона" + +msgid "Documentation" +msgstr "Ҳуҷҷатнигорӣ" + +msgid "Log out" +msgstr "Баромад" + +#, python-format +msgid "Add %(name)s" +msgstr "Дохил кардани %(name)s" + +msgid "History" +msgstr "Таърих" + +msgid "View on site" +msgstr "Дар сомона дидан" + +msgid "Filter" +msgstr "Поло(Filter)" + +msgid "Clear all filters" +msgstr "" + +msgid "Remove from sorting" +msgstr "Аз қайди навъҳо баровардан" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Бартарии навъҳо: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Навъҷудокунӣ дар дигар раванд" + +msgid "Delete" +msgstr "Нест кардан" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Нест кардани %(object_name)s '%(escaped_object)s' ба нестсозии объектҳои ба " +"он алоқаманд оварда мерасонад, аммо'ҳисоби корбарӣ'-и (аккаунт) шумо иҷозати " +"нестсозии объектҳои зеринро надорад:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Нестсозии %(object_name)s '%(escaped_object)s' талаб менамояд, ки " +"объектҳоиалоқаманди муҳофизатии зерин нест карда шаванд:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Шумо боварӣ доред, ки ин элементҳо нест карда шаванд: %(object_name)s " +"\"%(escaped_object)s\"? Ҳамаи объектҳои алоқаманди зерин низ нест карда " +"мешаванд:" + +msgid "Objects" +msgstr "Объектҳо" + +msgid "Yes, I’m sure" +msgstr "" + +msgid "No, take me back" +msgstr "Не, баргаштан" + +msgid "Delete multiple objects" +msgstr "Нестсозии якчанд объектҳо" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Нест кардани %(objects_name)s ба нестсозии объектҳои ба он алоқаманд оварда " +"мерасонад, аммо'ҳисоби корбарӣ'-и (аккаунт) шумо иҷозати нестсозии объектҳои " +"зеринро надорад:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Нестсозии %(objects_name)s талаб менамояд, ки объектҳоиалоқаманди " +"муҳофизатии зерин нест карда шаванд:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Шумо боварӣ доред, ки ин элементҳо нест карда шаванд: %(objects_name)s? " +"Ҳамаи объектҳои алоқаманди зерин низ нест карда мешаванд:" + +msgid "Delete?" +msgstr "Нест кардан?" + +#, python-format +msgid " By %(filter_title)s " +msgstr "%(filter_title)s" + +msgid "Summary" +msgstr "Мухтасар" + +msgid "Recent actions" +msgstr "Амалҳои охирин" + +msgid "My actions" +msgstr "Амалҳои ман" + +msgid "None available" +msgstr "Дастнорас" + +msgid "Unknown content" +msgstr "Шакли номуайян" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Шумо ба система ҳамчун %(username)s, ворид шудед, вале салоҳияти шумобарои " +"азназаргузарониисаҳифаи мазкур нокифоя аст. Шояд шумо мехоҳед бо истифода аз " +"дигар 'ҳисоби корбарӣ' вориди система шавед." + +msgid "Forgotten your password or username?" +msgstr "Рамз ё номро фаромӯш кардед?" + +msgid "Toggle navigation" +msgstr "" + +msgid "Date/time" +msgstr "Сана ва вақт" + +msgid "User" +msgstr "Истифодабар" + +msgid "Action" +msgstr "Амал" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" + +msgid "Show all" +msgstr "Ҳамаро нишон додан" + +msgid "Save" +msgstr "Ҳифз кардан" + +msgid "Popup closing…" +msgstr "Равзанаи иловагӣ пӯшида мешавад..." + +msgid "Search" +msgstr "Ёфтан" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s ҳамаги" + +msgid "Save as new" +msgstr "Ҳамчун объекти нав ҳифз кардан" + +msgid "Save and add another" +msgstr "Ҳифз кардан ва объекти дигар илова кардан" + +msgid "Save and continue editing" +msgstr "Ҳифз кардан ва танзимотро давом додан" + +msgid "Save and view" +msgstr "Ҳифз кардан ва аз назар гузаронидан" + +msgid "Close" +msgstr "Пӯшидан" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Объекти интихобшударо тағйир додан: \"%(model)s\"" + +#, python-format +msgid "Add another %(model)s" +msgstr "Воридсозии боз як объекти \"%(model)s\"" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Объекти зерини интихобшударо нест кардан \"%(model)s\"" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Барои вақти дар ин сомона сарф кардаатон миннатдорем." + +msgid "Log in again" +msgstr "Аз нав ворид шудан" + +msgid "Password change" +msgstr "Тағйири рамз" + +msgid "Your password was changed." +msgstr "Рамзи шумо тағйир дода шуд." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" + +msgid "Change my password" +msgstr "Тағйири рамзи ман" + +msgid "Password reset" +msgstr "Барқароркунии рамз" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Рамзи шумо ҳифз шуд. Акнун шумо метавонед ворид шавед." + +msgid "Password reset confirmation" +msgstr "Барқароркунии рамз тасдиқ карда шуд." + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Хоҳиш мекунем рамзи нави худро ду маротиба(бояд ҳарду мувофиқат кунанд) " +"дохил кунед." + +msgid "New password:" +msgstr "Рамзи нав:" + +msgid "Confirm password:" +msgstr "Рамзи тасдиқӣ:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Суроға барои барқароркунии рамз нодуруст аст. Эҳтимол алакай як маротиба " +"истифода шудааст.Амали барқароркунии рамзро такрор намоед." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Шумо ин матубро гирифтед барои он, ки аз сомонаи %(site_name)s, ки бо ин " +"почтаи электронӣ алоқаманд аст,ба мо дархост барои барқароркунии рамз қабул " +"шуд." + +msgid "Please go to the following page and choose a new password:" +msgstr "Хоҳишмандем ба ин саҳифа гузаред ва рамзи навро ворид созед:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "" + +msgid "Thanks for using our site!" +msgstr "Барои аз сомонаи мо истифода карданатон сипосгузорем!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Гурӯҳи ташкили %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" + +msgid "Email address:" +msgstr "Суроғаи почтаи электронӣ:" + +msgid "Reset my password" +msgstr "Барқароркунии рамзи ман" + +msgid "All dates" +msgstr "Ҳама санаҳо" + +#, python-format +msgid "Select %s" +msgstr "Интихоб кунед %s" + +#, python-format +msgid "Select %s to change" +msgstr "Интихоби %s барои тағйирот ворид сохтан " + +#, python-format +msgid "Select %s to view" +msgstr "Интихоби %s барои азназаргузаронӣ" + +msgid "Date:" +msgstr "Сана:" + +msgid "Time:" +msgstr "Вақт:" + +msgid "Lookup" +msgstr "Ҷустуҷӯ" + +msgid "Currently:" +msgstr "Ҷорӣ:" + +msgid "Change:" +msgstr "Тағйир додан:" diff --git a/external_sources/django/django/contrib/admin/locale/tg/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/tg/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..b5f4fdb --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/tg/LC_MESSAGES/djangojs.po @@ -0,0 +1,222 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Surush Sufiew , 2020 +# Surush Sufiew , 2020 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-05-11 20:56+0200\n" +"PO-Revision-Date: 2020-05-15 01:22+0000\n" +"Last-Translator: Surush Sufiew \n" +"Language-Team: Tajik (http://www.transifex.com/django/django/language/tg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "Дастрас %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Ин руйхати %s - ҳои дастрас. Шумо метавонед якчандто аз инҳоро дар " +"майдонипоён бо пахши тугмаи \\'Интихоб кардан'\\ интихоб намоед." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" +"Барои баровардани рӯйхати %s. -ҳои дастрас, ба воридсозии матни лозима шурӯъ " +"кунед" + +msgid "Filter" +msgstr "Поло" + +msgid "Choose all" +msgstr "Интихоби кулл" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Барои якбора интихоб намудани кулли %s инҷоро пахш намоед." + +msgid "Choose" +msgstr "интихоб кардан" + +msgid "Remove" +msgstr "Нест кардан" + +#, javascript-format +msgid "Chosen %s" +msgstr "%s -ҳои интихобшуда" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Ин руйхати %s - ҳои интихобшуда. Шумо метавонед якчандто аз инҳоро дар " +"майдонипоён бо пахши тугмаи \\'Нест кардан'\\ нест созед." + +msgid "Remove all" +msgstr "Нест кардан ба таври кулл" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Пахш кунед барои якбора нест кардани ҳамаи %s." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "" +msgstr[1] "" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Тағйиротҳои ҳифзнакардашуда дар майдони таҳрир мавҷуданд. Агаршумо иҷрои " +"амалро давом диҳед, онҳо нест хоҳанд шуд." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Шумо амалро интихоб намудед, вале ҳануз тағйиротҳои ворид кардашуда ҳифз " +"нашудаанд.\"\n" +"\"Барои ҳифз намудани онҳо ба тугмаи 'ОК' пахш намоед.\"\n" +"\"Сипас шуморо лозим меояд, ки амалро такроран иҷро намоед" + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"\"Шумо амалрор интихоб намудед, вале тағйирот ворид насохтед.\"\n" +"\"Эҳтимол шумо мехостед ба ҷои тугмаи \\'Ҳифз кардан'\\, аз тугмаи \\'Иҷро " +"кардан'\\ истифода намоед.\"\n" +"\"Агар чунин бошад, он гоҳ тугмаи \\'Инкор'\\ пахш кунед, то ки ба майдони " +"таҳриркунӣ баргардед.\"" + +msgid "Now" +msgstr "Ҳозир" + +msgid "Midnight" +msgstr "Нисфишабӣ" + +msgid "6 a.m." +msgstr "6-и саҳар" + +msgid "Noon" +msgstr "Нисфирӯзӣ" + +msgid "6 p.m." +msgstr "6-и бегоҳӣ" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" +msgstr[1] "" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +msgstr[1] "" + +msgid "Choose a Time" +msgstr "Вақтро интихоб кунед" + +msgid "Choose a time" +msgstr "Вақтро интихоб кунед" + +msgid "Cancel" +msgstr "Инкор" + +msgid "Today" +msgstr "Имрӯз" + +msgid "Choose a Date" +msgstr "Санаро интихоб кунед" + +msgid "Yesterday" +msgstr "Дирӯз" + +msgid "Tomorrow" +msgstr "Фардо" + +msgid "January" +msgstr "Январ" + +msgid "February" +msgstr "Феврал" + +msgid "March" +msgstr "Март" + +msgid "April" +msgstr "Апрел" + +msgid "May" +msgstr "Май" + +msgid "June" +msgstr "Июн" + +msgid "July" +msgstr "Июл" + +msgid "August" +msgstr "Август" + +msgid "September" +msgstr "Сентябр" + +msgid "October" +msgstr "Октябр" + +msgid "November" +msgstr "Ноябр" + +msgid "December" +msgstr "Декабр" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "Я" + +msgctxt "one letter Monday" +msgid "M" +msgstr "Д" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "С" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "Ч" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "П" + +msgctxt "one letter Friday" +msgid "F" +msgstr "Ҷ" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "Ш" + +msgid "Show" +msgstr "Нишон додан" + +msgid "Hide" +msgstr "Пинҳон кардан" diff --git a/external_sources/django/django/contrib/admin/locale/th/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/th/LC_MESSAGES/django.po new file mode 100644 index 0000000..53054f8 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/th/LC_MESSAGES/django.po @@ -0,0 +1,671 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel , 2011 +# Kowit Charoenratchatabhan , 2013-2014,2017-2019 +# piti118 , 2012 +# Suteepat Damrongyingsupab , 2011-2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-08 17:27+0200\n" +"PO-Revision-Date: 2019-09-17 01:31+0000\n" +"Last-Translator: Ramiro Morales\n" +"Language-Team: Thai (http://www.transifex.com/django/django/language/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" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d %(items)s ถูกลบเรียบร้อยแล้ว" + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "ไม่สามารถลบ %(name)s" + +msgid "Are you sure?" +msgstr "แน่ใจหรือ" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "ลบ %(verbose_name_plural)s ที่เลือก" + +msgid "Administration" +msgstr "การจัดการ" + +msgid "All" +msgstr "ทั้งหมด" + +msgid "Yes" +msgstr "ใช่" + +msgid "No" +msgstr "ไม่ใช่" + +msgid "Unknown" +msgstr "ไม่รู้" + +msgid "Any date" +msgstr "วันไหนก็ได้" + +msgid "Today" +msgstr "วันนี้" + +msgid "Past 7 days" +msgstr "สัปดาห์ที่แล้ว" + +msgid "This month" +msgstr "เดือนนี้" + +msgid "This year" +msgstr "ปีนี้" + +msgid "No date" +msgstr "ไม่รวมวันที่" + +msgid "Has date" +msgstr "รวมวันที่" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "กรุณาใส่ %(username)s และรหัสผ่านให้ถูกต้อง มีการแยกแยะตัวพิมพ์ใหญ่-เล็ก" + +msgid "Action:" +msgstr "คำสั่ง :" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "เพิ่ม %(verbose_name)s อีก" + +msgid "Remove" +msgstr "ถอดออก" + +msgid "Addition" +msgstr "เพิ่ม" + +msgid "Change" +msgstr "เปลี่ยนแปลง" + +msgid "Deletion" +msgstr "ลบ" + +msgid "action time" +msgstr "เวลาลงมือ" + +msgid "user" +msgstr "ผู้ใช้" + +msgid "content type" +msgstr "content type" + +msgid "object id" +msgstr "อ็อบเจ็กต์ไอดี" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "object repr" + +msgid "action flag" +msgstr "action flag" + +msgid "change message" +msgstr "เปลี่ยนข้อความ" + +msgid "log entry" +msgstr "log entry" + +msgid "log entries" +msgstr "log entries" + +#, python-format +msgid "Added “%(object)s”." +msgstr "" + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "" + +msgid "LogEntry Object" +msgstr "อ็อบเจ็กต์ LogEntry" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "" + +msgid "Added." +msgstr "เพิ่มแล้ว" + +msgid "and" +msgstr "และ" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "เปลี่ยน {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "" + +msgid "No fields changed." +msgstr "ไม่มีฟิลด์ใดถูกเปลี่ยน" + +msgid "None" +msgstr "ไม่มี" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "" + +msgid "You may edit it again below." +msgstr "คุณสามารถแก้ไขได้อีกครั้งด้านล่าง" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"ไม่มีรายการใดถูกเปลี่ยน\n" +"รายการจะต้องถูกเลือกก่อนเพื่อที่จะทำตามคำสั่งได้" + +msgid "No action selected." +msgstr "ไม่มีคำสั่งที่ถูกเลือก" + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "" + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "เพิ่ม %s" + +#, python-format +msgid "Change %s" +msgstr "เปลี่ยน %s" + +#, python-format +msgid "View %s" +msgstr "ดู %s" + +msgid "Database error" +msgstr "เกิดความผิดพลาดที่ฐานข้อมูล" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(name)s จำนวน %(count)s อันได้ถูกเปลี่ยนแปลงเรียบร้อยแล้ว." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s ได้ถูกเลือก" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "เลือก 0 จาก %(cnt)s" + +#, python-format +msgid "Change history: %s" +msgstr "เปลี่ยนแปลงประวัติ: %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"กำลังลบ %(class_name)s %(instance)s จะต้องมีการลบอ็อบเจ็คต์ป้องกันที่เกี่ยวข้อง : " +"%(related_objects)s" + +msgid "Django site admin" +msgstr "ผู้ดูแลระบบ Django" + +msgid "Django administration" +msgstr "การจัดการ Django" + +msgid "Site administration" +msgstr "การจัดการไซต์" + +msgid "Log in" +msgstr "เข้าสู่ระบบ" + +#, python-format +msgid "%(app)s administration" +msgstr "การจัดการ %(app)s" + +msgid "Page not found" +msgstr "ไม่พบหน้านี้" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "" + +msgid "Home" +msgstr "หน้าหลัก" + +msgid "Server error" +msgstr "เซิร์ฟเวอร์ขัดข้อง" + +msgid "Server error (500)" +msgstr "เซิร์ฟเวอร์ขัดข้อง (500)" + +msgid "Server Error (500)" +msgstr "เซิร์ฟเวอร์ขัดข้อง (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +msgid "Run the selected action" +msgstr "รันคำสั่งที่ถูกเลือก" + +msgid "Go" +msgstr "ไป" + +msgid "Click here to select the objects across all pages" +msgstr "คลิกที่นี่เพื่อเลือกอ็อบเจ็กต์จากหน้าทั้งหมด" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "เลือกทั้งหมด %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "เคลียร์ตัวเลือก" + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" + +msgid "Enter a username and password." +msgstr "กรุณาใส่ชื่อผู้ใช้และรหัสผ่าน" + +msgid "Change password" +msgstr "เปลี่ยนรหัสผ่าน" + +msgid "Please correct the error below." +msgstr "กรุณาแก้ไขข้อผิดพลาดด้านล่าง" + +msgid "Please correct the errors below." +msgstr "กรุณาแก้ไขข้อผิดพลาดด้านล่าง" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "ใส่รหัสผ่านใหม่สำหรับผู้ใช้ %(username)s." + +msgid "Welcome," +msgstr "ยินดีต้อนรับ," + +msgid "View site" +msgstr "ดูที่หน้าเว็บ" + +msgid "Documentation" +msgstr "เอกสารประกอบ" + +msgid "Log out" +msgstr "ออกจากระบบ" + +#, python-format +msgid "Add %(name)s" +msgstr "เพิ่ม %(name)s" + +msgid "History" +msgstr "ประวัติ" + +msgid "View on site" +msgstr "ดูที่หน้าเว็บ" + +msgid "Filter" +msgstr "ตัวกรอง" + +msgid "Remove from sorting" +msgstr "เอาออกจาก sorting" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "ลำดับการ sorting: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "เปิด/ปิด sorting" + +msgid "Delete" +msgstr "ลบ" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"กำลังดำเนินการลบ %(object_name)s '%(escaped_object)s'และจะแสดงผลการลบ " +"แต่บัญชีของคุณไม่สามารถทำการลบข้อมูลชนิดนี้ได้" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"การลบ %(object_name)s '%(escaped_object)s' จำเป็นจะต้องลบอ็อบเจ็กต์ที่เกี่ยวข้องต่อไปนี้:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"คุณแน่ใจหรือที่จะลบ %(object_name)s \"%(escaped_object)s\"?" +"ข้อมูลที่เกี่ยวข้องทั้งหมดจะถูกลบไปด้วย:" + +msgid "Objects" +msgstr "อ็อบเจ็กต์" + +msgid "Yes, I’m sure" +msgstr "" + +msgid "No, take me back" +msgstr "ไม่ พาฉันกลับ" + +msgid "Delete multiple objects" +msgstr "ลบหลายอ็อบเจ็กต์" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"การลบ %(objects_name)s ที่เลือก จะทำให้อ็อบเจ็กต์ที่เกี่ยวข้องถูกลบไปด้วย " +"แต่บัญชีของคุณไม่มีสิทธิ์ที่จะลบอ็อบเจ็กต์ชนิดนี้" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "การลบ %(objects_name)s ที่ถูกเลือก จำเป็นจะต้องลบอ็อบเจ็กต์ที่เกี่ยวข้องต่อไปนี้:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"คุณแน่ใจหรือว่า ต้องการลบ %(objects_name)s ที่ถูกเลือก? เนื่องจากอ็อบเจ็กต์ " +"และรายการที่เกี่ยวข้องทั้งหมดต่อไปนี้จะถูกลบด้วย" + +msgid "View" +msgstr "ดู:" + +msgid "Delete?" +msgstr "ลบ?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " โดย %(filter_title)s " + +msgid "Summary" +msgstr "สรุป" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "โมเดลในแอป %(name)s" + +msgid "Add" +msgstr "เพิ่ม" + +msgid "You don’t have permission to view or edit anything." +msgstr "" + +msgid "Recent actions" +msgstr "การกระทำล่าสุด" + +msgid "My actions" +msgstr "การกระทำของฉัน" + +msgid "None available" +msgstr "ไม่ว่าง" + +msgid "Unknown content" +msgstr "ไม่ทราบเนื้อหา" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"คุณได้ลงชื่อเป็น %(username)s แต่ไม่ได้รับอนุญาตให้เข้าถึงหน้านี้ " +"คุณต้องการลงชื่อเข้าใช้บัญชีอื่นหรือไม่?" + +msgid "Forgotten your password or username?" +msgstr "ลืมรหัสผ่านหรือชื่อผู้ใช้ของคุณหรือไม่" + +msgid "Date/time" +msgstr "วันที่/เวลา" + +msgid "User" +msgstr "ผู้ใช้" + +msgid "Action" +msgstr "คำสั่ง" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" + +msgid "Show all" +msgstr "แสดงทั้งหมด" + +msgid "Save" +msgstr "บันทึก" + +msgid "Popup closing…" +msgstr "ปิดป๊อปอัป ..." + +msgid "Search" +msgstr "ค้นหา" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s ผลลัพธ์" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s ทั้งหมด" + +msgid "Save as new" +msgstr "บันทึกใหม่" + +msgid "Save and add another" +msgstr "บันทึกและเพิ่ม" + +msgid "Save and continue editing" +msgstr "บันทึกและกลับมาแก้ไข" + +msgid "Save and view" +msgstr "บันทึกและดู" + +msgid "Close" +msgstr "ปิด" + +#, python-format +msgid "Change selected %(model)s" +msgstr "เปลี่ยนแปลง %(model)s" + +#, python-format +msgid "Add another %(model)s" +msgstr "เพิ่ม %(model)sอีก" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "ลบ %(model)s" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "ขอบคุณที่สละเวลาอันมีค่าให้กับเว็บไซต์ของเราในวันนี้" + +msgid "Log in again" +msgstr "เข้าสู่ระบบอีกครั้ง" + +msgid "Password change" +msgstr "เปลี่ยนรหัสผ่าน" + +msgid "Your password was changed." +msgstr "รหัสผ่านของคุณถูกเปลี่ยนไปแล้ว" + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" + +msgid "Change my password" +msgstr "เปลี่ยนรหัสผ่านของฉัน" + +msgid "Password reset" +msgstr "ตั้งค่ารหัสผ่านใหม่" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "รหัสผ่านของคุณได้รับการตั้งค่าแล้ว คุณสามารถเข้าสู่ระบบได้ทันที" + +msgid "Password reset confirmation" +msgstr "การยืนยันตั้งค่ารหัสผ่านใหม่" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "กรุณาใส่รหัสผ่านใหม่สองครั้ง เพื่อตรวจสอบว่าคุณได้พิมพ์รหัสอย่างถูกต้อง" + +msgid "New password:" +msgstr "รหัสผ่านใหม่:" + +msgid "Confirm password:" +msgstr "ยืนยันรหัสผ่าน:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"การตั้งรหัสผ่านใหม่ไม่สำเร็จ เป็นเพราะว่าหน้านี้ได้ถูกใช้งานไปแล้ว กรุณาทำการตั้งรหัสผ่านใหม่อีกครั้ง" + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"คุณได้รับอีเมล์ฉบับนี้ เนื่องจากคุณส่งคำร้องขอเปลี่ยนรหัสผ่านสำหรับบัญชีผู้ใช้ของคุณที่ %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "กรุณาไปที่หน้านี้และเลือกรหัสผ่านใหม่:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "" + +msgid "Thanks for using our site!" +msgstr "ขอบคุณสำหรับการใช้งานเว็บไซต์ของเรา" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s ทีม" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" + +msgid "Email address:" +msgstr "อีเมล:" + +msgid "Reset my password" +msgstr "ตั้งรหัสผ่านของฉันใหม่" + +msgid "All dates" +msgstr "ทุกวัน" + +#, python-format +msgid "Select %s" +msgstr "เลือก %s" + +#, python-format +msgid "Select %s to change" +msgstr "เลือก %s เพื่อเปลี่ยนแปลง" + +#, python-format +msgid "Select %s to view" +msgstr "เลือก %s เพื่อดู" + +msgid "Date:" +msgstr "วันที่ :" + +msgid "Time:" +msgstr "เวลา :" + +msgid "Lookup" +msgstr "ดูที่" + +msgid "Currently:" +msgstr "ปัจจุบัน:" + +msgid "Change:" +msgstr "เปลี่ยนเป็น:" diff --git a/external_sources/django/django/contrib/admin/locale/th/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/th/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..5cca152 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/th/LC_MESSAGES/djangojs.po @@ -0,0 +1,213 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel , 2011 +# Kowit Charoenratchatabhan , 2011-2012,2018 +# Perry Roper , 2017 +# Suteepat Damrongyingsupab , 2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-05-17 11:50+0200\n" +"PO-Revision-Date: 2018-05-06 07:50+0000\n" +"Last-Translator: Kowit Charoenratchatabhan \n" +"Language-Team: Thai (http://www.transifex.com/django/django/language/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" + +#, javascript-format +msgid "Available %s" +msgstr "%sที่มีอยู่" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"นี่คือรายการที่ใช้ได้ของ %s คุณอาจเลือกบางรายการโดยการเลือกไว้ในกล่องด้านล่างแล้วคลิกที่ปุ่ม " +"\"เลือก\" ระหว่างสองกล่อง" + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "พิมพ์ลงในช่องนี้เพื่อกรองรายการที่ใช้ได้ของ %s" + +msgid "Filter" +msgstr "ตัวกรอง" + +msgid "Choose all" +msgstr "เลือกทั้งหมด" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "คลิกเพื่อเลือก %s ทั้งหมดในครั้งเดียว" + +msgid "Choose" +msgstr "เลือก" + +msgid "Remove" +msgstr "ลบออก" + +#, javascript-format +msgid "Chosen %s" +msgstr "%sที่ถูกเลือก" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"นี่คือรายการที่ถูกเลือกของ %s คุณอาจเอาบางรายการออกโดยการเลือกไว้ในกล่องด้านล่างแล้วคลิกที่ปุ่ม " +"\"เอาออก\" ระหว่างสองกล่อง" + +msgid "Remove all" +msgstr "เอาออกทั้งหมด" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "คลิกเพื่อเอา %s ออกทั้งหมดในครั้งเดียว" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s จาก %(cnt)s selected" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"คุณยังไม่ได้บันทึกการเปลี่ยนแปลงในแต่ละฟิลด์ ถ้าคุณเรียกใช้คำสั่ง " +"ข้อมูลที่ไม่ได้บันทึกการเปลี่ยนแปลงของคุณจะหายไป" + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"คุณได้เลือกคำสั่ง แต่คุณยังไม่ได้บันทึกการเปลี่ยนแปลงของคุณไปยังฟิลด์ กรุณาคลิก OK เพื่อบันทึก " +"คุณจะต้องเรียกใช้คำสั่งใหม่อีกครั้ง" + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"คุณได้เลือกคำสั่งและคุณยังไม่ได้ทำการเปลี่ยนแปลงใด ๆ ในฟิลด์ คุณอาจมองหาปุ่มไปมากกว่าปุ่มบันทึก" + +msgid "Now" +msgstr "ขณะนี้" + +msgid "Midnight" +msgstr "เที่ยงคืน" + +msgid "6 a.m." +msgstr "หกโมงเช้า" + +msgid "Noon" +msgstr "เที่ยงวัน" + +msgid "6 p.m." +msgstr "หกโมงเย็น" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "หมายเหตุ: เวลาคุณเร็วกว่าเวลาบนเซิร์ฟเวอร์อยู่ %s ชั่วโมง." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "หมายเหตุ: เวลาคุณช้ากว่าเวลาบนเซิร์ฟเวอร์อยู่ %s ชั่วโมง." + +msgid "Choose a Time" +msgstr "เลือกเวลา" + +msgid "Choose a time" +msgstr "เลือกเวลา" + +msgid "Cancel" +msgstr "ยกเลิก" + +msgid "Today" +msgstr "วันนี้" + +msgid "Choose a Date" +msgstr "เลือกวัน" + +msgid "Yesterday" +msgstr "เมื่อวาน" + +msgid "Tomorrow" +msgstr "พรุ่งนี้" + +msgid "January" +msgstr "มกราคม" + +msgid "February" +msgstr "กุมภาพันธ์" + +msgid "March" +msgstr "มีนาคม" + +msgid "April" +msgstr "เมษายน" + +msgid "May" +msgstr "พฤษภาคม" + +msgid "June" +msgstr "มิถุนายน" + +msgid "July" +msgstr "กรกฎาคม" + +msgid "August" +msgstr "สิงหาคม" + +msgid "September" +msgstr "กันยายน" + +msgid "October" +msgstr "ตุลาคม" + +msgid "November" +msgstr "พฤศจิกายน" + +msgid "December" +msgstr "ธันวาคม" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "อา." + +msgctxt "one letter Monday" +msgid "M" +msgstr "จ." + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "อ." + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "พ." + +msgctxt "one letter Thursday" +msgid "T" +msgstr "พฤ." + +msgctxt "one letter Friday" +msgid "F" +msgstr "ศ." + +msgctxt "one letter Saturday" +msgid "S" +msgstr "ส." + +msgid "Show" +msgstr "แสดง" + +msgid "Hide" +msgstr "ซ่อน" diff --git a/external_sources/django/django/contrib/admin/locale/tk/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/tk/LC_MESSAGES/django.po new file mode 100644 index 0000000..ad73340 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/tk/LC_MESSAGES/django.po @@ -0,0 +1,738 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Mariusz Felisiak , 2022 +# Natalia, 2024 +# Resul , 2024 +# Rovshen Tagangylyjov, 2024 +# Welbeck Garli , 2022 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 07:05+0000\n" +"Last-Translator: Natalia, 2024\n" +"Language-Team: Turkmen (http://app.transifex.com/django/django/language/" +"tk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tk\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "%(verbose_name_plural)s saýlanany poz" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d%(items)süstünlikli pozuldy." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Pozmak amala aşyrylyp bilinmedi %(name)s" + +msgid "Are you sure?" +msgstr "Siz dowam etmekçimi?" + +msgid "Administration" +msgstr "Administrasiýa" + +msgid "All" +msgstr "Ählisi" + +msgid "Yes" +msgstr "Hawa" + +msgid "No" +msgstr "Ýok" + +msgid "Unknown" +msgstr "Näbelli" + +msgid "Any date" +msgstr "Islendik sene" + +msgid "Today" +msgstr "Şu gün" + +msgid "Past 7 days" +msgstr "Soňky 7 gün" + +msgid "This month" +msgstr "Şu aý" + +msgid "This year" +msgstr "Şu ýyl" + +msgid "No date" +msgstr "Senesiz" + +msgid "Has date" +msgstr "Senesi bar" + +msgid "Empty" +msgstr "Boş" + +msgid "Not empty" +msgstr "Boş däl" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Administratiw bolmadyk hasap üçin dogry %(username)s we parol ulanmagyňyzy " +"sizden haýyş edýäris. Giriziljek maglumatlaryň harp ýalňyşsyz bolmagyny göz " +"öňünde tutmagy unutmaň." + +msgid "Action:" +msgstr "Hereket:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Başga %(verbose_name)s goş" + +msgid "Remove" +msgstr "Aýyr" + +msgid "Addition" +msgstr "Goşmak" + +msgid "Change" +msgstr "Üýtget" + +msgid "Deletion" +msgstr "Pozmaklyk" + +msgid "action time" +msgstr "hereket wagty" + +msgid "user" +msgstr "ulanyjy" + +msgid "content type" +msgstr "mazmun görnüşi" + +msgid "object id" +msgstr "obýekt id-sy" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "obýekt repr-y" + +msgid "action flag" +msgstr "hereket belligi" + +msgid "change message" +msgstr "Habarnamany üýtget" + +msgid "log entry" +msgstr "Giriş habarnamasy" + +msgid "log entries" +msgstr "giriş habarnamalary" + +#, python-format +msgid "Added “%(object)s”." +msgstr "\"%(object)s\" goşuldy" + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "\"%(object)s\" üýtgedildi - %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "\"%(object)s\" pozuldy." + +msgid "LogEntry Object" +msgstr "GirişHabarnamasy Obýekty" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Goşuldy {name} “{object}”." + +msgid "Added." +msgstr "Goşuldy." + +msgid "and" +msgstr "we" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "{fields} üýtgedildi." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "" + +msgid "No fields changed." +msgstr "" + +msgid "None" +msgstr "" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" + +msgid "Select this object for an action - {}" +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "" + +msgid "You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" + +msgid "No action selected." +msgstr "" + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "" + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "" + +#, python-format +msgid "Change %s" +msgstr "" + +#, python-format +msgid "View %s" +msgstr "" + +msgid "Database error" +msgstr "" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "" + +#, python-format +msgid "Change history: %s" +msgstr "" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" + +msgid "Django site admin" +msgstr "" + +msgid "Django administration" +msgstr "" + +msgid "Site administration" +msgstr "" + +msgid "Log in" +msgstr "" + +#, python-format +msgid "%(app)s administration" +msgstr "" + +msgid "Page not found" +msgstr "" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "" + +msgid "Home" +msgstr "" + +msgid "Server error" +msgstr "" + +msgid "Server error (500)" +msgstr "" + +msgid "Server Error (500)" +msgstr "" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +msgid "Run the selected action" +msgstr "" + +msgid "Go" +msgstr "" + +msgid "Click here to select the objects across all pages" +msgstr "" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "" + +msgid "Clear selection" +msgstr "" + +msgid "Breadcrumbs" +msgstr "" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "" + +msgid "Add" +msgstr "" + +msgid "View" +msgstr "" + +msgid "You don’t have permission to view or edit anything." +msgstr "" + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" + +msgid "Enter a username and password." +msgstr "" + +msgid "Change password" +msgstr "" + +msgid "Set password" +msgstr "" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "" + +msgid "Disable password-based authentication" +msgstr "" + +msgid "Enable password-based authentication" +msgstr "" + +msgid "Skip to main content" +msgstr "" + +msgid "Welcome," +msgstr "" + +msgid "View site" +msgstr "" + +msgid "Documentation" +msgstr "" + +msgid "Log out" +msgstr "" + +#, python-format +msgid "Add %(name)s" +msgstr "" + +msgid "History" +msgstr "" + +msgid "View on site" +msgstr "" + +msgid "Filter" +msgstr "" + +msgid "Hide counts" +msgstr "" + +msgid "Show counts" +msgstr "" + +msgid "Clear all filters" +msgstr "" + +msgid "Remove from sorting" +msgstr "" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "" + +msgid "Toggle sorting" +msgstr "" + +msgid "Toggle theme (current theme: auto)" +msgstr "" + +msgid "Toggle theme (current theme: light)" +msgstr "" + +msgid "Toggle theme (current theme: dark)" +msgstr "" + +msgid "Delete" +msgstr "" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" + +msgid "Objects" +msgstr "" + +msgid "Yes, I’m sure" +msgstr "" + +msgid "No, take me back" +msgstr "" + +msgid "Delete multiple objects" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" + +msgid "Delete?" +msgstr "" + +#, python-format +msgid " By %(filter_title)s " +msgstr "" + +msgid "Summary" +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "My actions" +msgstr "" + +msgid "None available" +msgstr "" + +msgid "Added:" +msgstr "" + +msgid "Changed:" +msgstr "" + +msgid "Deleted:" +msgstr "" + +msgid "Unknown content" +msgstr "" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" + +msgid "Forgotten your password or username?" +msgstr "" + +msgid "Toggle navigation" +msgstr "" + +msgid "Sidebar" +msgstr "" + +msgid "Start typing to filter…" +msgstr "" + +msgid "Filter navigation items" +msgstr "" + +msgid "Date/time" +msgstr "" + +msgid "User" +msgstr "" + +msgid "Action" +msgstr "" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "" +msgstr[1] "" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" + +msgid "Show all" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Popup closing…" +msgstr "" + +msgid "Search" +msgstr "" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "" +msgstr[1] "" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "" + +msgid "Save as new" +msgstr "" + +msgid "Save and add another" +msgstr "" + +msgid "Save and continue editing" +msgstr "" + +msgid "Save and view" +msgstr "" + +msgid "Close" +msgstr "" + +#, python-format +msgid "Change selected %(model)s" +msgstr "" + +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "" + +#, python-format +msgid "View selected %(model)s" +msgstr "" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "" + +msgid "Log in again" +msgstr "" + +msgid "Password change" +msgstr "" + +msgid "Your password was changed." +msgstr "" + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" + +msgid "Change my password" +msgstr "" + +msgid "Password reset" +msgstr "" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "" + +msgid "Password reset confirmation" +msgstr "" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" + +msgid "New password:" +msgstr "" + +msgid "Confirm password:" +msgstr "" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" + +msgid "Please go to the following page and choose a new password:" +msgstr "" + +msgid "Your username, in case you’ve forgotten:" +msgstr "" + +msgid "Thanks for using our site!" +msgstr "" + +#, python-format +msgid "The %(site_name)s team" +msgstr "" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" + +msgid "Email address:" +msgstr "" + +msgid "Reset my password" +msgstr "" + +msgid "Select all objects on this page for an action" +msgstr "" + +msgid "All dates" +msgstr "" + +#, python-format +msgid "Select %s" +msgstr "" + +#, python-format +msgid "Select %s to change" +msgstr "" + +#, python-format +msgid "Select %s to view" +msgstr "" + +msgid "Date:" +msgstr "" + +msgid "Time:" +msgstr "" + +msgid "Lookup" +msgstr "" + +msgid "Currently:" +msgstr "" + +msgid "Change:" +msgstr "" diff --git a/external_sources/django/django/contrib/admin/locale/tr/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/tr/LC_MESSAGES/django.po new file mode 100644 index 0000000..be27db2 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/tr/LC_MESSAGES/django.po @@ -0,0 +1,794 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# BouRock, 2015-2024 +# BouRock, 2014-2015 +# Caner Başaran , 2013 +# Cihad GÜNDOĞDU , 2012 +# Cihad GÜNDOĞDU , 2014 +# Cihan Okyay , 2014 +# Jannis Leidel , 2011 +# Mesut Can Gürle , 2013 +# Murat Sahin , 2011 +# Yigit Guler , 2020 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 07:05+0000\n" +"Last-Translator: BouRock, 2015-2024\n" +"Language-Team: Turkish (http://app.transifex.com/django/django/language/" +"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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Seçili %(verbose_name_plural)s nesnelerini sil" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d adet %(items)s başarılı olarak silindi." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "%(name)s silinemiyor" + +msgid "Are you sure?" +msgstr "Emin misiniz?" + +msgid "Administration" +msgstr "Yönetim" + +msgid "All" +msgstr "Tümü" + +msgid "Yes" +msgstr "Evet" + +msgid "No" +msgstr "Hayır" + +msgid "Unknown" +msgstr "Bilinmiyor" + +msgid "Any date" +msgstr "Herhangi bir tarih" + +msgid "Today" +msgstr "Bugün" + +msgid "Past 7 days" +msgstr "Son 7 gün" + +msgid "This month" +msgstr "Bu ay" + +msgid "This year" +msgstr "Bu yıl" + +msgid "No date" +msgstr "Tarih yok" + +msgid "Has date" +msgstr "Tarih var" + +msgid "Empty" +msgstr "Boş" + +msgid "Not empty" +msgstr "Boş değil" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Lütfen görevli hesabı için %(username)s ve parolanızı doğru girin. İki " +"alanın da büyük küçük harfe duyarlı olabildiğini unutmayın." + +msgid "Action:" +msgstr "Eylem:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Başka bir %(verbose_name)s ekle" + +msgid "Remove" +msgstr "Kaldır" + +msgid "Addition" +msgstr "Ekleme" + +msgid "Change" +msgstr "Değiştir" + +msgid "Deletion" +msgstr "Silme" + +msgid "action time" +msgstr "eylem zamanı" + +msgid "user" +msgstr "kullanıcı" + +msgid "content type" +msgstr "içerik türü" + +msgid "object id" +msgstr "nesne kimliği" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "nesne kodu" + +msgid "action flag" +msgstr "eylem işareti" + +msgid "change message" +msgstr "iletiyi değiştir" + +msgid "log entry" +msgstr "günlük girdisi" + +msgid "log entries" +msgstr "günlük girdisi" + +#, python-format +msgid "Added “%(object)s”." +msgstr "“%(object)s” eklendi." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "“%(object)s” değiştirildi — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "“%(object)s” silindi." + +msgid "LogEntry Object" +msgstr "LogEntry Nesnesi" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "{name} “{object}” eklendi." + +msgid "Added." +msgstr "Eklendi." + +msgid "and" +msgstr "ve" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "{name} “{object}” için {fields} değiştirildi." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "{fields} değiştirildi." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "{name} “{object}” silindi." + +msgid "No fields changed." +msgstr "Değiştirilen alanlar yok." + +msgid "None" +msgstr "Hiçbiri" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Birden fazla seçmek için “Ctrl” veya Mac’teki “Command” tuşuna basılı tutun." + +msgid "Select this object for an action - {}" +msgstr "Bir eylem için bu nesneyi seç - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "{name} “{obj}” başarılı olarak eklendi." + +msgid "You may edit it again below." +msgstr "Aşağıdan bunu tekrar düzenleyebilirsiniz." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"{name} “{obj}” başarılı olarak eklendi. Aşağıda başka bir {name} " +"ekleyebilirsiniz." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"{name} “{obj}” başarılı olarak değiştirildi. Aşağıda tekrar " +"düzenleyebilirsiniz." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"{name} “{obj}” başarılı olarak değiştirildi. Aşağıda başka bir {name} " +"ekleyebilirsiniz." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "{name} “{obj}” başarılı olarak değiştirildi." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Bunlar üzerinde eylemlerin uygulanması için öğeler seçilmek zorundadır. Hiç " +"öğe değiştirilmedi." + +msgid "No action selected." +msgstr "Seçilen eylem yok." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s “%(obj)s” başarılı olarak silindi." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "“%(key)s” kimliği olan %(name)s mevcut değil. Belki silinmiş midir?" + +#, python-format +msgid "Add %s" +msgstr "%s ekle" + +#, python-format +msgid "Change %s" +msgstr "%s değiştir" + +#, python-format +msgid "View %s" +msgstr "%s göster" + +msgid "Database error" +msgstr "Veritabanı hatası" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s adet %(name)s başarılı olarak değiştirildi." +msgstr[1] "%(count)s adet %(name)s başarılı olarak değiştirildi." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s nesne seçildi" +msgstr[1] "Tüm %(total_count)s nesne seçildi" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 / %(cnt)s nesne seçildi" + +#, python-format +msgid "Change history: %s" +msgstr "Değişiklik geçmişi: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"%(class_name)s %(instance)s silinmesi aşağıda korunan ilgili nesnelerin de " +"silinmesini gerektirecektir: %(related_objects)s" + +msgid "Django site admin" +msgstr "Django site yöneticisi" + +msgid "Django administration" +msgstr "Django yönetimi" + +msgid "Site administration" +msgstr "Site yönetimi" + +msgid "Log in" +msgstr "Oturum aç" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s yönetimi" + +msgid "Page not found" +msgstr "Sayfa bulunamadı" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Üzgünüz, istediğiniz sayfa bulunamadı." + +msgid "Home" +msgstr "Giriş" + +msgid "Server error" +msgstr "Sunucu hatası" + +msgid "Server error (500)" +msgstr "Sunucu hatası (500)" + +msgid "Server Error (500)" +msgstr "Sunucu Hatası (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Bir hata oluştu. Site yöneticilerine e-posta yoluyla bildirildi ve kısa süre " +"içinde düzeltilecektir. Sabrınız için teşekkür ederiz." + +msgid "Run the selected action" +msgstr "Seçilen eylemi çalıştır" + +msgid "Go" +msgstr "Git" + +msgid "Click here to select the objects across all pages" +msgstr "Tüm sayfalardaki nesneleri seçmek için buraya tıklayın" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Tüm %(total_count)s %(module_name)s nesnelerini seç" + +msgid "Clear selection" +msgstr "Seçimi temizle" + +msgid "Breadcrumbs" +msgstr "İçerik haritaları" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "%(name)s uygulamasındaki modeller" + +msgid "Add" +msgstr "Ekle" + +msgid "View" +msgstr "Göster" + +msgid "You don’t have permission to view or edit anything." +msgstr "Hiçbir şeyi düzenlemek ve göstermek için izne sahip değilsiniz." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Önce, bir kullanıcı adı ve parola girin. Ondan sonra, daha fazla kullanıcı " +"seçeneğini düzenleyebileceksiniz." + +msgid "Enter a username and password." +msgstr "Kullanıcı adı ve parola girin." + +msgid "Change password" +msgstr "Parolayı değiştir" + +msgid "Set password" +msgstr "Parola ayarla" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Lütfen aşağıdaki hatayı düzeltin." +msgstr[1] "Lütfen aşağıdaki hataları düzeltin." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "%(username)s kullanıcısı için yeni bir parola girin." + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "" +"Bu eylem, bu kullanıcı için parola tabanlı kimlik doğrulaması " +"etkinleştirecektir." + +msgid "Disable password-based authentication" +msgstr "Parola tabanlı kimlik doğrulamasını etkisizleştir" + +msgid "Enable password-based authentication" +msgstr "Parola tabanlı kimlik doğrulamasını etkinleştir" + +msgid "Skip to main content" +msgstr "Ana içeriğe atla" + +msgid "Welcome," +msgstr "Hoş Geldiniz," + +msgid "View site" +msgstr "Siteyi göster" + +msgid "Documentation" +msgstr "Belgeler" + +msgid "Log out" +msgstr "Oturumu kapat" + +#, python-format +msgid "Add %(name)s" +msgstr "%(name)s ekle" + +msgid "History" +msgstr "Geçmiş" + +msgid "View on site" +msgstr "Sitede görüntüle" + +msgid "Filter" +msgstr "Süz" + +msgid "Hide counts" +msgstr "Sayıları gizle" + +msgid "Show counts" +msgstr "Sayıları göster" + +msgid "Clear all filters" +msgstr "Tüm süzgeçleri temizle" + +msgid "Remove from sorting" +msgstr "Sıralamadan kaldır" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Sıralama önceliği: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Sıralamayı değiştir" + +msgid "Toggle theme (current theme: auto)" +msgstr "Temayı değiştir (şu anki tema: otomatik)" + +msgid "Toggle theme (current theme: light)" +msgstr "Temayı değiştir (şu anki tema: açık)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Temayı değiştir (şu anki tema: koyu)" + +msgid "Delete" +msgstr "Sil" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"%(object_name)s '%(escaped_object)s' nesnesinin silinmesi, ilgili nesnelerin " +"silinmesi ile sonuçlanacak, ancak hesabınız aşağıdaki nesnelerin türünü " +"silmek için izine sahip değil." + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"%(object_name)s '%(escaped_object)s' nesnesinin silinmesi, aşağıda korunan " +"ilgili nesnelerin silinmesini gerektirecek:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"%(object_name)s \"%(escaped_object)s\" nesnesini silmek istediğinize emin " +"misiniz? Aşağıdaki ilgili öğelerin tümü silinecektir:" + +msgid "Objects" +msgstr "Nesneler" + +msgid "Yes, I’m sure" +msgstr "Evet, eminim" + +msgid "No, take me back" +msgstr "Hayır, beni geri götür" + +msgid "Delete multiple objects" +msgstr "Birden fazla nesneyi sil" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Seçilen %(objects_name)s nesnelerinin silinmesi, ilgili nesnelerin silinmesi " +"ile sonuçlanacak, ancak hesabınız aşağıdaki nesnelerin türünü silmek için " +"izine sahip değil." + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Seçilen %(objects_name)s nesnelerinin silinmesi, aşağıda korunan ilgili " +"nesnelerin silinmesini gerektirecek:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Seçilen %(objects_name)s nesnelerini silmek istediğinize emin misiniz? " +"Aşağıdaki nesnelerin tümü ve onların ilgili öğeleri silinecektir:" + +msgid "Delete?" +msgstr "Silinsin mi?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " %(filter_title)s süzgecine göre" + +msgid "Summary" +msgstr "Özet" + +msgid "Recent actions" +msgstr "Son eylemler" + +msgid "My actions" +msgstr "Eylemlerim" + +msgid "None available" +msgstr "Mevcut değil" + +msgid "Added:" +msgstr "Eklendi:" + +msgid "Changed:" +msgstr "Değiştirildi:" + +msgid "Deleted:" +msgstr "Silindi:" + +msgid "Unknown content" +msgstr "Bilinmeyen içerik" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Veritabanı kurulumunuz ile ilgili birşeyler yanlış. Uygun veritabanı " +"tablolarının oluşturulduğundan ve veritabanının uygun kullanıcı tarafından " +"okunabilir olduğundan emin olun." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"%(username)s olarak kimlik doğrulamanız yapıldı, ancak bu sayfaya erişmek " +"için yetkili değilsiniz. Farklı bir hesapla oturum açmak ister misiniz?" + +msgid "Forgotten your password or username?" +msgstr "Kullanıcı adınızı veya parolanızı mı unuttunuz?" + +msgid "Toggle navigation" +msgstr "Gezinmeyi aç/kapat" + +msgid "Sidebar" +msgstr "Kenar çubuğu" + +msgid "Start typing to filter…" +msgstr "Süzmek için yazmaya başlayın..." + +msgid "Filter navigation items" +msgstr "Gezinti öğelerini süz" + +msgid "Date/time" +msgstr "Tarih/saat" + +msgid "User" +msgstr "Kullanıcı" + +msgid "Action" +msgstr "Eylem" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "giriş" +msgstr[1] "giriş" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Bu nesne değişme geçmişine sahip değil. Muhtemelen bu yönetici sitesi " +"aracılığıyla eklenmedi." + +msgid "Show all" +msgstr "Tümünü göster" + +msgid "Save" +msgstr "Kaydet" + +msgid "Popup closing…" +msgstr "Açılır pencere kapanıyor…" + +msgid "Search" +msgstr "Ara" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s sonuç" +msgstr[1] "%(counter)s sonuç" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "toplam %(full_result_count)s" + +msgid "Save as new" +msgstr "Yeni olarak kaydet" + +msgid "Save and add another" +msgstr "Kaydet ve başka birini ekle" + +msgid "Save and continue editing" +msgstr "Kaydet ve düzenlemeye devam et" + +msgid "Save and view" +msgstr "Kaydet ve göster" + +msgid "Close" +msgstr "Kapat" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Seçilen %(model)s değiştir" + +#, python-format +msgid "Add another %(model)s" +msgstr "Başka bir %(model)s ekle" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Seçilen %(model)s sil" + +#, python-format +msgid "View selected %(model)s" +msgstr "Seçilen %(model)s görüntüle" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Bugün web sitesine ayırdığınız kaliteli zaman için teşekkür ederiz." + +msgid "Log in again" +msgstr "Tekrar oturum aç" + +msgid "Password change" +msgstr "Parola değiştime" + +msgid "Your password was changed." +msgstr "Parolanız değiştirildi." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Güvenliğiniz için, lütfen eski parolanızı girin, ve ondan sonra yeni " +"parolanızı iki kere girin böylece doğru olarak yazdığınızı doğrulayabilelim." + +msgid "Change my password" +msgstr "Parolamı değiştir" + +msgid "Password reset" +msgstr "Parolayı sıfırla" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Parolanız ayarlandı. Şimdi devam edebilir ve oturum açabilirsiniz." + +msgid "Password reset confirmation" +msgstr "Parola sıfırlama onayı" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Lütfen yeni parolanızı iki kere girin böylece böylece doğru olarak " +"yazdığınızı doğrulayabilelim." + +msgid "New password:" +msgstr "Yeni parola:" + +msgid "Confirm password:" +msgstr "Parolayı onayla:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Parola sıfırlama bağlantısı geçersiz olmuş, çünkü zaten kullanılmış. Lütfen " +"yeni bir parola sıfırlama isteyin." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Eğer girdiğiniz e-posta ile bir hesabınız varsa, parolanızın ayarlanması " +"için size talimatları e-posta ile gönderdik. En kısa sürede almalısınız." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Eğer bir e-posta almadıysanız, lütfen kayıt olurken girdiğiniz adresi " +"kullandığınızdan emin olun ve istenmeyen mesajlar klasörünü kontrol edin." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Bu e-postayı alıyorsunuz çünkü %(site_name)s sitesindeki kullanıcı hesabınız " +"için bir parola sıfırlama istediniz." + +msgid "Please go to the following page and choose a new password:" +msgstr "Lütfen şurada belirtilen sayfaya gidin ve yeni bir parola seçin:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Unutma ihtimalinize karşı, kullanıcı adınız:" + +msgid "Thanks for using our site!" +msgstr "Sitemizi kullandığınız için teşekkürler!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s ekibi" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Parolanızı mı unuttunuz? Aşağıya e-posta adresinizi girin ve yeni bir tane " +"ayarlamak için talimatları e-posta ile gönderelim." + +msgid "Email address:" +msgstr "E-posta adresi:" + +msgid "Reset my password" +msgstr "Parolamı sıfırla" + +msgid "Select all objects on this page for an action" +msgstr "Bir eylem için bu sayfadaki tüm nesneleri seç" + +msgid "All dates" +msgstr "Tüm tarihler" + +#, python-format +msgid "Select %s" +msgstr "%s seç" + +#, python-format +msgid "Select %s to change" +msgstr "Değiştirmek için %s seçin" + +#, python-format +msgid "Select %s to view" +msgstr "Göstermek için %s seçin" + +msgid "Date:" +msgstr "Tarih:" + +msgid "Time:" +msgstr "Saat:" + +msgid "Lookup" +msgstr "Arama" + +msgid "Currently:" +msgstr "Şu anda:" + +msgid "Change:" +msgstr "Değiştir:" diff --git a/external_sources/django/django/contrib/admin/locale/tr/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/tr/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..f45b7aa --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/tr/LC_MESSAGES/djangojs.po @@ -0,0 +1,328 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# BouRock, 2015-2016,2019-2023 +# BouRock, 2014 +# Jannis Leidel , 2011 +# Metin Amiroff , 2011 +# Murat Çorlu , 2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 15:04-0300\n" +"PO-Revision-Date: 2023-12-04 07:59+0000\n" +"Last-Translator: BouRock, 2015-2016,2019-2023\n" +"Language-Team: Turkish (http://app.transifex.com/django/django/language/" +"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" + +#, javascript-format +msgid "Available %s" +msgstr "Mevcut %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Bu mevcut %s listesidir. Aşağıdaki kutudan bazılarını işaretleyerek ve ondan " +"sonra iki kutu arasındaki \"Seçin\" okuna tıklayarak seçebilirsiniz." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Mevcut %s listesini süzmek için bu kutu içine yazın." + +msgid "Filter" +msgstr "Süzgeç" + +msgid "Choose all" +msgstr "Tümünü seçin" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Bir kerede tüm %s seçilmesi için tıklayın." + +msgid "Choose" +msgstr "Seçin" + +msgid "Remove" +msgstr "Kaldır" + +#, javascript-format +msgid "Chosen %s" +msgstr "Seçilen %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Bu seçilen %s listesidir. Aşağıdaki kutudan bazılarını işaretleyerek ve " +"ondan sonra iki kutu arasındaki \"Kaldır\" okuna tıklayarak " +"kaldırabilirsiniz." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "Seçilen %s listesini süzmek için bu kutu içine yazın." + +msgid "Remove all" +msgstr "Tümünü kaldır" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Bir kerede tüm seçilen %s kaldırılması için tıklayın." + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%s seçilen seçenek görünür değil" +msgstr[1] "%s seçilen seçenek görünür değil" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s / %(cnt)s seçildi" +msgstr[1] "%(sel)s / %(cnt)s seçildi" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Bireysel düzenlenebilir alanlarda kaydedilmemiş değişiklikleriniz var. Eğer " +"bir eylem çalıştırırsanız, kaydedilmemiş değişiklikleriniz kaybolacaktır." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Bir eylem seçtiniz, ancak değişikliklerinizi tek tek alanlara kaydetmediniz. " +"Kaydetmek için lütfen TAMAM düğmesine tıklayın. Eylemi yeniden çalıştırmanız " +"gerekecek." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Bir eylem seçtiniz, ancak tek tek alanlarda herhangi bir değişiklik " +"yapmadınız. Muhtemelen Kaydet düğmesi yerine Git düğmesini arıyorsunuz." + +msgid "Now" +msgstr "Şimdi" + +msgid "Midnight" +msgstr "Geceyarısı" + +msgid "6 a.m." +msgstr "Sabah 6" + +msgid "Noon" +msgstr "Öğle" + +msgid "6 p.m." +msgstr "6 ö.s." + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Not: Sunucu saatinin %s saat ilerisindesiniz." +msgstr[1] "Not: Sunucu saatinin %s saat ilerisindesiniz." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Not: Sunucu saatinin %s saat gerisindesiniz." +msgstr[1] "Not: Sunucu saatinin %s saat gerisindesiniz." + +msgid "Choose a Time" +msgstr "Bir Saat Seçin" + +msgid "Choose a time" +msgstr "Bir saat seçin" + +msgid "Cancel" +msgstr "İptal" + +msgid "Today" +msgstr "Bugün" + +msgid "Choose a Date" +msgstr "Bir Tarih Seçin" + +msgid "Yesterday" +msgstr "Dün" + +msgid "Tomorrow" +msgstr "Yarın" + +msgid "January" +msgstr "Ocak" + +msgid "February" +msgstr "Şubat" + +msgid "March" +msgstr "Mart" + +msgid "April" +msgstr "Nisan" + +msgid "May" +msgstr "Mayıs" + +msgid "June" +msgstr "Haziran" + +msgid "July" +msgstr "Temmuz" + +msgid "August" +msgstr "Ağustos" + +msgid "September" +msgstr "Eylül" + +msgid "October" +msgstr "Ekim" + +msgid "November" +msgstr "Kasım" + +msgid "December" +msgstr "Aralık" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Oca" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Şub" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Mar" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Nis" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "May" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Haz" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Tem" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Ağu" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Eyl" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Eki" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Kas" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Ara" + +msgid "Sunday" +msgstr "Pazar" + +msgid "Monday" +msgstr "Pazartesi" + +msgid "Tuesday" +msgstr "Salı" + +msgid "Wednesday" +msgstr "Çarşamba" + +msgid "Thursday" +msgstr "Perşembe" + +msgid "Friday" +msgstr "Cuma" + +msgid "Saturday" +msgstr "Cumartesi" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "Paz" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "Pzt" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "Sal" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "Çrş" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "Per" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "Cum" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "Cmt" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "P" + +msgctxt "one letter Monday" +msgid "M" +msgstr "Pt" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "S" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "Ç" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "Pe" + +msgctxt "one letter Friday" +msgid "F" +msgstr "C" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "Ct" + +msgid "Show" +msgstr "Göster" + +msgid "Hide" +msgstr "Gizle" diff --git a/external_sources/django/django/contrib/admin/locale/tt/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/tt/LC_MESSAGES/django.po new file mode 100644 index 0000000..9d0260b --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/tt/LC_MESSAGES/django.po @@ -0,0 +1,655 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Azat Khasanshin , 2011 +# v_ildar , 2014 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-19 16:49+0100\n" +"PO-Revision-Date: 2017-09-19 16:40+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Tatar (http://www.transifex.com/django/django/language/tt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tt\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d %(items)s уңышлы рәвештә бетерелгән." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "%(name)s бетереп булмады" + +msgid "Are you sure?" +msgstr "Сез инанып карар кылдыгызмы?" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Сайланган %(verbose_name_plural)s бетерергә" + +msgid "Administration" +msgstr "" + +msgid "All" +msgstr "Барысы" + +msgid "Yes" +msgstr "Әйе" + +msgid "No" +msgstr "Юк" + +msgid "Unknown" +msgstr "Билгесез" + +msgid "Any date" +msgstr "Теләсә нинди көн һәм вакыт" + +msgid "Today" +msgstr "Бүген" + +msgid "Past 7 days" +msgstr "Соңгы 7 көн" + +msgid "This month" +msgstr "Бу ай" + +msgid "This year" +msgstr "Бу ел" + +msgid "No date" +msgstr "" + +msgid "Has date" +msgstr "" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" + +msgid "Action:" +msgstr "Гамәл:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Тагын бер %(verbose_name)s өстәргә" + +msgid "Remove" +msgstr "Бетерергә" + +msgid "action time" +msgstr "гамәл вакыты" + +msgid "user" +msgstr "" + +msgid "content type" +msgstr "" + +msgid "object id" +msgstr "объект идентификаторы" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/3/library/functions.html#repr) +msgid "object repr" +msgstr "объект фаразы" + +msgid "action flag" +msgstr "гамәл тибы" + +msgid "change message" +msgstr "үзгәрү белдерүе" + +msgid "log entry" +msgstr "журнал язмасы" + +msgid "log entries" +msgstr "журнал язмалары" + +#, python-format +msgid "Added \"%(object)s\"." +msgstr "" + +#, python-format +msgid "Changed \"%(object)s\" - %(changes)s" +msgstr "" + +#, python-format +msgid "Deleted \"%(object)s.\"" +msgstr "" + +msgid "LogEntry Object" +msgstr "" + +#, python-brace-format +msgid "Added {name} \"{object}\"." +msgstr "" + +msgid "Added." +msgstr "" + +msgid "and" +msgstr "һәм" + +#, python-brace-format +msgid "Changed {fields} for {name} \"{object}\"." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "" + +#, python-brace-format +msgid "Deleted {name} \"{object}\"." +msgstr "" + +msgid "No fields changed." +msgstr "Үзгәртелгән кырлар юк." + +msgid "None" +msgstr "Юк" + +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was added successfully." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Элементар өстеннән гамәл кылу өчен алар сайланган булырга тиеш. Элементлар " +"үзгәртелмәгән." + +msgid "No action selected." +msgstr "Гамәл сайланмаган." + +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "%(name)s \"%(obj)s\" уңышлы рәвештә бетерелгән." + +#, python-format +msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "%s өстәргә" + +#, python-format +msgid "Change %s" +msgstr "%s үзгәртергә" + +msgid "Database error" +msgstr "Бирелмәләр базасы хатасы" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s уңышлы рәвештә үзгәртелгән." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s сайланган" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "Барлык %(cnt)s объектан 0 сайланган" + +#, python-format +msgid "Change history: %s" +msgstr "Үзгәртү тарихы: %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" + +msgid "Django site admin" +msgstr "Django сайты идарәсе" + +msgid "Django administration" +msgstr "Django идарәсе" + +msgid "Site administration" +msgstr "Сайт идарәсе" + +msgid "Log in" +msgstr "Керергә" + +#, python-format +msgid "%(app)s administration" +msgstr "" + +msgid "Page not found" +msgstr "Сәхифә табылмаган" + +msgid "We're sorry, but the requested page could not be found." +msgstr "Кызганычка каршы, соралган сәхифә табылмады." + +msgid "Home" +msgstr "Башбит" + +msgid "Server error" +msgstr "Сервер хатасы" + +msgid "Server error (500)" +msgstr "Сервер хатасы (500)" + +msgid "Server Error (500)" +msgstr "Сервер хатасы (500)" + +msgid "" +"There's been an error. It's been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +msgid "Run the selected action" +msgstr "Сайланган гамәлне башкарырга" + +msgid "Go" +msgstr "Башкарырга" + +msgid "Click here to select the objects across all pages" +msgstr "Барлык сәхифәләрдә булган объектларны сайлау өчен монда чирттерегез" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Бөтен %(total_count)s %(module_name)s сайларга" + +msgid "Clear selection" +msgstr "Сайланганлыкны алырга" + +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"Баштан логин һәм серсүзне кертегез. Аннан соң сез кулланучы турында күбрәк " +"мәгълүматне төзәтә алырсыз." + +msgid "Enter a username and password." +msgstr "Логин һәм серсүзне кертегез." + +msgid "Change password" +msgstr "Серсүзне үзгәртергә" + +msgid "Please correct the error below." +msgstr "Зинһар, биредәге хаталарны төзәтегез." + +msgid "Please correct the errors below." +msgstr "" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "%(username)s кулланучы өчен яңа серсүзне кертегез." + +msgid "Welcome," +msgstr "Рәхим итегез," + +msgid "View site" +msgstr "" + +msgid "Documentation" +msgstr "Документация" + +msgid "Log out" +msgstr "Чыгарга" + +#, python-format +msgid "Add %(name)s" +msgstr "%(name)s өстәргә" + +msgid "History" +msgstr "Тарих" + +msgid "View on site" +msgstr "Сайтта карарга" + +msgid "Filter" +msgstr "Филтер" + +msgid "Remove from sorting" +msgstr "" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "" + +msgid "Toggle sorting" +msgstr "" + +msgid "Delete" +msgstr "Бетерергә" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"%(object_name)s '%(escaped_object)s' бетереүе аның белән бәйләнгән " +"объектларның бетерелүенә китерә ала, әмма сезнең хисап язмагызның киләсе " +"объект тибларын бетерү өчен хокуклары җитми:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"%(object_name)s '%(escaped_object)s' бетерүе киләсе сакланган объектларның " +"бетерелүен таләп итә:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Сез инанып %(object_name)s \"%(escaped_object)s\" бетерергә телисезме? " +"Барлык киләсе бәйләнгән объектлар да бетерелер:" + +msgid "Objects" +msgstr "" + +msgid "Yes, I'm sure" +msgstr "Әйе, мин инандым" + +msgid "No, take me back" +msgstr "" + +msgid "Delete multiple objects" +msgstr "Берничә объектны бетерергә" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Сайланган %(objects_name)s бетерүе аның белән бәйләнгән объектларның " +"бетерелүенә китерә ала, әмма сезнең хисап язмагызның киләсе объект тибларын " +"бетерү өчен хокуклары җитми:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"%(objects_name)s бетерүе киләсе аның белән бәйләнгән сакланган объектларның " +"бетерелүен таләп итә:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Сез инанып %(objects_name)s бетерергә телисезме? Барлык киләсе объектлар һәм " +"алар белән бәйләнгән элементлар да бетерелер:" + +msgid "Change" +msgstr "Үзгәртергә" + +msgid "Delete?" +msgstr "Бетерергә?" + +#, python-format +msgid " By %(filter_title)s " +msgstr "%(filter_title)s буенча" + +msgid "Summary" +msgstr "" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "" + +msgid "Add" +msgstr "Өстәргә" + +msgid "You don't have permission to edit anything." +msgstr "Төзәтү өчен хокукларыгыз җитми." + +msgid "Recent actions" +msgstr "" + +msgid "My actions" +msgstr "" + +msgid "None available" +msgstr "Тарих юк" + +msgid "Unknown content" +msgstr "Билгесез тип" + +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Сезнең бирелмәләр базасы дөрес итем көйләнмәгән. Тиешле җәдвәлләр төзелгәнен " +"һәм тиешле кулланучының хокуклары җитәрлек булуын тикшерегез." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" + +msgid "Forgotten your password or username?" +msgstr "" + +msgid "Date/time" +msgstr "Көн һәм вакыт" + +msgid "User" +msgstr "Кулланучы" + +msgid "Action" +msgstr "Гамәл" + +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"Әлеге объектның үзгәртү тарихы юк. Бу идарә итү сайты буенча өстәлмәгән " +"булуы ихтимал." + +msgid "Show all" +msgstr "Бөтенесен күрсәтергә" + +msgid "Save" +msgstr "Сакларга" + +msgid "Popup closing..." +msgstr "" + +#, python-format +msgid "Change selected %(model)s" +msgstr "" + +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "" + +msgid "Search" +msgstr "Эзләргә" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s нәтиҗә" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "барлыгы %(full_result_count)s" + +msgid "Save as new" +msgstr "Яңа объект итеп сакларга" + +msgid "Save and add another" +msgstr "Сакларга һәм бүтән объектны өстәргә" + +msgid "Save and continue editing" +msgstr "Сакларга һәм төзәтүне дәвам итәргә" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Сайтыбызда үткәргән вакыт өчен рәхмәт." + +msgid "Log in again" +msgstr "Тагын керергә" + +msgid "Password change" +msgstr "Серсүзне үзгәртү" + +msgid "Your password was changed." +msgstr "Серсүзегез үзгәртелгән." + +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Хәвефсезлек сәбәпле, зинһар, үзегезнең иске серсүзне кертегез, аннан яңа " +"серсүзне ике тапкыр кертегез (дөрес язылышын тикшерү өчен)." + +msgid "Change my password" +msgstr "Серсүземне үзгәртергә" + +msgid "Password reset" +msgstr "Серсүзне торгызу" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Серсүзегез үзгәртелгән. Сез хәзер керә аласыз." + +msgid "Password reset confirmation" +msgstr "Серсүзне торгызу раслау" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "Зинһар, тикшерү өчен яңа серсүзегезне ике тапкыр кертегез." + +msgid "New password:" +msgstr "Яңа серсуз:" + +msgid "Confirm password:" +msgstr "Серсүзне раслагыз:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Серсүзне торгызу өчен сылтама хаталы. Бәлки аның белән инде кулланганнар. " +"Зинһар, серсүзне тагын бер тапкыр торгызып карагыз." + +msgid "" +"We've emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don't receive an email, please make sure you've entered the address " +"you registered with, and check your spam folder." +msgstr "" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" + +msgid "Please go to the following page and choose a new password:" +msgstr "Зинһар, бу сәхифәгә юнәлегез һәм яңа серсүзне кертегез:" + +msgid "Your username, in case you've forgotten:" +msgstr "Сезнең кулланучы исемегез (оныткан булсагыз):" + +msgid "Thanks for using our site!" +msgstr "Безнең сайтны куллану өчен рәхмәт!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s сайтының төркеме" + +msgid "" +"Forgotten your password? Enter your email address below, and we'll email " +"instructions for setting a new one." +msgstr "" + +msgid "Email address:" +msgstr "Эл. почта адресы:" + +msgid "Reset my password" +msgstr "Серсүземне торгызырга" + +msgid "All dates" +msgstr "Бөтен көннәр" + +#, python-format +msgid "Select %s" +msgstr "%s сайлагыз" + +#, python-format +msgid "Select %s to change" +msgstr "Үзгәртү өчен %s сайлагыз" + +msgid "Date:" +msgstr "Көн:" + +msgid "Time:" +msgstr "Вакыт:" + +msgid "Lookup" +msgstr "Эзләү" + +msgid "Currently:" +msgstr "" + +msgid "Change:" +msgstr "" diff --git a/external_sources/django/django/contrib/admin/locale/tt/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/tt/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..36e7c72 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/tt/LC_MESSAGES/djangojs.po @@ -0,0 +1,208 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Azat Khasanshin , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"PO-Revision-Date: 2017-09-19 16:41+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Tatar (http://www.transifex.com/django/django/language/tt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tt\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, javascript-format +msgid "Available %s" +msgstr "Рөхсәт ителгән %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" + +msgid "Filter" +msgstr "Фильтр" + +msgid "Choose all" +msgstr "Барысын сайларга" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "" + +msgid "Choose" +msgstr "" + +msgid "Remove" +msgstr "Бетерергә" + +#, javascript-format +msgid "Chosen %s" +msgstr "Сайланган %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" + +msgid "Remove all" +msgstr "" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(cnt)s арасыннан %(sel)s сайланган" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Кайбер кырларда сакланмаган төзәтүләр кала. Сез гамәлне башкарсагыз, сезнең " +"сакланмаган үзгәртүләр югалачаклар." + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"Сез гамәлне сайладыгыз, әмма кайбер кырлардагы төзәтүләрне сакламадыгыз. " +"Аларны саклау өчен OK төймәсенә басыгыз. Аннан соң гамәлне тагын бер тапкыр " +"башкарырга туры килер." + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Сез гамәлне сайладыгыз һәм төзәтүләрне башкармадыгыз. Бәлки сез \"Сакларга\" " +"төймәсе урынына \"Башкарырга\" төймәсен кулланырга теләдегез." + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" + +msgid "Now" +msgstr "Хәзер" + +msgid "Choose a Time" +msgstr "" + +msgid "Choose a time" +msgstr "Вакыт сайлагыз" + +msgid "Midnight" +msgstr "Төн уртасы" + +msgid "6 a.m." +msgstr "Иртәнге 6" + +msgid "Noon" +msgstr "Төш" + +msgid "6 p.m." +msgstr "" + +msgid "Cancel" +msgstr "Юкка чыгарырга" + +msgid "Today" +msgstr "Бүген" + +msgid "Choose a Date" +msgstr "" + +msgid "Yesterday" +msgstr "Кичә" + +msgid "Tomorrow" +msgstr "Иртәгә" + +msgid "January" +msgstr "" + +msgid "February" +msgstr "" + +msgid "March" +msgstr "" + +msgid "April" +msgstr "" + +msgid "May" +msgstr "" + +msgid "June" +msgstr "" + +msgid "July" +msgstr "" + +msgid "August" +msgstr "" + +msgid "September" +msgstr "" + +msgid "October" +msgstr "" + +msgid "November" +msgstr "" + +msgid "December" +msgstr "" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "" + +msgctxt "one letter Monday" +msgid "M" +msgstr "" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "" + +msgctxt "one letter Friday" +msgid "F" +msgstr "" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "" + +msgid "Show" +msgstr "Күрсәтергә" + +msgid "Hide" +msgstr "Яшерергә" diff --git a/external_sources/django/django/contrib/admin/locale/udm/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/udm/LC_MESSAGES/django.po new file mode 100644 index 0000000..df03f5f --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/udm/LC_MESSAGES/django.po @@ -0,0 +1,606 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-01-17 11:07+0100\n" +"PO-Revision-Date: 2015-01-18 08:31+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Udmurt (http://www.transifex.com/projects/p/django/language/" +"udm/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: udm\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "" + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "" + +msgid "Are you sure?" +msgstr "" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "" + +msgid "Administration" +msgstr "" + +msgid "All" +msgstr "" + +msgid "Yes" +msgstr "Бен" + +msgid "No" +msgstr "" + +msgid "Unknown" +msgstr "Тодымтэ" + +msgid "Any date" +msgstr "" + +msgid "Today" +msgstr "" + +msgid "Past 7 days" +msgstr "" + +msgid "This month" +msgstr "" + +msgid "This year" +msgstr "" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" + +msgid "Action:" +msgstr "" + +msgid "action time" +msgstr "" + +msgid "object id" +msgstr "" + +msgid "object repr" +msgstr "" + +msgid "action flag" +msgstr "" + +msgid "change message" +msgstr "" + +msgid "log entry" +msgstr "" + +msgid "log entries" +msgstr "" + +#, python-format +msgid "Added \"%(object)s\"." +msgstr "" + +#, python-format +msgid "Changed \"%(object)s\" - %(changes)s" +msgstr "" + +#, python-format +msgid "Deleted \"%(object)s.\"" +msgstr "" + +msgid "LogEntry Object" +msgstr "" + +msgid "None" +msgstr "" + +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" + +#, python-format +msgid "Changed %s." +msgstr "" + +msgid "and" +msgstr "" + +#, python-format +msgid "Added %(name)s \"%(object)s\"." +msgstr "" + +#, python-format +msgid "Changed %(list)s for %(name)s \"%(object)s\"." +msgstr "" + +#, python-format +msgid "Deleted %(name)s \"%(object)s\"." +msgstr "" + +msgid "No fields changed." +msgstr "" + +#, python-format +msgid "" +"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "" + +#, python-format +msgid "" +"The %(name)s \"%(obj)s\" was added successfully. You may add another " +"%(name)s below." +msgstr "" + +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "" + +#, python-format +msgid "" +"The %(name)s \"%(obj)s\" was changed successfully. You may edit it again " +"below." +msgstr "" + +#, python-format +msgid "" +"The %(name)s \"%(obj)s\" was changed successfully. You may add another " +"%(name)s below." +msgstr "" + +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" + +msgid "No action selected." +msgstr "" + +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "" + +#, python-format +msgid "%(name)s object with primary key %(key)r does not exist." +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "" + +#, python-format +msgid "Change %s" +msgstr "" + +msgid "Database error" +msgstr "" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "" + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "" + +#, python-format +msgid "Change history: %s" +msgstr "" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" + +msgid "Django site admin" +msgstr "" + +msgid "Django administration" +msgstr "" + +msgid "Site administration" +msgstr "" + +msgid "Log in" +msgstr "" + +#, python-format +msgid "%(app)s administration" +msgstr "" + +msgid "Page not found" +msgstr "" + +msgid "We're sorry, but the requested page could not be found." +msgstr "" + +msgid "Home" +msgstr "" + +msgid "Server error" +msgstr "" + +msgid "Server error (500)" +msgstr "" + +msgid "Server Error (500)" +msgstr "" + +msgid "" +"There's been an error. It's been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +msgid "Run the selected action" +msgstr "" + +msgid "Go" +msgstr "" + +msgid "Click here to select the objects across all pages" +msgstr "" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "" + +msgid "Clear selection" +msgstr "" + +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" + +msgid "Enter a username and password." +msgstr "" + +msgid "Change password" +msgstr "" + +msgid "Please correct the error below." +msgstr "" + +msgid "Please correct the errors below." +msgstr "" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" + +msgid "Welcome," +msgstr "" + +msgid "View site" +msgstr "" + +msgid "Documentation" +msgstr "" + +msgid "Log out" +msgstr "" + +msgid "Add" +msgstr "" + +msgid "History" +msgstr "" + +msgid "View on site" +msgstr "" + +#, python-format +msgid "Add %(name)s" +msgstr "" + +msgid "Filter" +msgstr "" + +msgid "Remove from sorting" +msgstr "" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "" + +msgid "Toggle sorting" +msgstr "" + +msgid "Delete" +msgstr "Ӵушоно" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" + +msgid "Objects" +msgstr "" + +msgid "Yes, I'm sure" +msgstr "" + +msgid "No, take me back" +msgstr "" + +msgid "Delete multiple objects" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" + +msgid "Change" +msgstr "Тупатъяно" + +msgid "Remove" +msgstr "" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "" + +msgid "Delete?" +msgstr "" + +#, python-format +msgid " By %(filter_title)s " +msgstr "" + +msgid "Summary" +msgstr "" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "" + +msgid "You don't have permission to edit anything." +msgstr "" + +msgid "Recent Actions" +msgstr "" + +msgid "My Actions" +msgstr "" + +msgid "None available" +msgstr "" + +msgid "Unknown content" +msgstr "" + +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" + +msgid "Forgotten your password or username?" +msgstr "" + +msgid "Date/time" +msgstr "" + +msgid "User" +msgstr "" + +msgid "Action" +msgstr "" + +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" + +msgid "Show all" +msgstr "" + +msgid "Save" +msgstr "" + +#, python-format +msgid "Change selected %(model)s" +msgstr "" + +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "" + +msgid "Search" +msgstr "" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "" + +msgid "Save as new" +msgstr "" + +msgid "Save and add another" +msgstr "" + +msgid "Save and continue editing" +msgstr "" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "" + +msgid "Log in again" +msgstr "" + +msgid "Password change" +msgstr "" + +msgid "Your password was changed." +msgstr "" + +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" + +msgid "Change my password" +msgstr "" + +msgid "Password reset" +msgstr "" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "" + +msgid "Password reset confirmation" +msgstr "" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" + +msgid "New password:" +msgstr "" + +msgid "Confirm password:" +msgstr "" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" + +msgid "" +"We've emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don't receive an email, please make sure you've entered the address " +"you registered with, and check your spam folder." +msgstr "" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" + +msgid "Please go to the following page and choose a new password:" +msgstr "" + +msgid "Your username, in case you've forgotten:" +msgstr "" + +msgid "Thanks for using our site!" +msgstr "" + +#, python-format +msgid "The %(site_name)s team" +msgstr "" + +msgid "" +"Forgotten your password? Enter your email address below, and we'll email " +"instructions for setting a new one." +msgstr "" + +msgid "Email address:" +msgstr "" + +msgid "Reset my password" +msgstr "" + +msgid "All dates" +msgstr "" + +msgid "(None)" +msgstr "" + +#, python-format +msgid "Select %s" +msgstr "" + +#, python-format +msgid "Select %s to change" +msgstr "" + +msgid "Date:" +msgstr "" + +msgid "Time:" +msgstr "" + +msgid "Lookup" +msgstr "" + +msgid "Currently:" +msgstr "" + +msgid "Change:" +msgstr "" diff --git a/external_sources/django/django/contrib/admin/locale/udm/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/udm/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..e3826f0 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/udm/LC_MESSAGES/djangojs.po @@ -0,0 +1,142 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-01-17 11:07+0100\n" +"PO-Revision-Date: 2014-10-05 20:13+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Udmurt (http://www.transifex.com/projects/p/django/language/" +"udm/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: udm\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, javascript-format +msgid "Available %s" +msgstr "" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" + +msgid "Filter" +msgstr "" + +msgid "Choose all" +msgstr "" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "" + +msgid "Choose" +msgstr "" + +msgid "Remove" +msgstr "" + +#, javascript-format +msgid "Chosen %s" +msgstr "" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" + +msgid "Remove all" +msgstr "" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" + +msgid "Now" +msgstr "" + +msgid "Clock" +msgstr "" + +msgid "Choose a time" +msgstr "" + +msgid "Midnight" +msgstr "" + +msgid "6 a.m." +msgstr "" + +msgid "Noon" +msgstr "" + +msgid "Cancel" +msgstr "" + +msgid "Today" +msgstr "" + +msgid "Calendar" +msgstr "" + +msgid "Yesterday" +msgstr "" + +msgid "Tomorrow" +msgstr "" + +msgid "" +"January February March April May June July August September October November " +"December" +msgstr "" + +msgid "S M T W T F S" +msgstr "" + +msgid "Show" +msgstr "" + +msgid "Hide" +msgstr "" diff --git a/external_sources/django/django/contrib/admin/locale/ug/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/ug/LC_MESSAGES/django.po new file mode 100644 index 0000000..bdac66a --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ug/LC_MESSAGES/django.po @@ -0,0 +1,790 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# abdl erkin <84247764@qq.com>, 2018 +# ABDULLA , 2014 +# Abduqadir Abliz , 2023-2024 +# Azat, 2023 +# Murat Orhun , 2023 +# Natalia, 2023 +# Serpidin Uyghur, 2023 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-10-07 07:05+0000\n" +"Last-Translator: Abduqadir Abliz , 2023-2024\n" +"Language-Team: Uyghur (http://app.transifex.com/django/django/language/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=2; plural=(n != 1);\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "تاللانغان%(verbose_name_plural)sنى ئۆچۈر" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d%(items)sمۇۋەپپەقىيەتلىك ئۆچۈرۈلدى" + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "%(name)sنى ئۆچۈرەلمەيدۇ" + +msgid "Are you sure?" +msgstr "جەزىملەشتۈرەمسىز؟" + +msgid "Administration" +msgstr "باشقۇرۇش" + +msgid "All" +msgstr "ھەممىسى" + +msgid "Yes" +msgstr "ھەئە" + +msgid "No" +msgstr "ياق" + +msgid "Unknown" +msgstr "نامەلۇم" + +msgid "Any date" +msgstr "خالىغان چېسلا" + +msgid "Today" +msgstr "بۈگۈن" + +msgid "Past 7 days" +msgstr "ئۆتكەن 7 كۈن" + +msgid "This month" +msgstr "بۇ ئاي" + +msgid "This year" +msgstr "بۇ يىل" + +msgid "No date" +msgstr "چېسلا يوق" + +msgid "Has date" +msgstr "ۋاقتى بار " + +msgid "Empty" +msgstr "بوش" + +msgid "Not empty" +msgstr "بوش ئەمەس" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Please enter the correct %(username)s and password for a staff account. " +"دىققەت ھەر ئىككى بۆلەك چوڭ كىچىك يېزىلىشنى پەرقلەندۈرۈشى مۇمكىن." + +msgid "Action:" +msgstr "ھەرىكەت:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "باشقا %(verbose_name)sنى قوشۇش" + +msgid "Remove" +msgstr "چىقىرىۋەت" + +msgid "Addition" +msgstr "قوشۇش" + +msgid "Change" +msgstr "ئۆزگەرتىش" + +msgid "Deletion" +msgstr "ئۆچۈر" + +msgid "action time" +msgstr "مەشغۇلات ۋاقتى" + +msgid "user" +msgstr "ئىشلەتكۈچى" + +msgid "content type" +msgstr "مەزمۇن تىپى" + +msgid "object id" +msgstr "ئوبىيكىت كىملىكى" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "ئوبيېكت ۋەكىلى" + +msgid "action flag" +msgstr "ھەرىكەت بايرىقى" + +msgid "change message" +msgstr "ئۇچۇرنى ئۆزگەرتىش" + +msgid "log entry" +msgstr "خاتىرە تۈرى" + +msgid "log entries" +msgstr "خاتىرە تۈرلىرى" + +#, python-format +msgid "Added “%(object)s”." +msgstr "%(object)sقوشۇلدى" + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "%(object)s%(changes)s گە ئۆزگەرتىلدى" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "%(object)sئۆچۈرۈلدى" + +msgid "LogEntry Object" +msgstr "خاتىرە تۈرى ئوبيېكتى" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "{name} “{object}” قا قوشۇلدى" + +msgid "Added." +msgstr "قوشۇلدى." + +msgid "and" +msgstr "ۋە" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "{name} “{object}” نىڭ {fields} ئۆزگەرتىلدى" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "ئۆزگەرگەن {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "ئۆچۈرۈلگەن {name} “{object}”" + +msgid "No fields changed." +msgstr "ھېچقانداق مەيدان ئۆزگەرمىدى" + +msgid "None" +msgstr "يوق" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "Mac دىكى «كونترول» ياكى «Ctrl» نى بېسىپ ، بىردىن كۆپنى تاللاڭ." + +msgid "Select this object for an action - {}" +msgstr "مەشغۇلات ئۈچۈن ئوبيېكت تاللىنىدۇ-{}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "{name} “{obj}” مۇۋەپپەقىيەتلىك قوشۇلدى." + +msgid "You may edit it again below." +msgstr "تۆۋەندە قايتا تەھرىرلىسىڭىز بولىدۇ." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"{name} “{obj}” مۇۋەپپەقىيەتلىك قوشۇلدى. تۆۋەندە باشقا {name} قوشسىڭىز بولىدۇ." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"{name} “{obj}” مۇۋەپپەقىيەتلىك ئۆزگەرتىلدى. تۆۋەندە ئۇنى قايتا تەھرىرلىسىڭىز " +"بولىدۇ." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"{name} “{obj}” مۇۋەپپەقىيەتلىك ئۆزگەرتىلدى. تۆۋەندە باشقا {name} قوشسىڭىز " +"بولىدۇ." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "{name} “{obj}” مۇۋەپپەقىيەتلىك ئۆزگەرتىلدى." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"ھەرىكەت ئىجرا قىلىش ئۈچۈن تۈرلەر تاللىنىشى كېرەك. ھېچقانداق تۈر " +"ئۆزگەرتىلمىدى." + +msgid "No action selected." +msgstr "ھېچقانداق ھەرىكەت تاللىنمىدى." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s\"%(obj)s\" مۇۋەپپەقىيەتلىك ئۆچۈرۈلدى." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "ID سى \"%(key)s\" بولغان %(name)s مەۋجۇت ئەمەس. بەلكىم ئۇ ئۆچۈرۈلگەن؟" + +#, python-format +msgid "Add %s" +msgstr "%s نى قوش" + +#, python-format +msgid "Change %s" +msgstr "%sنى ئۆزگەرت" + +#, python-format +msgid "View %s" +msgstr "%sكۆرۈش" + +msgid "Database error" +msgstr "ساندان خاتالىقى" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)sنى %(name)sگە ئۆزگەرتىش مۇۋەپپىقىيەتلىك بولدى." +msgstr[1] "%(count)sنى%(name)sگە ئۆزگەرتىش مۇۋەپپىقىيەتلىك بولدى" + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "ھەممە%(total_count)sتاللاندى " +msgstr[1] "ھەممە%(total_count)sتاللاندى" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "%(cnt)s تۈردىن 0 نى تاللىدىڭىز." + +#, python-format +msgid "Change history: %s" +msgstr "تارىخنى ئۆزگەرتىش: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s%(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"%(class_name)s%(instance)s نى ئۆچۈرۈش قوغدالغان تۆۋەندىكى ئۇچۇرلارنى " +"ئۆچۈرۈشنى تەلەپ قىلىدۇ: %(related_objects)s" + +msgid "Django site admin" +msgstr "جانگو تور بېكەت باشقۇرغۇچى" + +msgid "Django administration" +msgstr "جانگو باشقۇرۇش" + +msgid "Site administration" +msgstr "تور بېكەت باشقۇرۇش" + +msgid "Log in" +msgstr "كىرىش" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s باشقۇرۇش" + +msgid "Page not found" +msgstr "بەت تېپىلمىدى" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "كەچۈرۈڭ، لېكىن تەلەب قىلىنغان بەت تېپىلمىدى." + +msgid "Home" +msgstr "باش بەت" + +msgid "Server error" +msgstr "مۇلازىمېتىر خاتالىقى" + +msgid "Server error (500)" +msgstr "مۇلازىمېتىر خاتالىقى (500)" + +msgid "Server Error (500)" +msgstr "مۇلازىمېتىر خاتالىقى (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"خاتالىق كۆرۈلدى. بۇ ئۇچۇر تور بېكەت باشقۇرغۇچىلارغا ئېلخەت ئارقىلىق " +"ئۇقتۇرۇلدى ۋە تېزدىن تۈزۈتۈلىدۇ. سەبرىڭىزگە رەھمەت." + +msgid "Run the selected action" +msgstr "تاللانغان مەشغۇلاتنى ئىجرا قىل" + +msgid "Go" +msgstr "يۆتكەل" + +msgid "Click here to select the objects across all pages" +msgstr "بارلىق بەتلەردىكى ئوبىيكتلەرنى تاللاش ئۈچۈن بۇ يەرنى چېكىڭ." + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "بارىلىق %(total_count)s%(module_name)s نى تاللا" + +msgid "Clear selection" +msgstr "تاللىغاننى تازىلا" + +msgid "Breadcrumbs" +msgstr "يول كۆرسەتكۈچى" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "%(name)s پروگراممىسىدىكى مودېللار" + +msgid "Add" +msgstr "قوش" + +msgid "View" +msgstr "كۆرۈنۈش" + +msgid "You don’t have permission to view or edit anything." +msgstr "سىزنىڭ كۆرۈش ياكى تەھرىرلەش ھوقۇقىڭىز يوق." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"ئالدى بىلەن، ئىشلەتكۈچى ئاتى ۋە ئىم كىرگۈزۈلىدۇ. ئاندىن، تېخىمۇ كۆپ " +"ئىشلەتكۈچى تاللانمىلىرىنى تەھرىرلىيەلەيسىز." + +msgid "Enter a username and password." +msgstr "ئىشلەتكۈچى ئاتى ۋە پارول كىرگۈزۈڭ." + +msgid "Change password" +msgstr "پارولنى ئۆزگەرتىش" + +msgid "Set password" +msgstr "پارول تەڭشەك" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "تۆۋەندىكى خاتالىقلارنى توغرىلاڭ." +msgstr[1] "تۆۋەندىكى خاتالىقلارنى توغرىلاڭ." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "ئىشلەتكۈچى %(username)s ئۈچۈن يېڭى پارول كىرگۈزۈڭ." + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "" +"بۇ مەشغۇلات مەزكۇر ئىشلەتكۈچىنىڭ ئىم ئاساسىدىكى دەلىللىشىنى " +"قوزغىتىدۇ" + +msgid "Disable password-based authentication" +msgstr "ئىم ئاساسىدىكى دەلىللەشنى چەكلەيدۇ" + +msgid "Enable password-based authentication" +msgstr "ئىم ئاساسىدىكى دەلىللەشنى قوزغىتىدۇ" + +msgid "Skip to main content" +msgstr "ئاساسلىق مەزمۇنغا ئاتلا" + +msgid "Welcome," +msgstr "مەرھابا،" + +msgid "View site" +msgstr "بېكەتنى كۆرۈش " + +msgid "Documentation" +msgstr "قوللانمىلار" + +msgid "Log out" +msgstr "چىكىنىش" + +#, python-format +msgid "Add %(name)s" +msgstr "%(name)sنى قوشۇش" + +msgid "History" +msgstr "تارىخ" + +msgid "View on site" +msgstr "بېكەتتە كۆرۈش " + +msgid "Filter" +msgstr "سۈزگۈچ" + +msgid "Hide counts" +msgstr "ساناقنى يوشۇر" + +msgid "Show counts" +msgstr "ساناقنى كۆرسەت" + +msgid "Clear all filters" +msgstr "ھەممە سۈزگۈچلەرنى تازىلا" + +msgid "Remove from sorting" +msgstr "تەرتىپلەشتىن چىقىرىۋەت" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "تەرتىپلەش دەرىجىسى: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "تەرتىپلەشنى ئالماشتۇرۇش" + +msgid "Toggle theme (current theme: auto)" +msgstr "تېمىنى ئالماشتۇرۇش (ھازىرقى تېما: ئاپتوماتىك)" + +msgid "Toggle theme (current theme: light)" +msgstr "تېمىنى ئالماشتۇرۇش (ھازىرقى تېما: يورۇق)" + +msgid "Toggle theme (current theme: dark)" +msgstr "تېمىنى ئالماشتۇرۇش (ھازىرقى تېما: قارا)" + +msgid "Delete" +msgstr "ئۆچۈر" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"%(object_name)s%(escaped_object)s نى ئۆچۈرۈش، ئۇنىڭغا باغلىق نەرسىلەرنى " +"ئۆچۈرۈشكە زۆرۈرلىنىدۇ ، لېكىن سىزنىڭ ھېساباتىڭىزدا تۆۋەندىكى تۈرلەرنى " +"ئۆچۈرۈش ھوقۇقى يوق:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"%(object_name)s 's '%(escaped_object)s' نى ئۆچۈرۈش، تۆۋەندىكى قوغداق " +"قوغدالغان ئۇچۇرلارنى ئۆچۈرۈشنى تەلەپ قىلىدۇ:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"%(object_name)s %(escaped_object)s نى راستلا ئۆچۈرۈشنى خالامسىز؟ تۆۋەندىكى " +"بارلىق باغلىق تۈرلەر ئۆچۈرۈلىدۇ:" + +msgid "Objects" +msgstr "ئوبىيكتلار" + +msgid "Yes, I’m sure" +msgstr "ھەئە، شۇنداق" + +msgid "No, take me back" +msgstr "ياق، كەينىگە ياندۇر" + +msgid "Delete multiple objects" +msgstr "كۆپ ئوبىيكتنى ئ‍ۆچۈرۈش" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"تاللانغان %(objects_name)s نى ئۆچۈرۈش، ئۇنىڭغا باغلىق نەرسىلەرنى ئۆچۈرۈشكە " +"ئۆتۈرۈلۈدۇ، لېكىن سىزنىڭ ھېساباتىڭىزدا تۆۋەندىكى تۈرلەرنى ئۆچۈرۈش ھوقۇقى يوق:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"تاللانغان %(objects_name)s نى ئۆچۈرۈش، تۆۋەندىكى قوغداق قوغدالغان ئۇچۇرلارنى " +"ئۆچۈرۈشنى تەلەپ قىلىدۇ:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"تاللانغان %(objects_name)s نى راستلا ئۆچۈرۈشنى خالامسىز؟ تۆۋەندىكى بارلىق " +"نەرسىلەر ۋە ئۇلارغا باغلىق تۈرلەر ئۆچۈرۈلىدۇ:" + +msgid "Delete?" +msgstr "ئۆچۈرۈۋېتەمسىز؟" + +#, python-format +msgid " By %(filter_title)s " +msgstr "%(filter_title)s بويىچە" + +msgid "Summary" +msgstr "ئۈزۈندە" + +msgid "Recent actions" +msgstr "يېقىنقى مەشغۇلاتلار" + +msgid "My actions" +msgstr "مەشغۇلاتلىرىم" + +msgid "None available" +msgstr "ھېچنېمە يوق" + +msgid "Added:" +msgstr "قوشۇلدى:" + +msgid "Changed:" +msgstr "ئۆزگەردى:" + +msgid "Deleted:" +msgstr "ئۆچۈرۈلدى:" + +msgid "Unknown content" +msgstr "بەلگىلەنمىگەن مەزمۇن" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"سىزنىڭ مەلۇمات سانداننىڭ ئورنىتىشىدا بىرنەمە مەسىلە بار. توغرا ساندان " +"جەدۋىلى قۇرۇلغانلىقىنى جەزملەڭ، ۋە سانداننىڭ توغرا ئىشلەتكۈچى تەرىپىدىن " +"ئوقۇلىدىغانلىقىنى جەزملەڭ." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"سىز %(username)s دېگەن ئىشلەتكۈچى ھېساباتى بىلەن كىرگەنسىز، لېكىن بۇ بەتكە " +"كىرىش ھوقۇقىڭىز يوق. باشقا ھېساباتقا كىرىشنى خالامسىز؟" + +msgid "Forgotten your password or username?" +msgstr "پارول ياكى ئىشلەتكۈچى ئاتىڭىزنى ئۇنتۇپ قالدىڭىزمۇ؟" + +msgid "Toggle navigation" +msgstr "يۆل باشلىغۇچنى ئالماشتۇرۇش" + +msgid "Sidebar" +msgstr "يان بالداق" + +msgid "Start typing to filter…" +msgstr " فىلتىرلاش ئۈچۈن يېزىشنى باشلاڭ…" + +msgid "Filter navigation items" +msgstr "يۆل باشقۇرۇش تۈرلەرىنى سۈزۈش" + +msgid "Date/time" +msgstr "چېسلا/ۋاقىت" + +msgid "User" +msgstr "ئىشلەتكۈچى" + +msgid "Action" +msgstr "مەشغۇلات" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "تۈرى" +msgstr[1] "تۈرى" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"بۇ ئوبىيكتنىڭ ئۆزگەرتىش تارىخى يوق. بۇنى مۇمكىن بۇ باشقۇرۇش بېتى ئارقىلىق " +"قوشمىغان بولۇشى مۇمكىن." + +msgid "Show all" +msgstr "ھەممىنى كۆرسەت" + +msgid "Save" +msgstr "ساقلا" + +msgid "Popup closing…" +msgstr "قاڭقىشنى تاقاۋاتىدۇ…" + +msgid "Search" +msgstr "ئىزدە" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s نەتىجە" +msgstr[1] "%(counter)s نەتىجەسى" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s جەمى" + +msgid "Save as new" +msgstr "يېڭىدىن ساقلاش" + +msgid "Save and add another" +msgstr "ساقلاپ يېڭىسىنى قوشۇش" + +msgid "Save and continue editing" +msgstr "تەھرىرلەشنى داۋاملاشتۇرۇپ ساقلاش" + +msgid "Save and view" +msgstr "ساقلاش ۋە كۆرۈش" + +msgid "Close" +msgstr "ياپ" + +#, python-format +msgid "Change selected %(model)s" +msgstr "تاللانغان%(model)sنى ئۆزگەرت" + +#, python-format +msgid "Add another %(model)s" +msgstr "باشقا %(model)s قوش" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "تاللىغان %(model)s نى ئۆچۈر" + +#, python-format +msgid "View selected %(model)s" +msgstr "تاللىغان %(model)s نى كۆرسەت" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "بۈگۈن تور بېكەتتە ساپالىق ۋاقىت سەرىب قىلغىنىڭىزغا رەھمەت." + +msgid "Log in again" +msgstr "قايتا كىرىڭ" + +msgid "Password change" +msgstr "پارولنى ئۆزگەرتىش" + +msgid "Your password was changed." +msgstr "پارولىڭىز ئۆزگەرتىلگەن" + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"بىخەتەرلىك ئۈچۈن ئەسلى پارولىڭىزنى كىرگۈزۈڭ، ئاندىن يېڭى پارولىڭىزنى ئىككى " +"قېتىم كىرگۈزۈڭ، بۇنىڭ ئارقىلىق سىز توغرا يېزىب بولغىنىڭىزنى دەلىللەيمىز." + +msgid "Change my password" +msgstr "پارولىمنى ئۆزگەرتىىمەن" + +msgid "Password reset" +msgstr "ئىمنى ئەسلىگە قايتۇرۇش" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "پارول ئۆزگەرتىلدى. داۋاملاشتۇرۇپ تىزىمغا كىرسىڭىز بولىدۇ." + +msgid "Password reset confirmation" +msgstr "پارول ئەسلىگە قايتۇرۇشنى جەزملەش" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"يېڭى پارولىڭىزنى ئىككى قېتىم كىرگۈزۈڭ، بۇنىڭ ئارقىلىق سىز توغرا كىرگۈزۈب " +"بولغىنىڭىزنى دەلىللەيمىز." + +msgid "New password:" +msgstr "يېڭى پارول:" + +msgid "Confirm password:" +msgstr "پارولنى جەزملە:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"پارولنى قايتا بەلگىلەش ئۈچۈن بېرىلگەن ئۇلانما ئىناۋەتسىز بولدى، بۇ ئۇلانما " +"ئاللىبۇرۇن ئىشلىتىلگەن بولۇشى مۇمكىن. يېڭى پارولنى قايتا بەلگىلەش ئۈچۈن " +"ئىلتىماس قىلىڭ." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"سىز كىرگۈزگەن ئېلخەت ئادرېسىغا ھېسابات بولسا، پارول قويۇش ئۈچۈن سىزگە ئېلخەت " +"ئارقىلىق چۈشەندۈرۈش يوللىدۇق. سىز قىسقا ۋاقىت ئىچىدە ئۇخەتنى تاپشۇرۇب " +"ئېلىشىڭىز كېرەك." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"ئېلخەت تاپشۇرۇپ ئالمىغان بولسىڭىز، تىزىملىتىپ بولغان ئېلخەت ئادرېسىڭىزنى " +"توغرا كىرگۈزگەنلىكىڭىزنى جەزملەڭ ۋە ئېلخەت ئادرېسىڭىزنىڭ ئەخلەت ساندۇغىنى " +"تەكشۈرۈڭ." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"سىز بۇ ئېلخەتنى تاپشۇرۇب ئالدىڭىز، چۈنكى ، %(site_name)s دىكى ئىشلەتكۈچى " +"ھېساباتىڭىزنىڭ پارولىنى قايتا بەلگىلەشنى ئىلتىماس قىلدى." + +msgid "Please go to the following page and choose a new password:" +msgstr "كىيىنكى بەتكە كىرىڭ ۋە بىر شىفرە تاللاڭ:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "ئىشلەتكۈچى ئىسمىڭىز، ئۇنتۇپ قالغان ئەھۋال ئاستىدا:" + +msgid "Thanks for using our site!" +msgstr "تور بېكىتىمىزنى ئىشلەتكىنىڭىز ئۈچۈن رەھمەت!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s قوشۇنى" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"شىفرىڭىزنى ئۇنتۇپ قالدىڭىزمۇ؟ تۆۋەنگە ئېلىكتىرونلۇق ئېلىخەت ئادرىسىڭىزنى " +"كىرگۈزۈڭ، يېڭىسىنى تەڭشەش ئۈچۈن كۆرسەتمىلىك ئېلىخەت ئەۋەتىمىز ." + +msgid "Email address:" +msgstr "ئېلخەت ئادرېسى:" + +msgid "Reset my password" +msgstr "پارولىمنى قايتا بەلگىلەش" + +msgid "Select all objects on this page for an action" +msgstr "مەشغۇلات ئۈچۈن بۇ بەتتىكى ھەممە ئوبيېكت تاللىنىدۇ" + +msgid "All dates" +msgstr "بارلىق چىسلا" + +#, python-format +msgid "Select %s" +msgstr "%sنى تاللاش" + +#, python-format +msgid "Select %s to change" +msgstr "تاللانغان %sنى ئۆزگەرتش" + +#, python-format +msgid "Select %s to view" +msgstr "تاللانغان %sنى كۆرۈش" + +msgid "Date:" +msgstr "چېسلا:" + +msgid "Time:" +msgstr "ۋاقتى:" + +msgid "Lookup" +msgstr "ئىزدە" + +msgid "Currently:" +msgstr "نۆۋەتتە:" + +msgid "Change:" +msgstr "ئۆزگەرتىش:" diff --git a/external_sources/django/django/contrib/admin/locale/ug/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/ug/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..90c0a88 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ug/LC_MESSAGES/djangojs.po @@ -0,0 +1,323 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Abduqadir Abliz , 2023 +# Azat, 2023 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 15:04-0300\n" +"PO-Revision-Date: 2023-12-04 07:59+0000\n" +"Last-Translator: Abduqadir Abliz , 2023\n" +"Language-Team: Uyghur (http://app.transifex.com/django/django/language/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=2; plural=(n != 1);\n" + +#, javascript-format +msgid "Available %s" +msgstr "ئىشلەتكىلى بولىدىغانى %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"بۇ، تاللاشقا بولىدىغان %s تىزىملىكى. تۆۋەندىكى تىزىملىكلەر ئارىسىدىن " +"بەزىلىرنى تاللاڭ ئاندىن «تاللاش» نى چېكىڭ." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "بۇ رامكىغا يېزىش ئارقىلىق قاتناشقىلى بولىدىغان %s تىزىملىكىنى سۈزۈڭ." + +msgid "Filter" +msgstr "سۈزگۈچ" + +msgid "Choose all" +msgstr "ھەممىنى تاللا" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "بېسىب بارلىق تاللانغان %sنىڭ ھەممىسىنى تاللاڭ" + +msgid "Choose" +msgstr "تاللا" + +msgid "Remove" +msgstr "چىقىرىۋەت" + +#, javascript-format +msgid "Chosen %s" +msgstr "تاللانغانلىرى %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"بۇ، تاللانغان %s تىزىملىكى. تۆۋەندىكى تىزىملىكلەر ئارىسىدىن بەزىلىرنى " +"تاللاڭ ئاندىن «چىقىرىش» نى چېكىڭ." + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "بۇ رامكىغا يېزىش ئارقىلىق تاللانغان %s سۈزۈڭ." + +msgid "Remove all" +msgstr "ھەممىنى چىقىرىۋەت" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "بېسىب بارلىق تاللانغان %sنىڭ ھەممىسىنى چىقىرىۋېتىڭ" + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%s تاللانغانلىرى كۆرۈنمەيدۇ" +msgstr[1] "%s تاللانغانلىرى كۆرۈنمەيدۇ" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s دىن %(cnt)s سى تاللاندى" +msgstr[1] "%(sel)s دىن %(cnt)s سى تاللاندى" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"سىزنىڭ تېخى ساقلانمىغان ئۆزگەرتىشلىرىڭىز بار. ئەگەر سىز مەشخۇلاتىڭىزنى " +"داۋاملاشتۇرسىڭىز، ساقلانمىغان ئۆزگەرتىشلىرىڭىز يوقاب كېتىشى مۇمكىن" + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"سىز بىر مەشخۇلاتنى تاللىدىڭىز، ئەمما ئۆزگەرتىشلىرىڭىزنى ساقلىمىدىڭىز. ھەئە " +"نى بېسىب ساقلاڭ. ئاندىن مەشخۇلاتىڭىزنى قايتىدىن ئېلىب بېرىڭ." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"سىز بىر ھەرىكەتنى تاللىدىڭىز ، ھەمدە ئايرىم ساھەدە ھېچقانداق ئۆزگەرتىش ئېلىپ " +"بارمىدىڭىز. سىز «ساقلاش» كۇنۇپكىسىنى ئەمەس ، بەلكى Go كۇنۇپكىسىنى " +"ئىزدەۋاتقان بولۇشىڭىز مۇمكىن." + +msgid "Now" +msgstr "ھازىرلا" + +msgid "Midnight" +msgstr "يېرىم كېچە" + +msgid "6 a.m." +msgstr "6 a.m." + +msgid "Noon" +msgstr "چۈش" + +msgid "6 p.m." +msgstr "6 p.m." + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "ئەسكەرتىش: سىز مۇلازىمېتىر ۋاقتىدىن %s سائەت ئالدىدا." +msgstr[1] "ئەسكەرتىش: سىز مۇلازىمېتىر ۋاقتىدىن %s سائەت ئالدىدا." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "ئەسكەرتىش: سىز مۇلازىمېتىر ۋاقتىدىن %s سائەت ئارقىدا." +msgstr[1] "ئەسكەرتىش: سىز مۇلازىمېتىر ۋاقتىدىن %s سائەت ئارقىدا." + +msgid "Choose a Time" +msgstr "بىر ۋاقىت تاللاڭ" + +msgid "Choose a time" +msgstr "بىر ۋاقىت تاللاڭ" + +msgid "Cancel" +msgstr "ۋاز كەچ" + +msgid "Today" +msgstr "بۈگۈن" + +msgid "Choose a Date" +msgstr "بىر چېسلا تاللاڭ" + +msgid "Yesterday" +msgstr "تۈنۈگۈن" + +msgid "Tomorrow" +msgstr "ئەتە" + +msgid "January" +msgstr "يانۋار" + +msgid "February" +msgstr "فېۋرال" + +msgid "March" +msgstr "مارت" + +msgid "April" +msgstr "ئاپرىل" + +msgid "May" +msgstr "ماي" + +msgid "June" +msgstr "ئىيۇن" + +msgid "July" +msgstr "ئىيۇل" + +msgid "August" +msgstr "ئاۋغۇست" + +msgid "September" +msgstr "سىنتەبىر" + +msgid "October" +msgstr "ئۆكتەبىر" + +msgid "November" +msgstr "نويابىر" + +msgid "December" +msgstr "دىكابىر" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "يانۋار" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "فېۋرال" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "مارت" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "ئاپرېل" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "ماي" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "ئىيۇن" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "ئىيۇل" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "ئاۋغۇست" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "سېنتەبىر" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "ئۆكتەبىر" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "نويابىر" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "دىكابىر" + +msgid "Sunday" +msgstr "يەكشەنبە" + +msgid "Monday" +msgstr "دۈشەنبە" + +msgid "Tuesday" +msgstr "سەيشەنبە" + +msgid "Wednesday" +msgstr "چارشەمبە" + +msgid "Thursday" +msgstr "پەيشەمبە" + +msgid "Friday" +msgstr "جۈمە" + +msgid "Saturday" +msgstr "شەنبە" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "ي" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "د" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "س" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "چ" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "پ" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "ج" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "ش" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "S" + +msgctxt "one letter Monday" +msgid "M" +msgstr "M" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "T" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "W" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "T" + +msgctxt "one letter Friday" +msgid "F" +msgstr "F" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "S" + +msgid "Show" +msgstr "كۆرسەت" + +msgid "Hide" +msgstr "يوشۇر" diff --git a/external_sources/django/django/contrib/admin/locale/uk/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/uk/LC_MESSAGES/django.po new file mode 100644 index 0000000..1ce9de4 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/uk/LC_MESSAGES/django.po @@ -0,0 +1,775 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Abbl Kto , 2021 +# Oleksandr Chernihov , 2014 +# Andriy Sokolovskiy , 2015 +# Boryslav Larin , 2011 +# Denis Podlesniy , 2016 +# Igor Melnyk, 2014,2017 +# Illia Volochii , 2021-2023 +# Ivan Dmytrenko , 2019 +# Jannis Leidel , 2011 +# Kirill Gagarski , 2015 +# Max V. Stotsky , 2014 +# Mikhail Kolesnik , 2015 +# Mykola Holovetskyi, 2022 +# Mykola Zamkovoi , 2014 +# Sergiy Kuzmenko , 2011 +# tarasyyyk , 2018 +# Zoriana Zaiats, 2016 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-01-17 02:13-0600\n" +"PO-Revision-Date: 2023-04-25 07:05+0000\n" +"Last-Translator: Illia Volochii , 2021-2023\n" +"Language-Team: Ukrainian (http://www.transifex.com/django/django/language/" +"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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Видалити обрані %(verbose_name_plural)s" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Успішно видалено %(count)d %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Не вдається видалити %(name)s" + +msgid "Are you sure?" +msgstr "Ви впевнені?" + +msgid "Administration" +msgstr "Адміністрування" + +msgid "All" +msgstr "Всі" + +msgid "Yes" +msgstr "Так" + +msgid "No" +msgstr "Ні" + +msgid "Unknown" +msgstr "Невідомо" + +msgid "Any date" +msgstr "Будь-яка дата" + +msgid "Today" +msgstr "Сьогодні" + +msgid "Past 7 days" +msgstr "Останні 7 днів" + +msgid "This month" +msgstr "Цього місяця" + +msgid "This year" +msgstr "Цього року" + +msgid "No date" +msgstr "Без дати" + +msgid "Has date" +msgstr "Має дату" + +msgid "Empty" +msgstr "Порожні" + +msgid "Not empty" +msgstr "Непорожні" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Будь ласка, введіть правильні %(username)s і пароль для облікового запису " +"персоналу. Зауважте, що обидва поля можуть бути чутливі до регістру." + +msgid "Action:" +msgstr "Дія:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Додати ще %(verbose_name)s" + +msgid "Remove" +msgstr "Видалити" + +msgid "Addition" +msgstr "Додавання" + +msgid "Change" +msgstr "Змінити" + +msgid "Deletion" +msgstr "Видалення" + +msgid "action time" +msgstr "час дії" + +msgid "user" +msgstr "користувач" + +msgid "content type" +msgstr "тип вмісту" + +msgid "object id" +msgstr "id об'єкта" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "представлення об'єкта (repr)" + +msgid "action flag" +msgstr "позначка дії" + +msgid "change message" +msgstr "змінити повідомлення" + +msgid "log entry" +msgstr "запис у журналі" + +msgid "log entries" +msgstr "записи в журналі" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Додано \"%(object)s\"." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Змінено \"%(object)s\" - %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Видалено \"%(object)s.\"" + +msgid "LogEntry Object" +msgstr "Об'єкт журнального запису" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Додано {name} \"{object}\"." + +msgid "Added." +msgstr "Додано." + +msgid "and" +msgstr "та" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Змінені {fields} для {name} \"{object}\"." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Змінені {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Видалено {name} \"{object}\"." + +msgid "No fields changed." +msgstr "Поля не змінені." + +msgid "None" +msgstr "Ніщо" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Натисність \"Control\" або \"Command\" на Mac-пристрої, щоб вибрати більше " +"аніж один." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "{name} \"{obj}\" було додано успішно." + +msgid "You may edit it again below." +msgstr "Ви можете відредагувати це знову." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "{name} \"{obj}\" було змінено успішно. Ви можете додати інше {name}." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"{name} \"{obj}\" було змінено успішно. Нижче Ви можете редагувати його знову." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "{name} \"{obj}\" було додано успішно. Ви можете редагувати його знову." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "{name} \"{obj}\" було змінено успішно. Ви можете додати інше {name}." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "{name} \"{obj}\" було змінено успішно." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Для виконання дії необхідно обрати елемент. Жодний елемент не був змінений." + +msgid "No action selected." +msgstr "Дія не обрана." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s \"%(obj)s\" був видалений успішно." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "%(name)s з ID \"%(key)s\" не існує. Можливо, воно було видалене?" + +#, python-format +msgid "Add %s" +msgstr "Додати %s" + +#, python-format +msgid "Change %s" +msgstr "Змінити %s" + +#, python-format +msgid "View %s" +msgstr "Переглянути %s" + +msgid "Database error" +msgstr "Помилка бази даних" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s був успішно змінений." +msgstr[1] "%(count)s %(name)s були успішно змінені." +msgstr[2] "%(count)s %(name)s було успішно змінено." +msgstr[3] "%(count)s %(name)s було успішно змінено." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s обраний" +msgstr[1] "%(total_count)s обрані" +msgstr[2] "Усі %(total_count)s обрано" +msgstr[3] "Усі %(total_count)s обрано" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 з %(cnt)s обрано" + +#, python-format +msgid "Change history: %s" +msgstr "Історія змін: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Видалення %(class_name)s %(instance)s вимагатиме видалення наступних " +"захищених пов'язаних об'єктів: %(related_objects)s" + +msgid "Django site admin" +msgstr "Django сайт адміністрування" + +msgid "Django administration" +msgstr "Django адміністрування" + +msgid "Site administration" +msgstr "Адміністрування сайта" + +msgid "Log in" +msgstr "Увійти" + +#, python-format +msgid "%(app)s administration" +msgstr "Адміністрування %(app)s" + +msgid "Page not found" +msgstr "Сторінка не знайдена" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "На жаль, запрошену сторінку не знайдено." + +msgid "Home" +msgstr "Домівка" + +msgid "Server error" +msgstr "Помилка сервера" + +msgid "Server error (500)" +msgstr "Помилка сервера (500)" + +msgid "Server Error (500)" +msgstr "Помилка сервера (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Сталася помилка. Вона була відправлена адміністраторам сайту через email і " +"має бути вирішена швидко. Дякуємо за ваше терпіння." + +msgid "Run the selected action" +msgstr "Виконати обрану дію" + +msgid "Go" +msgstr "Вперед" + +msgid "Click here to select the objects across all pages" +msgstr "Натисніть тут, щоб вибрати об'єкти на всіх сторінках" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Обрати всі %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Скинути вибір" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Моделі у %(name)s додатку" + +msgid "Add" +msgstr "Додати" + +msgid "View" +msgstr "Переглянути" + +msgid "You don’t have permission to view or edit anything." +msgstr "Ви не маєте дозволу переглядати чи редагувати будь-чого." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Спершу, введіть користувацьке ім'я і пароль. Тоді, ви зможете редагувати " +"більше користувацьких опцій." + +msgid "Enter a username and password." +msgstr "Введіть ім'я користувача і пароль." + +msgid "Change password" +msgstr "Змінити пароль" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Будь ласка, виправте наведену нижче помилку." +msgstr[1] "Будь ласка, виправте наведені нижче помилки." +msgstr[2] "Будь ласка, виправте наведені нижче помилки." +msgstr[3] "Будь ласка, виправте наведені нижче помилки." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Введіть новий пароль для користувача %(username)s." + +msgid "Skip to main content" +msgstr "Перейти до основного вмісту" + +msgid "Welcome," +msgstr "Вітаємо," + +msgid "View site" +msgstr "Дивитися сайт" + +msgid "Documentation" +msgstr "Документація" + +msgid "Log out" +msgstr "Вийти" + +msgid "Breadcrumbs" +msgstr "Навігаційний рядок" + +#, python-format +msgid "Add %(name)s" +msgstr "Додати %(name)s" + +msgid "History" +msgstr "Історія" + +msgid "View on site" +msgstr "Дивитися на сайті" + +msgid "Filter" +msgstr "Відфільтрувати" + +msgid "Clear all filters" +msgstr "Очистити всі фільтри" + +msgid "Remove from sorting" +msgstr "Видалити з сортування" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Пріорітет сортування: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "Сортувати в іншому напрямку" + +msgid "Toggle theme (current theme: auto)" +msgstr "Перемкнути тему (поточна тема: автоматична)" + +msgid "Toggle theme (current theme: light)" +msgstr "Перемкнути тему (поточна тема: світла)" + +msgid "Toggle theme (current theme: dark)" +msgstr "Перемкнути тему (поточна тема: темна)" + +msgid "Delete" +msgstr "Видалити" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Видалення %(object_name)s '%(escaped_object)s' призведе до видалення " +"пов'язаних об'єктів, але ваш реєстраційний запис не має дозволу видаляти " +"наступні типи об'єктів:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Видалення %(object_name)s '%(escaped_object)s' вимагатиме видалення " +"наступних пов'язаних об'єктів:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Ви впевнені, що хочете видалити %(object_name)s \"%(escaped_object)s\"? Всі " +"пов'язані записи, що перелічені, будуть видалені:" + +msgid "Objects" +msgstr "Об'єкти" + +msgid "Yes, I’m sure" +msgstr "Так, я впевнений" + +msgid "No, take me back" +msgstr "Ні, повернутись назад" + +msgid "Delete multiple objects" +msgstr "Видалити кілька об'єктів" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Видалення обраних %(objects_name)s вимагатиме видалення пов'язаних об'єктів, " +"але ваш обліковий запис не має прав для видалення таких типів об'єктів:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Видалення обраних %(objects_name)s вимагатиме видалення наступних захищених " +"пов'язаних об'єктів:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Ви впевнені, що хочете видалити вибрані %(objects_name)s? Всі вказані " +"об'єкти та пов'язані з ними елементи будуть видалені:" + +msgid "Delete?" +msgstr "Видалити?" + +#, python-format +msgid " By %(filter_title)s " +msgstr "За %(filter_title)s" + +msgid "Summary" +msgstr "Резюме" + +msgid "Recent actions" +msgstr "Недавні дії" + +msgid "My actions" +msgstr "Мої дії" + +msgid "None available" +msgstr "Немає" + +msgid "Unknown content" +msgstr "Невідомий зміст" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Щось не так з інсталяцією бази даних. Запевніться, що певні таблиці бази " +"даних були створені і що вона може бути прочитана певним користувачем." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Ви аутентифіковані як %(username)s, але вам не надано доступ до цієї " +"сторінки.\n" +"Ввійти в інший аккаунт?" + +msgid "Forgotten your password or username?" +msgstr "Забули пароль або ім'я користувача?" + +msgid "Toggle navigation" +msgstr "Увімкнути навігацію" + +msgid "Sidebar" +msgstr "Бічна панель" + +msgid "Start typing to filter…" +msgstr "Почніть писати для фільтру..." + +msgid "Filter navigation items" +msgstr "Фільтрувати навігаційні об'єкти" + +msgid "Date/time" +msgstr "Дата/час" + +msgid "User" +msgstr "Користувач" + +msgid "Action" +msgstr "Дія" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "запис" +msgstr[1] "записи" +msgstr[2] "записи" +msgstr[3] "записи" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Цей об'єкт не має історії змін. Напевно, він був доданий не через цей сайт " +"адміністрування." + +msgid "Show all" +msgstr "Показати всі" + +msgid "Save" +msgstr "Зберегти" + +msgid "Popup closing…" +msgstr "Закриття спливаючого вікна" + +msgid "Search" +msgstr "Пошук" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s результат" +msgstr[1] "%(counter)s результати" +msgstr[2] "%(counter)s результатів" +msgstr[3] "%(counter)s результатів" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s всього" + +msgid "Save as new" +msgstr "Зберегти як нове" + +msgid "Save and add another" +msgstr "Зберегти і додати інше" + +msgid "Save and continue editing" +msgstr "Зберегти і продовжити редагування" + +msgid "Save and view" +msgstr "Зберегти і переглянути" + +msgid "Close" +msgstr "Закрити" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Змінити обрану %(model)s" + +#, python-format +msgid "Add another %(model)s" +msgstr "Додати ще одну %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Видалити обрану %(model)s" + +#, python-format +msgid "View selected %(model)s" +msgstr "Переглянути обрану %(model)s" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Дякуємо за час, який був проведений сьогодні на сайті." + +msgid "Log in again" +msgstr "Увійти знову" + +msgid "Password change" +msgstr "Зміна паролю" + +msgid "Your password was changed." +msgstr "Ваш пароль було змінено." + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Будь ласка введіть ваш старий пароль, заради безпеки, після цього введіть " +"ваш новий пароль двічі для верифікації коректності написаного." + +msgid "Change my password" +msgstr "Змінити мій пароль" + +msgid "Password reset" +msgstr "Перевстановлення паролю" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Пароль встановлено. Ви можете увійти зараз." + +msgid "Password reset confirmation" +msgstr "Підтвердження перевстановлення паролю" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Будь ласка, введіть ваш старий пароль, задля безпеки, потім введіть ваш " +"новий пароль двічі для перевірки." + +msgid "New password:" +msgstr "Новий пароль:" + +msgid "Confirm password:" +msgstr "Підтвердіть пароль:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Посилання на перевстановлення паролю було помилковим. Можливо тому, що воно " +"було вже використано. Будь ласка, замовте нове перевстановлення паролю." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Ми відправили вам інструкції для встановлення пароля, якщо обліковий запис з " +"введеною адресою існує. Ви маєте отримати їх найближчим часом." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Якщо Ви не отримали електронного листа, переконайтеся, будь ласка, в " +"зареєстрованій адресі і перевірте папку \"Спам\"." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Ви отримали цей лист через те, що зробили запит на перевстановлення пароля " +"для облікового запису користувача на %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Будь ласка, перейдіть на цю сторінку, та оберіть новий пароль:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Ваше користувацьке ім'я, у випадку, якщо ви забули:" + +msgid "Thanks for using our site!" +msgstr "Дякуємо за користування нашим сайтом!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Команда сайту %(site_name)s " + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Забули пароль? Введіть свою email-адресу нижче і ми відправимо вам " +"інструкції по встановленню нового." + +msgid "Email address:" +msgstr "Email адреса:" + +msgid "Reset my password" +msgstr "Перевстановіть мій пароль" + +msgid "All dates" +msgstr "Всі дати" + +#, python-format +msgid "Select %s" +msgstr "Вибрати %s" + +#, python-format +msgid "Select %s to change" +msgstr "Виберіть %s щоб змінити" + +#, python-format +msgid "Select %s to view" +msgstr "Вибрати %s для перегляду" + +msgid "Date:" +msgstr "Дата:" + +msgid "Time:" +msgstr "Час:" + +msgid "Lookup" +msgstr "Пошук" + +msgid "Currently:" +msgstr "На даний час:" + +msgid "Change:" +msgstr "Змінено:" diff --git a/external_sources/django/django/contrib/admin/locale/uk/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/uk/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..40e60de --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/uk/LC_MESSAGES/djangojs.po @@ -0,0 +1,275 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Oleksandr Chernihov , 2014 +# Boryslav Larin , 2011 +# Denis Podlesniy , 2016 +# Illia Volochii , 2021 +# Jannis Leidel , 2011 +# Panasoft, 2016 +# Sergey Lysach , 2011-2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-15 09:00+0100\n" +"PO-Revision-Date: 2021-10-21 18:50+0000\n" +"Last-Translator: Illia Volochii \n" +"Language-Team: Ukrainian (http://www.transifex.com/django/django/language/" +"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" + +#, javascript-format +msgid "Available %s" +msgstr "В наявності %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Це список всіх доступних %s. Ви можете обрати деякі з них, виділивши їх у " +"полі нижче і натиснувшт кнопку \"Обрати\"." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" +"Почніть вводити текст в цьому полі щоб відфільтрувати список доступних %s." + +msgid "Filter" +msgstr "Фільтр" + +msgid "Choose all" +msgstr "Обрати всі" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Натисніть щоб обрати всі %s відразу." + +msgid "Choose" +msgstr "Обрати" + +msgid "Remove" +msgstr "Видалити" + +#, javascript-format +msgid "Chosen %s" +msgstr "Обрано %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Це список обраних %s. Ви можете видалити деякі з них, виділивши їх у полі " +"нижче і натиснувши кнопку \"Видалити\"." + +msgid "Remove all" +msgstr "Видалити все" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Натисніть щоб видалити всі обрані %s відразу." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "Обрано %(sel)s з %(cnt)s" +msgstr[1] "Обрано %(sel)s з %(cnt)s" +msgstr[2] "Обрано %(sel)s з %(cnt)s" +msgstr[3] "Обрано %(sel)s з %(cnt)s" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Ви зробили якісь зміни у деяких полях. Якщо Ви виконаєте цю дію, всі " +"незбережені зміни буде втрачено." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" + +msgid "Now" +msgstr "Зараз" + +msgid "Midnight" +msgstr "Північ" + +msgid "6 a.m." +msgstr "6" + +msgid "Noon" +msgstr "Полудень" + +msgid "6 p.m." +msgstr "18:00" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Примітка: Ви на %s годину попереду серверного часу." +msgstr[1] "Примітка: Ви на %s години попереду серверного часу." +msgstr[2] "Примітка: Ви на %s годин попереду серверного часу." +msgstr[3] "Примітка: Ви на %s годин попереду серверного часу." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Примітка: Ви на %s годину позаду серверного часу." +msgstr[1] "Примітка: Ви на %s години позаду серверного часу." +msgstr[2] "Примітка: Ви на %s годин позаду серверного часу." +msgstr[3] "Примітка: Ви на %s годин позаду серверного часу." + +msgid "Choose a Time" +msgstr "Оберіть час" + +msgid "Choose a time" +msgstr "Оберіть час" + +msgid "Cancel" +msgstr "Відмінити" + +msgid "Today" +msgstr "Сьогодні" + +msgid "Choose a Date" +msgstr "Оберіть дату" + +msgid "Yesterday" +msgstr "Вчора" + +msgid "Tomorrow" +msgstr "Завтра" + +msgid "January" +msgstr "січня" + +msgid "February" +msgstr "лютого" + +msgid "March" +msgstr "березня" + +msgid "April" +msgstr "квітня" + +msgid "May" +msgstr "травня" + +msgid "June" +msgstr "червня" + +msgid "July" +msgstr "липня" + +msgid "August" +msgstr "серпня" + +msgid "September" +msgstr "вересня" + +msgid "October" +msgstr "жовтня" + +msgid "November" +msgstr "листопада" + +msgid "December" +msgstr "грудня" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Січ." + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Лют." + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Берез." + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Квіт." + +msgctxt "abbrev. month May" +msgid "May" +msgstr "Трав." + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Черв." + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Лип." + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Серп." + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Верес." + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Жовт." + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Листоп." + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Груд." + +msgctxt "one letter Sunday" +msgid "S" +msgstr "Н" + +msgctxt "one letter Monday" +msgid "M" +msgstr "П" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "В" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "С" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "Ч" + +msgctxt "one letter Friday" +msgid "F" +msgstr "П" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "С" + +msgid "Show" +msgstr "Показати" + +msgid "Hide" +msgstr "Сховати" diff --git a/external_sources/django/django/contrib/admin/locale/ur/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/ur/LC_MESSAGES/django.po new file mode 100644 index 0000000..81ef111 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ur/LC_MESSAGES/django.po @@ -0,0 +1,661 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Mansoorulhaq Mansoor , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-19 16:49+0100\n" +"PO-Revision-Date: 2017-09-19 16:40+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Urdu (http://www.transifex.com/django/django/language/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" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d %(items)s کو کامیابی سے مٹا دیا گیا۔" + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "%(name)s نہیں مٹایا جا سکتا" + +msgid "Are you sure?" +msgstr "آپ کو یقین ھے؟" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "منتخب شدہ %(verbose_name_plural)s مٹائیں" + +msgid "Administration" +msgstr "" + +msgid "All" +msgstr "تمام" + +msgid "Yes" +msgstr "ھاں" + +msgid "No" +msgstr "نھیں" + +msgid "Unknown" +msgstr "نامعلوم" + +msgid "Any date" +msgstr "کوئی تاریخ" + +msgid "Today" +msgstr "آج" + +msgid "Past 7 days" +msgstr "گزشتہ سات دن" + +msgid "This month" +msgstr "یہ مھینہ" + +msgid "This year" +msgstr "یہ سال" + +msgid "No date" +msgstr "" + +msgid "Has date" +msgstr "" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" + +msgid "Action:" +msgstr "کاروائی:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "دوسرا %(verbose_name)s درج کریں" + +msgid "Remove" +msgstr "خارج کریں" + +msgid "action time" +msgstr "کاروائی کا وقت" + +msgid "user" +msgstr "" + +msgid "content type" +msgstr "" + +msgid "object id" +msgstr "شے کا شناختی نمبر" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/3/library/functions.html#repr) +msgid "object repr" +msgstr "شے کا نمائندہ" + +msgid "action flag" +msgstr "کاروائی کا پرچم" + +msgid "change message" +msgstr "پیغام تبدیل کریں" + +msgid "log entry" +msgstr "لاگ کا اندراج" + +msgid "log entries" +msgstr "لاگ کے اندراج" + +#, python-format +msgid "Added \"%(object)s\"." +msgstr "" + +#, python-format +msgid "Changed \"%(object)s\" - %(changes)s" +msgstr "" + +#, python-format +msgid "Deleted \"%(object)s.\"" +msgstr "" + +msgid "LogEntry Object" +msgstr "" + +#, python-brace-format +msgid "Added {name} \"{object}\"." +msgstr "" + +msgid "Added." +msgstr "" + +msgid "and" +msgstr "اور" + +#, python-brace-format +msgid "Changed {fields} for {name} \"{object}\"." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "" + +#, python-brace-format +msgid "Deleted {name} \"{object}\"." +msgstr "" + +msgid "No fields changed." +msgstr "کوئی خانہ تبدیل نھیں کیا گیا۔" + +msgid "None" +msgstr "کوئی نھیں" + +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was added successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was added successfully." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} \"{obj}\" was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} \"{obj}\" was changed successfully." +msgstr "" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"اشیاء پر کاروائی سرانجام دینے کے لئے ان کا منتخب ھونا ضروری ھے۔ کوئی شے " +"تبدیل نھیں کی گئی۔" + +msgid "No action selected." +msgstr "کوئی کاروائی منتخب نھیں کی گئی۔" + +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "%(name)s \"%(obj)s\" کامیابی سے مٹایا گیا تھا۔" + +#, python-format +msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "%s کا اضافہ کریں" + +#, python-format +msgid "Change %s" +msgstr "%s تبدیل کریں" + +msgid "Database error" +msgstr "ڈیٹا بیس کی خرابی" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s کامیابی سے تبدیل کیا گیا تھا۔" +msgstr[1] "%(count)s %(name)s کامیابی سے تبدیل کیے گئے تھے۔" + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s منتخب کیا گیا۔" +msgstr[1] "تمام %(total_count)s منتخب کئے گئے۔" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "%(cnt)s میں سے 0 منتخب کیا گیا۔" + +#, python-format +msgid "Change history: %s" +msgstr "%s کی تبدیلی کا تاریخ نامہ" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" + +msgid "Django site admin" +msgstr "منتظم برائے جینگو سائٹ" + +msgid "Django administration" +msgstr "انتظامیہ برائے جینگو سائٹ" + +msgid "Site administration" +msgstr "سائٹ کی انتظامیہ" + +msgid "Log in" +msgstr "اندر جائیں" + +#, python-format +msgid "%(app)s administration" +msgstr "" + +msgid "Page not found" +msgstr "صفحہ نھیں ملا" + +msgid "We're sorry, but the requested page could not be found." +msgstr "ھم معذرت خواہ ھیں، مطلوبہ صفحہ نھیں مل سکا۔" + +msgid "Home" +msgstr "گھر" + +msgid "Server error" +msgstr "سرور کی خرابی" + +msgid "Server error (500)" +msgstr "سرور کی خرابی (500)" + +msgid "Server Error (500)" +msgstr "سرور کی خرابی (500)" + +msgid "" +"There's been an error. It's been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +msgid "Run the selected action" +msgstr "منتخب شدہ کاروائیاں چلائیں" + +msgid "Go" +msgstr "جاؤ" + +msgid "Click here to select the objects across all pages" +msgstr "تمام صفحات میں سے اشیاء منتخب کرنے کے لئے یہاں کلک کریں۔" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "تمام %(total_count)s %(module_name)s منتخب کریں" + +msgid "Clear selection" +msgstr "انتخاب صاف کریں" + +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"پہلے نام صارف اور لفظ اجازت درج کریں۔ پھر آپ مزید صارف کے حقوق مدوّن کرنے کے " +"قابل ھوں گے۔" + +msgid "Enter a username and password." +msgstr "نام صارف اور لفظ اجازت درج کریں۔" + +msgid "Change password" +msgstr "لفظ اجازت تبدیل کریں" + +msgid "Please correct the error below." +msgstr "براہ کرم نیچے غلطیاں درست کریں۔" + +msgid "Please correct the errors below." +msgstr "" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "صارف %(username)s کے لئے نیا لفظ اجازت درج کریں۔" + +msgid "Welcome," +msgstr "خوش آمدید،" + +msgid "View site" +msgstr "" + +msgid "Documentation" +msgstr "طریق استعمال" + +msgid "Log out" +msgstr "باہر جائیں" + +#, python-format +msgid "Add %(name)s" +msgstr "%(name)s کا اضافہ کریں" + +msgid "History" +msgstr "تاریخ نامہ" + +msgid "View on site" +msgstr "سائٹ پر مشاھدہ کریں" + +msgid "Filter" +msgstr "چھانٹیں" + +msgid "Remove from sorting" +msgstr "" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "" + +msgid "Toggle sorting" +msgstr "" + +msgid "Delete" +msgstr "مٹائیں" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"%(object_name)s '%(escaped_object)s' کو مٹانے کے نتیجے میں معتلقہ اشیاء مٹ " +"سکتی ھیں، مگر آپ کے کھاتے کو اشیاء کی مندرجہ ذیل اقسام مٹانے کا حق حاصل نھیں " +"ھے۔" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"%(object_name)s '%(escaped_object)s' کو مٹانے کے لئے مندرجہ ذیل محفوظ متعلقہ " +"اشیاء کو مٹانے کی ضرورت پڑ سکتی ھے۔" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"واقعی آپ %(object_name)s \"%(escaped_object)s\" کو مٹانا چاہتے ھیں۔ مندرجہ " +"ذیل تمام متعلقہ اجزاء مٹ جائیں گے۔" + +msgid "Objects" +msgstr "" + +msgid "Yes, I'm sure" +msgstr "ھاں، مجھے یقین ھے" + +msgid "No, take me back" +msgstr "" + +msgid "Delete multiple objects" +msgstr "متعدد اشیاء مٹائیں" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"منتخب شدہ %(objects_name)s کو مٹانے کے نتیجے میں متعلقہ اشیاء مٹ سکتی ھیں، " +"لیکن آپ کے کھاتے کو اشیاء کی مندرجہ ذیل اقسام کو مٹانے کا حق حاصل نھیں ھے۔" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"منتخب شدہ %(objects_name)s کو مٹانے کے لئے مندرجہ ذیل محفوظ شدہ اشیاء کو " +"مٹانے کی ضرورت پڑ سکتی ھے۔" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"واقعی آپ منتخب شدہ %(objects_name)s مٹانا چاھتے ھیں؟ مندرجہ ذیل اور ان سے " +"متعلقہ تمام اشیاء حذف ھو جائیں گی۔" + +msgid "Change" +msgstr "تدوین" + +msgid "Delete?" +msgstr "مٹاؤں؟" + +#, python-format +msgid " By %(filter_title)s " +msgstr "از %(filter_title)s" + +msgid "Summary" +msgstr "" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "" + +msgid "Add" +msgstr "اضافہ" + +msgid "You don't have permission to edit anything." +msgstr "آپ کو کوئی چیز مدوّن کرنے کا حق نھیں ھے۔" + +msgid "Recent actions" +msgstr "" + +msgid "My actions" +msgstr "" + +msgid "None available" +msgstr "کچھ دستیاب نھیں" + +msgid "Unknown content" +msgstr "نامعلوم مواد" + +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"آپ کی ڈیٹا بیس کی تنصیب میں کوئی چیز خراب ھے۔ یقین کر لیں کہ موزون ڈیٹا بیس " +"ٹیبل بنائے گئے تھے، اور یقین کر لیں کہ ڈیٹ بیس مناسب صارف کے پڑھے جانے کے " +"قابل ھے۔" + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" + +msgid "Forgotten your password or username?" +msgstr "" + +msgid "Date/time" +msgstr "تاریخ/وقت" + +msgid "User" +msgstr "صارف" + +msgid "Action" +msgstr "کاروائی" + +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"اس شے کا تبدیلی کا تاریخ نامہ نھیں ھے۔ اس کا غالباً بذریعہ اس منتظم سائٹ کے " +"اضافہ نھیں کیا گیا۔" + +msgid "Show all" +msgstr "تمام دکھائیں" + +msgid "Save" +msgstr "محفوظ کریں" + +msgid "Popup closing..." +msgstr "" + +#, python-format +msgid "Change selected %(model)s" +msgstr "" + +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "" + +msgid "Search" +msgstr "تلاش کریں" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s نتیجہ" +msgstr[1] "%(counter)s نتائج" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "کل %(full_result_count)s" + +msgid "Save as new" +msgstr "بطور نیا محفوظ کریں" + +msgid "Save and add another" +msgstr "محفوظ کریں اور مزید اضافہ کریں" + +msgid "Save and continue editing" +msgstr "محفوظ کریں اور تدوین جاری رکھیں" + +msgid "Thanks for spending some quality time with the Web site today." +msgstr "ویب سائٹ پر آج کچھ معیاری وقت خرچ کرنے کے لئے شکریہ۔" + +msgid "Log in again" +msgstr "دوبارہ اندر جائیں" + +msgid "Password change" +msgstr "لفظ اجازت کی تبدیلی" + +msgid "Your password was changed." +msgstr "آپ کا لفظ اجازت تبدیل کر دیا گیا تھا۔" + +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"براہ کرم سیکیورٹی کی خاطر اپنا پرانا لفظ اجازت درج کریں اور پھر اپنا نیا لفظ " +"اجازت دو مرتبہ درج کریں تاکہ ھم توثیق کر سکیں کہ آپ نے اسے درست درج کیا ھے۔" + +msgid "Change my password" +msgstr "میرا لفظ تبدیل کریں" + +msgid "Password reset" +msgstr "لفظ اجازت کی دوبارہ ترتیب" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "" +"آپ کا لفظ اجازت مرتب کر دیا گیا ھے۔ آپ کو آگے بڑھنے اور اندر جانے کی اجازت " +"ھے۔" + +msgid "Password reset confirmation" +msgstr "لفظ اجازت دوبارہ مرتب کرنے کی توثیق" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"براہ مھربانی اپنا نیا لفظ اجازت دو مرتبہ درج کریں تاکہ تاکہ ھم تصدیق کر سکیں " +"کہ تم نے اسے درست درج کیا ھے۔" + +msgid "New password:" +msgstr "نیا لفظ اجازت:" + +msgid "Confirm password:" +msgstr "لفظ اجازت کی توثیق:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"لفظ اجازت دوبارہ مرتب کرنے کا رابطہ (لنک) غلط تھا، غالباً یہ پہلے ھی استعمال " +"کیا چکا تھا۔ براہ مھربانی نیا لفظ اجازت مرتب کرنے کی درخواست کریں۔" + +msgid "" +"We've emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don't receive an email, please make sure you've entered the address " +"you registered with, and check your spam folder." +msgstr "" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" + +msgid "Please go to the following page and choose a new password:" +msgstr "براہ مھربانی مندرجہ ذیل صفحے پر جائیں اور نیا لفظ اجازت پسند کریں:" + +msgid "Your username, in case you've forgotten:" +msgstr "نام صارف، بھول جانے کی صورت میں:" + +msgid "Thanks for using our site!" +msgstr "ھماری سائٹ استعمال کرنے کے لئے شکریہ" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s کی ٹیم" + +msgid "" +"Forgotten your password? Enter your email address below, and we'll email " +"instructions for setting a new one." +msgstr "" + +msgid "Email address:" +msgstr "" + +msgid "Reset my password" +msgstr "میرا لفظ اجازت دوبارہ مرتب کریں" + +msgid "All dates" +msgstr "تمام تاریخیں" + +#, python-format +msgid "Select %s" +msgstr "%s منتخب کریں" + +#, python-format +msgid "Select %s to change" +msgstr "تبدیل کرنے کے لئے %s منتخب کریں" + +msgid "Date:" +msgstr "تاریخ:" + +msgid "Time:" +msgstr "وقت:" + +msgid "Lookup" +msgstr "ڈھونڈیں" + +msgid "Currently:" +msgstr "" + +msgid "Change:" +msgstr "" diff --git a/external_sources/django/django/contrib/admin/locale/ur/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/ur/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..a4f5642 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/ur/LC_MESSAGES/djangojs.po @@ -0,0 +1,211 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Mansoorulhaq Mansoor , 2011 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"PO-Revision-Date: 2017-09-19 16:41+0000\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: Urdu (http://www.transifex.com/django/django/language/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" + +#, javascript-format +msgid "Available %s" +msgstr "دستیاب %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" + +msgid "Filter" +msgstr "چھانٹیں" + +msgid "Choose all" +msgstr "سب منتخب کریں" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "" + +msgid "Choose" +msgstr "" + +msgid "Remove" +msgstr "خارج کریں" + +#, javascript-format +msgid "Chosen %s" +msgstr "منتخب شدہ %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" + +msgid "Remove all" +msgstr "" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(cnt)s میں سے %(sel)s منتخب کیا گیا" +msgstr[1] "%(cnt)s میں سے %(sel)s منتخب کیے گئے" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"آپ کے پاس ذاتی قابل تدوین خانوں میں غیر محفوظ تبدیلیاں موجود ھیں۔ اگر آپ " +"کوئی کاروائی کریں گے تو آپ کی غیر محفوظ تبدیلیاں ضائع ھو جائیں گی۔" + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"آپ نے ایک کاروائی منتخب کی ھے لیکن ابھی تک آپ نے ذاتی خانوں میں اپنی " +"تبدیلیاں محفوظ نہیں کی ہیں براہ مھربانی محفوط کرنے کے لئے OK پر کلک کریں۔ آپ " +"کاوائی دوبارہ چلانے کی ضرورت ھوگی۔" + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"آپ نے ایک کاروائی منتخب کی ھے، اور آپ نے ذاتی خانوں میں کوئی تبدیلی نہیں کی " +"غالباً آپ 'جاؤ' بٹن تلاش کر رھے ھیں بجائے 'مخفوظ کریں' بٹن کے۔" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" +msgstr[1] "" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +msgstr[1] "" + +msgid "Now" +msgstr "اب" + +msgid "Choose a Time" +msgstr "" + +msgid "Choose a time" +msgstr "وقت منتخب کریں" + +msgid "Midnight" +msgstr "نصف رات" + +msgid "6 a.m." +msgstr "6 ص" + +msgid "Noon" +msgstr "دوپھر" + +msgid "6 p.m." +msgstr "" + +msgid "Cancel" +msgstr "منسوخ کریں" + +msgid "Today" +msgstr "آج" + +msgid "Choose a Date" +msgstr "" + +msgid "Yesterday" +msgstr "گزشتہ کل" + +msgid "Tomorrow" +msgstr "آئندہ کل" + +msgid "January" +msgstr "" + +msgid "February" +msgstr "" + +msgid "March" +msgstr "" + +msgid "April" +msgstr "" + +msgid "May" +msgstr "" + +msgid "June" +msgstr "" + +msgid "July" +msgstr "" + +msgid "August" +msgstr "" + +msgid "September" +msgstr "" + +msgid "October" +msgstr "" + +msgid "November" +msgstr "" + +msgid "December" +msgstr "" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "" + +msgctxt "one letter Monday" +msgid "M" +msgstr "" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "" + +msgctxt "one letter Friday" +msgid "F" +msgstr "" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "" + +msgid "Show" +msgstr "دکھائیں" + +msgid "Hide" +msgstr "چھپائیں" diff --git a/external_sources/django/django/contrib/admin/locale/uz/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/uz/LC_MESSAGES/django.po new file mode 100644 index 0000000..8b4f8fd --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/uz/LC_MESSAGES/django.po @@ -0,0 +1,724 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Alex Ibragimov, 2021 +# Anvar Ulugov , 2020 +# Bedilbek Khamidov , 2019 +# Claude Paroz , 2019 +# Nuriddin Islamov, 2021 +# Shukrullo Turgunov , 2021,2024 +# Sukhrobbek Ismatov , 2019 +# Yet Sum , 2019 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 11:41-0300\n" +"PO-Revision-Date: 2024-01-25 07:05+0000\n" +"Last-Translator: Shukrullo Turgunov , 2021,2024\n" +"Language-Team: Uzbek (http://app.transifex.com/django/django/language/uz/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uz\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "%(verbose_name_plural)s larni o'chirish" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d%(items)s muvaffaqiyatli o'chirildi." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "%(name)s o'chirib bo'lmadi" + +msgid "Are you sure?" +msgstr "Ishonchingiz komilmi?" + +msgid "Administration" +msgstr "Administratsiya" + +msgid "All" +msgstr "Barchasi" + +msgid "Yes" +msgstr "Ha" + +msgid "No" +msgstr "Yo'q" + +msgid "Unknown" +msgstr "Noma'lum" + +msgid "Any date" +msgstr "Istalgan kun" + +msgid "Today" +msgstr "Bugun" + +msgid "Past 7 days" +msgstr "O'tgan 7 kun" + +msgid "This month" +msgstr "Shu oyda" + +msgid "This year" +msgstr "Shu yilda" + +msgid "No date" +msgstr "Sanasi yo'q" + +msgid "Has date" +msgstr "Sanasi bor" + +msgid "Empty" +msgstr "Bo'sh" + +msgid "Not empty" +msgstr "Bo'sh emas" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Xodimlar akkaunti uchun to'g'ri %(username)s va parolni kiriting. E'tibor " +"bering, har ikkala maydon ham harf katta-kichikligini hisobga olishi mumkin." + +msgid "Action:" +msgstr "Harakat:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Boshqa %(verbose_name)s qo‘shish" + +msgid "Remove" +msgstr "O'chirish" + +msgid "Addition" +msgstr " Qo'shish" + +msgid "Change" +msgstr "O'zgartirish" + +msgid "Deletion" +msgstr "O'chirish" + +msgid "action time" +msgstr "harakat vaqti" + +msgid "user" +msgstr "foydalanuvchi" + +msgid "content type" +msgstr "tarkib turi" + +msgid "object id" +msgstr "obyekt identifikatori" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "obyekt taqdimi" + +msgid "action flag" +msgstr "harakat bayrog'i" + +msgid "change message" +msgstr "xabarni o'zgartirish" + +msgid "log entry" +msgstr "jurnal yozuvi" + +msgid "log entries" +msgstr "jurnal yozuvlari" + +#, python-format +msgid "Added “%(object)s”." +msgstr "\"%(object)s\" qo'shildi." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "%(object)s dan %(changes)sga o'zgartirildi." + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "\"%(object)s\" o'chirildi." + +msgid "LogEntry Object" +msgstr "" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "" + +msgid "Added." +msgstr "" + +msgid "and" +msgstr "va" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "" + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "" + +msgid "No fields changed." +msgstr "" + +msgid "None" +msgstr "Bo'sh" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" + +msgid "Select this object for an action - {}" +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "" + +msgid "You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "{name} \"{obj}\" muvaffaqiyatli o'zgartirildi." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" + +msgid "No action selected." +msgstr "" + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s%(obj)smuvaffaqiyatli o'chirildi" + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "" + +#, python-format +msgid "Add %s" +msgstr "Qo'shish %s" + +#, python-format +msgid "Change %s" +msgstr "%sni o'zgartirish" + +#, python-format +msgid "View %s" +msgstr "Ko'rish %s" + +msgid "Database error" +msgstr "Ma'lumotlar bazasi xatoligi yuz berdi" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "" + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "" + +#, python-format +msgid "Change history: %s" +msgstr "" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" + +msgid "Django site admin" +msgstr "" + +msgid "Django administration" +msgstr "" + +msgid "Site administration" +msgstr "" + +msgid "Log in" +msgstr "" + +#, python-format +msgid "%(app)s administration" +msgstr "" + +msgid "Page not found" +msgstr "" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "" + +msgid "Home" +msgstr "" + +msgid "Server error" +msgstr "Server xatoligi" + +msgid "Server error (500)" +msgstr "Server xatoligi (500)" + +msgid "Server Error (500)" +msgstr "Server xatoligi (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" + +msgid "Run the selected action" +msgstr "Tanlangan faoliyatni ishga tushirish" + +msgid "Go" +msgstr "" + +msgid "Click here to select the objects across all pages" +msgstr "" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "" + +msgid "Clear selection" +msgstr "" + +msgid "Breadcrumbs" +msgstr "" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "" + +msgid "Add" +msgstr "Qo'shish" + +msgid "View" +msgstr "Ko'rish" + +msgid "You don’t have permission to view or edit anything." +msgstr "" + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" + +msgid "Enter a username and password." +msgstr "Username va parolni kiritish" + +msgid "Change password" +msgstr "Parolni o'zgartirish" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" + +msgid "Skip to main content" +msgstr "" + +msgid "Welcome," +msgstr "Xush kelibsiz," + +msgid "View site" +msgstr "Saytni ko'rish" + +msgid "Documentation" +msgstr "Qo'llanma" + +msgid "Log out" +msgstr "Chiqish" + +#, python-format +msgid "Add %(name)s" +msgstr "%(name)sqo'shish" + +msgid "History" +msgstr "" + +msgid "View on site" +msgstr "Saytda ko'rish" + +msgid "Filter" +msgstr "Saralash" + +msgid "Hide counts" +msgstr "" + +msgid "Show counts" +msgstr "" + +msgid "Clear all filters" +msgstr "" + +msgid "Remove from sorting" +msgstr "Tartiblashdan chiqarish" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "" + +msgid "Toggle sorting" +msgstr "" + +msgid "Toggle theme (current theme: auto)" +msgstr "" + +msgid "Toggle theme (current theme: light)" +msgstr "" + +msgid "Toggle theme (current theme: dark)" +msgstr "" + +msgid "Delete" +msgstr "O'chirish" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" + +msgid "Objects" +msgstr "" + +msgid "Yes, I’m sure" +msgstr "" + +msgid "No, take me back" +msgstr "" + +msgid "Delete multiple objects" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" + +msgid "Delete?" +msgstr "O'chirasizmi?" + +#, python-format +msgid " By %(filter_title)s " +msgstr "" + +msgid "Summary" +msgstr "Xulosa" + +msgid "Recent actions" +msgstr "So'ngi harakatlar" + +msgid "My actions" +msgstr "Mening harakatlarim" + +msgid "None available" +msgstr "" + +msgid "Added:" +msgstr "" + +msgid "Changed:" +msgstr "" + +msgid "Deleted:" +msgstr "" + +msgid "Unknown content" +msgstr "" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" + +msgid "Forgotten your password or username?" +msgstr "" + +msgid "Toggle navigation" +msgstr "Navigatsiyani almashtirish" + +msgid "Sidebar" +msgstr "" + +msgid "Start typing to filter…" +msgstr "" + +msgid "Filter navigation items" +msgstr "" + +msgid "Date/time" +msgstr "" + +msgid "User" +msgstr "" + +msgid "Action" +msgstr "" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" + +msgid "Show all" +msgstr "" + +msgid "Save" +msgstr "Saqlash" + +msgid "Popup closing…" +msgstr "" + +msgid "Search" +msgstr "Izlash" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "" + +msgid "Save as new" +msgstr "" + +msgid "Save and add another" +msgstr "" + +msgid "Save and continue editing" +msgstr "" + +msgid "Save and view" +msgstr "" + +msgid "Close" +msgstr "" + +#, python-format +msgid "Change selected %(model)s" +msgstr "" + +#, python-format +msgid "Add another %(model)s" +msgstr "" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "" + +#, python-format +msgid "View selected %(model)s" +msgstr "" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "" + +msgid "Log in again" +msgstr "" + +msgid "Password change" +msgstr "" + +msgid "Your password was changed." +msgstr "" + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" + +msgid "Change my password" +msgstr "" + +msgid "Password reset" +msgstr "" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "" + +msgid "Password reset confirmation" +msgstr "" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" + +msgid "New password:" +msgstr "" + +msgid "Confirm password:" +msgstr "" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" + +msgid "Please go to the following page and choose a new password:" +msgstr "" + +msgid "Your username, in case you’ve forgotten:" +msgstr "" + +msgid "Thanks for using our site!" +msgstr "" + +#, python-format +msgid "The %(site_name)s team" +msgstr "" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" + +msgid "Email address:" +msgstr "" + +msgid "Reset my password" +msgstr "Parolimni tiklash" + +msgid "Select all objects on this page for an action" +msgstr "" + +msgid "All dates" +msgstr "Barcha sanalar" + +#, python-format +msgid "Select %s" +msgstr "%sni tanlash" + +#, python-format +msgid "Select %s to change" +msgstr "" + +#, python-format +msgid "Select %s to view" +msgstr "" + +msgid "Date:" +msgstr "Sana:" + +msgid "Time:" +msgstr "Vaqt:" + +msgid "Lookup" +msgstr "Izlash" + +msgid "Currently:" +msgstr "Hozirda:" + +msgid "Change:" +msgstr "O'zgartirish:" diff --git a/external_sources/django/django/contrib/admin/locale/uz/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/uz/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..d731b22 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/uz/LC_MESSAGES/djangojs.po @@ -0,0 +1,261 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Nuriddin Islamov, 2021 +# Otabek Umurzakov , 2019 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-15 09:00+0100\n" +"PO-Revision-Date: 2021-12-15 16:52+0000\n" +"Last-Translator: Nuriddin Islamov\n" +"Language-Team: Uzbek (http://www.transifex.com/django/django/language/uz/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uz\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, javascript-format +msgid "Available %s" +msgstr "Mavjud %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Bu mavjud %s ro'yxati. Siz ulardan ba'zilarini quyidagi maydonchada " +"belgilab, so'ng ikkala maydonlar orasidagi \"Tanlash\" ko'rsatkichiga bosish " +"orqali tanlashingiz mumkin." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "" +"Mavjud bo'lgan %s larni ro'yxatini filtrlash uchun ushbu maydonchaga " +"kiriting." + +msgid "Filter" +msgstr "Filtrlash" + +msgid "Choose all" +msgstr "Barchasini tanlash" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Barcha %s larni birdan tanlash uchun bosing." + +msgid "Choose" +msgstr "Tanlash" + +msgid "Remove" +msgstr "O'chirish" + +#, javascript-format +msgid "Chosen %s" +msgstr "Tanlangan %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Bu tanlangan %s ro'yxati. Siz ulardan ba'zilarini quyidagi maydonchada " +"belgilab, so'ng ikkala maydonlar orasidagi \"O'chirish\" ko'rsatkichiga " +"bosish orqali o'chirishingiz mumkin." + +msgid "Remove all" +msgstr "Barchasini o'chirish" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Barcha tanlangan %s larni birdan o'chirib tashlash uchun bosing." + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(cnt)s dan %(sel)s tanlandi" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Siz alohida tahrirlash mumkin bo'lgan maydonlarda saqlanmagan " +"o‘zgarishlaringiz mavjud. Agar siz harakatni ishga tushirsangiz, saqlanmagan " +"o'zgarishlaringiz yo'qotiladi." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" + +msgid "Now" +msgstr "Hozir" + +msgid "Midnight" +msgstr "Yarim tun" + +msgid "6 a.m." +msgstr "6 t.o." + +msgid "Noon" +msgstr "Kun o'rtasi" + +msgid "6 p.m." +msgstr "6 t.k." + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "Eslatma: Siz server vaqtidan %s soat oldindasiz." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "Eslatma: Siz server vaqtidan %s soat orqadasiz." + +msgid "Choose a Time" +msgstr "Vaqtni tanlang" + +msgid "Choose a time" +msgstr "Vaqtni tanlang" + +msgid "Cancel" +msgstr "Bekor qilish" + +msgid "Today" +msgstr "Bugun" + +msgid "Choose a Date" +msgstr "Sanani tanlang" + +msgid "Yesterday" +msgstr "Kecha" + +msgid "Tomorrow" +msgstr "Ertaga" + +msgid "January" +msgstr "Yanvar" + +msgid "February" +msgstr "Fevral" + +msgid "March" +msgstr "Mart" + +msgid "April" +msgstr "Aprel" + +msgid "May" +msgstr "May" + +msgid "June" +msgstr "Iyun" + +msgid "July" +msgstr "Iyul" + +msgid "August" +msgstr "Avgust" + +msgid "September" +msgstr "Sentabr" + +msgid "October" +msgstr "Oktabr" + +msgid "November" +msgstr "Noyabr" + +msgid "December" +msgstr "Dekabr" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "Ya" + +msgctxt "one letter Monday" +msgid "M" +msgstr "Du" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "Se" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "Ch" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "Pa" + +msgctxt "one letter Friday" +msgid "F" +msgstr "Ju" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "Sh" + +msgid "Show" +msgstr "Ko'rsatish" + +msgid "Hide" +msgstr "Bekitish" diff --git a/external_sources/django/django/contrib/admin/locale/vi/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/vi/LC_MESSAGES/django.po new file mode 100644 index 0000000..60fe2ce --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/vi/LC_MESSAGES/django.po @@ -0,0 +1,726 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Dimitris Glezos , 2012 +# Jannis Leidel , 2011 +# Thanh Le Viet , 2013 +# Tran , 2011 +# Tran Van , 2011-2013,2016,2018 +# tinnguyen121221, 2021 +# Vuong Nguyen , 2011 +# xgenvn , 2014 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-09-21 10:22+0200\n" +"PO-Revision-Date: 2021-12-23 17:57+0000\n" +"Last-Translator: tinnguyen121221\n" +"Language-Team: Vietnamese (http://www.transifex.com/django/django/language/" +"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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Xóa các %(verbose_name_plural)s đã chọn" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Đã xóa thành công %(count)d %(items)s ." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "Không thể xóa %(name)s" + +msgid "Are you sure?" +msgstr "Bạn có chắc chắn không?" + +msgid "Administration" +msgstr "Quản trị website" + +msgid "All" +msgstr "Tất cả" + +msgid "Yes" +msgstr "Có" + +msgid "No" +msgstr "Không" + +msgid "Unknown" +msgstr "Chưa xác định" + +msgid "Any date" +msgstr "Bất kì ngày nào" + +msgid "Today" +msgstr "Hôm nay" + +msgid "Past 7 days" +msgstr "7 ngày trước" + +msgid "This month" +msgstr "Tháng này" + +msgid "This year" +msgstr "Năm nay" + +msgid "No date" +msgstr "Không có ngày" + +msgid "Has date" +msgstr "Có ngày" + +msgid "Empty" +msgstr "Rỗng" + +msgid "Not empty" +msgstr "Không rỗng" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"Bạn hãy nhập đúng %(username)s và mật khẩu. (Có phân biệt chữ hoa, thường)" + +msgid "Action:" +msgstr "Hoạt động:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Thêm một %(verbose_name)s " + +msgid "Remove" +msgstr "Gỡ bỏ" + +msgid "Addition" +msgstr "Thêm" + +msgid "Change" +msgstr "Thay đổi" + +msgid "Deletion" +msgstr "Xóa" + +msgid "action time" +msgstr "Thời gian tác động" + +msgid "user" +msgstr "người dùng" + +msgid "content type" +msgstr "kiểu nội dung" + +msgid "object id" +msgstr "Mã đối tượng" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "đối tượng repr" + +msgid "action flag" +msgstr "hiệu hành động" + +msgid "change message" +msgstr "thay đổi tin nhắn" + +msgid "log entry" +msgstr "đăng nhập" + +msgid "log entries" +msgstr "mục đăng nhập" + +#, python-format +msgid "Added “%(object)s”." +msgstr "Đã thêm “%(object)s”." + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "Đã thay đổi “%(object)s” — %(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "Đã xóa “%(object)s.”" + +msgid "LogEntry Object" +msgstr "LogEntry Object" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "Đã thêm {name} “{object}”." + +msgid "Added." +msgstr "Được thêm." + +msgid "and" +msgstr "và" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "Đã thay đổi {fields} cho {name} “{object}”." + +#, python-brace-format +msgid "Changed {fields}." +msgstr "Đã thay đổi {fields}." + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "Đã xóa {name} “{object}”." + +msgid "No fields changed." +msgstr "Không có trường nào thay đổi" + +msgid "None" +msgstr "Không" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "" +"Nhấn giữ phím “Control”, hoặc “Command” trên máy Mac, để chọn nhiều hơn một." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "{name} “{obj}” được thêm vào thành công." + +msgid "You may edit it again below." +msgstr "Bạn có thể chỉnh sửa lại bên dưới." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "" +"{name} “{obj}” được thêm vào thành công. Bạn có thể thêm một {name} khác bên " +"dưới." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "" +"{name} “{obj}” được chỉnh sửa thành công. Bạn có thể chỉnh sửa lại bên dưới." + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully. You may edit it again below." +msgstr "" +"{name} “{obj}” được thêm vào thành công. Bạn có thể chỉnh sửa lại bên dưới." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "" +"{name} “{obj}” được chỉnh sửa thành công. Bạn có thể thêm một {name} khác " +"bên dưới." + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "{name} “{obj}” đã được thay đổi thành công." + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Mục tiêu phải được chọn mới có thể thực hiện hành động trên chúng. Không có " +"mục tiêu nào đã được thay đổi." + +msgid "No action selected." +msgstr "Không có hoạt động nào được lựa chọn." + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "%(name)s “%(obj)s” đã được xóa thành công." + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "%(name)s với ID “%(key)s” không tồn tại. Có lẽ nó đã bị xóa?" + +#, python-format +msgid "Add %s" +msgstr "Thêm %s" + +#, python-format +msgid "Change %s" +msgstr "Thay đổi %s" + +#, python-format +msgid "View %s" +msgstr "Xem %s" + +msgid "Database error" +msgstr "Cơ sở dữ liệu bị lỗi" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] " %(count)s %(name)s đã được thay đổi thành công." + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "Tất cả %(total_count)s đã được chọn" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 của %(cnt)s được chọn" + +#, python-format +msgid "Change history: %s" +msgstr "Lịch sử thay đổi: %s" + +#. Translators: Model verbose name and instance representation, +#. suitable to be an item in a list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"Xóa %(class_name)s %(instance)s sẽ tự động xóa các đối tượng liên quan sau: " +"%(related_objects)s" + +msgid "Django site admin" +msgstr "Trang web admin Django" + +msgid "Django administration" +msgstr "Trang quản trị cho Django" + +msgid "Site administration" +msgstr "Site quản trị hệ thống." + +msgid "Log in" +msgstr "Đăng nhập" + +#, python-format +msgid "%(app)s administration" +msgstr "Quản lý %(app)s" + +msgid "Page not found" +msgstr "Không tìm thấy trang nào" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "Rất tiếc, không thể tìm thấy trang được yêu cầu." + +msgid "Home" +msgstr "Trang chủ" + +msgid "Server error" +msgstr "Lỗi máy chủ" + +msgid "Server error (500)" +msgstr "Lỗi máy chủ (500)" + +msgid "Server Error (500)" +msgstr "Lỗi máy chủ (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"Có lỗi xảy ra. Lỗi sẽ được gửi đến quản trị website qua email và sẽ được " +"khắc phục sớm. Cám ơn bạn." + +msgid "Run the selected action" +msgstr "Bắt đầu hành động lựa chọn" + +msgid "Go" +msgstr "Đi đến" + +msgid "Click here to select the objects across all pages" +msgstr "Click vào đây để lựa chọn các đối tượng trên tất cả các trang" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Hãy chọn tất cả %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "Xóa lựa chọn" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "Các mô models trong %(name)s" + +msgid "Add" +msgstr "Thêm vào" + +msgid "View" +msgstr "Xem" + +msgid "You don’t have permission to view or edit anything." +msgstr "Bạn không có quyền xem hoặc chỉnh sửa bất cứ gì." + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "" +"Đầu tiên, điền tên đăng nhập và mật khẩu. Sau đó, bạn mới có thể chỉnh sửa " +"nhiều hơn lựa chọn của người dùng." + +msgid "Enter a username and password." +msgstr "Điền tên đăng nhập và mật khẩu." + +msgid "Change password" +msgstr "Đổi mật khẩu" + +msgid "Please correct the error below." +msgstr "Hãy sửa lỗi sai dưới đây" + +msgid "Please correct the errors below." +msgstr "Hãy chỉnh sửa lại các lỗi sau." + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Hãy nhập mật khẩu mới cho người sử dụng %(username)s." + +msgid "Welcome," +msgstr "Chào mừng bạn," + +msgid "View site" +msgstr "Xem trang web" + +msgid "Documentation" +msgstr "Tài liệu" + +msgid "Log out" +msgstr "Thoát" + +#, python-format +msgid "Add %(name)s" +msgstr "Thêm vào %(name)s" + +msgid "History" +msgstr "Bản ghi nhớ" + +msgid "View on site" +msgstr "Xem trên trang web" + +msgid "Filter" +msgstr "Bộ lọc" + +msgid "Clear all filters" +msgstr "Xóa tất cả bộ lọc" + +msgid "Remove from sorting" +msgstr "Bỏ khỏi sắp xếp" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "Sắp xếp theo:%(priority_number)s" + +msgid "Toggle sorting" +msgstr "Hoán đổi sắp xếp" + +msgid "Delete" +msgstr "Xóa" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Xóa %(object_name)s '%(escaped_object)s' sẽ làm mất những dữ liệu có liên " +"quan. Tài khoản của bạn không được cấp quyển xóa những dữ liệu đi kèm theo." + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"Xóa các %(object_name)s ' %(escaped_object)s ' sẽ bắt buộc xóa các đối " +"tượng được bảo vệ sau đây:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Bạn có chắc là muốn xóa %(object_name)s \"%(escaped_object)s\"?Tất cả những " +"dữ liệu đi kèm dưới đây cũng sẽ bị mất:" + +msgid "Objects" +msgstr "Đối tượng" + +msgid "Yes, I’m sure" +msgstr "Có, tôi chắc chắn" + +msgid "No, take me back" +msgstr "Không, đưa tôi trở lại" + +msgid "Delete multiple objects" +msgstr "Xóa nhiều đối tượng" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"Xóa các %(objects_name)s sẽ bắt buộc xóa các đối tượng liên quan, nhưng tài " +"khoản của bạn không có quyền xóa các loại đối tượng sau đây:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "" +"Xóa các %(objects_name)s sẽ bắt buộc xóa các đối tượng đã được bảo vệ sau " +"đây:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"Bạn chắc chắn muốn xóa những lựa chọn %(objects_name)s? Tất cả những đối " +"tượng sau và những đối tượng liên quan sẽ được xóa:" + +msgid "Delete?" +msgstr "Bạn muốn xóa?" + +#, python-format +msgid " By %(filter_title)s " +msgstr "Bởi %(filter_title)s " + +msgid "Summary" +msgstr "Tóm tắt" + +msgid "Recent actions" +msgstr "Hoạt động gần đây" + +msgid "My actions" +msgstr "Hoạt động của tôi" + +msgid "None available" +msgstr "Không có sẵn" + +msgid "Unknown content" +msgstr "Không biết nội dung" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Một vài lỗi với cơ sở dữ liệu cài đặt của bạn. Hãy chắc chắn bảng biểu dữ " +"liệu được tạo phù hợp và dữ liệu có thể được đọc bởi những người sử dụng phù " +"hợp." + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"Bạn đã xác thực bằng tài khoản %(username)s, nhưng không đủ quyền để truy " +"cập trang này. Bạn có muốn đăng nhập bằng một tài khoản khác?" + +msgid "Forgotten your password or username?" +msgstr "Bạn quên mật khẩu hoặc tài khoản?" + +msgid "Toggle navigation" +msgstr "" + +msgid "Start typing to filter…" +msgstr "Nhập để lọc..." + +msgid "Filter navigation items" +msgstr "" + +msgid "Date/time" +msgstr "Ngày/giờ" + +msgid "User" +msgstr "Người dùng" + +msgid "Action" +msgstr "Hành động" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "" +"Đối tượng này không có một lịch sử thay đổi. Nó có lẽ đã không được thêm vào " +"qua trang web admin." + +msgid "Show all" +msgstr "Hiện tất cả" + +msgid "Save" +msgstr "Lưu lại" + +msgid "Popup closing…" +msgstr "Đang đóng cửa sổ popup ..." + +msgid "Search" +msgstr "Tìm kiếm" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s kết quả" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "tổng số %(full_result_count)s" + +msgid "Save as new" +msgstr "Lưu mới" + +msgid "Save and add another" +msgstr "Lưu và thêm mới" + +msgid "Save and continue editing" +msgstr "Lưu và tiếp tục chỉnh sửa" + +msgid "Save and view" +msgstr "Lưu lại và xem" + +msgid "Close" +msgstr "Đóng" + +#, python-format +msgid "Change selected %(model)s" +msgstr "Thay đổi %(model)s đã chọn" + +#, python-format +msgid "Add another %(model)s" +msgstr "Thêm %(model)s khác" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "Xóa %(model)s đã chọn" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "Cảm ơn bạn đã dành thời gian với trang web." + +msgid "Log in again" +msgstr "Đăng nhập lại" + +msgid "Password change" +msgstr "Thay đổi mật khẩu" + +msgid "Your password was changed." +msgstr "Mật khẩu của bạn đã được thay đổi" + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Hãy nhập lại mật khẩu cũ và sau đó nhập mật khẩu mới hai lần để chúng tôi có " +"thể kiểm tra lại xem bạn đã gõ chính xác hay chưa." + +msgid "Change my password" +msgstr "Thay đổi mật khẩu" + +msgid "Password reset" +msgstr "Lập lại mật khẩu" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Mật khẩu của bạn đã được lập lại. Bạn hãy thử đăng nhập." + +msgid "Password reset confirmation" +msgstr "Xác nhận việc lập lại mật khẩu" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Hãy nhập mật khẩu mới hai lần để chúng tôi có thể kiểm tra xem bạn đã gõ " +"chính xác chưa" + +msgid "New password:" +msgstr "Mật khẩu mới" + +msgid "Confirm password:" +msgstr "Nhập lại mật khẩu:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Liên kết đặt lại mật khẩu không hợp lệ, có thể vì nó đã được sử dụng. Xin " +"vui lòng yêu cầu đặt lại mật khẩu mới." + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"Chúng tôi đã gửi cho bạn hướng dẫn thiết lập mật khẩu của bạn qua email, nếu " +"tài khoản tồn tại với email bạn đã nhập. Bạn sẽ nhận được chúng sớm." + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"Nếu bạn không nhận được email, hãy đảm bảo rằng bạn đã nhập địa chỉ mà bạn " +"đã đăng ký và kiểm tra thư mục spam của mình." + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" +"Bạn nhận được email này vì bạn đã yêu cầu làm mới lại mật khẩu cho tài khoản " +"của bạn tại %(site_name)s." + +msgid "Please go to the following page and choose a new password:" +msgstr "Hãy vào đường link dưới đây và chọn một mật khẩu mới" + +msgid "Your username, in case you’ve forgotten:" +msgstr "Tên đăng nhập của bạn, trường hợp bạn quên nó:" + +msgid "Thanks for using our site!" +msgstr "Cảm ơn bạn đã sử dụng website của chúng tôi!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "Đội của %(site_name)s" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"Quên mật khẩu? Nhập địa chỉ email vào ô dưới đây. Chúng tôi sẽ email cho bạn " +"hướng dẫn cách thiết lập mật khẩu mới." + +msgid "Email address:" +msgstr "Địa chỉ Email:" + +msgid "Reset my password" +msgstr "Làm lại mật khẩu" + +msgid "All dates" +msgstr "Tất cả các ngày" + +#, python-format +msgid "Select %s" +msgstr "Chọn %s" + +#, python-format +msgid "Select %s to change" +msgstr "Chọn %s để thay đổi" + +#, python-format +msgid "Select %s to view" +msgstr "Chọn %s để xem" + +msgid "Date:" +msgstr "Ngày:" + +msgid "Time:" +msgstr "Giờ:" + +msgid "Lookup" +msgstr "Tìm" + +msgid "Currently:" +msgstr "Hiện nay:" + +msgid "Change:" +msgstr "Thay đổi:" diff --git a/external_sources/django/django/contrib/admin/locale/vi/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/vi/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..a3faf74 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/vi/LC_MESSAGES/djangojs.po @@ -0,0 +1,268 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Jannis Leidel , 2011 +# Tran , 2011 +# Tran Van , 2013 +# tinnguyen121221, 2021 +# Vuong Nguyen , 2011 +# xgenvn , 2014 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-15 09:00+0100\n" +"PO-Revision-Date: 2021-12-23 17:25+0000\n" +"Last-Translator: tinnguyen121221\n" +"Language-Team: Vietnamese (http://www.transifex.com/django/django/language/" +"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" + +#, javascript-format +msgid "Available %s" +msgstr "Có sẵn %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"Danh sách các lựa chọn đang có %s. Bạn có thể chọn bằng bách click vào mũi " +"tên \"Chọn\" nằm giữa hai hộp." + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "Bạn hãy nhập vào ô này để lọc các danh sách sau %s." + +msgid "Filter" +msgstr "Lọc" + +msgid "Choose all" +msgstr "Chọn tất cả" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "Click để chọn tất cả %s ." + +msgid "Choose" +msgstr "Chọn" + +msgid "Remove" +msgstr "Xóa" + +#, javascript-format +msgid "Chosen %s" +msgstr "Chọn %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"Danh sách bạn đã chọn %s. Bạn có thể bỏ chọn bằng cách click vào mũi tên " +"\"Xoá\" nằm giữa hai ô." + +msgid "Remove all" +msgstr "Xoá tất cả" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "Click để bỏ chọn tất cả %s" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] " %(sel)s của %(cnt)s được chọn" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Bạn chưa lưu những trường đã chỉnh sửa. Nếu bạn chọn hành động này, những " +"chỉnh sửa chưa được lưu sẽ bị mất." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"Bạn đã chọn một hành động, nhưng bạn chưa lưu các thay đổi trên các trường. " +"Vui lòng bấm OK để lưu lại. Bạn sẽ cần chạy lại hành dộng." + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Bạn đã chọn một hành động và bạn đã không thực hiện bất kỳ thay đổi nào trên " +"các trường. Có lẽ bạn nên bấm nút Đi đến hơn là nút Lưu lại." + +msgid "Now" +msgstr "Bây giờ" + +msgid "Midnight" +msgstr "Nửa đêm" + +msgid "6 a.m." +msgstr "6 giờ sáng" + +msgid "Noon" +msgstr "Buổi trưa" + +msgid "6 p.m." +msgstr "6 giờ chiều" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "" +"Lưu ý: Hiện tại bạn đang thấy thời gian trước %s giờ so với thời gian máy " +"chủ." + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "" +"Lưu ý: Hiện tại bạn đang thấy thời gian sau %s giờ so với thời gian máy chủ." + +msgid "Choose a Time" +msgstr "Chọn Thời gian" + +msgid "Choose a time" +msgstr "Chọn giờ" + +msgid "Cancel" +msgstr "Hủy bỏ" + +msgid "Today" +msgstr "Hôm nay" + +msgid "Choose a Date" +msgstr "Chọn Ngày" + +msgid "Yesterday" +msgstr "Hôm qua" + +msgid "Tomorrow" +msgstr "Ngày mai" + +msgid "January" +msgstr "Tháng Một" + +msgid "February" +msgstr "Tháng Hai" + +msgid "March" +msgstr "Tháng Ba" + +msgid "April" +msgstr "Tháng Tư" + +msgid "May" +msgstr "Tháng Năm" + +msgid "June" +msgstr "Tháng Sáu" + +msgid "July" +msgstr "Tháng Bảy" + +msgid "August" +msgstr "Tháng Tám" + +msgid "September" +msgstr "Tháng Chín" + +msgid "October" +msgstr "Tháng Mười" + +msgid "November" +msgstr "Tháng Mười Một" + +msgid "December" +msgstr "Tháng Mười Hai" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "Tháng Một" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "Tháng Hai" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "Tháng Ba" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "Tháng Tư" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "Tháng Năm" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "Tháng Sáu" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "Tháng Bảy" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "Tháng Tám" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "Tháng Chín" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "Tháng Mười" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "Tháng Mười Một" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "Tháng Mười Hai" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "CN" + +msgctxt "one letter Monday" +msgid "M" +msgstr "2" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "3" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "4" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "5" + +msgctxt "one letter Friday" +msgid "F" +msgstr "6" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "7" + +msgid "Show" +msgstr "Hiện ra" + +msgid "Hide" +msgstr "Dấu đi" diff --git a/external_sources/django/django/contrib/admin/locale/zh_Hans/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/zh_Hans/LC_MESSAGES/django.po new file mode 100644 index 0000000..c6fcf86 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/zh_Hans/LC_MESSAGES/django.po @@ -0,0 +1,779 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# lanbla , 2021 +# Brian Wang , 2018 +# Fulong Sun , 2016 +# Huanqun Yang, 2022 +# jack yang, 2023 +# Jannis Leidel , 2011 +# Kevin Sze , 2012 +# Lele Long , 2011,2015 +# Le Yang , 2018 +# li beite , 2020 +# Liping Wang , 2016-2017 +# mozillazg , 2016 +# Ronald White , 2013-2014 +# Scott Jiang, 2023 +# Sean Lee , 2013 +# Sean Lee , 2013 +# slene , 2011 +# Suntravel Chris , 2019 +# Wentao Han , 2018,2020 +# xuyi wang , 2018 +# yf zhan , 2018 +# dykai , 2019 +# ced773123cfad7b4e8b79ca80f736af9, 2012 +# 千百度, 2024 +# LatteFang <370358679@qq.com>, 2020 +# Kevin Sze , 2012 +# 考证 李 , 2020 +# 雨翌 , 2016 +# 高乐喆 , 2023 +# Ronald White , 2013 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 07:05+0000\n" +"Last-Translator: 千百度, 2024\n" +"Language-Team: Chinese (China) (http://app.transifex.com/django/django/" +"language/zh_CN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "删除所选的 %(verbose_name_plural)s" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "成功删除了 %(count)d 个 %(items)s" + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "无法删除 %(name)s" + +msgid "Are you sure?" +msgstr "你确定吗?" + +msgid "Administration" +msgstr "管理" + +msgid "All" +msgstr "全部" + +msgid "Yes" +msgstr "是" + +msgid "No" +msgstr "否" + +msgid "Unknown" +msgstr "未知" + +msgid "Any date" +msgstr "任意日期" + +msgid "Today" +msgstr "今天" + +msgid "Past 7 days" +msgstr "过去7天" + +msgid "This month" +msgstr "本月" + +msgid "This year" +msgstr "今年" + +msgid "No date" +msgstr "没有日期" + +msgid "Has date" +msgstr "具有日期" + +msgid "Empty" +msgstr "空" + +msgid "Not empty" +msgstr "非空" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "" +"请输入一个正确的工作人员账户 %(username)s 和密码. 注意他们都是区分大小写的." + +msgid "Action:" +msgstr "动作" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "添加另一个 %(verbose_name)s" + +msgid "Remove" +msgstr "删除" + +msgid "Addition" +msgstr "添加" + +msgid "Change" +msgstr "修改" + +msgid "Deletion" +msgstr "删除" + +msgid "action time" +msgstr "操作时间" + +msgid "user" +msgstr "用户" + +msgid "content type" +msgstr "内容类型" + +msgid "object id" +msgstr "对象id" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "对象表示" + +msgid "action flag" +msgstr "动作标志" + +msgid "change message" +msgstr "修改消息" + +msgid "log entry" +msgstr "日志记录" + +msgid "log entries" +msgstr "日志记录" + +#, python-format +msgid "Added “%(object)s”." +msgstr "添加了“%(object)s”。" + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "修改了“%(object)s”—%(changes)s" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "删除了“%(object)s”。" + +msgid "LogEntry Object" +msgstr "LogEntry对象" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "添加了 {name}“{object}”。" + +msgid "Added." +msgstr "已添加。" + +msgid "and" +msgstr "和" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "修改了 {name}“{object}”的 {fields}。" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "已修改{fields}。" + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "删除了 {name}“{object}”。" + +msgid "No fields changed." +msgstr "没有字段被修改。" + +msgid "None" +msgstr "无" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "按住 Control 键或 Mac 上的 Command 键来选择多项。" + +msgid "Select this object for an action - {}" +msgstr "选择此对象执行操作 - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "成功添加了 {name}“{obj}”。" + +msgid "You may edit it again below." +msgstr "您可以在下面再次编辑它." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "成功添加了 {name}“{obj}”。你可以在下面添加另一个 {name}。" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "成功修改了 {name}“{obj}”。你可以在下面再次编辑它。" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "成功修改了 {name}“{obj}”。你可以在下面添加另一个 {name}。" + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "成功修改了 {name}“{obj}”。" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "条目必须选中以对其进行操作。没有任何条目被更改。" + +msgid "No action selected." +msgstr "未选择动作" + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "成功删除了 %(name)s“%(obj)s”。" + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "ID 为“%(key)s”的 %(name)s 不存在。可能已经被删除了?" + +#, python-format +msgid "Add %s" +msgstr "增加 %s" + +#, python-format +msgid "Change %s" +msgstr "修改 %s" + +#, python-format +msgid "View %s" +msgstr "查看 %s" + +msgid "Database error" +msgstr "数据库错误" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "总共 %(count)s 个 %(name)s 变更成功。" + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "选中了 %(total_count)s 个" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "%(cnt)s 个中 0 个被选" + +#, python-format +msgid "Change history: %s" +msgstr "变更历史: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"删除 %(class_name)s %(instance)s 将需要删除以下受保护的相关对象: " +"%(related_objects)s" + +msgid "Django site admin" +msgstr "Django 站点管理员" + +msgid "Django administration" +msgstr "Django 管理" + +msgid "Site administration" +msgstr "站点管理" + +msgid "Log in" +msgstr "登录" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s 管理" + +msgid "Page not found" +msgstr "页面没有找到" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "非常抱歉,请求的页面不存在。" + +msgid "Home" +msgstr "首页" + +msgid "Server error" +msgstr "服务器错误" + +msgid "Server error (500)" +msgstr "服务器错误(500)" + +msgid "Server Error (500)" +msgstr "服务器错误 (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"发生了错误,已经通过电子邮件报告给了网站管理员。我们会尽快修复,感谢您的耐心" +"等待。" + +msgid "Run the selected action" +msgstr "运行选中的动作" + +msgid "Go" +msgstr "执行" + +msgid "Click here to select the objects across all pages" +msgstr "点击此处选择所有页面中包含的对象。" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "选中所有的 %(total_count)s 个 %(module_name)s" + +msgid "Clear selection" +msgstr "清除选中" + +msgid "Breadcrumbs" +msgstr "条形导航" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "在应用程序 %(name)s 中的模型" + +msgid "Add" +msgstr "增加" + +msgid "View" +msgstr "查看" + +msgid "You don’t have permission to view or edit anything." +msgstr "你没有查看或编辑的权限。" + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "输入用户名和密码后,你将能够编辑更多的用户选项。" + +msgid "Enter a username and password." +msgstr "输入用户名和密码" + +msgid "Change password" +msgstr "修改密码" + +msgid "Set password" +msgstr "设置密码" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "请更正以下错误。" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "为用户 %(username)s 输入一个新的密码。" + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "这将启用本用户基于密码的验证" + +msgid "Disable password-based authentication" +msgstr "禁用基于密码的验证" + +msgid "Enable password-based authentication" +msgstr "启用基于密码的验证" + +msgid "Skip to main content" +msgstr "跳到主要内容" + +msgid "Welcome," +msgstr "欢迎," + +msgid "View site" +msgstr "查看站点" + +msgid "Documentation" +msgstr "文档" + +msgid "Log out" +msgstr "注销" + +#, python-format +msgid "Add %(name)s" +msgstr "增加 %(name)s" + +msgid "History" +msgstr "历史" + +msgid "View on site" +msgstr "在站点上查看" + +msgid "Filter" +msgstr "过滤器" + +msgid "Hide counts" +msgstr "隐藏计数" + +msgid "Show counts" +msgstr "显示计数" + +msgid "Clear all filters" +msgstr "清除所有筛选" + +msgid "Remove from sorting" +msgstr "删除排序" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "排序优先级: %(priority_number)s" + +msgid "Toggle sorting" +msgstr "正逆序切换" + +msgid "Toggle theme (current theme: auto)" +msgstr "切换主题(当前主题:自动)" + +msgid "Toggle theme (current theme: light)" +msgstr "切换主题(当前主题:浅色)" + +msgid "Toggle theme (current theme: dark)" +msgstr "切换主题(当前主题:深色)" + +msgid "Delete" +msgstr "删除" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"删除 %(object_name)s '%(escaped_object)s' 会导致删除相关的对象,但你的帐号无" +"权删除下列类型的对象:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"要删除 %(object_name)s '%(escaped_object)s', 将要求删除以下受保护的相关对象:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"你确认想要删除 %(object_name)s \"%(escaped_object)s\"? 下列所有相关的项目都" +"将被删除:" + +msgid "Objects" +msgstr "对象" + +msgid "Yes, I’m sure" +msgstr "是的,我确定" + +msgid "No, take me back" +msgstr "不,返回" + +msgid "Delete multiple objects" +msgstr "删除多个对象" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"要删除所选的 %(objects_name)s 结果会删除相关对象, 但你的账户没有权限删除这类" +"对象:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "要删除所选的 %(objects_name)s, 将要求删除以下受保护的相关对象:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"请确认要删除选中的 %(objects_name)s 吗?以下所有对象和与它们相关的条目将都会" +"被删除:" + +msgid "Delete?" +msgstr "删除?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " 以 %(filter_title)s" + +msgid "Summary" +msgstr "概览" + +msgid "Recent actions" +msgstr "最近动作" + +msgid "My actions" +msgstr "我的动作" + +msgid "None available" +msgstr "无可选的" + +msgid "Added:" +msgstr "已添加:" + +msgid "Changed:" +msgstr "已修改:" + +msgid "Deleted:" +msgstr "已删除:" + +msgid "Unknown content" +msgstr "未知内容" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"数据库设置有误。请检查所需的数据库表格是否已经创建,以及数据库用户是否具有正" +"确的权限。" + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"您当前以%(username)s登录,但是没有这个页面的访问权限。您想使用另外一个账号登" +"录吗?" + +msgid "Forgotten your password or username?" +msgstr "忘记了您的密码或用户名?" + +msgid "Toggle navigation" +msgstr "切换导航" + +msgid "Sidebar" +msgstr "侧边栏" + +msgid "Start typing to filter…" +msgstr "开始输入以筛选..." + +msgid "Filter navigation items" +msgstr "筛选导航项目" + +msgid "Date/time" +msgstr "日期/时间" + +msgid "User" +msgstr "用户" + +msgid "Action" +msgstr "动作" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "条目" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "此对象没有修改历史。它可能不是通过管理站点添加的。" + +msgid "Show all" +msgstr "显示全部" + +msgid "Save" +msgstr "保存" + +msgid "Popup closing…" +msgstr "弹窗关闭中..." + +msgid "Search" +msgstr "搜索" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s 条结果。" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "总共 %(full_result_count)s" + +msgid "Save as new" +msgstr "保存为新的" + +msgid "Save and add another" +msgstr "保存并增加另一个" + +msgid "Save and continue editing" +msgstr "保存并继续编辑" + +msgid "Save and view" +msgstr "保存并查看" + +msgid "Close" +msgstr "关闭" + +#, python-format +msgid "Change selected %(model)s" +msgstr "更改选中的%(model)s" + +#, python-format +msgid "Add another %(model)s" +msgstr "增加另一个 %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "取消选中 %(model)s" + +#, python-format +msgid "View selected %(model)s" +msgstr "查看已选择的%(model)s" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "感谢您今天与本网站共享一段美好时光。" + +msgid "Log in again" +msgstr "重新登录" + +msgid "Password change" +msgstr "密码修改" + +msgid "Your password was changed." +msgstr "你的密码已修改。" + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "安全起见请输入你的旧密码。然后输入两次你的新密码以确保输入正确。" + +msgid "Change my password" +msgstr "修改我的密码" + +msgid "Password reset" +msgstr "密码重设" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "你的密码己经设置完成,现在你可以继续进行登录。" + +msgid "Password reset confirmation" +msgstr "密码重设确认" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "请输入两遍新密码,以便我们校验你输入的是否正确。" + +msgid "New password:" +msgstr "新密码:" + +msgid "Confirm password:" +msgstr "确认密码:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "密码重置链接无效,可能是因为它已使用。可以请求一次新的密码重置。" + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"如果你所输入的电子邮箱存在对应的用户,我们将通过电子邮件向你发送设置密码的操" +"作步骤说明。你应该很快就会收到。" + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"如果你没有收到电子邮件,请检查输入的是你注册的电子邮箱地址。另外,也请检查你" +"的垃圾邮件文件夹。" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "你收到这封邮件是因为你请求重置你在网站 %(site_name)s上的用户账户密码。" + +msgid "Please go to the following page and choose a new password:" +msgstr "请访问该页面并选择一个新密码:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "提醒一下,你的用户名是:" + +msgid "Thanks for using our site!" +msgstr "感谢使用我们的站点!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s 团队" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"忘记密码?在下面输入你的电子邮箱地址,我们将会把设置新密码的操作步骤说明通过" +"电子邮件发送给你。" + +msgid "Email address:" +msgstr "电子邮件地址:" + +msgid "Reset my password" +msgstr "重设我的密码" + +msgid "Select all objects on this page for an action" +msgstr "选择此页面上的所有对象执行操作" + +msgid "All dates" +msgstr "所有日期" + +#, python-format +msgid "Select %s" +msgstr "选择 %s" + +#, python-format +msgid "Select %s to change" +msgstr "选择 %s 来修改" + +#, python-format +msgid "Select %s to view" +msgstr "选择%s查看" + +msgid "Date:" +msgstr "日期:" + +msgid "Time:" +msgstr "时间:" + +msgid "Lookup" +msgstr "查询" + +msgid "Currently:" +msgstr "当前:" + +msgid "Change:" +msgstr "更改:" diff --git a/external_sources/django/django/contrib/admin/locale/zh_Hans/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/zh_Hans/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..44f47c8 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/zh_Hans/LC_MESSAGES/djangojs.po @@ -0,0 +1,332 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# HuanCheng Bai白宦成(Bestony) , 2018 +# Fan Xu , 2022 +# jack yang, 2023 +# Jannis Leidel , 2011 +# Kaiqi Zhu, 2023 +# Kewei Ma , 2016 +# Lele Long , 2011,2015 +# Liping Wang , 2016 +# matthew Yip , 2020 +# mozillazg , 2016 +# slene , 2011 +# Veoco , 2021 +# spaceoi , 2016 +# ced773123cfad7b4e8b79ca80f736af9, 2012 +# Kevin Sze , 2012 +# 高乐喆 , 2023 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 15:04-0300\n" +"PO-Revision-Date: 2023-12-25 07:59+0000\n" +"Last-Translator: jack yang, 2023\n" +"Language-Team: Chinese (China) (http://app.transifex.com/django/django/" +"language/zh_CN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#, javascript-format +msgid "Available %s" +msgstr "可用 %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"这是可用的%s列表。你可以在选择框下面进行选择,然后点击两选框之间的“选择”箭" +"头。" + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "在此框中键入以过滤可用的%s列表" + +msgid "Filter" +msgstr "过滤" + +msgid "Choose all" +msgstr "全选" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "点击选择全部%s。" + +msgid "Choose" +msgstr "选择" + +msgid "Remove" +msgstr "删除" + +#, javascript-format +msgid "Chosen %s" +msgstr "选中的 %s" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"这是选中的 %s 的列表。你可以在选择框下面进行选择,然后点击两选框之间的“删" +"除”箭头进行删除。" + +#, javascript-format +msgid "Type into this box to filter down the list of selected %s." +msgstr "在该框中键入以过滤所选%s的列表。" + +msgid "Remove all" +msgstr "删除全部" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "删除所有已选择的%s。" + +#, javascript-format +msgid "%s selected option not visible" +msgid_plural "%s selected options not visible" +msgstr[0] "%s所选选项不可见" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "选中了 %(cnt)s 个中的 %(sel)s 个" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"你尚未保存一个可编辑栏位的变更. 如果你进行别的动作, 未保存的变更将会丢失." + +msgid "" +"You have selected an action, but you haven’t saved your changes to " +"individual fields yet. Please click OK to save. You’ll need to re-run the " +"action." +msgstr "" +"你已经选择一个动作,但是你没有保存你单独修改的地方。请点击OK保存。你需要再重" +"新跑这个动作。" + +msgid "" +"You have selected an action, and you haven’t made any changes on individual " +"fields. You’re probably looking for the Go button rather than the Save " +"button." +msgstr "" +"你已经选择一个动作,但是没有单独修改任何一处。你可以选择'Go'按键而不" +"是'Save'按键。" + +msgid "Now" +msgstr "现在" + +msgid "Midnight" +msgstr "午夜" + +msgid "6 a.m." +msgstr "上午6点" + +msgid "Noon" +msgstr "正午" + +msgid "6 p.m." +msgstr "下午6点" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "注意:你比服务器时间超前 %s 个小时。" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "注意:你比服务器时间滞后 %s 个小时。" + +msgid "Choose a Time" +msgstr "选择一个时间" + +msgid "Choose a time" +msgstr "选择一个时间" + +msgid "Cancel" +msgstr "取消" + +msgid "Today" +msgstr "今天" + +msgid "Choose a Date" +msgstr "选择一个日期" + +msgid "Yesterday" +msgstr "昨天" + +msgid "Tomorrow" +msgstr "明天" + +msgid "January" +msgstr "一月" + +msgid "February" +msgstr "二月" + +msgid "March" +msgstr "三月" + +msgid "April" +msgstr "四月" + +msgid "May" +msgstr "五月" + +msgid "June" +msgstr "六月" + +msgid "July" +msgstr "七月" + +msgid "August" +msgstr "八月" + +msgid "September" +msgstr "九月" + +msgid "October" +msgstr "十月" + +msgid "November" +msgstr "十一月" + +msgid "December" +msgstr "十二月" + +msgctxt "abbrev. month January" +msgid "Jan" +msgstr "一月" + +msgctxt "abbrev. month February" +msgid "Feb" +msgstr "二月" + +msgctxt "abbrev. month March" +msgid "Mar" +msgstr "三月" + +msgctxt "abbrev. month April" +msgid "Apr" +msgstr "四月" + +msgctxt "abbrev. month May" +msgid "May" +msgstr "五月" + +msgctxt "abbrev. month June" +msgid "Jun" +msgstr "六月" + +msgctxt "abbrev. month July" +msgid "Jul" +msgstr "七月" + +msgctxt "abbrev. month August" +msgid "Aug" +msgstr "八月" + +msgctxt "abbrev. month September" +msgid "Sep" +msgstr "九月" + +msgctxt "abbrev. month October" +msgid "Oct" +msgstr "十月" + +msgctxt "abbrev. month November" +msgid "Nov" +msgstr "十一月" + +msgctxt "abbrev. month December" +msgid "Dec" +msgstr "十二月" + +msgid "Sunday" +msgstr "星期日" + +msgid "Monday" +msgstr "星期一" + +msgid "Tuesday" +msgstr "星期二" + +msgid "Wednesday" +msgstr "星期三" + +msgid "Thursday" +msgstr "星期四" + +msgid "Friday" +msgstr "星期五" + +msgid "Saturday" +msgstr "星期六" + +msgctxt "abbrev. day Sunday" +msgid "Sun" +msgstr "星期日" + +msgctxt "abbrev. day Monday" +msgid "Mon" +msgstr "星期一" + +msgctxt "abbrev. day Tuesday" +msgid "Tue" +msgstr "星期二" + +msgctxt "abbrev. day Wednesday" +msgid "Wed" +msgstr "星期三" + +msgctxt "abbrev. day Thursday" +msgid "Thur" +msgstr "星期四" + +msgctxt "abbrev. day Friday" +msgid "Fri" +msgstr "星期五" + +msgctxt "abbrev. day Saturday" +msgid "Sat" +msgstr "星期六" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "S" + +msgctxt "one letter Monday" +msgid "M" +msgstr "M" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "T" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "W" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "T" + +msgctxt "one letter Friday" +msgid "F" +msgstr "F" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "S" + +msgid "Show" +msgstr "显示" + +msgid "Hide" +msgstr "隐藏" diff --git a/external_sources/django/django/contrib/admin/locale/zh_Hant/LC_MESSAGES/django.po b/external_sources/django/django/contrib/admin/locale/zh_Hant/LC_MESSAGES/django.po new file mode 100644 index 0000000..89d0a94 --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/zh_Hant/LC_MESSAGES/django.po @@ -0,0 +1,757 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# Chen Chun-Chia , 2015 +# ilay , 2012 +# Jannis Leidel , 2011 +# mail6543210 , 2013-2014 +# 0a3cb7bfd0810218facdfb511e592a6d_8d19d07 , 2011 +# tcc , 2011 +# Tzu-ping Chung , 2016-2017 +# YAO WEN LIANG, 2024 +# Yeh-Yung , 2013 +# yubike, 2024 +# Yeh-Yung , 2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-22 11:46-0300\n" +"PO-Revision-Date: 2024-08-07 07:05+0000\n" +"Last-Translator: YAO WEN LIANG, 2024\n" +"Language-Team: Chinese (Taiwan) (http://app.transifex.com/django/django/" +"language/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" + +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "刪除所選的 %(verbose_name_plural)s" + +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "成功的刪除了 %(count)d 個 %(items)s." + +#, python-format +msgid "Cannot delete %(name)s" +msgstr "無法刪除 %(name)s" + +msgid "Are you sure?" +msgstr "你確定嗎?" + +msgid "Administration" +msgstr "管理" + +msgid "All" +msgstr "全部" + +msgid "Yes" +msgstr "是" + +msgid "No" +msgstr "否" + +msgid "Unknown" +msgstr "未知" + +msgid "Any date" +msgstr "任何日期" + +msgid "Today" +msgstr "今天" + +msgid "Past 7 days" +msgstr "過去 7 天" + +msgid "This month" +msgstr "本月" + +msgid "This year" +msgstr "今年" + +msgid "No date" +msgstr "沒有日期" + +msgid "Has date" +msgstr "有日期" + +msgid "Empty" +msgstr "空的" + +msgid "Not empty" +msgstr "非空的" + +#, python-format +msgid "" +"Please enter the correct %(username)s and password for a staff account. Note " +"that both fields may be case-sensitive." +msgstr "請輸入正確的工作人員帳號%(username)s及密碼。請注意兩者皆區分大小寫。" + +msgid "Action:" +msgstr "動作:" + +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "新增其它 %(verbose_name)s" + +msgid "Remove" +msgstr "移除" + +msgid "Addition" +msgstr "新增" + +msgid "Change" +msgstr "修改" + +msgid "Deletion" +msgstr "删除" + +msgid "action time" +msgstr "動作時間" + +msgid "user" +msgstr "使用者" + +msgid "content type" +msgstr "內容類型" + +msgid "object id" +msgstr "物件 id" + +#. Translators: 'repr' means representation +#. (https://docs.python.org/library/functions.html#repr) +msgid "object repr" +msgstr "物件 repr" + +msgid "action flag" +msgstr "動作旗標" + +msgid "change message" +msgstr "修改訊息" + +msgid "log entry" +msgstr "日誌記錄" + +msgid "log entries" +msgstr "日誌紀錄" + +#, python-format +msgid "Added “%(object)s”." +msgstr "\"%(object)s\" 已新增。" + +#, python-format +msgid "Changed “%(object)s” — %(changes)s" +msgstr "\"%(object)s\" - %(changes)s 已修改。" + +#, python-format +msgid "Deleted “%(object)s.”" +msgstr "\"%(object)s\" 已刪除。" + +msgid "LogEntry Object" +msgstr "日誌記錄物件" + +#, python-brace-format +msgid "Added {name} “{object}”." +msgstr "{name} \"{object}\" 已新增。" + +msgid "Added." +msgstr "已新增。" + +msgid "and" +msgstr "和" + +#, python-brace-format +msgid "Changed {fields} for {name} “{object}”." +msgstr "{name} \"{object}\" 的 {fields} 已修改。" + +#, python-brace-format +msgid "Changed {fields}." +msgstr "{fields} 已修改。" + +#, python-brace-format +msgid "Deleted {name} “{object}”." +msgstr "{name} \"{object}\" 已刪除。" + +msgid "No fields changed." +msgstr "沒有欄位被修改。" + +msgid "None" +msgstr "無" + +msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." +msgstr "按住 \"Control\", 或者在 Mac 上按 \"Command\", 以選取更多值" + +msgid "Select this object for an action - {}" +msgstr "選擇此對象進行操作 - {}" + +#, python-brace-format +msgid "The {name} “{obj}” was added successfully." +msgstr "{name} \"{obj}\" 已成功新增。" + +msgid "You may edit it again below." +msgstr "您可以在下面再次編輯它." + +#, python-brace-format +msgid "" +"The {name} “{obj}” was added successfully. You may add another {name} below." +msgstr "{name} \"{obj}\" 新增成功。你可以在下方加入其他 {name}。" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may edit it again below." +msgstr "{name} \"{obj}\" 修改成功。你可以在下方再次編輯。" + +#, python-brace-format +msgid "" +"The {name} “{obj}” was changed successfully. You may add another {name} " +"below." +msgstr "{name} \"{obj}\" 修改成功。你可以在下方加入其他 {name}。" + +#, python-brace-format +msgid "The {name} “{obj}” was changed successfully." +msgstr "成功修改了 {name}“{obj}”。" + +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "必須要有項目被選中才能進行動作。沒有任何項目被修改。" + +msgid "No action selected." +msgstr "沒有動作被選取。" + +#, python-format +msgid "The %(name)s “%(obj)s” was deleted successfully." +msgstr "成功删除了 %(name)s“%(obj)s”。" + +#, python-format +msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" +msgstr "不存在 ID 為「%(key)s」的 %(name)s。或許它已被刪除?" + +#, python-format +msgid "Add %s" +msgstr "新增 %s" + +#, python-format +msgid "Change %s" +msgstr "修改 %s" + +#, python-format +msgid "View %s" +msgstr "查看 %s" + +msgid "Database error" +msgstr "資料庫錯誤" + +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "共 %(count)s %(name)s 已修改成功。" + +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "選取了 %(total_count)s 個" + +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "%(cnt)s 中 0 個被選取" + +#, python-format +msgid "Change history: %s" +msgstr "修改歷史: %s" + +#. Translators: Model verbose name and instance +#. representation, suitable to be an item in a +#. list. +#, python-format +msgid "%(class_name)s %(instance)s" +msgstr "%(class_name)s %(instance)s" + +#, python-format +msgid "" +"Deleting %(class_name)s %(instance)s would require deleting the following " +"protected related objects: %(related_objects)s" +msgstr "" +"刪除 %(class_name)s %(instance)s 將會同時刪除下面受保護的相關物件:" +"%(related_objects)s" + +msgid "Django site admin" +msgstr "Django 網站管理" + +msgid "Django administration" +msgstr "Django 管理" + +msgid "Site administration" +msgstr "網站管理" + +msgid "Log in" +msgstr "登入" + +#, python-format +msgid "%(app)s administration" +msgstr "%(app)s 管理" + +msgid "Page not found" +msgstr "找不到頁面" + +msgid "We’re sorry, but the requested page could not be found." +msgstr "很抱歉,請求頁面不存在。" + +msgid "Home" +msgstr "首頁" + +msgid "Server error" +msgstr "伺服器錯誤" + +msgid "Server error (500)" +msgstr "伺服器錯誤 (500)" + +msgid "Server Error (500)" +msgstr "伺服器錯誤 (500)" + +msgid "" +"There’s been an error. It’s been reported to the site administrators via " +"email and should be fixed shortly. Thanks for your patience." +msgstr "" +"存在一個錯誤。已透過電子郵件回報給網站管理員,並且應該很快就會被修正。謝謝您" +"的耐心等待。" + +msgid "Run the selected action" +msgstr "執行選取的動作" + +msgid "Go" +msgstr "執行" + +msgid "Click here to select the objects across all pages" +msgstr "點選這裡可選取全部頁面的物件" + +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "選擇全部 %(total_count)s %(module_name)s" + +msgid "Clear selection" +msgstr "清除選擇" + +msgid "Breadcrumbs" +msgstr "導覽路徑" + +#, python-format +msgid "Models in the %(name)s application" +msgstr "%(name)s 應用程式中的模型" + +msgid "Add" +msgstr "新增" + +msgid "View" +msgstr "查看" + +msgid "You don’t have permission to view or edit anything." +msgstr "你沒有查看或編輯的權限。" + +msgid "" +"First, enter a username and password. Then, you’ll be able to edit more user " +"options." +msgstr "輸入使用者名稱和密碼後,你可以編輯更多使用者選項。" + +msgid "Enter a username and password." +msgstr "輸入使用者名稱和密碼。" + +msgid "Change password" +msgstr "修改密碼" + +msgid "Set password" +msgstr "設定密碼" + +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "請修正以下錯誤。" + +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "為使用者%(username)s輸入一個新的密碼。" + +msgid "" +"This action will enable password-based authentication for " +"this user." +msgstr "這會 啟用 本用戶基於密碼的驗證" + +msgid "Disable password-based authentication" +msgstr "停用基於密碼的驗證" + +msgid "Enable password-based authentication" +msgstr "啟用基於密碼的驗證" + +msgid "Skip to main content" +msgstr "跳到主要內容" + +msgid "Welcome," +msgstr "歡迎," + +msgid "View site" +msgstr "檢視網站" + +msgid "Documentation" +msgstr "文件" + +msgid "Log out" +msgstr "登出" + +#, python-format +msgid "Add %(name)s" +msgstr "新增 %(name)s" + +msgid "History" +msgstr "歷史" + +msgid "View on site" +msgstr "在網站上檢視" + +msgid "Filter" +msgstr "過濾器" + +msgid "Hide counts" +msgstr "隱藏計數" + +msgid "Show counts" +msgstr "顯示計數" + +msgid "Clear all filters" +msgstr "清除所有篩選" + +msgid "Remove from sorting" +msgstr "從排序中移除" + +#, python-format +msgid "Sorting priority: %(priority_number)s" +msgstr "優先排序:%(priority_number)s" + +msgid "Toggle sorting" +msgstr "切換排序" + +msgid "Toggle theme (current theme: auto)" +msgstr "切換主題(當前主題:自動)" + +msgid "Toggle theme (current theme: light)" +msgstr "切換主題(當前主題:淺色)" + +msgid "Toggle theme (current theme: dark)" +msgstr "切換主題(當前主題:深色)" + +msgid "Delete" +msgstr "刪除" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"刪除 %(object_name)s '%(escaped_object)s' 會把相關的物件也刪除,不過你的帳號" +"並沒有刪除以下型態物件的權限:" + +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " +"following protected related objects:" +msgstr "" +"要刪除 %(object_name)s '%(escaped_object)s', 將要求刪除下面受保護的相關物件:" + +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"你確定想要刪除 %(object_name)s \"%(escaped_object)s\"?以下所有的相關項目都會" +"被刪除:" + +msgid "Objects" +msgstr "物件" + +msgid "Yes, I’m sure" +msgstr "是的,我確定" + +msgid "No, take me back" +msgstr "不,返回" + +msgid "Delete multiple objects" +msgstr "刪除多個物件" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would result in deleting related " +"objects, but your account doesn't have permission to delete the following " +"types of objects:" +msgstr "" +"要刪除所選的 %(objects_name)s, 結果會刪除相關物件, 但你的帳號無權刪除下面物件" +"型態:" + +#, python-format +msgid "" +"Deleting the selected %(objects_name)s would require deleting the following " +"protected related objects:" +msgstr "要刪除所選的 %(objects_name)s, 將要求刪除下面受保護的相關物件:" + +#, python-format +msgid "" +"Are you sure you want to delete the selected %(objects_name)s? All of the " +"following objects and their related items will be deleted:" +msgstr "" +"你是否確定要刪除已選的 %(objects_name)s? 下面全部物件及其相關項目都將被刪除:" + +msgid "Delete?" +msgstr "刪除?" + +#, python-format +msgid " By %(filter_title)s " +msgstr " 以 %(filter_title)s" + +msgid "Summary" +msgstr "總結" + +msgid "Recent actions" +msgstr "最近的動作" + +msgid "My actions" +msgstr "我的動作" + +msgid "None available" +msgstr "無資料" + +msgid "Added:" +msgstr "已新增。" + +msgid "Changed:" +msgstr "已修改:" + +msgid "Deleted:" +msgstr "已刪除:" + +msgid "Unknown content" +msgstr "未知內容" + +msgid "" +"Something’s wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"你的資料庫安裝有錯誤。確定資料庫表格已經建立,並確定資料庫可被合適的使用者讀" +"取。" + +#, python-format +msgid "" +"You are authenticated as %(username)s, but are not authorized to access this " +"page. Would you like to login to a different account?" +msgstr "" +"您目前以%(username)s登入,但並沒有瀏覽此頁面的權限。您是否希望以其他帳號登" +"入?" + +msgid "Forgotten your password or username?" +msgstr "忘記您的密碼或是使用者名稱?" + +msgid "Toggle navigation" +msgstr "切換導航" + +msgid "Sidebar" +msgstr "側邊欄" + +msgid "Start typing to filter…" +msgstr "輸入內容開始篩選..." + +msgid "Filter navigation items" +msgstr "篩選導航項目" + +msgid "Date/time" +msgstr "日期/時間" + +msgid "User" +msgstr "使用者" + +msgid "Action" +msgstr "動作" + +msgid "entry" +msgid_plural "entries" +msgstr[0] "紀錄項目" + +msgid "" +"This object doesn’t have a change history. It probably wasn’t added via this " +"admin site." +msgstr "該物件沒有修改的歷史紀錄。它可能不是透過此管理網站新增的。" + +msgid "Show all" +msgstr "顯示全部" + +msgid "Save" +msgstr "儲存" + +msgid "Popup closing…" +msgstr "關閉彈跳視窗中..." + +msgid "Search" +msgstr "搜尋" + +#, python-format +msgid "%(counter)s result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s 結果" + +#, python-format +msgid "%(full_result_count)s total" +msgstr "總共 %(full_result_count)s" + +msgid "Save as new" +msgstr "儲存為新的" + +msgid "Save and add another" +msgstr "儲存並新增另一個" + +msgid "Save and continue editing" +msgstr "儲存並繼續編輯" + +msgid "Save and view" +msgstr "儲存並查看" + +msgid "Close" +msgstr "關閉" + +#, python-format +msgid "Change selected %(model)s" +msgstr "修改所選的 %(model)s" + +#, python-format +msgid "Add another %(model)s" +msgstr "新增其它 %(model)s" + +#, python-format +msgid "Delete selected %(model)s" +msgstr "刪除所選的 %(model)s" + +#, python-format +msgid "View selected %(model)s" +msgstr "查看已選擇的%(model)s" + +msgid "Thanks for spending some quality time with the web site today." +msgstr "感謝您今天在網站上度過了一段美好的時光。" + +msgid "Log in again" +msgstr "重新登入" + +msgid "Password change" +msgstr "密碼修改" + +msgid "Your password was changed." +msgstr "您的密碼已修改。" + +msgid "" +"Please enter your old password, for security’s sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "為了安全上的考量,請輸入你的舊密碼,然後輸入兩次新密碼已確保輸入正確。" + +msgid "Change my password" +msgstr "修改我的密碼" + +msgid "Password reset" +msgstr "重設密碼" + +msgid "Your password has been set. You may go ahead and log in now." +msgstr "你的密碼已設置,現在可以繼續登入。" + +msgid "Password reset confirmation" +msgstr "密碼重設確認" + +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "請輸入新密碼兩次, 以便系統確認輸入無誤。" + +msgid "New password:" +msgstr "新密碼:" + +msgid "Confirm password:" +msgstr "確認密碼:" + +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "密碼重設連結無效,可能已被使用。請重新申請密碼重設。" + +msgid "" +"We’ve emailed you instructions for setting your password, if an account " +"exists with the email you entered. You should receive them shortly." +msgstr "" +"若您提交的電子郵件地址存在對應帳號,我們已寄出重設密碼的相關指示。您應該很快" +"就會收到。" + +msgid "" +"If you don’t receive an email, please make sure you’ve entered the address " +"you registered with, and check your spam folder." +msgstr "" +"如果您未收到電子郵件,請確認您輸入的電子郵件地址與您註冊時輸入的一致,並檢查" +"您的垃圾郵件匣。" + +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "這封電子郵件來自 %(site_name)s,因為您要求為帳號重新設定密碼。" + +msgid "Please go to the following page and choose a new password:" +msgstr "請到該頁面選擇一個新的密碼:" + +msgid "Your username, in case you’ve forgotten:" +msgstr "提醒一下,您的用戶名是:" + +msgid "Thanks for using our site!" +msgstr "感謝使用本網站!" + +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s 團隊" + +msgid "" +"Forgotten your password? Enter your email address below, and we’ll email " +"instructions for setting a new one." +msgstr "" +"忘記您的密碼? 請在下面輸入您的電子郵件, 然後我們會寄出設定新密碼的操作指示。" + +msgid "Email address:" +msgstr "電子信箱:" + +msgid "Reset my password" +msgstr "重設我的密碼" + +msgid "Select all objects on this page for an action" +msgstr "選擇此頁面上的所有物件執行操作" + +msgid "All dates" +msgstr "所有日期" + +#, python-format +msgid "Select %s" +msgstr "選擇 %s" + +#, python-format +msgid "Select %s to change" +msgstr "選擇 %s 來修改" + +#, python-format +msgid "Select %s to view" +msgstr "選擇%s查看" + +msgid "Date:" +msgstr "日期" + +msgid "Time:" +msgstr "時間" + +msgid "Lookup" +msgstr "查找" + +msgid "Currently:" +msgstr "目前:" + +msgid "Change:" +msgstr "變動:" diff --git a/external_sources/django/django/contrib/admin/locale/zh_Hant/LC_MESSAGES/djangojs.po b/external_sources/django/django/contrib/admin/locale/zh_Hant/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000..48739ec --- /dev/null +++ b/external_sources/django/django/contrib/admin/locale/zh_Hant/LC_MESSAGES/djangojs.po @@ -0,0 +1,213 @@ +# This file is distributed under the same license as the Django package. +# +# Translators: +# ilay , 2012 +# mail6543210 , 2013 +# tcc , 2011 +# Tzu-ping Chung , 2016 +# Yeh-Yung , 2012 +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-05-17 23:12+0200\n" +"PO-Revision-Date: 2017-09-19 16:41+0000\n" +"Last-Translator: Tzu-ping Chung \n" +"Language-Team: Chinese (Taiwan) (http://www.transifex.com/django/django/" +"language/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" + +#, javascript-format +msgid "Available %s" +msgstr "可用 %s" + +#, javascript-format +msgid "" +"This is the list of available %s. You may choose some by selecting them in " +"the box below and then clicking the \"Choose\" arrow between the two boxes." +msgstr "" +"可用的 %s 列表。你可以在下方的方框內選擇後,點擊兩個方框中的\"選取\"箭頭以選" +"取。" + +#, javascript-format +msgid "Type into this box to filter down the list of available %s." +msgstr "輸入到這個方框以過濾可用的 %s 列表。" + +msgid "Filter" +msgstr "過濾器" + +msgid "Choose all" +msgstr "全選" + +#, javascript-format +msgid "Click to choose all %s at once." +msgstr "點擊以一次選取所有的 %s" + +msgid "Choose" +msgstr "選取" + +msgid "Remove" +msgstr "移除" + +#, javascript-format +msgid "Chosen %s" +msgstr "%s 被選" + +#, javascript-format +msgid "" +"This is the list of chosen %s. You may remove some by selecting them in the " +"box below and then clicking the \"Remove\" arrow between the two boxes." +msgstr "" +"選取的 %s 列表。你可以在下方的方框內選擇後,點擊兩個方框中的\"移除\"箭頭以移" +"除。" + +msgid "Remove all" +msgstr "全部移除" + +#, javascript-format +msgid "Click to remove all chosen %s at once." +msgstr "點擊以一次移除所有選取的 %s" + +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(cnt)s 中 %(sel)s 個被選" + +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "你尚未儲存一個可編輯欄位的變更。如果你執行動作, 未儲存的變更將會遺失。" + +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"你已選了一個動作, 但有一個可編輯欄位的變更尚未儲存。請點選 OK 進行儲存。你需" +"要重新執行該動作。" + +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"你已選了一個動作, 但沒有任何改變。你可能動到 '去' 按鈕, 而不是 '儲存' 按鈕。" + +#, javascript-format +msgid "Note: You are %s hour ahead of server time." +msgid_plural "Note: You are %s hours ahead of server time." +msgstr[0] "備註:您的電腦時間比伺服器快 %s 小時。" + +#, javascript-format +msgid "Note: You are %s hour behind server time." +msgid_plural "Note: You are %s hours behind server time." +msgstr[0] "備註:您的電腦時間比伺服器慢 %s 小時。" + +msgid "Now" +msgstr "現在" + +msgid "Choose a Time" +msgstr "選擇一個時間" + +msgid "Choose a time" +msgstr "選擇一個時間" + +msgid "Midnight" +msgstr "午夜" + +msgid "6 a.m." +msgstr "上午 6 點" + +msgid "Noon" +msgstr "中午" + +msgid "6 p.m." +msgstr "下午 6 點" + +msgid "Cancel" +msgstr "取消" + +msgid "Today" +msgstr "今天" + +msgid "Choose a Date" +msgstr "選擇一個日期" + +msgid "Yesterday" +msgstr "昨天" + +msgid "Tomorrow" +msgstr "明天" + +msgid "January" +msgstr "一月" + +msgid "February" +msgstr "二月" + +msgid "March" +msgstr "三月" + +msgid "April" +msgstr "四月" + +msgid "May" +msgstr "五月" + +msgid "June" +msgstr "六月" + +msgid "July" +msgstr "七月" + +msgid "August" +msgstr "八月" + +msgid "September" +msgstr "九月" + +msgid "October" +msgstr "十月" + +msgid "November" +msgstr "十一月" + +msgid "December" +msgstr "十二月" + +msgctxt "one letter Sunday" +msgid "S" +msgstr "日" + +msgctxt "one letter Monday" +msgid "M" +msgstr "一" + +msgctxt "one letter Tuesday" +msgid "T" +msgstr "二" + +msgctxt "one letter Wednesday" +msgid "W" +msgstr "三" + +msgctxt "one letter Thursday" +msgid "T" +msgstr "四" + +msgctxt "one letter Friday" +msgid "F" +msgstr "五" + +msgctxt "one letter Saturday" +msgid "S" +msgstr "六" + +msgid "Show" +msgstr "顯示" + +msgid "Hide" +msgstr "隱藏" diff --git a/external_sources/django/django/contrib/admin/migrations/0001_initial.py b/external_sources/django/django/contrib/admin/migrations/0001_initial.py new file mode 100644 index 0000000..6270e10 --- /dev/null +++ b/external_sources/django/django/contrib/admin/migrations/0001_initial.py @@ -0,0 +1,75 @@ +import django.contrib.admin.models +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ("contenttypes", "__first__"), + ] + + operations = [ + migrations.CreateModel( + name="LogEntry", + fields=[ + ( + "id", + models.AutoField( + verbose_name="ID", + serialize=False, + auto_created=True, + primary_key=True, + ), + ), + ( + "action_time", + models.DateTimeField(auto_now=True, verbose_name="action time"), + ), + ( + "object_id", + models.TextField(null=True, verbose_name="object id", blank=True), + ), + ( + "object_repr", + models.CharField(max_length=200, verbose_name="object repr"), + ), + ( + "action_flag", + models.PositiveSmallIntegerField(verbose_name="action flag"), + ), + ( + "change_message", + models.TextField(verbose_name="change message", blank=True), + ), + ( + "content_type", + models.ForeignKey( + on_delete=models.SET_NULL, + blank=True, + null=True, + to="contenttypes.ContentType", + verbose_name="content type", + ), + ), + ( + "user", + models.ForeignKey( + to=settings.AUTH_USER_MODEL, + on_delete=models.CASCADE, + verbose_name="user", + ), + ), + ], + options={ + "ordering": ["-action_time"], + "db_table": "django_admin_log", + "verbose_name": "log entry", + "verbose_name_plural": "log entries", + }, + bases=(models.Model,), + managers=[ + ("objects", django.contrib.admin.models.LogEntryManager()), + ], + ), + ] diff --git a/external_sources/django/django/contrib/admin/migrations/0002_logentry_remove_auto_add.py b/external_sources/django/django/contrib/admin/migrations/0002_logentry_remove_auto_add.py new file mode 100644 index 0000000..7fcf9c0 --- /dev/null +++ b/external_sources/django/django/contrib/admin/migrations/0002_logentry_remove_auto_add.py @@ -0,0 +1,21 @@ +from django.db import migrations, models +from django.utils import timezone + + +class Migration(migrations.Migration): + dependencies = [ + ("admin", "0001_initial"), + ] + + # No database changes; removes auto_add and adds default/editable. + operations = [ + migrations.AlterField( + model_name="logentry", + name="action_time", + field=models.DateTimeField( + verbose_name="action time", + default=timezone.now, + editable=False, + ), + ), + ] diff --git a/external_sources/django/django/contrib/admin/migrations/0003_logentry_add_action_flag_choices.py b/external_sources/django/django/contrib/admin/migrations/0003_logentry_add_action_flag_choices.py new file mode 100644 index 0000000..a73e55f --- /dev/null +++ b/external_sources/django/django/contrib/admin/migrations/0003_logentry_add_action_flag_choices.py @@ -0,0 +1,19 @@ +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("admin", "0002_logentry_remove_auto_add"), + ] + + # No database changes; adds choices to action_flag. + operations = [ + migrations.AlterField( + model_name="logentry", + name="action_flag", + field=models.PositiveSmallIntegerField( + choices=[(1, "Addition"), (2, "Change"), (3, "Deletion")], + verbose_name="action flag", + ), + ), + ] diff --git a/external_sources/django/django/contrib/admin/migrations/__init__.py b/external_sources/django/django/contrib/admin/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/contrib/admin/models.py b/external_sources/django/django/contrib/admin/models.py new file mode 100644 index 0000000..bb81be8 --- /dev/null +++ b/external_sources/django/django/contrib/admin/models.py @@ -0,0 +1,246 @@ +import json +import warnings + +from django.conf import settings +from django.contrib.admin.utils import quote +from django.contrib.contenttypes.models import ContentType +from django.db import models +from django.urls import NoReverseMatch, reverse +from django.utils import timezone +from django.utils.deprecation import RemovedInDjango60Warning +from django.utils.text import get_text_list +from django.utils.translation import gettext +from django.utils.translation import gettext_lazy as _ + +ADDITION = 1 +CHANGE = 2 +DELETION = 3 + +ACTION_FLAG_CHOICES = [ + (ADDITION, _("Addition")), + (CHANGE, _("Change")), + (DELETION, _("Deletion")), +] + + +class LogEntryManager(models.Manager): + use_in_migrations = True + + def log_action( + self, + user_id, + content_type_id, + object_id, + object_repr, + action_flag, + change_message="", + ): + warnings.warn( + "LogEntryManager.log_action() is deprecated. Use log_actions() instead.", + RemovedInDjango60Warning, + stacklevel=2, + ) + if isinstance(change_message, list): + change_message = json.dumps(change_message) + return self.model.objects.create( + user_id=user_id, + content_type_id=content_type_id, + object_id=str(object_id), + object_repr=object_repr[:200], + action_flag=action_flag, + change_message=change_message, + ) + + def log_actions( + self, user_id, queryset, action_flag, change_message="", *, single_object=False + ): + # RemovedInDjango60Warning. + if type(self).log_action != LogEntryManager.log_action: + warnings.warn( + "The usage of log_action() is deprecated. Implement log_actions() " + "instead.", + RemovedInDjango60Warning, + stacklevel=2, + ) + return [ + self.log_action( + user_id=user_id, + content_type_id=ContentType.objects.get_for_model( + obj, for_concrete_model=False + ).id, + object_id=obj.pk, + object_repr=str(obj), + action_flag=action_flag, + change_message=change_message, + ) + for obj in queryset + ] + + if isinstance(change_message, list): + change_message = json.dumps(change_message) + + log_entry_list = [ + self.model( + user_id=user_id, + content_type_id=ContentType.objects.get_for_model( + obj, for_concrete_model=False + ).id, + object_id=obj.pk, + object_repr=str(obj)[:200], + action_flag=action_flag, + change_message=change_message, + ) + for obj in queryset + ] + + if single_object and log_entry_list: + instance = log_entry_list[0] + instance.save() + return instance + + return self.model.objects.bulk_create(log_entry_list) + + +class LogEntry(models.Model): + action_time = models.DateTimeField( + _("action time"), + default=timezone.now, + editable=False, + ) + user = models.ForeignKey( + settings.AUTH_USER_MODEL, + models.CASCADE, + verbose_name=_("user"), + ) + content_type = models.ForeignKey( + ContentType, + models.SET_NULL, + verbose_name=_("content type"), + blank=True, + null=True, + ) + object_id = models.TextField(_("object id"), blank=True, null=True) + # Translators: 'repr' means representation + # (https://docs.python.org/library/functions.html#repr) + object_repr = models.CharField(_("object repr"), max_length=200) + action_flag = models.PositiveSmallIntegerField( + _("action flag"), choices=ACTION_FLAG_CHOICES + ) + # change_message is either a string or a JSON structure + change_message = models.TextField(_("change message"), blank=True) + + objects = LogEntryManager() + + class Meta: + verbose_name = _("log entry") + verbose_name_plural = _("log entries") + db_table = "django_admin_log" + ordering = ["-action_time"] + + def __repr__(self): + return str(self.action_time) + + def __str__(self): + if self.is_addition(): + return gettext("Added “%(object)s”.") % {"object": self.object_repr} + elif self.is_change(): + return gettext("Changed “%(object)s” — %(changes)s") % { + "object": self.object_repr, + "changes": self.get_change_message(), + } + elif self.is_deletion(): + return gettext("Deleted “%(object)s.”") % {"object": self.object_repr} + + return gettext("LogEntry Object") + + def is_addition(self): + return self.action_flag == ADDITION + + def is_change(self): + return self.action_flag == CHANGE + + def is_deletion(self): + return self.action_flag == DELETION + + def get_change_message(self): + """ + If self.change_message is a JSON structure, interpret it as a change + string, properly translated. + """ + if self.change_message and self.change_message[0] == "[": + try: + change_message = json.loads(self.change_message) + except json.JSONDecodeError: + return self.change_message + messages = [] + for sub_message in change_message: + if "added" in sub_message: + if sub_message["added"]: + sub_message["added"]["name"] = gettext( + sub_message["added"]["name"] + ) + messages.append( + gettext("Added {name} “{object}”.").format( + **sub_message["added"] + ) + ) + else: + messages.append(gettext("Added.")) + + elif "changed" in sub_message: + sub_message["changed"]["fields"] = get_text_list( + [ + gettext(field_name) + for field_name in sub_message["changed"]["fields"] + ], + gettext("and"), + ) + if "name" in sub_message["changed"]: + sub_message["changed"]["name"] = gettext( + sub_message["changed"]["name"] + ) + messages.append( + gettext("Changed {fields} for {name} “{object}”.").format( + **sub_message["changed"] + ) + ) + else: + messages.append( + gettext("Changed {fields}.").format( + **sub_message["changed"] + ) + ) + + elif "deleted" in sub_message: + sub_message["deleted"]["name"] = gettext( + sub_message["deleted"]["name"] + ) + messages.append( + gettext("Deleted {name} “{object}”.").format( + **sub_message["deleted"] + ) + ) + + change_message = " ".join(msg[0].upper() + msg[1:] for msg in messages) + return change_message or gettext("No fields changed.") + else: + return self.change_message + + def get_edited_object(self): + """Return the edited object represented by this log entry.""" + return self.content_type.get_object_for_this_type(pk=self.object_id) + + def get_admin_url(self): + """ + Return the admin URL to edit the object represented by this log entry. + """ + if self.content_type and self.object_id: + url_name = "admin:%s_%s_change" % ( + self.content_type.app_label, + self.content_type.model, + ) + try: + return reverse(url_name, args=(quote(self.object_id),)) + except NoReverseMatch: + pass + return None diff --git a/external_sources/django/django/contrib/admin/options.py b/external_sources/django/django/contrib/admin/options.py new file mode 100644 index 0000000..5401bca --- /dev/null +++ b/external_sources/django/django/contrib/admin/options.py @@ -0,0 +1,2574 @@ +import copy +import enum +import json +import re +import warnings +from functools import partial, update_wrapper +from urllib.parse import parse_qsl +from urllib.parse import quote as urlquote +from urllib.parse import urlparse + +from django import forms +from django.conf import settings +from django.contrib import messages +from django.contrib.admin import helpers, widgets +from django.contrib.admin.checks import ( + BaseModelAdminChecks, + InlineModelAdminChecks, + ModelAdminChecks, +) +from django.contrib.admin.exceptions import DisallowedModelAdminToField, NotRegistered +from django.contrib.admin.templatetags.admin_urls import add_preserved_filters +from django.contrib.admin.utils import ( + NestedObjects, + construct_change_message, + flatten_fieldsets, + get_deleted_objects, + lookup_spawns_duplicates, + model_format_dict, + model_ngettext, + quote, + unquote, +) +from django.contrib.admin.widgets import AutocompleteSelect, AutocompleteSelectMultiple +from django.contrib.auth import get_permission_codename +from django.core.exceptions import ( + FieldDoesNotExist, + FieldError, + PermissionDenied, + ValidationError, +) +from django.core.paginator import Paginator +from django.db import models, router, transaction +from django.db.models.constants import LOOKUP_SEP +from django.forms.formsets import DELETION_FIELD_NAME, all_valid +from django.forms.models import ( + BaseInlineFormSet, + inlineformset_factory, + modelform_defines_fields, + modelform_factory, + modelformset_factory, +) +from django.forms.widgets import CheckboxSelectMultiple, SelectMultiple +from django.http import HttpResponseRedirect +from django.http.response import HttpResponseBase +from django.template.response import SimpleTemplateResponse, TemplateResponse +from django.urls import reverse +from django.utils.decorators import method_decorator +from django.utils.deprecation import RemovedInDjango60Warning +from django.utils.html import format_html +from django.utils.http import urlencode +from django.utils.safestring import mark_safe +from django.utils.text import ( + capfirst, + format_lazy, + get_text_list, + smart_split, + unescape_string_literal, +) +from django.utils.translation import gettext as _ +from django.utils.translation import ngettext +from django.views.decorators.csrf import csrf_protect +from django.views.generic import RedirectView + +IS_POPUP_VAR = "_popup" +TO_FIELD_VAR = "_to_field" +IS_FACETS_VAR = "_facets" + + +class ShowFacets(enum.Enum): + NEVER = "NEVER" + ALLOW = "ALLOW" + ALWAYS = "ALWAYS" + + +HORIZONTAL, VERTICAL = 1, 2 + + +def get_content_type_for_model(obj): + # Since this module gets imported in the application's root package, + # it cannot import models from other applications at the module level. + from django.contrib.contenttypes.models import ContentType + + return ContentType.objects.get_for_model(obj, for_concrete_model=False) + + +def get_ul_class(radio_style): + return "radiolist" if radio_style == VERTICAL else "radiolist inline" + + +class IncorrectLookupParameters(Exception): + pass + + +# Defaults for formfield_overrides. ModelAdmin subclasses can change this +# by adding to ModelAdmin.formfield_overrides. + +FORMFIELD_FOR_DBFIELD_DEFAULTS = { + models.DateTimeField: { + "form_class": forms.SplitDateTimeField, + "widget": widgets.AdminSplitDateTime, + }, + models.DateField: {"widget": widgets.AdminDateWidget}, + models.TimeField: {"widget": widgets.AdminTimeWidget}, + models.TextField: {"widget": widgets.AdminTextareaWidget}, + models.URLField: {"widget": widgets.AdminURLFieldWidget}, + models.IntegerField: {"widget": widgets.AdminIntegerFieldWidget}, + models.BigIntegerField: {"widget": widgets.AdminBigIntegerFieldWidget}, + models.CharField: {"widget": widgets.AdminTextInputWidget}, + models.ImageField: {"widget": widgets.AdminFileWidget}, + models.FileField: {"widget": widgets.AdminFileWidget}, + models.EmailField: {"widget": widgets.AdminEmailInputWidget}, + models.UUIDField: {"widget": widgets.AdminUUIDInputWidget}, +} + +csrf_protect_m = method_decorator(csrf_protect) + + +class BaseModelAdmin(metaclass=forms.MediaDefiningClass): + """Functionality common to both ModelAdmin and InlineAdmin.""" + + autocomplete_fields = () + raw_id_fields = () + fields = None + exclude = None + fieldsets = None + form = forms.ModelForm + filter_vertical = () + filter_horizontal = () + radio_fields = {} + prepopulated_fields = {} + formfield_overrides = {} + readonly_fields = () + ordering = None + sortable_by = None + view_on_site = True + show_full_result_count = True + checks_class = BaseModelAdminChecks + + def check(self, **kwargs): + return self.checks_class().check(self, **kwargs) + + def __init__(self): + # Merge FORMFIELD_FOR_DBFIELD_DEFAULTS with the formfield_overrides + # rather than simply overwriting. + overrides = copy.deepcopy(FORMFIELD_FOR_DBFIELD_DEFAULTS) + for k, v in self.formfield_overrides.items(): + overrides.setdefault(k, {}).update(v) + self.formfield_overrides = overrides + + def formfield_for_dbfield(self, db_field, request, **kwargs): + """ + Hook for specifying the form Field instance for a given database Field + instance. + + If kwargs are given, they're passed to the form Field's constructor. + """ + # If the field specifies choices, we don't need to look for special + # admin widgets - we just need to use a select widget of some kind. + if db_field.choices: + return self.formfield_for_choice_field(db_field, request, **kwargs) + + # ForeignKey or ManyToManyFields + if isinstance(db_field, (models.ForeignKey, models.ManyToManyField)): + # Combine the field kwargs with any options for formfield_overrides. + # Make sure the passed in **kwargs override anything in + # formfield_overrides because **kwargs is more specific, and should + # always win. + if db_field.__class__ in self.formfield_overrides: + kwargs = {**self.formfield_overrides[db_field.__class__], **kwargs} + + # Get the correct formfield. + if isinstance(db_field, models.ForeignKey): + formfield = self.formfield_for_foreignkey(db_field, request, **kwargs) + elif isinstance(db_field, models.ManyToManyField): + formfield = self.formfield_for_manytomany(db_field, request, **kwargs) + + # For non-raw_id fields, wrap the widget with a wrapper that adds + # extra HTML -- the "add other" interface -- to the end of the + # rendered output. formfield can be None if it came from a + # OneToOneField with parent_link=True or a M2M intermediary. + if formfield and db_field.name not in self.raw_id_fields: + try: + related_modeladmin = self.admin_site.get_model_admin( + db_field.remote_field.model + ) + except NotRegistered: + wrapper_kwargs = {} + else: + wrapper_kwargs = { + "can_add_related": related_modeladmin.has_add_permission( + request + ), + "can_change_related": related_modeladmin.has_change_permission( + request + ), + "can_delete_related": related_modeladmin.has_delete_permission( + request + ), + "can_view_related": related_modeladmin.has_view_permission( + request + ), + } + formfield.widget = widgets.RelatedFieldWidgetWrapper( + formfield.widget, + db_field.remote_field, + self.admin_site, + **wrapper_kwargs, + ) + + return formfield + + # If we've got overrides for the formfield defined, use 'em. **kwargs + # passed to formfield_for_dbfield override the defaults. + for klass in db_field.__class__.mro(): + if klass in self.formfield_overrides: + kwargs = {**copy.deepcopy(self.formfield_overrides[klass]), **kwargs} + return db_field.formfield(**kwargs) + + # For any other type of field, just call its formfield() method. + return db_field.formfield(**kwargs) + + def formfield_for_choice_field(self, db_field, request, **kwargs): + """ + Get a form Field for a database Field that has declared choices. + """ + # If the field is named as a radio_field, use a RadioSelect + if db_field.name in self.radio_fields: + # Avoid stomping on custom widget/choices arguments. + if "widget" not in kwargs: + kwargs["widget"] = widgets.AdminRadioSelect( + attrs={ + "class": get_ul_class(self.radio_fields[db_field.name]), + } + ) + if "choices" not in kwargs: + kwargs["choices"] = db_field.get_choices( + include_blank=db_field.blank, blank_choice=[("", _("None"))] + ) + return db_field.formfield(**kwargs) + + def get_field_queryset(self, db, db_field, request): + """ + If the ModelAdmin specifies ordering, the queryset should respect that + ordering. Otherwise don't specify the queryset, let the field decide + (return None in that case). + """ + try: + related_admin = self.admin_site.get_model_admin(db_field.remote_field.model) + except NotRegistered: + return None + else: + ordering = related_admin.get_ordering(request) + if ordering is not None and ordering != (): + return db_field.remote_field.model._default_manager.using(db).order_by( + *ordering + ) + return None + + def formfield_for_foreignkey(self, db_field, request, **kwargs): + """ + Get a form Field for a ForeignKey. + """ + db = kwargs.get("using") + + if "widget" not in kwargs: + if db_field.name in self.get_autocomplete_fields(request): + kwargs["widget"] = AutocompleteSelect( + db_field, self.admin_site, using=db + ) + elif db_field.name in self.raw_id_fields: + kwargs["widget"] = widgets.ForeignKeyRawIdWidget( + db_field.remote_field, self.admin_site, using=db + ) + elif db_field.name in self.radio_fields: + kwargs["widget"] = widgets.AdminRadioSelect( + attrs={ + "class": get_ul_class(self.radio_fields[db_field.name]), + } + ) + kwargs["empty_label"] = ( + kwargs.get("empty_label", _("None")) if db_field.blank else None + ) + + if "queryset" not in kwargs: + queryset = self.get_field_queryset(db, db_field, request) + if queryset is not None: + kwargs["queryset"] = queryset + + return db_field.formfield(**kwargs) + + def formfield_for_manytomany(self, db_field, request, **kwargs): + """ + Get a form Field for a ManyToManyField. + """ + # If it uses an intermediary model that isn't auto created, don't show + # a field in admin. + if not db_field.remote_field.through._meta.auto_created: + return None + db = kwargs.get("using") + + if "widget" not in kwargs: + autocomplete_fields = self.get_autocomplete_fields(request) + if db_field.name in autocomplete_fields: + kwargs["widget"] = AutocompleteSelectMultiple( + db_field, + self.admin_site, + using=db, + ) + elif db_field.name in self.raw_id_fields: + kwargs["widget"] = widgets.ManyToManyRawIdWidget( + db_field.remote_field, + self.admin_site, + using=db, + ) + elif db_field.name in [*self.filter_vertical, *self.filter_horizontal]: + kwargs["widget"] = widgets.FilteredSelectMultiple( + db_field.verbose_name, db_field.name in self.filter_vertical + ) + if "queryset" not in kwargs: + queryset = self.get_field_queryset(db, db_field, request) + if queryset is not None: + kwargs["queryset"] = queryset + + form_field = db_field.formfield(**kwargs) + if ( + isinstance(form_field.widget, SelectMultiple) + and form_field.widget.allow_multiple_selected + and not isinstance( + form_field.widget, (CheckboxSelectMultiple, AutocompleteSelectMultiple) + ) + ): + msg = _( + "Hold down “Control”, or “Command” on a Mac, to select more than one." + ) + help_text = form_field.help_text + form_field.help_text = ( + format_lazy("{} {}", help_text, msg) if help_text else msg + ) + return form_field + + def get_autocomplete_fields(self, request): + """ + Return a list of ForeignKey and/or ManyToMany fields which should use + an autocomplete widget. + """ + return self.autocomplete_fields + + def get_view_on_site_url(self, obj=None): + if obj is None or not self.view_on_site: + return None + + if callable(self.view_on_site): + return self.view_on_site(obj) + elif hasattr(obj, "get_absolute_url"): + # use the ContentType lookup if view_on_site is True + return reverse( + "admin:view_on_site", + kwargs={ + "content_type_id": get_content_type_for_model(obj).pk, + "object_id": obj.pk, + }, + current_app=self.admin_site.name, + ) + + def get_empty_value_display(self): + """ + Return the empty_value_display set on ModelAdmin or AdminSite. + """ + try: + return mark_safe(self.empty_value_display) + except AttributeError: + return mark_safe(self.admin_site.empty_value_display) + + def get_exclude(self, request, obj=None): + """ + Hook for specifying exclude. + """ + return self.exclude + + def get_fields(self, request, obj=None): + """ + Hook for specifying fields. + """ + if self.fields: + return self.fields + # _get_form_for_get_fields() is implemented in subclasses. + form = self._get_form_for_get_fields(request, obj) + return [*form.base_fields, *self.get_readonly_fields(request, obj)] + + def get_fieldsets(self, request, obj=None): + """ + Hook for specifying fieldsets. + """ + if self.fieldsets: + return self.fieldsets + return [(None, {"fields": self.get_fields(request, obj)})] + + def get_inlines(self, request, obj): + """Hook for specifying custom inlines.""" + return self.inlines + + def get_ordering(self, request): + """ + Hook for specifying field ordering. + """ + return self.ordering or () # otherwise we might try to *None, which is bad ;) + + def get_readonly_fields(self, request, obj=None): + """ + Hook for specifying custom readonly fields. + """ + return self.readonly_fields + + def get_prepopulated_fields(self, request, obj=None): + """ + Hook for specifying custom prepopulated fields. + """ + return self.prepopulated_fields + + def get_queryset(self, request): + """ + Return a QuerySet of all model instances that can be edited by the + admin site. This is used by changelist_view. + """ + qs = self.model._default_manager.get_queryset() + # TODO: this should be handled by some parameter to the ChangeList. + ordering = self.get_ordering(request) + if ordering: + qs = qs.order_by(*ordering) + return qs + + def get_sortable_by(self, request): + """Hook for specifying which fields can be sorted in the changelist.""" + return ( + self.sortable_by + if self.sortable_by is not None + else self.get_list_display(request) + ) + + # RemovedInDjango60Warning: when the deprecation ends, replace with: + # def lookup_allowed(self, lookup, value, request): + def lookup_allowed(self, lookup, value, request=None): + from django.contrib.admin.filters import SimpleListFilter + + model = self.model + # Check FKey lookups that are allowed, so that popups produced by + # ForeignKeyRawIdWidget, on the basis of ForeignKey.limit_choices_to, + # are allowed to work. + for fk_lookup in model._meta.related_fkey_lookups: + # As ``limit_choices_to`` can be a callable, invoke it here. + if callable(fk_lookup): + fk_lookup = fk_lookup() + if (lookup, value) in widgets.url_params_from_lookup_dict( + fk_lookup + ).items(): + return True + + relation_parts = [] + prev_field = None + parts = lookup.split(LOOKUP_SEP) + for part in parts: + try: + field = model._meta.get_field(part) + except FieldDoesNotExist: + # Lookups on nonexistent fields are ok, since they're ignored + # later. + break + if not prev_field or ( + prev_field.is_relation + and field not in model._meta.parents.values() + and field is not model._meta.auto_field + and ( + model._meta.auto_field is None + or part not in getattr(prev_field, "to_fields", []) + ) + and (field.is_relation or not field.primary_key) + ): + relation_parts.append(part) + if not getattr(field, "path_infos", None): + # This is not a relational field, so further parts + # must be transforms. + break + prev_field = field + model = field.path_infos[-1].to_opts.model + + if len(relation_parts) <= 1: + # Either a local field filter, or no fields at all. + return True + valid_lookups = {self.date_hierarchy} + # RemovedInDjango60Warning: when the deprecation ends, replace with: + # for filter_item in self.get_list_filter(request): + list_filter = ( + self.get_list_filter(request) if request is not None else self.list_filter + ) + for filter_item in list_filter: + if isinstance(filter_item, type) and issubclass( + filter_item, SimpleListFilter + ): + valid_lookups.add(filter_item.parameter_name) + elif isinstance(filter_item, (list, tuple)): + valid_lookups.add(filter_item[0]) + else: + valid_lookups.add(filter_item) + + # Is it a valid relational lookup? + return not { + LOOKUP_SEP.join(relation_parts), + LOOKUP_SEP.join(relation_parts + [part]), + }.isdisjoint(valid_lookups) + + def to_field_allowed(self, request, to_field): + """ + Return True if the model associated with this admin should be + allowed to be referenced by the specified field. + """ + try: + field = self.opts.get_field(to_field) + except FieldDoesNotExist: + return False + + # Always allow referencing the primary key since it's already possible + # to get this information from the change view URL. + if field.primary_key: + return True + + # Allow reverse relationships to models defining m2m fields if they + # target the specified field. + for many_to_many in self.opts.many_to_many: + if many_to_many.m2m_target_field_name() == to_field: + return True + + # Make sure at least one of the models registered for this site + # references this field through a FK or a M2M relationship. + registered_models = set() + for model, admin in self.admin_site._registry.items(): + registered_models.add(model) + for inline in admin.inlines: + registered_models.add(inline.model) + + related_objects = ( + f + for f in self.opts.get_fields(include_hidden=True) + if (f.auto_created and not f.concrete) + ) + for related_object in related_objects: + related_model = related_object.related_model + remote_field = related_object.field.remote_field + if ( + any(issubclass(model, related_model) for model in registered_models) + and hasattr(remote_field, "get_related_field") + and remote_field.get_related_field() == field + ): + return True + + return False + + def has_add_permission(self, request): + """ + Return True if the given request has permission to add an object. + Can be overridden by the user in subclasses. + """ + opts = self.opts + codename = get_permission_codename("add", opts) + return request.user.has_perm("%s.%s" % (opts.app_label, codename)) + + def has_change_permission(self, request, obj=None): + """ + Return True if the given request has permission to change the given + Django model instance, the default implementation doesn't examine the + `obj` parameter. + + Can be overridden by the user in subclasses. In such case it should + return True if the given request has permission to change the `obj` + model instance. If `obj` is None, this should return True if the given + request has permission to change *any* object of the given type. + """ + opts = self.opts + codename = get_permission_codename("change", opts) + return request.user.has_perm("%s.%s" % (opts.app_label, codename)) + + def has_delete_permission(self, request, obj=None): + """ + Return True if the given request has permission to delete the given + Django model instance, the default implementation doesn't examine the + `obj` parameter. + + Can be overridden by the user in subclasses. In such case it should + return True if the given request has permission to delete the `obj` + model instance. If `obj` is None, this should return True if the given + request has permission to delete *any* object of the given type. + """ + opts = self.opts + codename = get_permission_codename("delete", opts) + return request.user.has_perm("%s.%s" % (opts.app_label, codename)) + + def has_view_permission(self, request, obj=None): + """ + Return True if the given request has permission to view the given + Django model instance. The default implementation doesn't examine the + `obj` parameter. + + If overridden by the user in subclasses, it should return True if the + given request has permission to view the `obj` model instance. If `obj` + is None, it should return True if the request has permission to view + any object of the given type. + """ + opts = self.opts + codename_view = get_permission_codename("view", opts) + codename_change = get_permission_codename("change", opts) + return request.user.has_perm( + "%s.%s" % (opts.app_label, codename_view) + ) or request.user.has_perm("%s.%s" % (opts.app_label, codename_change)) + + def has_view_or_change_permission(self, request, obj=None): + return self.has_view_permission(request, obj) or self.has_change_permission( + request, obj + ) + + def has_module_permission(self, request): + """ + Return True if the given request has any permission in the given + app label. + + Can be overridden by the user in subclasses. In such case it should + return True if the given request has permission to view the module on + the admin index page and access the module's index page. Overriding it + does not restrict access to the add, change or delete views. Use + `ModelAdmin.has_(add|change|delete)_permission` for that. + """ + return request.user.has_module_perms(self.opts.app_label) + + +class ModelAdmin(BaseModelAdmin): + """Encapsulate all admin options and functionality for a given model.""" + + list_display = ("__str__",) + list_display_links = () + list_filter = () + list_select_related = False + list_per_page = 100 + list_max_show_all = 200 + list_editable = () + search_fields = () + search_help_text = None + date_hierarchy = None + save_as = False + save_as_continue = True + save_on_top = False + paginator = Paginator + preserve_filters = True + show_facets = ShowFacets.ALLOW + inlines = () + + # Custom templates (designed to be over-ridden in subclasses) + add_form_template = None + change_form_template = None + change_list_template = None + delete_confirmation_template = None + delete_selected_confirmation_template = None + object_history_template = None + popup_response_template = None + + # Actions + actions = () + action_form = helpers.ActionForm + actions_on_top = True + actions_on_bottom = False + actions_selection_counter = True + checks_class = ModelAdminChecks + + def __init__(self, model, admin_site): + self.model = model + self.opts = model._meta + self.admin_site = admin_site + super().__init__() + + def __str__(self): + return "%s.%s" % (self.opts.app_label, self.__class__.__name__) + + def __repr__(self): + return ( + f"<{self.__class__.__qualname__}: model={self.model.__qualname__} " + f"site={self.admin_site!r}>" + ) + + def get_inline_instances(self, request, obj=None): + inline_instances = [] + for inline_class in self.get_inlines(request, obj): + inline = inline_class(self.model, self.admin_site) + if request: + if not ( + inline.has_view_or_change_permission(request, obj) + or inline.has_add_permission(request, obj) + or inline.has_delete_permission(request, obj) + ): + continue + if not inline.has_add_permission(request, obj): + inline.max_num = 0 + inline_instances.append(inline) + + return inline_instances + + def get_urls(self): + from django.urls import path + + def wrap(view): + def wrapper(*args, **kwargs): + return self.admin_site.admin_view(view)(*args, **kwargs) + + wrapper.model_admin = self + return update_wrapper(wrapper, view) + + info = self.opts.app_label, self.opts.model_name + + return [ + path("", wrap(self.changelist_view), name="%s_%s_changelist" % info), + path("add/", wrap(self.add_view), name="%s_%s_add" % info), + path( + "/history/", + wrap(self.history_view), + name="%s_%s_history" % info, + ), + path( + "/delete/", + wrap(self.delete_view), + name="%s_%s_delete" % info, + ), + path( + "/change/", + wrap(self.change_view), + name="%s_%s_change" % info, + ), + # For backwards compatibility (was the change url before 1.9) + path( + "/", + wrap( + RedirectView.as_view( + pattern_name="%s:%s_%s_change" + % ((self.admin_site.name,) + info) + ) + ), + ), + ] + + @property + def urls(self): + return self.get_urls() + + @property + def media(self): + extra = "" if settings.DEBUG else ".min" + js = [ + "vendor/jquery/jquery%s.js" % extra, + "jquery.init.js", + "core.js", + "admin/RelatedObjectLookups.js", + "actions.js", + "urlify.js", + "prepopulate.js", + "vendor/xregexp/xregexp%s.js" % extra, + ] + return forms.Media(js=["admin/js/%s" % url for url in js]) + + def get_model_perms(self, request): + """ + Return a dict of all perms for this model. This dict has the keys + ``add``, ``change``, ``delete``, and ``view`` mapping to the True/False + for each of those actions. + """ + return { + "add": self.has_add_permission(request), + "change": self.has_change_permission(request), + "delete": self.has_delete_permission(request), + "view": self.has_view_permission(request), + } + + def _get_form_for_get_fields(self, request, obj): + return self.get_form(request, obj, fields=None) + + def get_form(self, request, obj=None, change=False, **kwargs): + """ + Return a Form class for use in the admin add view. This is used by + add_view and change_view. + """ + if "fields" in kwargs: + fields = kwargs.pop("fields") + else: + fields = flatten_fieldsets(self.get_fieldsets(request, obj)) + excluded = self.get_exclude(request, obj) + exclude = [] if excluded is None else list(excluded) + readonly_fields = self.get_readonly_fields(request, obj) + exclude.extend(readonly_fields) + # Exclude all fields if it's a change form and the user doesn't have + # the change permission. + if ( + change + and hasattr(request, "user") + and not self.has_change_permission(request, obj) + ): + exclude.extend(fields) + if excluded is None and hasattr(self.form, "_meta") and self.form._meta.exclude: + # Take the custom ModelForm's Meta.exclude into account only if the + # ModelAdmin doesn't define its own. + exclude.extend(self.form._meta.exclude) + # if exclude is an empty list we pass None to be consistent with the + # default on modelform_factory + exclude = exclude or None + + # Remove declared form fields which are in readonly_fields. + new_attrs = dict.fromkeys( + f for f in readonly_fields if f in self.form.declared_fields + ) + form = type(self.form.__name__, (self.form,), new_attrs) + + defaults = { + "form": form, + "fields": fields, + "exclude": exclude, + "formfield_callback": partial(self.formfield_for_dbfield, request=request), + **kwargs, + } + + if defaults["fields"] is None and not modelform_defines_fields( + defaults["form"] + ): + defaults["fields"] = forms.ALL_FIELDS + + try: + return modelform_factory(self.model, **defaults) + except FieldError as e: + raise FieldError( + "%s. Check fields/fieldsets/exclude attributes of class %s." + % (e, self.__class__.__name__) + ) + + def get_changelist(self, request, **kwargs): + """ + Return the ChangeList class for use on the changelist page. + """ + from django.contrib.admin.views.main import ChangeList + + return ChangeList + + def get_changelist_instance(self, request): + """ + Return a `ChangeList` instance based on `request`. May raise + `IncorrectLookupParameters`. + """ + list_display = self.get_list_display(request) + list_display_links = self.get_list_display_links(request, list_display) + # Add the action checkboxes if any actions are available. + if self.get_actions(request): + list_display = ["action_checkbox", *list_display] + sortable_by = self.get_sortable_by(request) + ChangeList = self.get_changelist(request) + return ChangeList( + request, + self.model, + list_display, + list_display_links, + self.get_list_filter(request), + self.date_hierarchy, + self.get_search_fields(request), + self.get_list_select_related(request), + self.list_per_page, + self.list_max_show_all, + self.list_editable, + self, + sortable_by, + self.search_help_text, + ) + + def get_object(self, request, object_id, from_field=None): + """ + Return an instance matching the field and value provided, the primary + key is used if no field is provided. Return ``None`` if no match is + found or the object_id fails validation. + """ + queryset = self.get_queryset(request) + model = queryset.model + field = ( + model._meta.pk if from_field is None else model._meta.get_field(from_field) + ) + try: + object_id = field.to_python(object_id) + return queryset.get(**{field.name: object_id}) + except (model.DoesNotExist, ValidationError, ValueError): + return None + + def get_changelist_form(self, request, **kwargs): + """ + Return a Form class for use in the Formset on the changelist page. + """ + defaults = { + "formfield_callback": partial(self.formfield_for_dbfield, request=request), + **kwargs, + } + if defaults.get("fields") is None and not modelform_defines_fields( + defaults.get("form") + ): + defaults["fields"] = forms.ALL_FIELDS + + return modelform_factory(self.model, **defaults) + + def get_changelist_formset(self, request, **kwargs): + """ + Return a FormSet class for use on the changelist page if list_editable + is used. + """ + defaults = { + "formfield_callback": partial(self.formfield_for_dbfield, request=request), + **kwargs, + } + return modelformset_factory( + self.model, + self.get_changelist_form(request), + extra=0, + fields=self.list_editable, + **defaults, + ) + + def get_formsets_with_inlines(self, request, obj=None): + """ + Yield formsets and the corresponding inlines. + """ + for inline in self.get_inline_instances(request, obj): + yield inline.get_formset(request, obj), inline + + def get_paginator( + self, request, queryset, per_page, orphans=0, allow_empty_first_page=True + ): + return self.paginator(queryset, per_page, orphans, allow_empty_first_page) + + def log_addition(self, request, obj, message): + """ + Log that an object has been successfully added. + + The default implementation creates an admin LogEntry object. + """ + from django.contrib.admin.models import ADDITION, LogEntry + + return LogEntry.objects.log_actions( + user_id=request.user.pk, + queryset=[obj], + action_flag=ADDITION, + change_message=message, + single_object=True, + ) + + def log_change(self, request, obj, message): + """ + Log that an object has been successfully changed. + + The default implementation creates an admin LogEntry object. + """ + from django.contrib.admin.models import CHANGE, LogEntry + + return LogEntry.objects.log_actions( + user_id=request.user.pk, + queryset=[obj], + action_flag=CHANGE, + change_message=message, + single_object=True, + ) + + def log_deletion(self, request, obj, object_repr): + """ + Log that an object will be deleted. Note that this method must be + called before the deletion. + + The default implementation creates an admin LogEntry object. + """ + warnings.warn( + "ModelAdmin.log_deletion() is deprecated. Use log_deletions() instead.", + RemovedInDjango60Warning, + stacklevel=2, + ) + from django.contrib.admin.models import DELETION, LogEntry + + return LogEntry.objects.log_action( + user_id=request.user.pk, + content_type_id=get_content_type_for_model(obj).pk, + object_id=obj.pk, + object_repr=object_repr, + action_flag=DELETION, + ) + + def log_deletions(self, request, queryset): + """ + Log that objects will be deleted. Note that this method must be called + before the deletion. + + The default implementation creates admin LogEntry objects. + """ + from django.contrib.admin.models import DELETION, LogEntry + + # RemovedInDjango60Warning. + if type(self).log_deletion != ModelAdmin.log_deletion: + warnings.warn( + "The usage of log_deletion() is deprecated. Implement log_deletions() " + "instead.", + RemovedInDjango60Warning, + stacklevel=2, + ) + return [self.log_deletion(request, obj, str(obj)) for obj in queryset] + + return LogEntry.objects.log_actions( + user_id=request.user.pk, + queryset=queryset, + action_flag=DELETION, + ) + + def action_checkbox(self, obj): + """ + A list_display column containing a checkbox widget. + """ + attrs = { + "class": "action-select", + "aria-label": format_html( + _("Select this object for an action - {}"), str(obj) + ), + } + checkbox = forms.CheckboxInput(attrs, lambda value: False) + return checkbox.render(helpers.ACTION_CHECKBOX_NAME, str(obj.pk)) + + @staticmethod + def _get_action_description(func, name): + try: + return func.short_description + except AttributeError: + return capfirst(name.replace("_", " ")) + + def _get_base_actions(self): + """Return the list of actions, prior to any request-based filtering.""" + actions = [] + base_actions = (self.get_action(action) for action in self.actions or []) + # get_action might have returned None, so filter any of those out. + base_actions = [action for action in base_actions if action] + base_action_names = {name for _, name, _ in base_actions} + + # Gather actions from the admin site first + for name, func in self.admin_site.actions: + if name in base_action_names: + continue + description = self._get_action_description(func, name) + actions.append((func, name, description)) + # Add actions from this ModelAdmin. + actions.extend(base_actions) + return actions + + def _filter_actions_by_permissions(self, request, actions): + """Filter out any actions that the user doesn't have access to.""" + filtered_actions = [] + for action in actions: + callable = action[0] + if not hasattr(callable, "allowed_permissions"): + filtered_actions.append(action) + continue + permission_checks = ( + getattr(self, "has_%s_permission" % permission) + for permission in callable.allowed_permissions + ) + if any(has_permission(request) for has_permission in permission_checks): + filtered_actions.append(action) + return filtered_actions + + def get_actions(self, request): + """ + Return a dictionary mapping the names of all actions for this + ModelAdmin to a tuple of (callable, name, description) for each action. + """ + # If self.actions is set to None that means actions are disabled on + # this page. + if self.actions is None or IS_POPUP_VAR in request.GET: + return {} + actions = self._filter_actions_by_permissions(request, self._get_base_actions()) + return {name: (func, name, desc) for func, name, desc in actions} + + def get_action_choices(self, request, default_choices=models.BLANK_CHOICE_DASH): + """ + Return a list of choices for use in a form object. Each choice is a + tuple (name, description). + """ + choices = [] + default_choices + for func, name, description in self.get_actions(request).values(): + choice = (name, description % model_format_dict(self.opts)) + choices.append(choice) + return choices + + def get_action(self, action): + """ + Return a given action from a parameter, which can either be a callable, + or the name of a method on the ModelAdmin. Return is a tuple of + (callable, name, description). + """ + # If the action is a callable, just use it. + if callable(action): + func = action + action = action.__name__ + + # Next, look for a method. Grab it off self.__class__ to get an unbound + # method instead of a bound one; this ensures that the calling + # conventions are the same for functions and methods. + elif hasattr(self.__class__, action): + func = getattr(self.__class__, action) + + # Finally, look for a named method on the admin site + else: + try: + func = self.admin_site.get_action(action) + except KeyError: + return None + + description = self._get_action_description(func, action) + return func, action, description + + def get_list_display(self, request): + """ + Return a sequence containing the fields to be displayed on the + changelist. + """ + return self.list_display + + def get_list_display_links(self, request, list_display): + """ + Return a sequence containing the fields to be displayed as links + on the changelist. The list_display parameter is the list of fields + returned by get_list_display(). + """ + if ( + self.list_display_links + or self.list_display_links is None + or not list_display + ): + return self.list_display_links + else: + # Use only the first item in list_display as link + return list(list_display)[:1] + + def get_list_filter(self, request): + """ + Return a sequence containing the fields to be displayed as filters in + the right sidebar of the changelist page. + """ + return self.list_filter + + def get_list_select_related(self, request): + """ + Return a list of fields to add to the select_related() part of the + changelist items query. + """ + return self.list_select_related + + def get_search_fields(self, request): + """ + Return a sequence containing the fields to be searched whenever + somebody submits a search query. + """ + return self.search_fields + + def get_search_results(self, request, queryset, search_term): + """ + Return a tuple containing a queryset to implement the search + and a boolean indicating if the results may contain duplicates. + """ + + # Apply keyword searches. + def construct_search(field_name): + if field_name.startswith("^"): + return "%s__istartswith" % field_name.removeprefix("^") + elif field_name.startswith("="): + return "%s__iexact" % field_name.removeprefix("=") + elif field_name.startswith("@"): + return "%s__search" % field_name.removeprefix("@") + # Use field_name if it includes a lookup. + opts = queryset.model._meta + lookup_fields = field_name.split(LOOKUP_SEP) + # Go through the fields, following all relations. + prev_field = None + for path_part in lookup_fields: + if path_part == "pk": + path_part = opts.pk.name + try: + field = opts.get_field(path_part) + except FieldDoesNotExist: + # Use valid query lookups. + if prev_field and prev_field.get_lookup(path_part): + return field_name + else: + prev_field = field + if hasattr(field, "path_infos"): + # Update opts to follow the relation. + opts = field.path_infos[-1].to_opts + # Otherwise, use the field with icontains. + return "%s__icontains" % field_name + + may_have_duplicates = False + search_fields = self.get_search_fields(request) + if search_fields and search_term: + orm_lookups = [ + construct_search(str(search_field)) for search_field in search_fields + ] + term_queries = [] + for bit in smart_split(search_term): + if bit.startswith(('"', "'")) and bit[0] == bit[-1]: + bit = unescape_string_literal(bit) + or_queries = models.Q.create( + [(orm_lookup, bit) for orm_lookup in orm_lookups], + connector=models.Q.OR, + ) + term_queries.append(or_queries) + queryset = queryset.filter(models.Q.create(term_queries)) + may_have_duplicates |= any( + lookup_spawns_duplicates(self.opts, search_spec) + for search_spec in orm_lookups + ) + return queryset, may_have_duplicates + + def get_preserved_filters(self, request): + """ + Return the preserved filters querystring. + """ + match = request.resolver_match + if self.preserve_filters and match: + current_url = "%s:%s" % (match.app_name, match.url_name) + changelist_url = "admin:%s_%s_changelist" % ( + self.opts.app_label, + self.opts.model_name, + ) + if current_url == changelist_url: + preserved_filters = request.GET.urlencode() + else: + preserved_filters = request.GET.get("_changelist_filters") + + if preserved_filters: + return urlencode({"_changelist_filters": preserved_filters}) + return "" + + def construct_change_message(self, request, form, formsets, add=False): + """ + Construct a JSON structure describing changes from a changed object. + """ + return construct_change_message(form, formsets, add) + + def message_user( + self, request, message, level=messages.INFO, extra_tags="", fail_silently=False + ): + """ + Send a message to the user. The default implementation + posts a message using the django.contrib.messages backend. + + Exposes almost the same API as messages.add_message(), but accepts the + positional arguments in a different order to maintain backwards + compatibility. For convenience, it accepts the `level` argument as + a string rather than the usual level number. + """ + if not isinstance(level, int): + # attempt to get the level if passed a string + try: + level = getattr(messages.constants, level.upper()) + except AttributeError: + levels = messages.constants.DEFAULT_TAGS.values() + levels_repr = ", ".join("`%s`" % level for level in levels) + raise ValueError( + "Bad message level string: `%s`. Possible values are: %s" + % (level, levels_repr) + ) + + messages.add_message( + request, level, message, extra_tags=extra_tags, fail_silently=fail_silently + ) + + def save_form(self, request, form, change): + """ + Given a ModelForm return an unsaved instance. ``change`` is True if + the object is being changed, and False if it's being added. + """ + return form.save(commit=False) + + def save_model(self, request, obj, form, change): + """ + Given a model instance save it to the database. + """ + obj.save() + + def delete_model(self, request, obj): + """ + Given a model instance delete it from the database. + """ + obj.delete() + + def delete_queryset(self, request, queryset): + """Given a queryset, delete it from the database.""" + queryset.delete() + + def save_formset(self, request, form, formset, change): + """ + Given an inline formset save it to the database. + """ + formset.save() + + def save_related(self, request, form, formsets, change): + """ + Given the ``HttpRequest``, the parent ``ModelForm`` instance, the + list of inline formsets and a boolean value based on whether the + parent is being added or changed, save the related objects to the + database. Note that at this point save_form() and save_model() have + already been called. + """ + form.save_m2m() + for formset in formsets: + self.save_formset(request, form, formset, change=change) + + def render_change_form( + self, request, context, add=False, change=False, form_url="", obj=None + ): + app_label = self.opts.app_label + preserved_filters = self.get_preserved_filters(request) + form_url = add_preserved_filters( + {"preserved_filters": preserved_filters, "opts": self.opts}, form_url + ) + view_on_site_url = self.get_view_on_site_url(obj) + has_editable_inline_admin_formsets = False + for inline in context["inline_admin_formsets"]: + if ( + inline.has_add_permission + or inline.has_change_permission + or inline.has_delete_permission + ): + has_editable_inline_admin_formsets = True + break + context.update( + { + "add": add, + "change": change, + "has_view_permission": self.has_view_permission(request, obj), + "has_add_permission": self.has_add_permission(request), + "has_change_permission": self.has_change_permission(request, obj), + "has_delete_permission": self.has_delete_permission(request, obj), + "has_editable_inline_admin_formsets": ( + has_editable_inline_admin_formsets + ), + "has_file_field": context["adminform"].form.is_multipart() + or any( + admin_formset.formset.is_multipart() + for admin_formset in context["inline_admin_formsets"] + ), + "has_absolute_url": view_on_site_url is not None, + "absolute_url": view_on_site_url, + "form_url": form_url, + "opts": self.opts, + "content_type_id": get_content_type_for_model(self.model).pk, + "save_as": self.save_as, + "save_on_top": self.save_on_top, + "to_field_var": TO_FIELD_VAR, + "is_popup_var": IS_POPUP_VAR, + "app_label": app_label, + } + ) + if add and self.add_form_template is not None: + form_template = self.add_form_template + else: + form_template = self.change_form_template + + request.current_app = self.admin_site.name + + return TemplateResponse( + request, + form_template + or [ + "admin/%s/%s/change_form.html" % (app_label, self.opts.model_name), + "admin/%s/change_form.html" % app_label, + "admin/change_form.html", + ], + context, + ) + + def _get_preserved_qsl(self, request, preserved_filters): + query_string = urlparse(request.build_absolute_uri()).query + return parse_qsl(query_string.replace(preserved_filters, "")) + + def response_add(self, request, obj, post_url_continue=None): + """ + Determine the HttpResponse for the add_view stage. + """ + opts = obj._meta + preserved_filters = self.get_preserved_filters(request) + preserved_qsl = self._get_preserved_qsl(request, preserved_filters) + obj_url = reverse( + "admin:%s_%s_change" % (opts.app_label, opts.model_name), + args=(quote(obj.pk),), + current_app=self.admin_site.name, + ) + # Add a link to the object's change form if the user can edit the obj. + if self.has_change_permission(request, obj): + obj_repr = format_html('{}', urlquote(obj_url), obj) + else: + obj_repr = str(obj) + msg_dict = { + "name": opts.verbose_name, + "obj": obj_repr, + } + # Here, we distinguish between different save types by checking for + # the presence of keys in request.POST. + + if IS_POPUP_VAR in request.POST: + to_field = request.POST.get(TO_FIELD_VAR) + if to_field: + attr = str(to_field) + else: + attr = obj._meta.pk.attname + value = obj.serializable_value(attr) + popup_response_data = json.dumps( + { + "value": str(value), + "obj": str(obj), + } + ) + return TemplateResponse( + request, + self.popup_response_template + or [ + "admin/%s/%s/popup_response.html" + % (opts.app_label, opts.model_name), + "admin/%s/popup_response.html" % opts.app_label, + "admin/popup_response.html", + ], + { + "popup_response_data": popup_response_data, + }, + ) + + elif "_continue" in request.POST or ( + # Redirecting after "Save as new". + "_saveasnew" in request.POST + and self.save_as_continue + and self.has_change_permission(request, obj) + ): + msg = _("The {name} “{obj}” was added successfully.") + if self.has_change_permission(request, obj): + msg += " " + _("You may edit it again below.") + self.message_user(request, format_html(msg, **msg_dict), messages.SUCCESS) + if post_url_continue is None: + post_url_continue = obj_url + post_url_continue = add_preserved_filters( + { + "preserved_filters": preserved_filters, + "preserved_qsl": preserved_qsl, + "opts": opts, + }, + post_url_continue, + ) + return HttpResponseRedirect(post_url_continue) + + elif "_addanother" in request.POST: + msg = format_html( + _( + "The {name} “{obj}” was added successfully. You may add another " + "{name} below." + ), + **msg_dict, + ) + self.message_user(request, msg, messages.SUCCESS) + redirect_url = request.path + redirect_url = add_preserved_filters( + { + "preserved_filters": preserved_filters, + "preserved_qsl": preserved_qsl, + "opts": opts, + }, + redirect_url, + ) + return HttpResponseRedirect(redirect_url) + + else: + msg = format_html( + _("The {name} “{obj}” was added successfully."), **msg_dict + ) + self.message_user(request, msg, messages.SUCCESS) + return self.response_post_save_add(request, obj) + + def response_change(self, request, obj): + """ + Determine the HttpResponse for the change_view stage. + """ + + if IS_POPUP_VAR in request.POST: + opts = obj._meta + to_field = request.POST.get(TO_FIELD_VAR) + attr = str(to_field) if to_field else opts.pk.attname + value = request.resolver_match.kwargs["object_id"] + new_value = obj.serializable_value(attr) + popup_response_data = json.dumps( + { + "action": "change", + "value": str(value), + "obj": str(obj), + "new_value": str(new_value), + } + ) + return TemplateResponse( + request, + self.popup_response_template + or [ + "admin/%s/%s/popup_response.html" + % (opts.app_label, opts.model_name), + "admin/%s/popup_response.html" % opts.app_label, + "admin/popup_response.html", + ], + { + "popup_response_data": popup_response_data, + }, + ) + + opts = self.opts + preserved_filters = self.get_preserved_filters(request) + preserved_qsl = self._get_preserved_qsl(request, preserved_filters) + + msg_dict = { + "name": opts.verbose_name, + "obj": format_html('{}', urlquote(request.path), obj), + } + if "_continue" in request.POST: + msg = format_html( + _( + "The {name} “{obj}” was changed successfully. You may edit it " + "again below." + ), + **msg_dict, + ) + self.message_user(request, msg, messages.SUCCESS) + redirect_url = request.path + redirect_url = add_preserved_filters( + { + "preserved_filters": preserved_filters, + "preserved_qsl": preserved_qsl, + "opts": opts, + }, + redirect_url, + ) + return HttpResponseRedirect(redirect_url) + + elif "_addanother" in request.POST: + msg = format_html( + _( + "The {name} “{obj}” was changed successfully. You may add another " + "{name} below." + ), + **msg_dict, + ) + self.message_user(request, msg, messages.SUCCESS) + redirect_url = reverse( + "admin:%s_%s_add" % (opts.app_label, opts.model_name), + current_app=self.admin_site.name, + ) + redirect_url = add_preserved_filters( + { + "preserved_filters": preserved_filters, + "preserved_qsl": preserved_qsl, + "opts": opts, + }, + redirect_url, + ) + return HttpResponseRedirect(redirect_url) + + else: + msg = format_html( + _("The {name} “{obj}” was changed successfully."), **msg_dict + ) + self.message_user(request, msg, messages.SUCCESS) + return self.response_post_save_change(request, obj) + + def _response_post_save(self, request, obj): + if self.has_view_or_change_permission(request): + post_url = reverse( + "admin:%s_%s_changelist" % (self.opts.app_label, self.opts.model_name), + current_app=self.admin_site.name, + ) + preserved_filters = self.get_preserved_filters(request) + post_url = add_preserved_filters( + {"preserved_filters": preserved_filters, "opts": self.opts}, post_url + ) + else: + post_url = reverse("admin:index", current_app=self.admin_site.name) + return HttpResponseRedirect(post_url) + + def response_post_save_add(self, request, obj): + """ + Figure out where to redirect after the 'Save' button has been pressed + when adding a new object. + """ + return self._response_post_save(request, obj) + + def response_post_save_change(self, request, obj): + """ + Figure out where to redirect after the 'Save' button has been pressed + when editing an existing object. + """ + return self._response_post_save(request, obj) + + def response_action(self, request, queryset): + """ + Handle an admin action. This is called if a request is POSTed to the + changelist; it returns an HttpResponse if the action was handled, and + None otherwise. + """ + + # There can be multiple action forms on the page (at the top + # and bottom of the change list, for example). Get the action + # whose button was pushed. + try: + action_index = int(request.POST.get("index", 0)) + except ValueError: + action_index = 0 + + # Construct the action form. + data = request.POST.copy() + data.pop(helpers.ACTION_CHECKBOX_NAME, None) + data.pop("index", None) + + # Use the action whose button was pushed + try: + data.update({"action": data.getlist("action")[action_index]}) + except IndexError: + # If we didn't get an action from the chosen form that's invalid + # POST data, so by deleting action it'll fail the validation check + # below. So no need to do anything here + pass + + action_form = self.action_form(data, auto_id=None) + action_form.fields["action"].choices = self.get_action_choices(request) + + # If the form's valid we can handle the action. + if action_form.is_valid(): + action = action_form.cleaned_data["action"] + select_across = action_form.cleaned_data["select_across"] + func = self.get_actions(request)[action][0] + + # Get the list of selected PKs. If nothing's selected, we can't + # perform an action on it, so bail. Except we want to perform + # the action explicitly on all objects. + selected = request.POST.getlist(helpers.ACTION_CHECKBOX_NAME) + if not selected and not select_across: + # Reminder that something needs to be selected or nothing will happen + msg = _( + "Items must be selected in order to perform " + "actions on them. No items have been changed." + ) + self.message_user(request, msg, messages.WARNING) + return None + + if not select_across: + # Perform the action only on the selected objects + queryset = queryset.filter(pk__in=selected) + + response = func(self, request, queryset) + + # Actions may return an HttpResponse-like object, which will be + # used as the response from the POST. If not, we'll be a good + # little HTTP citizen and redirect back to the changelist page. + if isinstance(response, HttpResponseBase): + return response + else: + return HttpResponseRedirect(request.get_full_path()) + else: + msg = _("No action selected.") + self.message_user(request, msg, messages.WARNING) + return None + + def response_delete(self, request, obj_display, obj_id): + """ + Determine the HttpResponse for the delete_view stage. + """ + if IS_POPUP_VAR in request.POST: + popup_response_data = json.dumps( + { + "action": "delete", + "value": str(obj_id), + } + ) + return TemplateResponse( + request, + self.popup_response_template + or [ + "admin/%s/%s/popup_response.html" + % (self.opts.app_label, self.opts.model_name), + "admin/%s/popup_response.html" % self.opts.app_label, + "admin/popup_response.html", + ], + { + "popup_response_data": popup_response_data, + }, + ) + + self.message_user( + request, + _("The %(name)s “%(obj)s” was deleted successfully.") + % { + "name": self.opts.verbose_name, + "obj": obj_display, + }, + messages.SUCCESS, + ) + + if self.has_change_permission(request, None): + post_url = reverse( + "admin:%s_%s_changelist" % (self.opts.app_label, self.opts.model_name), + current_app=self.admin_site.name, + ) + preserved_filters = self.get_preserved_filters(request) + post_url = add_preserved_filters( + {"preserved_filters": preserved_filters, "opts": self.opts}, post_url + ) + else: + post_url = reverse("admin:index", current_app=self.admin_site.name) + return HttpResponseRedirect(post_url) + + def render_delete_form(self, request, context): + app_label = self.opts.app_label + + request.current_app = self.admin_site.name + context.update( + to_field_var=TO_FIELD_VAR, + is_popup_var=IS_POPUP_VAR, + media=self.media, + ) + + return TemplateResponse( + request, + self.delete_confirmation_template + or [ + "admin/{}/{}/delete_confirmation.html".format( + app_label, self.opts.model_name + ), + "admin/{}/delete_confirmation.html".format(app_label), + "admin/delete_confirmation.html", + ], + context, + ) + + def get_inline_formsets(self, request, formsets, inline_instances, obj=None): + # Edit permissions on parent model are required for editable inlines. + can_edit_parent = ( + self.has_change_permission(request, obj) + if obj + else self.has_add_permission(request) + ) + inline_admin_formsets = [] + for inline, formset in zip(inline_instances, formsets): + fieldsets = list(inline.get_fieldsets(request, obj)) + readonly = list(inline.get_readonly_fields(request, obj)) + if can_edit_parent: + has_add_permission = inline.has_add_permission(request, obj) + has_change_permission = inline.has_change_permission(request, obj) + has_delete_permission = inline.has_delete_permission(request, obj) + else: + # Disable all edit-permissions, and override formset settings. + has_add_permission = has_change_permission = has_delete_permission = ( + False + ) + formset.extra = formset.max_num = 0 + has_view_permission = inline.has_view_permission(request, obj) + prepopulated = dict(inline.get_prepopulated_fields(request, obj)) + inline_admin_formset = helpers.InlineAdminFormSet( + inline, + formset, + fieldsets, + prepopulated, + readonly, + model_admin=self, + has_add_permission=has_add_permission, + has_change_permission=has_change_permission, + has_delete_permission=has_delete_permission, + has_view_permission=has_view_permission, + ) + inline_admin_formsets.append(inline_admin_formset) + return inline_admin_formsets + + def get_changeform_initial_data(self, request): + """ + Get the initial form data from the request's GET params. + """ + initial = dict(request.GET.items()) + for k in initial: + try: + f = self.opts.get_field(k) + except FieldDoesNotExist: + continue + # We have to special-case M2Ms as a list of comma-separated PKs. + if isinstance(f, models.ManyToManyField): + initial[k] = initial[k].split(",") + return initial + + def _get_obj_does_not_exist_redirect(self, request, opts, object_id): + """ + Create a message informing the user that the object doesn't exist + and return a redirect to the admin index page. + """ + msg = _("%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?") % { + "name": opts.verbose_name, + "key": unquote(object_id), + } + self.message_user(request, msg, messages.WARNING) + url = reverse("admin:index", current_app=self.admin_site.name) + return HttpResponseRedirect(url) + + @csrf_protect_m + def changeform_view(self, request, object_id=None, form_url="", extra_context=None): + with transaction.atomic(using=router.db_for_write(self.model)): + return self._changeform_view(request, object_id, form_url, extra_context) + + def _changeform_view(self, request, object_id, form_url, extra_context): + to_field = request.POST.get(TO_FIELD_VAR, request.GET.get(TO_FIELD_VAR)) + if to_field and not self.to_field_allowed(request, to_field): + raise DisallowedModelAdminToField( + "The field %s cannot be referenced." % to_field + ) + + if request.method == "POST" and "_saveasnew" in request.POST: + object_id = None + + add = object_id is None + + if add: + if not self.has_add_permission(request): + raise PermissionDenied + obj = None + + else: + obj = self.get_object(request, unquote(object_id), to_field) + + if request.method == "POST": + if not self.has_change_permission(request, obj): + raise PermissionDenied + else: + if not self.has_view_or_change_permission(request, obj): + raise PermissionDenied + + if obj is None: + return self._get_obj_does_not_exist_redirect( + request, self.opts, object_id + ) + + fieldsets = self.get_fieldsets(request, obj) + ModelForm = self.get_form( + request, obj, change=not add, fields=flatten_fieldsets(fieldsets) + ) + if request.method == "POST": + form = ModelForm(request.POST, request.FILES, instance=obj) + formsets, inline_instances = self._create_formsets( + request, + form.instance, + change=not add, + ) + form_validated = form.is_valid() + if form_validated: + new_object = self.save_form(request, form, change=not add) + else: + new_object = form.instance + if all_valid(formsets) and form_validated: + self.save_model(request, new_object, form, not add) + self.save_related(request, form, formsets, not add) + change_message = self.construct_change_message( + request, form, formsets, add + ) + if add: + self.log_addition(request, new_object, change_message) + return self.response_add(request, new_object) + else: + self.log_change(request, new_object, change_message) + return self.response_change(request, new_object) + else: + form_validated = False + else: + if add: + initial = self.get_changeform_initial_data(request) + form = ModelForm(initial=initial) + formsets, inline_instances = self._create_formsets( + request, form.instance, change=False + ) + else: + form = ModelForm(instance=obj) + formsets, inline_instances = self._create_formsets( + request, obj, change=True + ) + + if not add and not self.has_change_permission(request, obj): + readonly_fields = flatten_fieldsets(fieldsets) + else: + readonly_fields = self.get_readonly_fields(request, obj) + admin_form = helpers.AdminForm( + form, + list(fieldsets), + # Clear prepopulated fields on a view-only form to avoid a crash. + ( + self.get_prepopulated_fields(request, obj) + if add or self.has_change_permission(request, obj) + else {} + ), + readonly_fields, + model_admin=self, + ) + media = self.media + admin_form.media + + inline_formsets = self.get_inline_formsets( + request, formsets, inline_instances, obj + ) + for inline_formset in inline_formsets: + media += inline_formset.media + + if add: + title = _("Add %s") + elif self.has_change_permission(request, obj): + title = _("Change %s") + else: + title = _("View %s") + context = { + **self.admin_site.each_context(request), + "title": title % self.opts.verbose_name, + "subtitle": str(obj) if obj else None, + "adminform": admin_form, + "object_id": object_id, + "original": obj, + "is_popup": IS_POPUP_VAR in request.POST or IS_POPUP_VAR in request.GET, + "to_field": to_field, + "media": media, + "inline_admin_formsets": inline_formsets, + "errors": helpers.AdminErrorList(form, formsets), + "preserved_filters": self.get_preserved_filters(request), + } + + # Hide the "Save" and "Save and continue" buttons if "Save as New" was + # previously chosen to prevent the interface from getting confusing. + if ( + request.method == "POST" + and not form_validated + and "_saveasnew" in request.POST + ): + context["show_save"] = False + context["show_save_and_continue"] = False + # Use the change template instead of the add template. + add = False + + context.update(extra_context or {}) + + return self.render_change_form( + request, context, add=add, change=not add, obj=obj, form_url=form_url + ) + + def add_view(self, request, form_url="", extra_context=None): + return self.changeform_view(request, None, form_url, extra_context) + + def change_view(self, request, object_id, form_url="", extra_context=None): + return self.changeform_view(request, object_id, form_url, extra_context) + + def _get_edited_object_pks(self, request, prefix): + """Return POST data values of list_editable primary keys.""" + pk_pattern = re.compile( + r"{}-\d+-{}$".format(re.escape(prefix), self.opts.pk.name) + ) + return [value for key, value in request.POST.items() if pk_pattern.match(key)] + + def _get_list_editable_queryset(self, request, prefix): + """ + Based on POST data, return a queryset of the objects that were edited + via list_editable. + """ + object_pks = self._get_edited_object_pks(request, prefix) + queryset = self.get_queryset(request) + validate = queryset.model._meta.pk.to_python + try: + for pk in object_pks: + validate(pk) + except ValidationError: + # Disable the optimization if the POST data was tampered with. + return queryset + return queryset.filter(pk__in=object_pks) + + @csrf_protect_m + def changelist_view(self, request, extra_context=None): + """ + The 'change list' admin view for this model. + """ + from django.contrib.admin.views.main import ERROR_FLAG + + app_label = self.opts.app_label + if not self.has_view_or_change_permission(request): + raise PermissionDenied + + try: + cl = self.get_changelist_instance(request) + except IncorrectLookupParameters: + # Wacky lookup parameters were given, so redirect to the main + # changelist page, without parameters, and pass an 'invalid=1' + # parameter via the query string. If wacky parameters were given + # and the 'invalid=1' parameter was already in the query string, + # something is screwed up with the database, so display an error + # page. + if ERROR_FLAG in request.GET: + return SimpleTemplateResponse( + "admin/invalid_setup.html", + { + "title": _("Database error"), + }, + ) + return HttpResponseRedirect(request.path + "?" + ERROR_FLAG + "=1") + + # If the request was POSTed, this might be a bulk action or a bulk + # edit. Try to look up an action or confirmation first, but if this + # isn't an action the POST will fall through to the bulk edit check, + # below. + action_failed = False + selected = request.POST.getlist(helpers.ACTION_CHECKBOX_NAME) + + actions = self.get_actions(request) + # Actions with no confirmation + if ( + actions + and request.method == "POST" + and "index" in request.POST + and "_save" not in request.POST + ): + if selected: + response = self.response_action( + request, queryset=cl.get_queryset(request) + ) + if response: + return response + else: + action_failed = True + else: + msg = _( + "Items must be selected in order to perform " + "actions on them. No items have been changed." + ) + self.message_user(request, msg, messages.WARNING) + action_failed = True + + # Actions with confirmation + if ( + actions + and request.method == "POST" + and helpers.ACTION_CHECKBOX_NAME in request.POST + and "index" not in request.POST + and "_save" not in request.POST + ): + if selected: + response = self.response_action( + request, queryset=cl.get_queryset(request) + ) + if response: + return response + else: + action_failed = True + + if action_failed: + # Redirect back to the changelist page to avoid resubmitting the + # form if the user refreshes the browser or uses the "No, take + # me back" button on the action confirmation page. + return HttpResponseRedirect(request.get_full_path()) + + # If we're allowing changelist editing, we need to construct a formset + # for the changelist given all the fields to be edited. Then we'll + # use the formset to validate/process POSTed data. + formset = cl.formset = None + + # Handle POSTed bulk-edit data. + if request.method == "POST" and cl.list_editable and "_save" in request.POST: + if not self.has_change_permission(request): + raise PermissionDenied + FormSet = self.get_changelist_formset(request) + modified_objects = self._get_list_editable_queryset( + request, FormSet.get_default_prefix() + ) + formset = cl.formset = FormSet( + request.POST, request.FILES, queryset=modified_objects + ) + if formset.is_valid(): + changecount = 0 + with transaction.atomic(using=router.db_for_write(self.model)): + for form in formset.forms: + if form.has_changed(): + obj = self.save_form(request, form, change=True) + self.save_model(request, obj, form, change=True) + self.save_related(request, form, formsets=[], change=True) + change_msg = self.construct_change_message( + request, form, None + ) + self.log_change(request, obj, change_msg) + changecount += 1 + if changecount: + msg = ngettext( + "%(count)s %(name)s was changed successfully.", + "%(count)s %(name)s were changed successfully.", + changecount, + ) % { + "count": changecount, + "name": model_ngettext(self.opts, changecount), + } + self.message_user(request, msg, messages.SUCCESS) + + return HttpResponseRedirect(request.get_full_path()) + + # Handle GET -- construct a formset for display. + elif cl.list_editable and self.has_change_permission(request): + FormSet = self.get_changelist_formset(request) + formset = cl.formset = FormSet(queryset=cl.result_list) + + # Build the list of media to be used by the formset. + if formset: + media = self.media + formset.media + else: + media = self.media + + # Build the action form and populate it with available actions. + if actions: + action_form = self.action_form(auto_id=None) + action_form.fields["action"].choices = self.get_action_choices(request) + media += action_form.media + else: + action_form = None + + selection_note_all = ngettext( + "%(total_count)s selected", "All %(total_count)s selected", cl.result_count + ) + + context = { + **self.admin_site.each_context(request), + "module_name": str(self.opts.verbose_name_plural), + "selection_note": _("0 of %(cnt)s selected") % {"cnt": len(cl.result_list)}, + "selection_note_all": selection_note_all % {"total_count": cl.result_count}, + "title": cl.title, + "subtitle": None, + "is_popup": cl.is_popup, + "to_field": cl.to_field, + "cl": cl, + "media": media, + "has_add_permission": self.has_add_permission(request), + "opts": cl.opts, + "action_form": action_form, + "actions_on_top": self.actions_on_top, + "actions_on_bottom": self.actions_on_bottom, + "actions_selection_counter": self.actions_selection_counter, + "preserved_filters": self.get_preserved_filters(request), + **(extra_context or {}), + } + + request.current_app = self.admin_site.name + + return TemplateResponse( + request, + self.change_list_template + or [ + "admin/%s/%s/change_list.html" % (app_label, self.opts.model_name), + "admin/%s/change_list.html" % app_label, + "admin/change_list.html", + ], + context, + ) + + def get_deleted_objects(self, objs, request): + """ + Hook for customizing the delete process for the delete view and the + "delete selected" action. + """ + return get_deleted_objects(objs, request, self.admin_site) + + @csrf_protect_m + def delete_view(self, request, object_id, extra_context=None): + with transaction.atomic(using=router.db_for_write(self.model)): + return self._delete_view(request, object_id, extra_context) + + def _delete_view(self, request, object_id, extra_context): + "The 'delete' admin view for this model." + app_label = self.opts.app_label + + to_field = request.POST.get(TO_FIELD_VAR, request.GET.get(TO_FIELD_VAR)) + if to_field and not self.to_field_allowed(request, to_field): + raise DisallowedModelAdminToField( + "The field %s cannot be referenced." % to_field + ) + + obj = self.get_object(request, unquote(object_id), to_field) + + if not self.has_delete_permission(request, obj): + raise PermissionDenied + + if obj is None: + return self._get_obj_does_not_exist_redirect(request, self.opts, object_id) + + # Populate deleted_objects, a data structure of all related objects that + # will also be deleted. + ( + deleted_objects, + model_count, + perms_needed, + protected, + ) = self.get_deleted_objects([obj], request) + + if request.POST and not protected: # The user has confirmed the deletion. + if perms_needed: + raise PermissionDenied + obj_display = str(obj) + attr = str(to_field) if to_field else self.opts.pk.attname + obj_id = obj.serializable_value(attr) + self.log_deletions(request, [obj]) + self.delete_model(request, obj) + + return self.response_delete(request, obj_display, obj_id) + + object_name = str(self.opts.verbose_name) + + if perms_needed or protected: + title = _("Cannot delete %(name)s") % {"name": object_name} + else: + title = _("Are you sure?") + + context = { + **self.admin_site.each_context(request), + "title": title, + "subtitle": None, + "object_name": object_name, + "object": obj, + "deleted_objects": deleted_objects, + "model_count": dict(model_count).items(), + "perms_lacking": perms_needed, + "protected": protected, + "opts": self.opts, + "app_label": app_label, + "preserved_filters": self.get_preserved_filters(request), + "is_popup": IS_POPUP_VAR in request.POST or IS_POPUP_VAR in request.GET, + "to_field": to_field, + **(extra_context or {}), + } + + return self.render_delete_form(request, context) + + def history_view(self, request, object_id, extra_context=None): + "The 'history' admin view for this model." + from django.contrib.admin.models import LogEntry + from django.contrib.admin.views.main import PAGE_VAR + + # First check if the user can see this history. + model = self.model + obj = self.get_object(request, unquote(object_id)) + if obj is None: + return self._get_obj_does_not_exist_redirect( + request, model._meta, object_id + ) + + if not self.has_view_or_change_permission(request, obj): + raise PermissionDenied + + # Then get the history for this object. + app_label = self.opts.app_label + action_list = ( + LogEntry.objects.filter( + object_id=unquote(object_id), + content_type=get_content_type_for_model(model), + ) + .select_related() + .order_by("action_time") + ) + + paginator = self.get_paginator(request, action_list, 100) + page_number = request.GET.get(PAGE_VAR, 1) + page_obj = paginator.get_page(page_number) + page_range = paginator.get_elided_page_range(page_obj.number) + + context = { + **self.admin_site.each_context(request), + "title": _("Change history: %s") % obj, + "subtitle": None, + "action_list": page_obj, + "page_range": page_range, + "page_var": PAGE_VAR, + "pagination_required": paginator.count > 100, + "module_name": str(capfirst(self.opts.verbose_name_plural)), + "object": obj, + "opts": self.opts, + "preserved_filters": self.get_preserved_filters(request), + **(extra_context or {}), + } + + request.current_app = self.admin_site.name + + return TemplateResponse( + request, + self.object_history_template + or [ + "admin/%s/%s/object_history.html" % (app_label, self.opts.model_name), + "admin/%s/object_history.html" % app_label, + "admin/object_history.html", + ], + context, + ) + + def get_formset_kwargs(self, request, obj, inline, prefix): + formset_params = { + "instance": obj, + "prefix": prefix, + "queryset": inline.get_queryset(request), + } + if request.method == "POST": + formset_params.update( + { + "data": request.POST.copy(), + "files": request.FILES, + "save_as_new": "_saveasnew" in request.POST, + } + ) + return formset_params + + def _create_formsets(self, request, obj, change): + "Helper function to generate formsets for add/change_view." + formsets = [] + inline_instances = [] + prefixes = {} + get_formsets_args = [request] + if change: + get_formsets_args.append(obj) + for FormSet, inline in self.get_formsets_with_inlines(*get_formsets_args): + prefix = FormSet.get_default_prefix() + prefixes[prefix] = prefixes.get(prefix, 0) + 1 + if prefixes[prefix] != 1 or not prefix: + prefix = "%s-%s" % (prefix, prefixes[prefix]) + formset_params = self.get_formset_kwargs(request, obj, inline, prefix) + formset = FormSet(**formset_params) + + def user_deleted_form(request, obj, formset, index, inline): + """Return whether or not the user deleted the form.""" + return ( + inline.has_delete_permission(request, obj) + and "{}-{}-DELETE".format(formset.prefix, index) in request.POST + ) + + # Bypass validation of each view-only inline form (since the form's + # data won't be in request.POST), unless the form was deleted. + if not inline.has_change_permission(request, obj if change else None): + for index, form in enumerate(formset.initial_forms): + if user_deleted_form(request, obj, formset, index, inline): + continue + form._errors = {} + form.cleaned_data = form.initial + formsets.append(formset) + inline_instances.append(inline) + return formsets, inline_instances + + +class InlineModelAdmin(BaseModelAdmin): + """ + Options for inline editing of ``model`` instances. + + Provide ``fk_name`` to specify the attribute name of the ``ForeignKey`` + from ``model`` to its parent. This is required if ``model`` has more than + one ``ForeignKey`` to its parent. + """ + + model = None + fk_name = None + formset = BaseInlineFormSet + extra = 3 + min_num = None + max_num = None + template = None + verbose_name = None + verbose_name_plural = None + can_delete = True + show_change_link = False + checks_class = InlineModelAdminChecks + classes = None + + def __init__(self, parent_model, admin_site): + self.admin_site = admin_site + self.parent_model = parent_model + self.opts = self.model._meta + self.has_registered_model = admin_site.is_registered(self.model) + super().__init__() + if self.verbose_name_plural is None: + if self.verbose_name is None: + self.verbose_name_plural = self.opts.verbose_name_plural + else: + self.verbose_name_plural = format_lazy("{}s", self.verbose_name) + if self.verbose_name is None: + self.verbose_name = self.opts.verbose_name + + @property + def media(self): + extra = "" if settings.DEBUG else ".min" + js = ["vendor/jquery/jquery%s.js" % extra, "jquery.init.js", "inlines.js"] + if self.filter_vertical or self.filter_horizontal: + js.extend(["SelectBox.js", "SelectFilter2.js"]) + return forms.Media(js=["admin/js/%s" % url for url in js]) + + def get_extra(self, request, obj=None, **kwargs): + """Hook for customizing the number of extra inline forms.""" + return self.extra + + def get_min_num(self, request, obj=None, **kwargs): + """Hook for customizing the min number of inline forms.""" + return self.min_num + + def get_max_num(self, request, obj=None, **kwargs): + """Hook for customizing the max number of extra inline forms.""" + return self.max_num + + def get_formset(self, request, obj=None, **kwargs): + """Return a BaseInlineFormSet class for use in admin add/change views.""" + if "fields" in kwargs: + fields = kwargs.pop("fields") + else: + fields = flatten_fieldsets(self.get_fieldsets(request, obj)) + excluded = self.get_exclude(request, obj) + exclude = [] if excluded is None else list(excluded) + exclude.extend(self.get_readonly_fields(request, obj)) + if excluded is None and hasattr(self.form, "_meta") and self.form._meta.exclude: + # Take the custom ModelForm's Meta.exclude into account only if the + # InlineModelAdmin doesn't define its own. + exclude.extend(self.form._meta.exclude) + # If exclude is an empty list we use None, since that's the actual + # default. + exclude = exclude or None + can_delete = self.can_delete and self.has_delete_permission(request, obj) + defaults = { + "form": self.form, + "formset": self.formset, + "fk_name": self.fk_name, + "fields": fields, + "exclude": exclude, + "formfield_callback": partial(self.formfield_for_dbfield, request=request), + "extra": self.get_extra(request, obj, **kwargs), + "min_num": self.get_min_num(request, obj, **kwargs), + "max_num": self.get_max_num(request, obj, **kwargs), + "can_delete": can_delete, + **kwargs, + } + + base_model_form = defaults["form"] + can_change = self.has_change_permission(request, obj) if request else True + can_add = self.has_add_permission(request, obj) if request else True + + class DeleteProtectedModelForm(base_model_form): + def hand_clean_DELETE(self): + """ + We don't validate the 'DELETE' field itself because on + templates it's not rendered using the field information, but + just using a generic "deletion_field" of the InlineModelAdmin. + """ + if self.cleaned_data.get(DELETION_FIELD_NAME, False): + using = router.db_for_write(self._meta.model) + collector = NestedObjects(using=using) + if self.instance._state.adding: + return + collector.collect([self.instance]) + if collector.protected: + objs = [] + for p in collector.protected: + objs.append( + # Translators: Model verbose name and instance + # representation, suitable to be an item in a + # list. + _("%(class_name)s %(instance)s") + % {"class_name": p._meta.verbose_name, "instance": p} + ) + params = { + "class_name": self._meta.model._meta.verbose_name, + "instance": self.instance, + "related_objects": get_text_list(objs, _("and")), + } + msg = _( + "Deleting %(class_name)s %(instance)s would require " + "deleting the following protected related objects: " + "%(related_objects)s" + ) + raise ValidationError( + msg, code="deleting_protected", params=params + ) + + def is_valid(self): + result = super().is_valid() + self.hand_clean_DELETE() + return result + + def has_changed(self): + # Protect against unauthorized edits. + if not can_change and not self.instance._state.adding: + return False + if not can_add and self.instance._state.adding: + return False + return super().has_changed() + + defaults["form"] = DeleteProtectedModelForm + + if defaults["fields"] is None and not modelform_defines_fields( + defaults["form"] + ): + defaults["fields"] = forms.ALL_FIELDS + + return inlineformset_factory(self.parent_model, self.model, **defaults) + + def _get_form_for_get_fields(self, request, obj=None): + return self.get_formset(request, obj, fields=None).form + + def get_queryset(self, request): + queryset = super().get_queryset(request) + if not self.has_view_or_change_permission(request): + queryset = queryset.none() + return queryset + + def _has_any_perms_for_target_model(self, request, perms): + """ + This method is called only when the ModelAdmin's model is for an + ManyToManyField's implicit through model (if self.opts.auto_created). + Return True if the user has any of the given permissions ('add', + 'change', etc.) for the model that points to the through model. + """ + opts = self.opts + # Find the target model of an auto-created many-to-many relationship. + for field in opts.fields: + if field.remote_field and field.remote_field.model != self.parent_model: + opts = field.remote_field.model._meta + break + return any( + request.user.has_perm( + "%s.%s" % (opts.app_label, get_permission_codename(perm, opts)) + ) + for perm in perms + ) + + def has_add_permission(self, request, obj): + if self.opts.auto_created: + # Auto-created intermediate models don't have their own + # permissions. The user needs to have the change permission for the + # related model in order to be able to do anything with the + # intermediate model. + return self._has_any_perms_for_target_model(request, ["change"]) + return super().has_add_permission(request) + + def has_change_permission(self, request, obj=None): + if self.opts.auto_created: + # Same comment as has_add_permission(). + return self._has_any_perms_for_target_model(request, ["change"]) + return super().has_change_permission(request) + + def has_delete_permission(self, request, obj=None): + if self.opts.auto_created: + # Same comment as has_add_permission(). + return self._has_any_perms_for_target_model(request, ["change"]) + return super().has_delete_permission(request, obj) + + def has_view_permission(self, request, obj=None): + if self.opts.auto_created: + # Same comment as has_add_permission(). The 'change' permission + # also implies the 'view' permission. + return self._has_any_perms_for_target_model(request, ["view", "change"]) + return super().has_view_permission(request) + + +class StackedInline(InlineModelAdmin): + template = "admin/edit_inline/stacked.html" + + +class TabularInline(InlineModelAdmin): + template = "admin/edit_inline/tabular.html" diff --git a/external_sources/django/django/contrib/admin/sites.py b/external_sources/django/django/contrib/admin/sites.py new file mode 100644 index 0000000..dc67262 --- /dev/null +++ b/external_sources/django/django/contrib/admin/sites.py @@ -0,0 +1,616 @@ +from functools import update_wrapper +from weakref import WeakSet + +from django.apps import apps +from django.conf import settings +from django.contrib.admin import ModelAdmin, actions +from django.contrib.admin.exceptions import AlreadyRegistered, NotRegistered +from django.contrib.admin.views.autocomplete import AutocompleteJsonView +from django.contrib.auth import REDIRECT_FIELD_NAME +from django.contrib.auth.decorators import login_not_required +from django.core.exceptions import ImproperlyConfigured +from django.db.models.base import ModelBase +from django.http import Http404, HttpResponsePermanentRedirect, HttpResponseRedirect +from django.template.response import TemplateResponse +from django.urls import NoReverseMatch, Resolver404, resolve, reverse, reverse_lazy +from django.utils.decorators import method_decorator +from django.utils.functional import LazyObject +from django.utils.module_loading import import_string +from django.utils.text import capfirst +from django.utils.translation import gettext as _ +from django.utils.translation import gettext_lazy +from django.views.decorators.cache import never_cache +from django.views.decorators.common import no_append_slash +from django.views.decorators.csrf import csrf_protect +from django.views.i18n import JavaScriptCatalog + +all_sites = WeakSet() + + +class AdminSite: + """ + An AdminSite object encapsulates an instance of the Django admin application, ready + to be hooked in to your URLconf. Models are registered with the AdminSite using the + register() method, and the get_urls() method can then be used to access Django view + functions that present a full admin interface for the collection of registered + models. + """ + + # Text to put at the end of each page's . + site_title = gettext_lazy("Django site admin") + + # Text to put in each page's <div id="site-name">. + site_header = gettext_lazy("Django administration") + + # Text to put at the top of the admin index page. + index_title = gettext_lazy("Site administration") + + # URL for the "View site" link at the top of each admin page. + site_url = "/" + + enable_nav_sidebar = True + + empty_value_display = "-" + + login_form = None + index_template = None + app_index_template = None + login_template = None + logout_template = None + password_change_template = None + password_change_done_template = None + + final_catch_all_view = True + + def __init__(self, name="admin"): + self._registry = {} # model_class class -> admin_class instance + self.name = name + self._actions = {"delete_selected": actions.delete_selected} + self._global_actions = self._actions.copy() + all_sites.add(self) + + def __repr__(self): + return f"{self.__class__.__name__}(name={self.name!r})" + + def check(self, app_configs): + """ + Run the system checks on all ModelAdmins, except if they aren't + customized at all. + """ + if app_configs is None: + app_configs = apps.get_app_configs() + app_configs = set(app_configs) # Speed up lookups below + + errors = [] + modeladmins = ( + o for o in self._registry.values() if o.__class__ is not ModelAdmin + ) + for modeladmin in modeladmins: + if modeladmin.model._meta.app_config in app_configs: + errors.extend(modeladmin.check()) + return errors + + def register(self, model_or_iterable, admin_class=None, **options): + """ + Register the given model(s) with the given admin class. + + The model(s) should be Model classes, not instances. + + If an admin class isn't given, use ModelAdmin (the default admin + options). If keyword arguments are given -- e.g., list_display -- + apply them as options to the admin class. + + If a model is already registered, raise AlreadyRegistered. + + If a model is abstract, raise ImproperlyConfigured. + """ + admin_class = admin_class or ModelAdmin + if isinstance(model_or_iterable, ModelBase): + model_or_iterable = [model_or_iterable] + for model in model_or_iterable: + if model._meta.abstract: + raise ImproperlyConfigured( + "The model %s is abstract, so it cannot be registered with admin." + % model.__name__ + ) + + if self.is_registered(model): + registered_admin = str(self.get_model_admin(model)) + msg = "The model %s is already registered " % model.__name__ + if registered_admin.endswith(".ModelAdmin"): + # Most likely registered without a ModelAdmin subclass. + msg += "in app %r." % registered_admin.removesuffix(".ModelAdmin") + else: + msg += "with %r." % registered_admin + raise AlreadyRegistered(msg) + + # Ignore the registration if the model has been + # swapped out. + if not model._meta.swapped: + # If we got **options then dynamically construct a subclass of + # admin_class with those **options. + if options: + # For reasons I don't quite understand, without a __module__ + # the created class appears to "live" in the wrong place, + # which causes issues later on. + options["__module__"] = __name__ + admin_class = type( + "%sAdmin" % model.__name__, (admin_class,), options + ) + + # Instantiate the admin class to save in the registry + self._registry[model] = admin_class(model, self) + + def unregister(self, model_or_iterable): + """ + Unregister the given model(s). + + If a model isn't already registered, raise NotRegistered. + """ + if isinstance(model_or_iterable, ModelBase): + model_or_iterable = [model_or_iterable] + for model in model_or_iterable: + if not self.is_registered(model): + raise NotRegistered("The model %s is not registered" % model.__name__) + del self._registry[model] + + def is_registered(self, model): + """ + Check if a model class is registered with this `AdminSite`. + """ + return model in self._registry + + def get_model_admin(self, model): + try: + return self._registry[model] + except KeyError: + raise NotRegistered(f"The model {model.__name__} is not registered.") + + def add_action(self, action, name=None): + """ + Register an action to be available globally. + """ + name = name or action.__name__ + self._actions[name] = action + self._global_actions[name] = action + + def disable_action(self, name): + """ + Disable a globally-registered action. Raise KeyError for invalid names. + """ + del self._actions[name] + + def get_action(self, name): + """ + Explicitly get a registered global action whether it's enabled or + not. Raise KeyError for invalid names. + """ + return self._global_actions[name] + + @property + def actions(self): + """ + Get all the enabled actions as an iterable of (name, func). + """ + return self._actions.items() + + def has_permission(self, request): + """ + Return True if the given HttpRequest has permission to view + *at least one* page in the admin site. + """ + return request.user.is_active and request.user.is_staff + + def admin_view(self, view, cacheable=False): + """ + Decorator to create an admin view attached to this ``AdminSite``. This + wraps the view and provides permission checking by calling + ``self.has_permission``. + + You'll want to use this from within ``AdminSite.get_urls()``: + + class MyAdminSite(AdminSite): + + def get_urls(self): + from django.urls import path + + urls = super().get_urls() + urls += [ + path('my_view/', self.admin_view(some_view)) + ] + return urls + + By default, admin_views are marked non-cacheable using the + ``never_cache`` decorator. If the view can be safely cached, set + cacheable=True. + """ + + def inner(request, *args, **kwargs): + if not self.has_permission(request): + if request.path == reverse("admin:logout", current_app=self.name): + index_path = reverse("admin:index", current_app=self.name) + return HttpResponseRedirect(index_path) + # Inner import to prevent django.contrib.admin (app) from + # importing django.contrib.auth.models.User (unrelated model). + from django.contrib.auth.views import redirect_to_login + + return redirect_to_login( + request.get_full_path(), + reverse("admin:login", current_app=self.name), + ) + return view(request, *args, **kwargs) + + if not cacheable: + inner = never_cache(inner) + # We add csrf_protect here so this function can be used as a utility + # function for any view, without having to repeat 'csrf_protect'. + if not getattr(view, "csrf_exempt", False): + inner = csrf_protect(inner) + return update_wrapper(inner, view) + + def get_urls(self): + # Since this module gets imported in the application's root package, + # it cannot import models from other applications at the module level, + # and django.contrib.contenttypes.views imports ContentType. + from django.contrib.contenttypes import views as contenttype_views + from django.urls import include, path, re_path + + def wrap(view, cacheable=False): + def wrapper(*args, **kwargs): + return self.admin_view(view, cacheable)(*args, **kwargs) + + wrapper.admin_site = self + # Used by LoginRequiredMiddleware. + wrapper.login_url = reverse_lazy("admin:login", current_app=self.name) + return update_wrapper(wrapper, view) + + # Admin-site-wide views. + urlpatterns = [ + path("", wrap(self.index), name="index"), + path("login/", self.login, name="login"), + path("logout/", wrap(self.logout), name="logout"), + path( + "password_change/", + wrap(self.password_change, cacheable=True), + name="password_change", + ), + path( + "password_change/done/", + wrap(self.password_change_done, cacheable=True), + name="password_change_done", + ), + path("autocomplete/", wrap(self.autocomplete_view), name="autocomplete"), + path("jsi18n/", wrap(self.i18n_javascript, cacheable=True), name="jsi18n"), + path( + "r/<int:content_type_id>/<path:object_id>/", + wrap(contenttype_views.shortcut), + name="view_on_site", + ), + ] + + # Add in each model's views, and create a list of valid URLS for the + # app_index + valid_app_labels = [] + for model, model_admin in self._registry.items(): + urlpatterns += [ + path( + "%s/%s/" % (model._meta.app_label, model._meta.model_name), + include(model_admin.urls), + ), + ] + if model._meta.app_label not in valid_app_labels: + valid_app_labels.append(model._meta.app_label) + + # If there were ModelAdmins registered, we should have a list of app + # labels for which we need to allow access to the app_index view, + if valid_app_labels: + regex = r"^(?P<app_label>" + "|".join(valid_app_labels) + ")/$" + urlpatterns += [ + re_path(regex, wrap(self.app_index), name="app_list"), + ] + + if self.final_catch_all_view: + urlpatterns.append(re_path(r"(?P<url>.*)$", wrap(self.catch_all_view))) + + return urlpatterns + + @property + def urls(self): + return self.get_urls(), "admin", self.name + + def each_context(self, request): + """ + Return a dictionary of variables to put in the template context for + *every* page in the admin site. + + For sites running on a subpath, use the SCRIPT_NAME value if site_url + hasn't been customized. + """ + script_name = request.META["SCRIPT_NAME"] + site_url = ( + script_name if self.site_url == "/" and script_name else self.site_url + ) + return { + "site_title": self.site_title, + "site_header": self.site_header, + "site_url": site_url, + "has_permission": self.has_permission(request), + "available_apps": self.get_app_list(request), + "is_popup": False, + "is_nav_sidebar_enabled": self.enable_nav_sidebar, + "log_entries": self.get_log_entries(request), + } + + def password_change(self, request, extra_context=None): + """ + Handle the "change password" task -- both form display and validation. + """ + from django.contrib.admin.forms import AdminPasswordChangeForm + from django.contrib.auth.views import PasswordChangeView + + url = reverse("admin:password_change_done", current_app=self.name) + defaults = { + "form_class": AdminPasswordChangeForm, + "success_url": url, + "extra_context": {**self.each_context(request), **(extra_context or {})}, + } + if self.password_change_template is not None: + defaults["template_name"] = self.password_change_template + request.current_app = self.name + return PasswordChangeView.as_view(**defaults)(request) + + def password_change_done(self, request, extra_context=None): + """ + Display the "success" page after a password change. + """ + from django.contrib.auth.views import PasswordChangeDoneView + + defaults = { + "extra_context": {**self.each_context(request), **(extra_context or {})}, + } + if self.password_change_done_template is not None: + defaults["template_name"] = self.password_change_done_template + request.current_app = self.name + return PasswordChangeDoneView.as_view(**defaults)(request) + + def i18n_javascript(self, request, extra_context=None): + """ + Display the i18n JavaScript that the Django admin requires. + + `extra_context` is unused but present for consistency with the other + admin views. + """ + return JavaScriptCatalog.as_view(packages=["django.contrib.admin"])(request) + + def logout(self, request, extra_context=None): + """ + Log out the user for the given HttpRequest. + + This should *not* assume the user is already logged in. + """ + from django.contrib.auth.views import LogoutView + + defaults = { + "extra_context": { + **self.each_context(request), + # Since the user isn't logged out at this point, the value of + # has_permission must be overridden. + "has_permission": False, + **(extra_context or {}), + }, + } + if self.logout_template is not None: + defaults["template_name"] = self.logout_template + request.current_app = self.name + return LogoutView.as_view(**defaults)(request) + + @method_decorator(never_cache) + @login_not_required + def login(self, request, extra_context=None): + """ + Display the login form for the given HttpRequest. + """ + if request.method == "GET" and self.has_permission(request): + # Already logged-in, redirect to admin index + index_path = reverse("admin:index", current_app=self.name) + return HttpResponseRedirect(index_path) + + # Since this module gets imported in the application's root package, + # it cannot import models from other applications at the module level, + # and django.contrib.admin.forms eventually imports User. + from django.contrib.admin.forms import AdminAuthenticationForm + from django.contrib.auth.views import LoginView + + context = { + **self.each_context(request), + "title": _("Log in"), + "subtitle": None, + "app_path": request.get_full_path(), + "username": request.user.get_username(), + } + if ( + REDIRECT_FIELD_NAME not in request.GET + and REDIRECT_FIELD_NAME not in request.POST + ): + context[REDIRECT_FIELD_NAME] = reverse("admin:index", current_app=self.name) + context.update(extra_context or {}) + + defaults = { + "extra_context": context, + "authentication_form": self.login_form or AdminAuthenticationForm, + "template_name": self.login_template or "admin/login.html", + } + request.current_app = self.name + return LoginView.as_view(**defaults)(request) + + def autocomplete_view(self, request): + return AutocompleteJsonView.as_view(admin_site=self)(request) + + @no_append_slash + def catch_all_view(self, request, url): + if settings.APPEND_SLASH and not url.endswith("/"): + urlconf = getattr(request, "urlconf", None) + try: + match = resolve("%s/" % request.path_info, urlconf) + except Resolver404: + pass + else: + if getattr(match.func, "should_append_slash", True): + return HttpResponsePermanentRedirect( + request.get_full_path(force_append_slash=True) + ) + raise Http404 + + def _build_app_dict(self, request, label=None): + """ + Build the app dictionary. The optional `label` parameter filters models + of a specific app. + """ + app_dict = {} + + if label: + models = { + m: m_a + for m, m_a in self._registry.items() + if m._meta.app_label == label + } + else: + models = self._registry + + for model, model_admin in models.items(): + app_label = model._meta.app_label + + has_module_perms = model_admin.has_module_permission(request) + if not has_module_perms: + continue + + perms = model_admin.get_model_perms(request) + + # Check whether user has any perm for this module. + # If so, add the module to the model_list. + if True not in perms.values(): + continue + + info = (app_label, model._meta.model_name) + model_dict = { + "model": model, + "name": capfirst(model._meta.verbose_name_plural), + "object_name": model._meta.object_name, + "perms": perms, + "admin_url": None, + "add_url": None, + } + if perms.get("change") or perms.get("view"): + model_dict["view_only"] = not perms.get("change") + try: + model_dict["admin_url"] = reverse( + "admin:%s_%s_changelist" % info, current_app=self.name + ) + except NoReverseMatch: + pass + if perms.get("add"): + try: + model_dict["add_url"] = reverse( + "admin:%s_%s_add" % info, current_app=self.name + ) + except NoReverseMatch: + pass + + if app_label in app_dict: + app_dict[app_label]["models"].append(model_dict) + else: + app_dict[app_label] = { + "name": apps.get_app_config(app_label).verbose_name, + "app_label": app_label, + "app_url": reverse( + "admin:app_list", + kwargs={"app_label": app_label}, + current_app=self.name, + ), + "has_module_perms": has_module_perms, + "models": [model_dict], + } + + return app_dict + + def get_app_list(self, request, app_label=None): + """ + Return a sorted list of all the installed apps that have been + registered in this site. + """ + app_dict = self._build_app_dict(request, app_label) + + # Sort the apps alphabetically. + app_list = sorted(app_dict.values(), key=lambda x: x["name"].lower()) + + # Sort the models alphabetically within each app. + for app in app_list: + app["models"].sort(key=lambda x: x["name"]) + + return app_list + + def index(self, request, extra_context=None): + """ + Display the main admin index page, which lists all of the installed + apps that have been registered in this site. + """ + app_list = self.get_app_list(request) + + context = { + **self.each_context(request), + "title": self.index_title, + "subtitle": None, + "app_list": app_list, + **(extra_context or {}), + } + + request.current_app = self.name + + return TemplateResponse( + request, self.index_template or "admin/index.html", context + ) + + def app_index(self, request, app_label, extra_context=None): + app_list = self.get_app_list(request, app_label) + + if not app_list: + raise Http404("The requested admin page does not exist.") + + context = { + **self.each_context(request), + "title": _("%(app)s administration") % {"app": app_list[0]["name"]}, + "subtitle": None, + "app_list": app_list, + "app_label": app_label, + **(extra_context or {}), + } + + request.current_app = self.name + + return TemplateResponse( + request, + self.app_index_template + or ["admin/%s/app_index.html" % app_label, "admin/app_index.html"], + context, + ) + + def get_log_entries(self, request): + from django.contrib.admin.models import LogEntry + + return LogEntry.objects.select_related("content_type", "user") + + +class DefaultAdminSite(LazyObject): + def _setup(self): + AdminSiteClass = import_string(apps.get_app_config("admin").default_site) + self._wrapped = AdminSiteClass() + + def __repr__(self): + return repr(self._wrapped) + + +# This global object represents the default admin site, for the common case. +# You can provide your own AdminSite using the (Simple)AdminConfig.default_site +# attribute. You can also instantiate AdminSite in your own code to create a +# custom admin site. +site = DefaultAdminSite() diff --git a/external_sources/django/django/contrib/admin/static/admin/css/autocomplete.css b/external_sources/django/django/contrib/admin/static/admin/css/autocomplete.css new file mode 100644 index 0000000..7478c2c --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/css/autocomplete.css @@ -0,0 +1,279 @@ +select.admin-autocomplete { + width: 20em; +} + +.select2-container--admin-autocomplete.select2-container { + min-height: 30px; +} + +.select2-container--admin-autocomplete .select2-selection--single, +.select2-container--admin-autocomplete .select2-selection--multiple { + min-height: 30px; + padding: 0; +} + +.select2-container--admin-autocomplete.select2-container--focus .select2-selection, +.select2-container--admin-autocomplete.select2-container--open .select2-selection { + border-color: var(--body-quiet-color); + min-height: 30px; +} + +.select2-container--admin-autocomplete.select2-container--focus .select2-selection.select2-selection--single, +.select2-container--admin-autocomplete.select2-container--open .select2-selection.select2-selection--single { + padding: 0; +} + +.select2-container--admin-autocomplete.select2-container--focus .select2-selection.select2-selection--multiple, +.select2-container--admin-autocomplete.select2-container--open .select2-selection.select2-selection--multiple { + padding: 0; +} + +.select2-container--admin-autocomplete .select2-selection--single { + background-color: var(--body-bg); + border: 1px solid var(--border-color); + border-radius: 4px; +} + +.select2-container--admin-autocomplete .select2-selection--single .select2-selection__rendered { + color: var(--body-fg); + line-height: 30px; +} + +.select2-container--admin-autocomplete .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; +} + +.select2-container--admin-autocomplete .select2-selection--single .select2-selection__placeholder { + color: var(--body-quiet-color); +} + +.select2-container--admin-autocomplete .select2-selection--single .select2-selection__arrow { + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px; +} + +.select2-container--admin-autocomplete .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0; +} + +.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left; +} + +.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--single .select2-selection__arrow { + left: 1px; + right: auto; +} + +.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--single { + background-color: var(--darkened-bg); + cursor: default; +} + +.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--single .select2-selection__clear { + display: none; +} + +.select2-container--admin-autocomplete.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px; +} + +.select2-container--admin-autocomplete .select2-selection--multiple { + background-color: var(--body-bg); + border: 1px solid var(--border-color); + border-radius: 4px; + cursor: text; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__rendered { + box-sizing: border-box; + list-style: none; + margin: 0; + padding: 0 10px 5px 5px; + width: 100%; + display: flex; + flex-wrap: wrap; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__rendered li { + list-style: none; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__placeholder { + color: var(--body-quiet-color); + margin-top: 5px; + float: left; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin: 5px; + position: absolute; + right: 0; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice { + background-color: var(--darkened-bg); + border: 1px solid var(--border-color); + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice__remove { + color: var(--body-quiet-color); + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice__remove:hover { + color: var(--body-fg); +} + +.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-search--inline { + float: right; +} + +.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + margin-left: 5px; + margin-right: auto; +} + +.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto; +} + +.select2-container--admin-autocomplete.select2-container--focus .select2-selection--multiple { + border: solid var(--body-quiet-color) 1px; + outline: 0; +} + +.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--multiple { + background-color: var(--darkened-bg); + cursor: default; +} + +.select2-container--admin-autocomplete.select2-container--disabled .select2-selection__choice__remove { + display: none; +} + +.select2-container--admin-autocomplete.select2-container--open.select2-container--above .select2-selection--single, .select2-container--admin-autocomplete.select2-container--open.select2-container--above .select2-selection--multiple { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.select2-container--admin-autocomplete.select2-container--open.select2-container--below .select2-selection--single, .select2-container--admin-autocomplete.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +.select2-container--admin-autocomplete .select2-search--dropdown { + background: var(--darkened-bg); +} + +.select2-container--admin-autocomplete .select2-search--dropdown .select2-search__field { + background: var(--body-bg); + color: var(--body-fg); + border: 1px solid var(--border-color); + border-radius: 4px; +} + +.select2-container--admin-autocomplete .select2-search--inline .select2-search__field { + background: transparent; + color: var(--body-fg); + border: none; + outline: 0; + box-shadow: none; + -webkit-appearance: textfield; +} + +.select2-container--admin-autocomplete .select2-results > .select2-results__options { + max-height: 200px; + overflow-y: auto; + color: var(--body-fg); + background: var(--body-bg); +} + +.select2-container--admin-autocomplete .select2-results__option[role=group] { + padding: 0; +} + +.select2-container--admin-autocomplete .select2-results__option[aria-disabled=true] { + color: var(--body-quiet-color); +} + +.select2-container--admin-autocomplete .select2-results__option[aria-selected=true] { + background-color: var(--selected-bg); + color: var(--body-fg); +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option { + padding-left: 1em; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__group { + padding-left: 0; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option { + margin-left: -1em; + padding-left: 2em; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -2em; + padding-left: 3em; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -3em; + padding-left: 4em; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -4em; + padding-left: 5em; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -5em; + padding-left: 6em; +} + +.select2-container--admin-autocomplete .select2-results__option--highlighted[aria-selected] { + background-color: var(--primary); + color: var(--primary-fg); +} + +.select2-container--admin-autocomplete .select2-results__group { + cursor: default; + display: block; + padding: 6px; +} + +.errors .select2-selection { + border: 1px solid var(--error-fg); +} diff --git a/external_sources/django/django/contrib/admin/static/admin/css/base.css b/external_sources/django/django/contrib/admin/static/admin/css/base.css new file mode 100644 index 0000000..ac28326 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/css/base.css @@ -0,0 +1,1179 @@ +/* + DJANGO Admin styles +*/ + +/* VARIABLE DEFINITIONS */ +html[data-theme="light"], +:root { + --primary: #79aec8; + --secondary: #417690; + --accent: #f5dd5d; + --primary-fg: #fff; + + --body-fg: #333; + --body-bg: #fff; + --body-quiet-color: #666; + --body-medium-color: #444; + --body-loud-color: #000; + + --header-color: #ffc; + --header-branding-color: var(--accent); + --header-bg: var(--secondary); + --header-link-color: var(--primary-fg); + + --breadcrumbs-fg: #c4dce8; + --breadcrumbs-link-fg: var(--body-bg); + --breadcrumbs-bg: #264b5d; + + --link-fg: #417893; + --link-hover-color: #036; + --link-selected-fg: var(--secondary); + + --hairline-color: #e8e8e8; + --border-color: #ccc; + + --error-fg: #ba2121; + + --message-success-bg: #dfd; + --message-warning-bg: #ffc; + --message-error-bg: #ffefef; + + --darkened-bg: #f8f8f8; /* A bit darker than --body-bg */ + --selected-bg: #e4e4e4; /* E.g. selected table cells */ + --selected-row: #ffc; + + --button-fg: #fff; + --button-bg: var(--secondary); + --button-hover-bg: #205067; + --default-button-bg: #205067; + --default-button-hover-bg: var(--secondary); + --close-button-bg: #747474; + --close-button-hover-bg: #333; + --delete-button-bg: #ba2121; + --delete-button-hover-bg: #a41515; + + --object-tools-fg: var(--button-fg); + --object-tools-bg: var(--close-button-bg); + --object-tools-hover-bg: var(--close-button-hover-bg); + + --font-family-primary: + "Segoe UI", + system-ui, + Roboto, + "Helvetica Neue", + Arial, + sans-serif, + "Apple Color Emoji", + "Segoe UI Emoji", + "Segoe UI Symbol", + "Noto Color Emoji"; + --font-family-monospace: + ui-monospace, + Menlo, + Monaco, + "Cascadia Mono", + "Segoe UI Mono", + "Roboto Mono", + "Oxygen Mono", + "Ubuntu Monospace", + "Source Code Pro", + "Fira Mono", + "Droid Sans Mono", + "Courier New", + monospace, + "Apple Color Emoji", + "Segoe UI Emoji", + "Segoe UI Symbol", + "Noto Color Emoji"; + + color-scheme: light; +} + +html, body { + height: 100%; +} + +body { + margin: 0; + padding: 0; + font-size: 0.875rem; + font-family: var(--font-family-primary); + color: var(--body-fg); + background: var(--body-bg); +} + +/* LINKS */ + +a:link, a:visited { + color: var(--link-fg); + text-decoration: none; + transition: color 0.15s, background 0.15s; +} + +a:focus, a:hover { + color: var(--link-hover-color); +} + +a:focus { + text-decoration: underline; +} + +a img { + border: none; +} + +a.section:link, a.section:visited { + color: var(--header-link-color); + text-decoration: none; +} + +a.section:focus, a.section:hover { + text-decoration: underline; +} + +/* GLOBAL DEFAULTS */ + +p, ol, ul, dl { + margin: .2em 0 .8em 0; +} + +p { + padding: 0; + line-height: 140%; +} + +h1,h2,h3,h4,h5 { + font-weight: bold; +} + +h1 { + margin: 0 0 20px; + font-weight: 300; + font-size: 1.25rem; +} + +h2 { + font-size: 1rem; + margin: 1em 0 .5em 0; +} + +h2.subhead { + font-weight: normal; + margin-top: 0; +} + +h3 { + font-size: 0.875rem; + margin: .8em 0 .3em 0; + color: var(--body-medium-color); + font-weight: bold; +} + +h4 { + font-size: 0.75rem; + margin: 1em 0 .8em 0; + padding-bottom: 3px; + color: var(--body-medium-color); +} + +h5 { + font-size: 0.625rem; + margin: 1.5em 0 .5em 0; + color: var(--body-quiet-color); + text-transform: uppercase; + letter-spacing: 1px; +} + +ul > li { + list-style-type: square; + padding: 1px 0; +} + +li ul { + margin-bottom: 0; +} + +li, dt, dd { + font-size: 0.8125rem; + line-height: 1.25rem; +} + +dt { + font-weight: bold; + margin-top: 4px; +} + +dd { + margin-left: 0; +} + +form { + margin: 0; + padding: 0; +} + +fieldset { + margin: 0; + min-width: 0; + padding: 0; + border: none; + border-top: 1px solid var(--hairline-color); +} + +details summary { + cursor: pointer; +} + +blockquote { + font-size: 0.6875rem; + color: #777; + margin-left: 2px; + padding-left: 10px; + border-left: 5px solid #ddd; +} + +code, pre { + font-family: var(--font-family-monospace); + color: var(--body-quiet-color); + font-size: 0.75rem; + overflow-x: auto; +} + +pre.literal-block { + margin: 10px; + background: var(--darkened-bg); + padding: 6px 8px; +} + +code strong { + color: #930; +} + +hr { + clear: both; + color: var(--hairline-color); + background-color: var(--hairline-color); + height: 1px; + border: none; + margin: 0; + padding: 0; + line-height: 1px; +} + +/* TEXT STYLES & MODIFIERS */ + +.small { + font-size: 0.6875rem; +} + +.mini { + font-size: 0.625rem; +} + +.help, p.help, form p.help, div.help, form div.help, div.help li { + font-size: 0.6875rem; + color: var(--body-quiet-color); +} + +div.help ul { + margin-bottom: 0; +} + +.help-tooltip { + cursor: help; +} + +p img, h1 img, h2 img, h3 img, h4 img, td img { + vertical-align: middle; +} + +.quiet, a.quiet:link, a.quiet:visited { + color: var(--body-quiet-color); + font-weight: normal; +} + +.clear { + clear: both; +} + +.nowrap { + white-space: nowrap; +} + +.hidden { + display: none !important; +} + +/* TABLES */ + +table { + border-collapse: collapse; + border-color: var(--border-color); +} + +td, th { + font-size: 0.8125rem; + line-height: 1rem; + border-bottom: 1px solid var(--hairline-color); + vertical-align: top; + padding: 8px; +} + +th { + font-weight: 500; + text-align: left; +} + +thead th, +tfoot td { + color: var(--body-quiet-color); + padding: 5px 10px; + font-size: 0.6875rem; + background: var(--body-bg); + border: none; + border-top: 1px solid var(--hairline-color); + border-bottom: 1px solid var(--hairline-color); +} + +tfoot td { + border-bottom: none; + border-top: 1px solid var(--hairline-color); +} + +thead th.required { + font-weight: bold; +} + +tr.alt { + background: var(--darkened-bg); +} + +tr:nth-child(odd), .row-form-errors { + background: var(--body-bg); +} + +tr:nth-child(even), +tr:nth-child(even) .errorlist, +tr:nth-child(odd) + .row-form-errors, +tr:nth-child(odd) + .row-form-errors .errorlist { + background: var(--darkened-bg); +} + +/* SORTABLE TABLES */ + +thead th { + padding: 5px 10px; + line-height: normal; + text-transform: uppercase; + background: var(--darkened-bg); +} + +thead th a:link, thead th a:visited { + color: var(--body-quiet-color); +} + +thead th.sorted { + background: var(--selected-bg); +} + +thead th.sorted .text { + padding-right: 42px; +} + +table thead th .text span { + padding: 8px 10px; + display: block; +} + +table thead th .text a { + display: block; + cursor: pointer; + padding: 8px 10px; +} + +table thead th .text a:focus, table thead th .text a:hover { + background: var(--selected-bg); +} + +thead th.sorted a.sortremove { + visibility: hidden; +} + +table thead th.sorted:hover a.sortremove { + visibility: visible; +} + +table thead th.sorted .sortoptions { + display: block; + padding: 9px 5px 0 5px; + float: right; + text-align: right; +} + +table thead th.sorted .sortpriority { + font-size: .8em; + min-width: 12px; + text-align: center; + vertical-align: 3px; + margin-left: 2px; + margin-right: 2px; +} + +table thead th.sorted .sortoptions a { + position: relative; + width: 14px; + height: 14px; + display: inline-block; + background: url(../img/sorting-icons.svg) 0 0 no-repeat; + background-size: 14px auto; +} + +table thead th.sorted .sortoptions a.sortremove { + background-position: 0 0; +} + +table thead th.sorted .sortoptions a.sortremove:after { + content: '\\'; + position: absolute; + top: -6px; + left: 3px; + font-weight: 200; + font-size: 1.125rem; + color: var(--body-quiet-color); +} + +table thead th.sorted .sortoptions a.sortremove:focus:after, +table thead th.sorted .sortoptions a.sortremove:hover:after { + color: var(--link-fg); +} + +table thead th.sorted .sortoptions a.sortremove:focus, +table thead th.sorted .sortoptions a.sortremove:hover { + background-position: 0 -14px; +} + +table thead th.sorted .sortoptions a.ascending { + background-position: 0 -28px; +} + +table thead th.sorted .sortoptions a.ascending:focus, +table thead th.sorted .sortoptions a.ascending:hover { + background-position: 0 -42px; +} + +table thead th.sorted .sortoptions a.descending { + top: 1px; + background-position: 0 -56px; +} + +table thead th.sorted .sortoptions a.descending:focus, +table thead th.sorted .sortoptions a.descending:hover { + background-position: 0 -70px; +} + +/* FORM DEFAULTS */ + +input, textarea, select, .form-row p, form .button { + margin: 2px 0; + padding: 2px 3px; + vertical-align: middle; + font-family: var(--font-family-primary); + font-weight: normal; + font-size: 0.8125rem; +} +.form-row div.help { + padding: 2px 3px; +} + +textarea { + vertical-align: top; +} + +/* +Minifiers remove the default (text) "type" attribute from "input" HTML tags. +Add input:not([type]) to make the CSS stylesheet work the same. +*/ +input:not([type]), input[type=text], input[type=password], input[type=email], +input[type=url], input[type=number], input[type=tel], textarea, select, +.vTextField { + border: 1px solid var(--border-color); + border-radius: 4px; + padding: 5px 6px; + margin-top: 0; + color: var(--body-fg); + background-color: var(--body-bg); +} + +/* +Minifiers remove the default (text) "type" attribute from "input" HTML tags. +Add input:not([type]) to make the CSS stylesheet work the same. +*/ +input:not([type]):focus, input[type=text]:focus, input[type=password]:focus, +input[type=email]:focus, input[type=url]:focus, input[type=number]:focus, +input[type=tel]:focus, textarea:focus, select:focus, .vTextField:focus { + border-color: var(--body-quiet-color); +} + +select { + height: 1.875rem; +} + +select[multiple] { + /* Allow HTML size attribute to override the height in the rule above. */ + height: auto; + min-height: 150px; +} + +/* FORM BUTTONS */ + +.button, input[type=submit], input[type=button], .submit-row input, a.button { + background: var(--button-bg); + padding: 10px 15px; + border: none; + border-radius: 4px; + color: var(--button-fg); + cursor: pointer; + transition: background 0.15s; +} + +a.button { + padding: 4px 5px; +} + +.button:active, input[type=submit]:active, input[type=button]:active, +.button:focus, input[type=submit]:focus, input[type=button]:focus, +.button:hover, input[type=submit]:hover, input[type=button]:hover { + background: var(--button-hover-bg); +} + +.button[disabled], input[type=submit][disabled], input[type=button][disabled] { + opacity: 0.4; +} + +.button.default, input[type=submit].default, .submit-row input.default { + border: none; + font-weight: 400; + background: var(--default-button-bg); +} + +.button.default:active, input[type=submit].default:active, +.button.default:focus, input[type=submit].default:focus, +.button.default:hover, input[type=submit].default:hover { + background: var(--default-button-hover-bg); +} + +.button[disabled].default, +input[type=submit][disabled].default, +input[type=button][disabled].default { + opacity: 0.4; +} + + +/* MODULES */ + +.module { + border: none; + margin-bottom: 30px; + background: var(--body-bg); +} + +.module p, .module ul, .module h3, .module h4, .module dl, .module pre { + padding-left: 10px; + padding-right: 10px; +} + +.module blockquote { + margin-left: 12px; +} + +.module ul, .module ol { + margin-left: 1.5em; +} + +.module h3 { + margin-top: .6em; +} + +.module h2, .module caption, .inline-group h2 { + margin: 0; + padding: 8px; + font-weight: 400; + font-size: 0.8125rem; + text-align: left; + background: var(--header-bg); + color: var(--header-link-color); +} + +.module caption, +.inline-group h2 { + font-size: 0.75rem; + letter-spacing: 0.5px; + text-transform: uppercase; +} + +.module table { + border-collapse: collapse; +} + +/* MESSAGES & ERRORS */ + +ul.messagelist { + padding: 0; + margin: 0; +} + +ul.messagelist li { + display: block; + font-weight: 400; + font-size: 0.8125rem; + padding: 10px 10px 10px 65px; + margin: 0 0 10px 0; + background: var(--message-success-bg) url(../img/icon-yes.svg) 40px 12px no-repeat; + background-size: 16px auto; + color: var(--body-fg); + word-break: break-word; +} + +ul.messagelist li.warning { + background: var(--message-warning-bg) url(../img/icon-alert.svg) 40px 14px no-repeat; + background-size: 14px auto; +} + +ul.messagelist li.error { + background: var(--message-error-bg) url(../img/icon-no.svg) 40px 12px no-repeat; + background-size: 16px auto; +} + +.errornote { + font-size: 0.875rem; + font-weight: 700; + display: block; + padding: 10px 12px; + margin: 0 0 10px 0; + color: var(--error-fg); + border: 1px solid var(--error-fg); + border-radius: 4px; + background-color: var(--body-bg); + background-position: 5px 12px; + overflow-wrap: break-word; +} + +ul.errorlist { + margin: 0 0 4px; + padding: 0; + color: var(--error-fg); + background: var(--body-bg); +} + +ul.errorlist li { + font-size: 0.8125rem; + display: block; + margin-bottom: 4px; + overflow-wrap: break-word; +} + +ul.errorlist li:first-child { + margin-top: 0; +} + +ul.errorlist li a { + color: inherit; + text-decoration: underline; +} + +td ul.errorlist { + margin: 0; + padding: 0; +} + +td ul.errorlist li { + margin: 0; +} + +.form-row.errors { + margin: 0; + border: none; + border-bottom: 1px solid var(--hairline-color); + background: none; +} + +.form-row.errors ul.errorlist li { + padding-left: 0; +} + +.errors input, .errors select, .errors textarea, +td ul.errorlist + input, td ul.errorlist + select, td ul.errorlist + textarea { + border: 1px solid var(--error-fg); +} + +.description { + font-size: 0.75rem; + padding: 5px 0 0 12px; +} + +/* BREADCRUMBS */ + +div.breadcrumbs { + background: var(--breadcrumbs-bg); + padding: 10px 40px; + border: none; + color: var(--breadcrumbs-fg); + text-align: left; +} + +div.breadcrumbs a { + color: var(--breadcrumbs-link-fg); +} + +div.breadcrumbs a:focus, div.breadcrumbs a:hover { + color: var(--breadcrumbs-fg); +} + +/* ACTION ICONS */ + +.viewlink, .inlineviewlink { + padding-left: 16px; + background: url(../img/icon-viewlink.svg) 0 1px no-repeat; +} + +.hidelink { + padding-left: 16px; + background: url(../img/icon-hidelink.svg) 0 1px no-repeat; +} + +.addlink { + padding-left: 16px; + background: url(../img/icon-addlink.svg) 0 1px no-repeat; +} + +.changelink, .inlinechangelink { + padding-left: 16px; + background: url(../img/icon-changelink.svg) 0 1px no-repeat; +} + +.deletelink { + padding-left: 16px; + background: url(../img/icon-deletelink.svg) 0 1px no-repeat; +} + +a.deletelink:link, a.deletelink:visited { + color: #CC3434; /* XXX Probably unused? */ +} + +a.deletelink:focus, a.deletelink:hover { + color: #993333; /* XXX Probably unused? */ + text-decoration: none; +} + +/* OBJECT TOOLS */ + +.object-tools { + font-size: 0.625rem; + font-weight: bold; + padding-left: 0; + float: right; + position: relative; + margin-top: -48px; +} + +.object-tools li { + display: block; + float: left; + margin-left: 5px; + height: 1rem; +} + +.object-tools a { + border-radius: 15px; +} + +.object-tools a:link, .object-tools a:visited { + display: block; + float: left; + padding: 3px 12px; + background: var(--object-tools-bg); + color: var(--object-tools-fg); + font-weight: 400; + font-size: 0.6875rem; + text-transform: uppercase; + letter-spacing: 0.5px; +} + +.object-tools a:focus, .object-tools a:hover { + background-color: var(--object-tools-hover-bg); +} + +.object-tools a:focus{ + text-decoration: none; +} + +.object-tools a.viewsitelink, .object-tools a.addlink { + background-repeat: no-repeat; + background-position: right 7px center; + padding-right: 26px; +} + +.object-tools a.viewsitelink { + background-image: url(../img/tooltag-arrowright.svg); +} + +.object-tools a.addlink { + background-image: url(../img/tooltag-add.svg); +} + +/* OBJECT HISTORY */ + +#change-history table { + width: 100%; +} + +#change-history table tbody th { + width: 16em; +} + +#change-history .paginator { + color: var(--body-quiet-color); + border-bottom: 1px solid var(--hairline-color); + background: var(--body-bg); + overflow: hidden; +} + +/* PAGE STRUCTURE */ + +#container { + position: relative; + width: 100%; + min-width: 980px; + padding: 0; + display: flex; + flex-direction: column; + height: 100%; +} + +#container > .main { + display: flex; + flex: 1 0 auto; +} + +.main > .content { + flex: 1 0; + max-width: 100%; +} + +.skip-to-content-link { + position: absolute; + top: -999px; + margin: 5px; + padding: 5px; + background: var(--body-bg); + z-index: 1; +} + +.skip-to-content-link:focus { + left: 0px; + top: 0px; +} + +#content { + padding: 20px 40px; +} + +.dashboard #content { + width: 600px; +} + +#content-main { + float: left; + width: 100%; +} + +#content-related { + float: right; + width: 260px; + position: relative; + margin-right: -300px; +} + +@media (forced-colors: active) { + #content-related { + border: 1px solid; + } +} + +/* COLUMN TYPES */ + +.colMS { + margin-right: 300px; +} + +.colSM { + margin-left: 300px; +} + +.colSM #content-related { + float: left; + margin-right: 0; + margin-left: -300px; +} + +.colSM #content-main { + float: right; +} + +.popup .colM { + width: auto; +} + +/* HEADER */ + +#header { + width: auto; + height: auto; + display: flex; + justify-content: space-between; + align-items: center; + padding: 10px 40px; + background: var(--header-bg); + color: var(--header-color); +} + +#header a:link, #header a:visited, #logout-form button { + color: var(--header-link-color); +} + +#header a:focus , #header a:hover { + text-decoration: underline; +} + +@media (forced-colors: active) { + #header { + border-bottom: 1px solid; + } +} + +#branding { + display: flex; +} + +#site-name { + padding: 0; + margin: 0; + margin-inline-end: 20px; + font-weight: 300; + font-size: 1.5rem; + color: var(--header-branding-color); +} + +#site-name a:link, #site-name a:visited { + color: var(--accent); +} + +#branding h2 { + padding: 0 10px; + font-size: 0.875rem; + margin: -8px 0 8px 0; + font-weight: normal; + color: var(--header-color); +} + +#branding a:hover { + text-decoration: none; +} + +#logout-form { + display: inline; +} + +#logout-form button { + background: none; + border: 0; + cursor: pointer; + font-family: var(--font-family-primary); +} + +#user-tools { + float: right; + margin: 0 0 0 20px; + text-align: right; +} + +#user-tools, #logout-form button{ + padding: 0; + font-weight: 300; + font-size: 0.6875rem; + letter-spacing: 0.5px; + text-transform: uppercase; +} + +#user-tools a, #logout-form button { + border-bottom: 1px solid rgba(255, 255, 255, 0.25); +} + +#user-tools a:focus, #user-tools a:hover, +#logout-form button:active, #logout-form button:hover { + text-decoration: none; + border-bottom: 0; +} + +#logout-form button:active, #logout-form button:hover { + margin-bottom: 1px; +} + +/* SIDEBAR */ + +#content-related { + background: var(--darkened-bg); +} + +#content-related .module { + background: none; +} + +#content-related h3 { + color: var(--body-quiet-color); + padding: 0 16px; + margin: 0 0 16px; +} + +#content-related h4 { + font-size: 0.8125rem; +} + +#content-related p { + padding-left: 16px; + padding-right: 16px; +} + +#content-related .actionlist { + padding: 0; + margin: 16px; +} + +#content-related .actionlist li { + line-height: 1.2; + margin-bottom: 10px; + padding-left: 18px; +} + +#content-related .module h2 { + background: none; + padding: 16px; + margin-bottom: 16px; + border-bottom: 1px solid var(--hairline-color); + font-size: 1.125rem; + color: var(--body-fg); +} + +.delete-confirmation form input[type="submit"] { + background: var(--delete-button-bg); + border-radius: 4px; + padding: 10px 15px; + color: var(--button-fg); +} + +.delete-confirmation form input[type="submit"]:active, +.delete-confirmation form input[type="submit"]:focus, +.delete-confirmation form input[type="submit"]:hover { + background: var(--delete-button-hover-bg); +} + +.delete-confirmation form .cancel-link { + display: inline-block; + vertical-align: middle; + height: 0.9375rem; + line-height: 0.9375rem; + border-radius: 4px; + padding: 10px 15px; + color: var(--button-fg); + background: var(--close-button-bg); + margin: 0 0 0 10px; +} + +.delete-confirmation form .cancel-link:active, +.delete-confirmation form .cancel-link:focus, +.delete-confirmation form .cancel-link:hover { + background: var(--close-button-hover-bg); +} + +/* POPUP */ +.popup #content { + padding: 20px; +} + +.popup #container { + min-width: 0; +} + +.popup #header { + padding: 10px 20px; +} + +/* PAGINATOR */ + +.paginator { + display: flex; + align-items: center; + gap: 4px; + font-size: 0.8125rem; + padding-top: 10px; + padding-bottom: 10px; + line-height: 22px; + margin: 0; + border-top: 1px solid var(--hairline-color); + width: 100%; +} + +.paginator a:link, .paginator a:visited { + padding: 2px 6px; + background: var(--button-bg); + text-decoration: none; + color: var(--button-fg); +} + +.paginator a.showall { + border: none; + background: none; + color: var(--link-fg); +} + +.paginator a.showall:focus, .paginator a.showall:hover { + background: none; + color: var(--link-hover-color); +} + +.paginator .end { + margin-right: 6px; +} + +.paginator .this-page { + padding: 2px 6px; + font-weight: bold; + font-size: 0.8125rem; + vertical-align: top; +} + +.paginator a:focus, .paginator a:hover { + color: white; + background: var(--link-hover-color); +} + +.paginator input { + margin-left: auto; +} + +.base-svgs { + display: none; +} + +.visually-hidden { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + border: 0; + color: var(--body-fg); + background-color: var(--body-bg); +} diff --git a/external_sources/django/django/contrib/admin/static/admin/css/changelists.css b/external_sources/django/django/contrib/admin/static/admin/css/changelists.css new file mode 100644 index 0000000..005b776 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/css/changelists.css @@ -0,0 +1,343 @@ +/* CHANGELISTS */ + +#changelist { + display: flex; + align-items: flex-start; + justify-content: space-between; +} + +#changelist .changelist-form-container { + flex: 1 1 auto; + min-width: 0; +} + +#changelist table { + width: 100%; +} + +.change-list .hiddenfields { display:none; } + +.change-list .filtered table { + border-right: none; +} + +.change-list .filtered { + min-height: 400px; +} + +.change-list .filtered .results, .change-list .filtered .paginator, +.filtered #toolbar, .filtered div.xfull { + width: auto; +} + +.change-list .filtered table tbody th { + padding-right: 1em; +} + +#changelist-form .results { + overflow-x: auto; + width: 100%; +} + +#changelist .toplinks { + border-bottom: 1px solid var(--hairline-color); +} + +#changelist .paginator { + color: var(--body-quiet-color); + border-bottom: 1px solid var(--hairline-color); + background: var(--body-bg); + overflow: hidden; +} + +/* CHANGELIST TABLES */ + +#changelist table thead th { + padding: 0; + white-space: nowrap; + vertical-align: middle; +} + +#changelist table thead th.action-checkbox-column { + width: 1.5em; + text-align: center; +} + +#changelist table tbody td.action-checkbox { + text-align: center; +} + +#changelist table tfoot { + color: var(--body-quiet-color); +} + +/* TOOLBAR */ + +#toolbar { + padding: 8px 10px; + margin-bottom: 15px; + border-top: 1px solid var(--hairline-color); + border-bottom: 1px solid var(--hairline-color); + background: var(--darkened-bg); + color: var(--body-quiet-color); +} + +#toolbar form input { + border-radius: 4px; + font-size: 0.875rem; + padding: 5px; + color: var(--body-fg); +} + +#toolbar #searchbar { + height: 1.1875rem; + border: 1px solid var(--border-color); + padding: 2px 5px; + margin: 0; + vertical-align: top; + font-size: 0.8125rem; + max-width: 100%; +} + +#toolbar #searchbar:focus { + border-color: var(--body-quiet-color); +} + +#toolbar form input[type="submit"] { + border: 1px solid var(--border-color); + font-size: 0.8125rem; + padding: 4px 8px; + margin: 0; + vertical-align: middle; + background: var(--body-bg); + box-shadow: 0 -15px 20px -10px rgba(0, 0, 0, 0.15) inset; + cursor: pointer; + color: var(--body-fg); +} + +#toolbar form input[type="submit"]:focus, +#toolbar form input[type="submit"]:hover { + border-color: var(--body-quiet-color); +} + +#changelist-search img { + vertical-align: middle; + margin-right: 4px; +} + +#changelist-search .help { + word-break: break-word; +} + +/* FILTER COLUMN */ + +#changelist-filter { + flex: 0 0 240px; + order: 1; + background: var(--darkened-bg); + border-left: none; + margin: 0 0 0 30px; +} + +@media (forced-colors: active) { + #changelist-filter { + border: 1px solid; + } +} + +#changelist-filter h2 { + font-size: 0.875rem; + text-transform: uppercase; + letter-spacing: 0.5px; + padding: 5px 15px; + margin-bottom: 12px; + border-bottom: none; +} + +#changelist-filter h3, +#changelist-filter details summary { + font-weight: 400; + padding: 0 15px; + margin-bottom: 10px; +} + +#changelist-filter details summary > * { + display: inline; +} + +#changelist-filter details > summary { + list-style-type: none; +} + +#changelist-filter details > summary::-webkit-details-marker { + display: none; +} + +#changelist-filter details > summary::before { + content: '→'; + font-weight: bold; + color: var(--link-hover-color); +} + +#changelist-filter details[open] > summary::before { + content: '↓'; +} + +#changelist-filter ul { + margin: 5px 0; + padding: 0 15px 15px; + border-bottom: 1px solid var(--hairline-color); +} + +#changelist-filter ul:last-child { + border-bottom: none; +} + +#changelist-filter li { + list-style-type: none; + margin-left: 0; + padding-left: 0; +} + +#changelist-filter a { + display: block; + color: var(--body-quiet-color); + word-break: break-word; +} + +#changelist-filter li.selected { + border-left: 5px solid var(--hairline-color); + padding-left: 10px; + margin-left: -15px; +} + +#changelist-filter li.selected a { + color: var(--link-selected-fg); +} + +#changelist-filter a:focus, #changelist-filter a:hover, +#changelist-filter li.selected a:focus, +#changelist-filter li.selected a:hover { + color: var(--link-hover-color); +} + +#changelist-filter #changelist-filter-extra-actions { + font-size: 0.8125rem; + margin-bottom: 10px; + border-bottom: 1px solid var(--hairline-color); +} + +/* DATE DRILLDOWN */ + +.change-list .toplinks { + display: flex; + padding-bottom: 5px; + flex-wrap: wrap; + gap: 3px 17px; + font-weight: bold; +} + +.change-list .toplinks a { + font-size: 0.8125rem; +} + +.change-list .toplinks .date-back { + color: var(--body-quiet-color); +} + +.change-list .toplinks .date-back:focus, +.change-list .toplinks .date-back:hover { + color: var(--link-hover-color); +} + +/* ACTIONS */ + +.filtered .actions { + border-right: none; +} + +#changelist table input { + margin: 0; + vertical-align: baseline; +} + +/* Once the :has() pseudo-class is supported by all browsers, the tr.selected + selector and the JS adding the class can be removed. */ +#changelist tbody tr.selected { + background-color: var(--selected-row); +} + +#changelist tbody tr:has(.action-select:checked) { + background-color: var(--selected-row); +} + +@media (forced-colors: active) { + #changelist tbody tr.selected { + background-color: SelectedItem; + } + #changelist tbody tr:has(.action-select:checked) { + background-color: SelectedItem; + } +} + +#changelist .actions { + padding: 10px; + background: var(--body-bg); + border-top: none; + border-bottom: none; + line-height: 1.5rem; + color: var(--body-quiet-color); + width: 100%; +} + +#changelist .actions span.all, +#changelist .actions span.action-counter, +#changelist .actions span.clear, +#changelist .actions span.question { + font-size: 0.8125rem; + margin: 0 0.5em; +} + +#changelist .actions:last-child { + border-bottom: none; +} + +#changelist .actions select { + vertical-align: top; + height: 1.5rem; + color: var(--body-fg); + border: 1px solid var(--border-color); + border-radius: 4px; + font-size: 0.875rem; + padding: 0 0 0 4px; + margin: 0; + margin-left: 10px; +} + +#changelist .actions select:focus { + border-color: var(--body-quiet-color); +} + +#changelist .actions label { + display: inline-block; + vertical-align: middle; + font-size: 0.8125rem; +} + +#changelist .actions .button { + font-size: 0.8125rem; + border: 1px solid var(--border-color); + border-radius: 4px; + background: var(--body-bg); + box-shadow: 0 -15px 20px -10px rgba(0, 0, 0, 0.15) inset; + cursor: pointer; + height: 1.5rem; + line-height: 1; + padding: 4px 8px; + margin: 0; + color: var(--body-fg); +} + +#changelist .actions .button:focus, #changelist .actions .button:hover { + border-color: var(--body-quiet-color); +} diff --git a/external_sources/django/django/contrib/admin/static/admin/css/dark_mode.css b/external_sources/django/django/contrib/admin/static/admin/css/dark_mode.css new file mode 100644 index 0000000..7e12a81 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/css/dark_mode.css @@ -0,0 +1,130 @@ +@media (prefers-color-scheme: dark) { + :root { + --primary: #264b5d; + --primary-fg: #f7f7f7; + + --body-fg: #eeeeee; + --body-bg: #121212; + --body-quiet-color: #d0d0d0; + --body-medium-color: #e0e0e0; + --body-loud-color: #ffffff; + + --breadcrumbs-link-fg: #e0e0e0; + --breadcrumbs-bg: var(--primary); + + --link-fg: #81d4fa; + --link-hover-color: #4ac1f7; + --link-selected-fg: #6f94c6; + + --hairline-color: #272727; + --border-color: #353535; + + --error-fg: #e35f5f; + --message-success-bg: #006b1b; + --message-warning-bg: #583305; + --message-error-bg: #570808; + + --darkened-bg: #212121; + --selected-bg: #1b1b1b; + --selected-row: #00363a; + + --close-button-bg: #333333; + --close-button-hover-bg: #666666; + + color-scheme: dark; + } + } + + +html[data-theme="dark"] { + --primary: #264b5d; + --primary-fg: #f7f7f7; + + --body-fg: #eeeeee; + --body-bg: #121212; + --body-quiet-color: #d0d0d0; + --body-medium-color: #e0e0e0; + --body-loud-color: #ffffff; + + --breadcrumbs-link-fg: #e0e0e0; + --breadcrumbs-bg: var(--primary); + + --link-fg: #81d4fa; + --link-hover-color: #4ac1f7; + --link-selected-fg: #6f94c6; + + --hairline-color: #272727; + --border-color: #353535; + + --error-fg: #e35f5f; + --message-success-bg: #006b1b; + --message-warning-bg: #583305; + --message-error-bg: #570808; + + --darkened-bg: #212121; + --selected-bg: #1b1b1b; + --selected-row: #00363a; + + --close-button-bg: #333333; + --close-button-hover-bg: #666666; + + color-scheme: dark; +} + +/* THEME SWITCH */ +.theme-toggle { + cursor: pointer; + border: none; + padding: 0; + background: transparent; + vertical-align: middle; + margin-inline-start: 5px; + margin-top: -1px; +} + +.theme-toggle svg { + vertical-align: middle; + height: 1rem; + width: 1rem; + display: none; +} + +/* +Fully hide screen reader text so we only show the one matching the current +theme. +*/ +.theme-toggle .visually-hidden { + display: none; +} + +html[data-theme="auto"] .theme-toggle .theme-label-when-auto { + display: block; +} + +html[data-theme="dark"] .theme-toggle .theme-label-when-dark { + display: block; +} + +html[data-theme="light"] .theme-toggle .theme-label-when-light { + display: block; +} + +/* ICONS */ +.theme-toggle svg.theme-icon-when-auto, +.theme-toggle svg.theme-icon-when-dark, +.theme-toggle svg.theme-icon-when-light { + fill: var(--header-link-color); + color: var(--header-bg); +} + +html[data-theme="auto"] .theme-toggle svg.theme-icon-when-auto { + display: block; +} + +html[data-theme="dark"] .theme-toggle svg.theme-icon-when-dark { + display: block; +} + +html[data-theme="light"] .theme-toggle svg.theme-icon-when-light { + display: block; +} diff --git a/external_sources/django/django/contrib/admin/static/admin/css/dashboard.css b/external_sources/django/django/contrib/admin/static/admin/css/dashboard.css new file mode 100644 index 0000000..242b81a --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/css/dashboard.css @@ -0,0 +1,29 @@ +/* DASHBOARD */ +.dashboard td, .dashboard th { + word-break: break-word; +} + +.dashboard .module table th { + width: 100%; +} + +.dashboard .module table td { + white-space: nowrap; +} + +.dashboard .module table td a { + display: block; + padding-right: .6em; +} + +/* RECENT ACTIONS MODULE */ + +.module ul.actionlist { + margin-left: 0; +} + +ul.actionlist li { + list-style-type: none; + overflow: hidden; + text-overflow: ellipsis; +} diff --git a/external_sources/django/django/contrib/admin/static/admin/css/forms.css b/external_sources/django/django/contrib/admin/static/admin/css/forms.css new file mode 100644 index 0000000..4f49b61 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/css/forms.css @@ -0,0 +1,512 @@ +@import url('widgets.css'); + +/* FORM ROWS */ + +.form-row { + overflow: hidden; + padding: 10px; + font-size: 0.8125rem; + border-bottom: 1px solid var(--hairline-color); +} + +.form-row img, .form-row input { + vertical-align: middle; +} + +.form-row label input[type="checkbox"] { + margin-top: 0; + vertical-align: 0; +} + +form .form-row p { + padding-left: 0; +} + +.flex-container { + display: flex; +} + +.form-multiline { + flex-wrap: wrap; +} + +.form-multiline > div { + padding-bottom: 10px; +} + +/* FORM LABELS */ + +label { + font-weight: normal; + color: var(--body-quiet-color); + font-size: 0.8125rem; +} + +.required label, label.required { + font-weight: bold; +} + +/* RADIO BUTTONS */ + +form div.radiolist div { + padding-right: 7px; +} + +form div.radiolist.inline div { + display: inline-block; +} + +form div.radiolist label { + width: auto; +} + +form div.radiolist input[type="radio"] { + margin: -2px 4px 0 0; + padding: 0; +} + +form ul.inline { + margin-left: 0; + padding: 0; +} + +form ul.inline li { + float: left; + padding-right: 7px; +} + +/* FIELDSETS */ + +fieldset .fieldset-heading, +fieldset .inline-heading, +:not(.inline-related) .collapse summary { + border: 1px solid var(--header-bg); + margin: 0; + padding: 8px; + font-weight: 400; + font-size: 0.8125rem; + background: var(--header-bg); + color: var(--header-link-color); +} + +/* ALIGNED FIELDSETS */ + +.aligned label { + display: block; + padding: 4px 10px 0 0; + min-width: 160px; + width: 160px; + word-wrap: break-word; +} + +.aligned label:not(.vCheckboxLabel):after { + content: ''; + display: inline-block; + vertical-align: middle; +} + +.aligned label + p, .aligned .checkbox-row + div.help, .aligned label + div.readonly { + padding: 6px 0; + margin-top: 0; + margin-bottom: 0; + margin-left: 0; + overflow-wrap: break-word; +} + +.aligned ul label { + display: inline; + float: none; + width: auto; +} + +.aligned .form-row input { + margin-bottom: 0; +} + +.colMS .aligned .vLargeTextField, .colMS .aligned .vXMLLargeTextField { + width: 350px; +} + +form .aligned ul { + margin-left: 160px; + padding-left: 10px; +} + +form .aligned div.radiolist { + display: inline-block; + margin: 0; + padding: 0; +} + +form .aligned p.help, +form .aligned div.help { + margin-top: 0; + margin-left: 160px; + padding-left: 10px; +} + +form .aligned p.date div.help.timezonewarning, +form .aligned p.datetime div.help.timezonewarning, +form .aligned p.time div.help.timezonewarning { + margin-left: 0; + padding-left: 0; + font-weight: normal; +} + +form .aligned p.help:last-child, +form .aligned div.help:last-child { + margin-bottom: 0; + padding-bottom: 0; +} + +form .aligned input + p.help, +form .aligned textarea + p.help, +form .aligned select + p.help, +form .aligned input + div.help, +form .aligned textarea + div.help, +form .aligned select + div.help { + margin-left: 160px; + padding-left: 10px; +} + +form .aligned select option:checked { + background-color: var(--selected-row); +} + +form .aligned ul li { + list-style: none; +} + +form .aligned table p { + margin-left: 0; + padding-left: 0; +} + +.aligned .vCheckboxLabel { + padding: 1px 0 0 5px; +} + +.aligned .vCheckboxLabel + p.help, +.aligned .vCheckboxLabel + div.help { + margin-top: -4px; +} + +.colM .aligned .vLargeTextField, .colM .aligned .vXMLLargeTextField { + width: 610px; +} + +fieldset .fieldBox { + margin-right: 20px; +} + +/* WIDE FIELDSETS */ + +.wide label { + width: 200px; +} + +form .wide p.help, +form .wide ul.errorlist, +form .wide div.help { + padding-left: 50px; +} + +form div.help ul { + padding-left: 0; + margin-left: 0; +} + +.colM fieldset.wide .vLargeTextField, .colM fieldset.wide .vXMLLargeTextField { + width: 450px; +} + +/* COLLAPSIBLE FIELDSETS */ + +.collapse summary .fieldset-heading, +.collapse summary .inline-heading { + background: transparent; + border: none; + color: currentColor; + display: inline; + margin: 0; + padding: 0; +} + +/* MONOSPACE TEXTAREAS */ + +fieldset.monospace textarea { + font-family: var(--font-family-monospace); +} + +/* SUBMIT ROW */ + +.submit-row { + padding: 12px 14px 12px; + margin: 0 0 20px; + background: var(--darkened-bg); + border: 1px solid var(--hairline-color); + border-radius: 4px; + overflow: hidden; + display: flex; + gap: 10px; + flex-wrap: wrap; +} + +body.popup .submit-row { + overflow: auto; +} + +.submit-row input { + height: 2.1875rem; + line-height: 0.9375rem; +} + +.submit-row input, .submit-row a { + margin: 0; +} + +.submit-row input.default { + text-transform: uppercase; +} + +.submit-row a.deletelink { + margin-left: auto; +} + +.submit-row a.deletelink { + display: block; + background: var(--delete-button-bg); + border-radius: 4px; + padding: 0.625rem 0.9375rem; + height: 0.9375rem; + line-height: 0.9375rem; + color: var(--button-fg); +} + +.submit-row a.closelink { + display: inline-block; + background: var(--close-button-bg); + border-radius: 4px; + padding: 10px 15px; + height: 0.9375rem; + line-height: 0.9375rem; + color: var(--button-fg); +} + +.submit-row a.deletelink:focus, +.submit-row a.deletelink:hover, +.submit-row a.deletelink:active { + background: var(--delete-button-hover-bg); + text-decoration: none; +} + +.submit-row a.closelink:focus, +.submit-row a.closelink:hover, +.submit-row a.closelink:active { + background: var(--close-button-hover-bg); + text-decoration: none; +} + +/* CUSTOM FORM FIELDS */ + +.vSelectMultipleField { + vertical-align: top; +} + +.vCheckboxField { + border: none; +} + +.vDateField, .vTimeField { + margin-right: 2px; + margin-bottom: 4px; +} + +.vDateField { + min-width: 6.85em; +} + +.vTimeField { + min-width: 4.7em; +} + +.vURLField { + width: 30em; +} + +.vLargeTextField, .vXMLLargeTextField { + width: 48em; +} + +.flatpages-flatpage #id_content { + height: 40.2em; +} + +.module table .vPositiveSmallIntegerField { + width: 2.2em; +} + +.vIntegerField { + width: 5em; +} + +.vBigIntegerField { + width: 10em; +} + +.vForeignKeyRawIdAdminField { + width: 5em; +} + +.vTextField, .vUUIDField { + width: 20em; +} + +/* INLINES */ + +.inline-group { + padding: 0; + margin: 0 0 30px; +} + +.inline-group thead th { + padding: 8px 10px; +} + +.inline-group .aligned label { + width: 160px; +} + +.inline-related { + position: relative; +} + +.inline-related h4, +.inline-related:not(.tabular) .collapse summary { + margin: 0; + color: var(--body-medium-color); + padding: 5px; + font-size: 0.8125rem; + background: var(--darkened-bg); + border: 1px solid var(--hairline-color); + border-left-color: var(--darkened-bg); + border-right-color: var(--darkened-bg); +} + +.inline-related h3 span.delete { + float: right; +} + +.inline-related h3 span.delete label { + margin-left: 2px; + font-size: 0.6875rem; +} + +.inline-related fieldset { + margin: 0; + background: var(--body-bg); + border: none; + width: 100%; +} + +.inline-group .tabular fieldset.module { + border: none; +} + +.inline-related.tabular fieldset.module table { + width: 100%; + overflow-x: scroll; +} + +.last-related fieldset { + border: none; +} + +.inline-group .tabular tr.has_original td { + padding-top: 2em; +} + +.inline-group .tabular tr td.original { + padding: 2px 0 0 0; + width: 0; + _position: relative; +} + +.inline-group .tabular th.original { + width: 0px; + padding: 0; +} + +.inline-group .tabular td.original p { + position: absolute; + left: 0; + height: 1.1em; + padding: 2px 9px; + overflow: hidden; + font-size: 0.5625rem; + font-weight: bold; + color: var(--body-quiet-color); + _width: 700px; +} + +.inline-group ul.tools { + padding: 0; + margin: 0; + list-style: none; +} + +.inline-group ul.tools li { + display: inline; + padding: 0 5px; +} + +.inline-group div.add-row, +.inline-group .tabular tr.add-row td { + color: var(--body-quiet-color); + background: var(--darkened-bg); + padding: 8px 10px; + border-bottom: 1px solid var(--hairline-color); +} + +.inline-group .tabular tr.add-row td { + padding: 8px 10px; + border-bottom: 1px solid var(--hairline-color); +} + +.inline-group ul.tools a.add, +.inline-group div.add-row a, +.inline-group .tabular tr.add-row td a { + background: url(../img/icon-addlink.svg) 0 1px no-repeat; + padding-left: 16px; + font-size: 0.75rem; +} + +.empty-form { + display: none; +} + +/* RELATED FIELD ADD ONE / LOOKUP */ + +.related-lookup { + margin-left: 5px; + display: inline-block; + vertical-align: middle; + background-repeat: no-repeat; + background-size: 14px; +} + +.related-lookup { + width: 1rem; + height: 1rem; + background-image: url(../img/search.svg); +} + +form .related-widget-wrapper ul { + display: inline-block; + margin-left: 0; + padding-left: 0; +} + +.clearable-file-input input { + margin-top: 0; +} diff --git a/external_sources/django/django/contrib/admin/static/admin/css/login.css b/external_sources/django/django/contrib/admin/static/admin/css/login.css new file mode 100644 index 0000000..805a34b --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/css/login.css @@ -0,0 +1,61 @@ +/* LOGIN FORM */ + +.login { + background: var(--darkened-bg); + height: auto; +} + +.login #header { + height: auto; + padding: 15px 16px; + justify-content: center; +} + +.login #header h1 { + font-size: 1.125rem; + margin: 0; +} + +.login #header h1 a { + color: var(--header-link-color); +} + +.login #content { + padding: 20px; +} + +.login #container { + background: var(--body-bg); + border: 1px solid var(--hairline-color); + border-radius: 4px; + overflow: hidden; + width: 28em; + min-width: 300px; + margin: 100px auto; + height: auto; +} + +.login .form-row { + padding: 4px 0; +} + +.login .form-row label { + display: block; + line-height: 2em; +} + +.login .form-row #id_username, .login .form-row #id_password { + padding: 8px; + width: 100%; + box-sizing: border-box; +} + +.login .submit-row { + padding: 1em 0 0 0; + margin: 0; + text-align: center; +} + +.login .password-reset-link { + text-align: center; +} diff --git a/external_sources/django/django/contrib/admin/static/admin/css/nav_sidebar.css b/external_sources/django/django/contrib/admin/static/admin/css/nav_sidebar.css new file mode 100644 index 0000000..7eb0de9 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/css/nav_sidebar.css @@ -0,0 +1,150 @@ +.sticky { + position: sticky; + top: 0; + max-height: 100vh; +} + +.toggle-nav-sidebar { + z-index: 20; + left: 0; + display: flex; + align-items: center; + justify-content: center; + flex: 0 0 23px; + width: 23px; + border: 0; + border-right: 1px solid var(--hairline-color); + background-color: var(--body-bg); + cursor: pointer; + font-size: 1.25rem; + color: var(--link-fg); + padding: 0; +} + +[dir="rtl"] .toggle-nav-sidebar { + border-left: 1px solid var(--hairline-color); + border-right: 0; +} + +.toggle-nav-sidebar:hover, +.toggle-nav-sidebar:focus { + background-color: var(--darkened-bg); +} + +#nav-sidebar { + z-index: 15; + flex: 0 0 275px; + left: -276px; + margin-left: -276px; + border-top: 1px solid transparent; + border-right: 1px solid var(--hairline-color); + background-color: var(--body-bg); + overflow: auto; +} + +[dir="rtl"] #nav-sidebar { + border-left: 1px solid var(--hairline-color); + border-right: 0; + left: 0; + margin-left: 0; + right: -276px; + margin-right: -276px; +} + +.toggle-nav-sidebar::before { + content: '\00BB'; +} + +.main.shifted .toggle-nav-sidebar::before { + content: '\00AB'; +} + +.main > #nav-sidebar { + visibility: hidden; +} + +.main.shifted > #nav-sidebar { + margin-left: 0; + visibility: visible; +} + +[dir="rtl"] .main.shifted > #nav-sidebar { + margin-right: 0; +} + +#nav-sidebar .module th { + width: 100%; + overflow-wrap: anywhere; +} + +#nav-sidebar .module th, +#nav-sidebar .module caption { + padding-left: 16px; +} + +#nav-sidebar .module td { + white-space: nowrap; +} + +[dir="rtl"] #nav-sidebar .module th, +[dir="rtl"] #nav-sidebar .module caption { + padding-left: 8px; + padding-right: 16px; +} + +#nav-sidebar .current-app .section:link, +#nav-sidebar .current-app .section:visited { + color: var(--header-color); + font-weight: bold; +} + +#nav-sidebar .current-model { + background: var(--selected-row); +} + +@media (forced-colors: active) { + #nav-sidebar .current-model { + background-color: SelectedItem; + } +} + +.main > #nav-sidebar + .content { + max-width: calc(100% - 23px); +} + +.main.shifted > #nav-sidebar + .content { + max-width: calc(100% - 299px); +} + +@media (max-width: 767px) { + #nav-sidebar, #toggle-nav-sidebar { + display: none; + } + + .main > #nav-sidebar + .content, + .main.shifted > #nav-sidebar + .content { + max-width: 100%; + } +} + +#nav-filter { + width: 100%; + box-sizing: border-box; + padding: 2px 5px; + margin: 5px 0; + border: 1px solid var(--border-color); + background-color: var(--darkened-bg); + color: var(--body-fg); +} + +#nav-filter:focus { + border-color: var(--body-quiet-color); +} + +#nav-filter.no-results { + background: var(--message-error-bg); +} + +#nav-sidebar table { + width: 100%; +} diff --git a/external_sources/django/django/contrib/admin/static/admin/css/responsive.css b/external_sources/django/django/contrib/admin/static/admin/css/responsive.css new file mode 100644 index 0000000..932e824 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/css/responsive.css @@ -0,0 +1,967 @@ +/* Tablets */ + +input[type="submit"], button { + -webkit-appearance: none; + appearance: none; +} + +@media (max-width: 1024px) { + /* Basic */ + + html { + -webkit-text-size-adjust: 100%; + } + + td, th { + padding: 10px; + font-size: 0.875rem; + } + + .small { + font-size: 0.75rem; + } + + /* Layout */ + + #container { + min-width: 0; + } + + #content { + padding: 15px 20px 20px; + } + + div.breadcrumbs { + padding: 10px 30px; + } + + /* Header */ + + #header { + flex-direction: column; + padding: 15px 30px; + justify-content: flex-start; + } + + #site-name { + margin: 0 0 8px; + line-height: 1.2; + } + + #user-tools { + margin: 0; + font-weight: 400; + line-height: 1.85; + text-align: left; + } + + #user-tools a { + display: inline-block; + line-height: 1.4; + } + + /* Dashboard */ + + .dashboard #content { + width: auto; + } + + #content-related { + margin-right: -290px; + } + + .colSM #content-related { + margin-left: -290px; + } + + .colMS { + margin-right: 290px; + } + + .colSM { + margin-left: 290px; + } + + .dashboard .module table td a { + padding-right: 0; + } + + td .changelink, td .addlink { + font-size: 0.8125rem; + } + + /* Changelist */ + + #toolbar { + border: none; + padding: 15px; + } + + #changelist-search > div { + display: flex; + flex-wrap: nowrap; + max-width: 480px; + } + + #changelist-search label { + line-height: 1.375rem; + } + + #toolbar form #searchbar { + flex: 1 0 auto; + width: 0; + height: 1.375rem; + margin: 0 10px 0 6px; + } + + #toolbar form input[type=submit] { + flex: 0 1 auto; + } + + #changelist-search .quiet { + width: 0; + flex: 1 0 auto; + margin: 5px 0 0 25px; + } + + #changelist .actions { + display: flex; + flex-wrap: wrap; + padding: 15px 0; + } + + #changelist .actions label { + display: flex; + } + + #changelist .actions select { + background: var(--body-bg); + } + + #changelist .actions .button { + min-width: 48px; + margin: 0 10px; + } + + #changelist .actions span.all, + #changelist .actions span.clear, + #changelist .actions span.question, + #changelist .actions span.action-counter { + font-size: 0.6875rem; + margin: 0 10px 0 0; + } + + #changelist-filter { + flex-basis: 200px; + } + + .change-list .filtered .results, + .change-list .filtered .paginator, + .filtered #toolbar, + .filtered .actions, + + #changelist .paginator { + border-top-color: var(--hairline-color); /* XXX Is this used at all? */ + } + + #changelist .results + .paginator { + border-top: none; + } + + /* Forms */ + + label { + font-size: 1rem; + } + + /* + Minifiers remove the default (text) "type" attribute from "input" HTML + tags. Add input:not([type]) to make the CSS stylesheet work the same. + */ + .form-row input:not([type]), + .form-row input[type=text], + .form-row input[type=password], + .form-row input[type=email], + .form-row input[type=url], + .form-row input[type=tel], + .form-row input[type=number], + .form-row textarea, + .form-row select, + .form-row .vTextField { + box-sizing: border-box; + margin: 0; + padding: 6px 8px; + min-height: 2.25rem; + font-size: 1rem; + } + + .form-row select { + height: 2.25rem; + } + + .form-row select[multiple] { + height: auto; + min-height: 0; + } + + fieldset .fieldBox + .fieldBox { + margin-top: 10px; + padding-top: 10px; + border-top: 1px solid var(--hairline-color); + } + + textarea { + max-width: 100%; + max-height: 120px; + } + + .aligned label { + padding-top: 6px; + } + + .aligned .related-lookup, + .aligned .datetimeshortcuts, + .aligned .related-lookup + strong { + align-self: center; + margin-left: 15px; + } + + form .aligned div.radiolist { + margin-left: 2px; + } + + .submit-row { + padding: 8px; + } + + .submit-row a.deletelink { + padding: 10px 7px; + } + + .button, input[type=submit], input[type=button], .submit-row input, a.button { + padding: 7px; + } + + /* Selector */ + + .selector { + display: flex; + width: 100%; + } + + .selector .selector-filter { + display: flex; + align-items: center; + } + + .selector .selector-filter label { + margin: 0 8px 0 0; + } + + .selector .selector-filter input { + width: 100%; + min-height: 0; + flex: 1 1; + } + + .selector-available, .selector-chosen { + width: auto; + flex: 1 1; + display: flex; + flex-direction: column; + } + + .selector select { + width: 100%; + flex: 1 0 auto; + margin-bottom: 5px; + } + + .selector ul.selector-chooser { + width: 26px; + height: 52px; + padding: 2px 0; + border-radius: 20px; + transform: translateY(-10px); + } + + .selector-add, .selector-remove { + width: 20px; + height: 20px; + background-size: 20px auto; + } + + .selector-add { + background-position: 0 -120px; + } + + .selector-remove { + background-position: 0 -80px; + } + + a.selector-chooseall, a.selector-clearall { + align-self: center; + } + + .stacked { + flex-direction: column; + max-width: 480px; + } + + .stacked > * { + flex: 0 1 auto; + } + + .stacked select { + margin-bottom: 0; + } + + .stacked .selector-available, .stacked .selector-chosen { + width: auto; + } + + .stacked ul.selector-chooser { + width: 52px; + height: 26px; + padding: 0 2px; + transform: none; + } + + .stacked .selector-chooser li { + padding: 3px; + } + + .stacked .selector-add, .stacked .selector-remove { + background-size: 20px auto; + } + + .stacked .selector-add { + background-position: 0 -40px; + } + + .stacked .active.selector-add { + background-position: 0 -40px; + } + + .active.selector-add:focus, .active.selector-add:hover { + background-position: 0 -140px; + } + + .stacked .active.selector-add:focus, .stacked .active.selector-add:hover { + background-position: 0 -60px; + } + + .stacked .selector-remove { + background-position: 0 0; + } + + .stacked .active.selector-remove { + background-position: 0 0; + } + + .active.selector-remove:focus, .active.selector-remove:hover { + background-position: 0 -100px; + } + + .stacked .active.selector-remove:focus, .stacked .active.selector-remove:hover { + background-position: 0 -20px; + } + + .help-tooltip, .selector .help-icon { + display: none; + } + + .datetime input { + width: 50%; + max-width: 120px; + } + + .datetime span { + font-size: 0.8125rem; + } + + .datetime .timezonewarning { + display: block; + font-size: 0.6875rem; + color: var(--body-quiet-color); + } + + .datetimeshortcuts { + color: var(--border-color); /* XXX Redundant, .datetime span also sets #ccc */ + } + + .form-row .datetime input.vDateField, .form-row .datetime input.vTimeField { + width: 75%; + } + + .inline-group { + overflow: auto; + } + + /* Messages */ + + ul.messagelist li { + padding-left: 55px; + background-position: 30px 12px; + } + + ul.messagelist li.error { + background-position: 30px 12px; + } + + ul.messagelist li.warning { + background-position: 30px 14px; + } + + /* Login */ + + .login #header { + padding: 15px 20px; + } + + .login #site-name { + margin: 0; + } + + /* GIS */ + + div.olMap { + max-width: calc(100vw - 30px); + max-height: 300px; + } + + .olMap + .clear_features { + display: block; + margin-top: 10px; + } + + /* Docs */ + + .module table.xfull { + width: 100%; + } + + pre.literal-block { + overflow: auto; + } +} + +/* Mobile */ + +@media (max-width: 767px) { + /* Layout */ + + #header, #content { + padding: 15px; + } + + div.breadcrumbs { + padding: 10px 15px; + } + + /* Dashboard */ + + .colMS, .colSM { + margin: 0; + } + + #content-related, .colSM #content-related { + width: 100%; + margin: 0; + } + + #content-related .module { + margin-bottom: 0; + } + + #content-related .module h2 { + padding: 10px 15px; + font-size: 1rem; + } + + /* Changelist */ + + #changelist { + align-items: stretch; + flex-direction: column; + } + + #toolbar { + padding: 10px; + } + + #changelist-filter { + margin-left: 0; + } + + #changelist .actions label { + flex: 1 1; + } + + #changelist .actions select { + flex: 1 0; + width: 100%; + } + + #changelist .actions span { + flex: 1 0 100%; + } + + #changelist-filter { + position: static; + width: auto; + margin-top: 30px; + } + + .object-tools { + float: none; + margin: 0 0 15px; + padding: 0; + overflow: hidden; + } + + .object-tools li { + height: auto; + margin-left: 0; + } + + .object-tools li + li { + margin-left: 15px; + } + + /* Forms */ + + .form-row { + padding: 15px 0; + } + + .aligned .form-row, + .aligned .form-row > div { + max-width: 100vw; + } + + .aligned .form-row > div { + width: calc(100vw - 30px); + } + + .flex-container { + flex-flow: column; + } + + .flex-container.checkbox-row { + flex-flow: row; + } + + textarea { + max-width: none; + } + + .vURLField { + width: auto; + } + + fieldset .fieldBox + .fieldBox { + margin-top: 15px; + padding-top: 15px; + } + + .aligned label { + width: 100%; + min-width: auto; + padding: 0 0 10px; + } + + .aligned label:after { + max-height: 0; + } + + .aligned .form-row input, + .aligned .form-row select, + .aligned .form-row textarea { + flex: 1 1 auto; + max-width: 100%; + } + + .aligned .checkbox-row input { + flex: 0 1 auto; + margin: 0; + } + + .aligned .vCheckboxLabel { + flex: 1 0; + padding: 1px 0 0 5px; + } + + .aligned label + p, + .aligned label + div.help, + .aligned label + div.readonly { + padding: 0; + margin-left: 0; + } + + .aligned p.file-upload { + font-size: 0.8125rem; + } + + span.clearable-file-input { + margin-left: 15px; + } + + span.clearable-file-input label { + font-size: 0.8125rem; + padding-bottom: 0; + } + + .aligned .timezonewarning { + flex: 1 0 100%; + margin-top: 5px; + } + + form .aligned .form-row div.help { + width: 100%; + margin: 5px 0 0; + padding: 0; + } + + form .aligned ul, + form .aligned ul.errorlist { + margin-left: 0; + padding-left: 0; + } + + form .aligned div.radiolist { + margin-top: 5px; + margin-right: 15px; + margin-bottom: -3px; + } + + form .aligned div.radiolist:not(.inline) div + div { + margin-top: 5px; + } + + /* Related widget */ + + .related-widget-wrapper { + width: 100%; + display: flex; + align-items: flex-start; + } + + .related-widget-wrapper .selector { + order: 1; + } + + .related-widget-wrapper > a { + order: 2; + } + + .related-widget-wrapper .radiolist ~ a { + align-self: flex-end; + } + + .related-widget-wrapper > select ~ a { + align-self: center; + } + + /* Selector */ + + .selector { + flex-direction: column; + gap: 10px 0; + } + + .selector-available, .selector-chosen { + flex: 1 1 auto; + } + + .selector select { + max-height: 96px; + } + + .selector ul.selector-chooser { + display: block; + width: 52px; + height: 26px; + padding: 0 2px; + transform: none; + } + + .selector ul.selector-chooser li { + float: left; + } + + .selector-remove { + background-position: 0 0; + } + + .active.selector-remove:focus, .active.selector-remove:hover { + background-position: 0 -20px; + } + + .selector-add { + background-position: 0 -40px; + } + + .active.selector-add:focus, .active.selector-add:hover { + background-position: 0 -60px; + } + + /* Inlines */ + + .inline-group[data-inline-type="stacked"] .inline-related { + border: 1px solid var(--hairline-color); + border-radius: 4px; + margin-top: 15px; + overflow: auto; + } + + .inline-group[data-inline-type="stacked"] .inline-related > * { + box-sizing: border-box; + } + + .inline-group[data-inline-type="stacked"] .inline-related .module { + padding: 0 10px; + } + + .inline-group[data-inline-type="stacked"] .inline-related .module .form-row { + border-top: 1px solid var(--hairline-color); + border-bottom: none; + } + + .inline-group[data-inline-type="stacked"] .inline-related .module .form-row:first-child { + border-top: none; + } + + .inline-group[data-inline-type="stacked"] .inline-related h3 { + padding: 10px; + border-top-width: 0; + border-bottom-width: 2px; + display: flex; + flex-wrap: wrap; + align-items: center; + } + + .inline-group[data-inline-type="stacked"] .inline-related h3 .inline_label { + margin-right: auto; + } + + .inline-group[data-inline-type="stacked"] .inline-related h3 span.delete { + float: none; + flex: 1 1 100%; + margin-top: 5px; + } + + .inline-group[data-inline-type="stacked"] .aligned .form-row > div:not([class]) { + width: 100%; + } + + .inline-group[data-inline-type="stacked"] .aligned label { + width: 100%; + } + + .inline-group[data-inline-type="stacked"] div.add-row { + margin-top: 15px; + border: 1px solid var(--hairline-color); + border-radius: 4px; + } + + .inline-group div.add-row, + .inline-group .tabular tr.add-row td { + padding: 0; + } + + .inline-group div.add-row a, + .inline-group .tabular tr.add-row td a { + display: block; + padding: 8px 10px 8px 26px; + background-position: 8px 9px; + } + + /* Submit row */ + + .submit-row { + padding: 10px; + margin: 0 0 15px; + flex-direction: column; + gap: 8px; + } + + .submit-row input, .submit-row input.default, .submit-row a { + text-align: center; + } + + .submit-row a.closelink { + padding: 10px 0; + text-align: center; + } + + .submit-row a.deletelink { + margin: 0; + } + + /* Messages */ + + ul.messagelist li { + padding-left: 40px; + background-position: 15px 12px; + } + + ul.messagelist li.error { + background-position: 15px 12px; + } + + ul.messagelist li.warning { + background-position: 15px 14px; + } + + /* Paginator */ + + .paginator .this-page, .paginator a:link, .paginator a:visited { + padding: 4px 10px; + } + + /* Login */ + + body.login { + padding: 0 15px; + } + + .login #container { + width: auto; + max-width: 480px; + margin: 50px auto; + } + + .login #header, + .login #content { + padding: 15px; + } + + .login #content-main { + float: none; + } + + .login .form-row { + padding: 0; + } + + .login .form-row + .form-row { + margin-top: 15px; + } + + .login .form-row label { + margin: 0 0 5px; + line-height: 1.2; + } + + .login .submit-row { + padding: 15px 0 0; + } + + .login br { + display: none; + } + + .login .submit-row input { + margin: 0; + text-transform: uppercase; + } + + .errornote { + margin: 0 0 20px; + padding: 8px 12px; + font-size: 0.8125rem; + } + + /* Calendar and clock */ + + .calendarbox, .clockbox { + position: fixed !important; + top: 50% !important; + left: 50% !important; + transform: translate(-50%, -50%); + margin: 0; + border: none; + overflow: visible; + } + + .calendarbox:before, .clockbox:before { + content: ''; + position: fixed; + top: 50%; + left: 50%; + width: 100vw; + height: 100vh; + background: rgba(0, 0, 0, 0.75); + transform: translate(-50%, -50%); + } + + .calendarbox > *, .clockbox > * { + position: relative; + z-index: 1; + } + + .calendarbox > div:first-child { + z-index: 2; + } + + .calendarbox .calendar, .clockbox h2 { + border-radius: 4px 4px 0 0; + overflow: hidden; + } + + .calendarbox .calendar-cancel, .clockbox .calendar-cancel { + border-radius: 0 0 4px 4px; + overflow: hidden; + } + + .calendar-shortcuts { + padding: 10px 0; + font-size: 0.75rem; + line-height: 0.75rem; + } + + .calendar-shortcuts a { + margin: 0 4px; + } + + .timelist a { + background: var(--body-bg); + padding: 4px; + } + + .calendar-cancel { + padding: 8px 10px; + } + + .clockbox h2 { + padding: 8px 15px; + } + + .calendar caption { + padding: 10px; + } + + .calendarbox .calendarnav-previous, .calendarbox .calendarnav-next { + z-index: 1; + top: 10px; + } + + /* History */ + + table#change-history tbody th, table#change-history tbody td { + font-size: 0.8125rem; + word-break: break-word; + } + + table#change-history tbody th { + width: auto; + } + + /* Docs */ + + table.model tbody th, table.model tbody td { + font-size: 0.8125rem; + word-break: break-word; + } +} diff --git a/external_sources/django/django/contrib/admin/static/admin/css/responsive_rtl.css b/external_sources/django/django/contrib/admin/static/admin/css/responsive_rtl.css new file mode 100644 index 0000000..33b5784 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/css/responsive_rtl.css @@ -0,0 +1,111 @@ +/* TABLETS */ + +@media (max-width: 1024px) { + [dir="rtl"] .colMS { + margin-right: 0; + } + + [dir="rtl"] #user-tools { + text-align: right; + } + + [dir="rtl"] #changelist .actions label { + padding-left: 10px; + padding-right: 0; + } + + [dir="rtl"] #changelist .actions select { + margin-left: 0; + margin-right: 15px; + } + + [dir="rtl"] .change-list .filtered .results, + [dir="rtl"] .change-list .filtered .paginator, + [dir="rtl"] .filtered #toolbar, + [dir="rtl"] .filtered div.xfull, + [dir="rtl"] .filtered .actions, + [dir="rtl"] #changelist-filter { + margin-left: 0; + } + + [dir="rtl"] .inline-group ul.tools a.add, + [dir="rtl"] .inline-group div.add-row a, + [dir="rtl"] .inline-group .tabular tr.add-row td a { + padding: 8px 26px 8px 10px; + background-position: calc(100% - 8px) 9px; + } + + [dir="rtl"] .selector .selector-filter label { + margin-right: 0; + margin-left: 8px; + } + + [dir="rtl"] .object-tools li { + float: right; + } + + [dir="rtl"] .object-tools li + li { + margin-left: 0; + margin-right: 15px; + } + + [dir="rtl"] .dashboard .module table td a { + padding-left: 0; + padding-right: 16px; + } + + [dir="rtl"] .selector-add { + background-position: 0 -80px; + } + + [dir="rtl"] .selector-remove { + background-position: 0 -120px; + } + + [dir="rtl"] .active.selector-add:focus, .active.selector-add:hover { + background-position: 0 -100px; + } + + [dir="rtl"] .active.selector-remove:focus, .active.selector-remove:hover { + background-position: 0 -140px; + } +} + +/* MOBILE */ + +@media (max-width: 767px) { + [dir="rtl"] .aligned .related-lookup, + [dir="rtl"] .aligned .datetimeshortcuts { + margin-left: 0; + margin-right: 15px; + } + + [dir="rtl"] .aligned ul, + [dir="rtl"] form .aligned ul.errorlist { + margin-right: 0; + } + + [dir="rtl"] #changelist-filter { + margin-left: 0; + margin-right: 0; + } + [dir="rtl"] .aligned .vCheckboxLabel { + padding: 1px 5px 0 0; + } + + [dir="rtl"] .selector-remove { + background-position: 0 0; + } + + [dir="rtl"] .active.selector-remove:focus, .active.selector-remove:hover { + background-position: 0 -20px; + } + + [dir="rtl"] .selector-add { + background-position: 0 -40px; + } + + [dir="rtl"] .active.selector-add:focus, .active.selector-add:hover { + background-position: 0 -60px; + } +} diff --git a/external_sources/django/django/contrib/admin/static/admin/css/rtl.css b/external_sources/django/django/contrib/admin/static/admin/css/rtl.css new file mode 100644 index 0000000..b8f60e0 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/css/rtl.css @@ -0,0 +1,291 @@ +/* GLOBAL */ + +th { + text-align: right; +} + +.module h2, .module caption { + text-align: right; +} + +.module ul, .module ol { + margin-left: 0; + margin-right: 1.5em; +} + +.viewlink, .addlink, .changelink, .hidelink { + padding-left: 0; + padding-right: 16px; + background-position: 100% 1px; +} + +.deletelink { + padding-left: 0; + padding-right: 16px; + background-position: 100% 1px; +} + +.object-tools { + float: left; +} + +thead th:first-child, +tfoot td:first-child { + border-left: none; +} + +/* LAYOUT */ + +#user-tools { + right: auto; + left: 0; + text-align: left; +} + +div.breadcrumbs { + text-align: right; +} + +#content-main { + float: right; +} + +#content-related { + float: left; + margin-left: -300px; + margin-right: auto; +} + +.colMS { + margin-left: 300px; + margin-right: 0; +} + +/* SORTABLE TABLES */ + +table thead th.sorted .sortoptions { + float: left; +} + +thead th.sorted .text { + padding-right: 0; + padding-left: 42px; +} + +/* dashboard styles */ + +.dashboard .module table td a { + padding-left: .6em; + padding-right: 16px; +} + +/* changelists styles */ + +.change-list .filtered table { + border-left: none; + border-right: 0px none; +} + +#changelist-filter { + border-left: none; + border-right: none; + margin-left: 0; + margin-right: 30px; +} + +#changelist-filter li.selected { + border-left: none; + padding-left: 10px; + margin-left: 0; + border-right: 5px solid var(--hairline-color); + padding-right: 10px; + margin-right: -15px; +} + +#changelist table tbody td:first-child, #changelist table tbody th:first-child { + border-right: none; + border-left: none; +} + +.paginator .end { + margin-left: 6px; + margin-right: 0; +} + +.paginator input { + margin-left: 0; + margin-right: auto; +} + +/* FORMS */ + +.aligned label { + padding: 0 0 3px 1em; +} + +.submit-row a.deletelink { + margin-left: 0; + margin-right: auto; +} + +.vDateField, .vTimeField { + margin-left: 2px; +} + +.aligned .form-row input { + margin-left: 5px; +} + +form .aligned ul { + margin-right: 163px; + padding-right: 10px; + margin-left: 0; + padding-left: 0; +} + +form ul.inline li { + float: right; + padding-right: 0; + padding-left: 7px; +} + +form .aligned p.help, +form .aligned div.help { + margin-left: 0; + margin-right: 160px; + padding-right: 10px; +} + +form div.help ul, +form .aligned .checkbox-row + .help, +form .aligned p.date div.help.timezonewarning, +form .aligned p.datetime div.help.timezonewarning, +form .aligned p.time div.help.timezonewarning { + margin-right: 0; + padding-right: 0; +} + +form .wide p.help, +form .wide ul.errorlist, +form .wide div.help { + padding-left: 0; + padding-right: 50px; +} + +.submit-row { + text-align: right; +} + +fieldset .fieldBox { + margin-left: 20px; + margin-right: 0; +} + +.errorlist li { + background-position: 100% 12px; + padding: 0; +} + +.errornote { + background-position: 100% 12px; + padding: 10px 12px; +} + +/* WIDGETS */ + +.calendarnav-previous { + top: 0; + left: auto; + right: 10px; + background: url(../img/calendar-icons.svg) 0 -15px no-repeat; +} + +.calendarnav-next { + top: 0; + right: auto; + left: 10px; + background: url(../img/calendar-icons.svg) 0 0 no-repeat; +} + +.calendar caption, .calendarbox h2 { + text-align: center; +} + +.selector { + float: right; +} + +.selector .selector-filter { + text-align: right; +} + +.selector-add { + background: url(../img/selector-icons.svg) 0 -64px no-repeat; +} + +.active.selector-add:focus, .active.selector-add:hover { + background-position: 0 -80px; +} + +.selector-remove { + background: url(../img/selector-icons.svg) 0 -96px no-repeat; +} + +.active.selector-remove:focus, .active.selector-remove:hover { + background-position: 0 -112px; +} + +a.selector-chooseall { + background: url(../img/selector-icons.svg) right -128px no-repeat; +} + +a.active.selector-chooseall:focus, a.active.selector-chooseall:hover { + background-position: 100% -144px; +} + +a.selector-clearall { + background: url(../img/selector-icons.svg) 0 -160px no-repeat; +} + +a.active.selector-clearall:focus, a.active.selector-clearall:hover { + background-position: 0 -176px; +} + +.inline-deletelink { + float: left; +} + +form .form-row p.datetime { + overflow: hidden; +} + +.related-widget-wrapper { + float: right; +} + +/* MISC */ + +.inline-related h2, .inline-group h2 { + text-align: right +} + +.inline-related h3 span.delete { + padding-right: 20px; + padding-left: inherit; + left: 10px; + right: inherit; + float:left; +} + +.inline-related h3 span.delete label { + margin-left: inherit; + margin-right: 2px; +} + +.inline-group .tabular td.original p { + right: 0; +} + +.selector .selector-chooser { + margin: 0; +} diff --git a/external_sources/django/django/contrib/admin/static/admin/css/unusable_password_field.css b/external_sources/django/django/contrib/admin/static/admin/css/unusable_password_field.css new file mode 100644 index 0000000..d46eb03 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/css/unusable_password_field.css @@ -0,0 +1,19 @@ +/* Hide warnings fields if usable password is selected */ +form:has(#id_usable_password input[value="true"]:checked) .messagelist { + display: none; +} + +/* Hide password fields if unusable password is selected */ +form:has(#id_usable_password input[value="false"]:checked) .field-password1, +form:has(#id_usable_password input[value="false"]:checked) .field-password2 { + display: none; +} + +/* Select appropriate submit button */ +form:has(#id_usable_password input[value="true"]:checked) input[type="submit"].unset-password { + display: none; +} + +form:has(#id_usable_password input[value="false"]:checked) input[type="submit"].set-password { + display: none; +} diff --git a/external_sources/django/django/contrib/admin/static/admin/css/vendor/select2/LICENSE-SELECT2.md b/external_sources/django/django/contrib/admin/static/admin/css/vendor/select2/LICENSE-SELECT2.md new file mode 100644 index 0000000..8cb8a2b --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/css/vendor/select2/LICENSE-SELECT2.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2012-2017 Kevin Brown, Igor Vaynberg, and Select2 contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/external_sources/django/django/contrib/admin/static/admin/css/vendor/select2/select2.css b/external_sources/django/django/contrib/admin/static/admin/css/vendor/select2/select2.css new file mode 100644 index 0000000..750b320 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/css/vendor/select2/select2.css @@ -0,0 +1,481 @@ +.select2-container { + box-sizing: border-box; + display: inline-block; + margin: 0; + position: relative; + vertical-align: middle; } + .select2-container .select2-selection--single { + box-sizing: border-box; + cursor: pointer; + display: block; + height: 28px; + user-select: none; + -webkit-user-select: none; } + .select2-container .select2-selection--single .select2-selection__rendered { + display: block; + padding-left: 8px; + padding-right: 20px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } + .select2-container .select2-selection--single .select2-selection__clear { + position: relative; } + .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered { + padding-right: 8px; + padding-left: 20px; } + .select2-container .select2-selection--multiple { + box-sizing: border-box; + cursor: pointer; + display: block; + min-height: 32px; + user-select: none; + -webkit-user-select: none; } + .select2-container .select2-selection--multiple .select2-selection__rendered { + display: inline-block; + overflow: hidden; + padding-left: 8px; + text-overflow: ellipsis; + white-space: nowrap; } + .select2-container .select2-search--inline { + float: left; } + .select2-container .select2-search--inline .select2-search__field { + box-sizing: border-box; + border: none; + font-size: 100%; + margin-top: 5px; + padding: 0; } + .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button { + -webkit-appearance: none; } + +.select2-dropdown { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + box-sizing: border-box; + display: block; + position: absolute; + left: -100000px; + width: 100%; + z-index: 1051; } + +.select2-results { + display: block; } + +.select2-results__options { + list-style: none; + margin: 0; + padding: 0; } + +.select2-results__option { + padding: 6px; + user-select: none; + -webkit-user-select: none; } + .select2-results__option[aria-selected] { + cursor: pointer; } + +.select2-container--open .select2-dropdown { + left: 0; } + +.select2-container--open .select2-dropdown--above { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } + +.select2-container--open .select2-dropdown--below { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.select2-search--dropdown { + display: block; + padding: 4px; } + .select2-search--dropdown .select2-search__field { + padding: 4px; + width: 100%; + box-sizing: border-box; } + .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button { + -webkit-appearance: none; } + .select2-search--dropdown.select2-search--hide { + display: none; } + +.select2-close-mask { + border: 0; + margin: 0; + padding: 0; + display: block; + position: fixed; + left: 0; + top: 0; + min-height: 100%; + min-width: 100%; + height: auto; + width: auto; + opacity: 0; + z-index: 99; + background-color: #fff; + filter: alpha(opacity=0); } + +.select2-hidden-accessible { + border: 0 !important; + clip: rect(0 0 0 0) !important; + -webkit-clip-path: inset(50%) !important; + clip-path: inset(50%) !important; + height: 1px !important; + overflow: hidden !important; + padding: 0 !important; + position: absolute !important; + width: 1px !important; + white-space: nowrap !important; } + +.select2-container--default .select2-selection--single { + background-color: #fff; + border: 1px solid #aaa; + border-radius: 4px; } + .select2-container--default .select2-selection--single .select2-selection__rendered { + color: #444; + line-height: 28px; } + .select2-container--default .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; } + .select2-container--default .select2-selection--single .select2-selection__placeholder { + color: #999; } + .select2-container--default .select2-selection--single .select2-selection__arrow { + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px; } + .select2-container--default .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0; } + +.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left; } + +.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow { + left: 1px; + right: auto; } + +.select2-container--default.select2-container--disabled .select2-selection--single { + background-color: #eee; + cursor: default; } + .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear { + display: none; } + +.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px; } + +.select2-container--default .select2-selection--multiple { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + cursor: text; } + .select2-container--default .select2-selection--multiple .select2-selection__rendered { + box-sizing: border-box; + list-style: none; + margin: 0; + padding: 0 5px; + width: 100%; } + .select2-container--default .select2-selection--multiple .select2-selection__rendered li { + list-style: none; } + .select2-container--default .select2-selection--multiple .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin-top: 5px; + margin-right: 10px; + padding: 1px; } + .select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: #e4e4e4; + border: 1px solid #aaa; + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px; } + .select2-container--default .select2-selection--multiple .select2-selection__choice__remove { + color: #999; + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px; } + .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #333; } + +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline { + float: right; } + +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + margin-left: 5px; + margin-right: auto; } + +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto; } + +.select2-container--default.select2-container--focus .select2-selection--multiple { + border: solid black 1px; + outline: 0; } + +.select2-container--default.select2-container--disabled .select2-selection--multiple { + background-color: #eee; + cursor: default; } + +.select2-container--default.select2-container--disabled .select2-selection__choice__remove { + display: none; } + +.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple { + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } + +.select2-container--default .select2-search--dropdown .select2-search__field { + border: 1px solid #aaa; } + +.select2-container--default .select2-search--inline .select2-search__field { + background: transparent; + border: none; + outline: 0; + box-shadow: none; + -webkit-appearance: textfield; } + +.select2-container--default .select2-results > .select2-results__options { + max-height: 200px; + overflow-y: auto; } + +.select2-container--default .select2-results__option[role=group] { + padding: 0; } + +.select2-container--default .select2-results__option[aria-disabled=true] { + color: #999; } + +.select2-container--default .select2-results__option[aria-selected=true] { + background-color: #ddd; } + +.select2-container--default .select2-results__option .select2-results__option { + padding-left: 1em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__group { + padding-left: 0; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option { + margin-left: -1em; + padding-left: 2em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -2em; + padding-left: 3em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -3em; + padding-left: 4em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -4em; + padding-left: 5em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -5em; + padding-left: 6em; } + +.select2-container--default .select2-results__option--highlighted[aria-selected] { + background-color: #5897fb; + color: white; } + +.select2-container--default .select2-results__group { + cursor: default; + display: block; + padding: 6px; } + +.select2-container--classic .select2-selection--single { + background-color: #f7f7f7; + border: 1px solid #aaa; + border-radius: 4px; + outline: 0; + background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%); + background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%); + background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } + .select2-container--classic .select2-selection--single:focus { + border: 1px solid #5897fb; } + .select2-container--classic .select2-selection--single .select2-selection__rendered { + color: #444; + line-height: 28px; } + .select2-container--classic .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin-right: 10px; } + .select2-container--classic .select2-selection--single .select2-selection__placeholder { + color: #999; } + .select2-container--classic .select2-selection--single .select2-selection__arrow { + background-color: #ddd; + border: none; + border-left: 1px solid #aaa; + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px; + background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%); + background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%); + background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); } + .select2-container--classic .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0; } + +.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left; } + +.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow { + border: none; + border-right: 1px solid #aaa; + border-radius: 0; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + left: 1px; + right: auto; } + +.select2-container--classic.select2-container--open .select2-selection--single { + border: 1px solid #5897fb; } + .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow { + background: transparent; + border: none; } + .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px; } + +.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; + background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%); + background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%); + background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } + +.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%); + background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%); + background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); } + +.select2-container--classic .select2-selection--multiple { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + cursor: text; + outline: 0; } + .select2-container--classic .select2-selection--multiple:focus { + border: 1px solid #5897fb; } + .select2-container--classic .select2-selection--multiple .select2-selection__rendered { + list-style: none; + margin: 0; + padding: 0 5px; } + .select2-container--classic .select2-selection--multiple .select2-selection__clear { + display: none; } + .select2-container--classic .select2-selection--multiple .select2-selection__choice { + background-color: #e4e4e4; + border: 1px solid #aaa; + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px; } + .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove { + color: #888; + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px; } + .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #555; } + +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + float: right; + margin-left: 5px; + margin-right: auto; } + +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto; } + +.select2-container--classic.select2-container--open .select2-selection--multiple { + border: 1px solid #5897fb; } + +.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } + +.select2-container--classic .select2-search--dropdown .select2-search__field { + border: 1px solid #aaa; + outline: 0; } + +.select2-container--classic .select2-search--inline .select2-search__field { + outline: 0; + box-shadow: none; } + +.select2-container--classic .select2-dropdown { + background-color: white; + border: 1px solid transparent; } + +.select2-container--classic .select2-dropdown--above { + border-bottom: none; } + +.select2-container--classic .select2-dropdown--below { + border-top: none; } + +.select2-container--classic .select2-results > .select2-results__options { + max-height: 200px; + overflow-y: auto; } + +.select2-container--classic .select2-results__option[role=group] { + padding: 0; } + +.select2-container--classic .select2-results__option[aria-disabled=true] { + color: grey; } + +.select2-container--classic .select2-results__option--highlighted[aria-selected] { + background-color: #3875d7; + color: white; } + +.select2-container--classic .select2-results__group { + cursor: default; + display: block; + padding: 6px; } + +.select2-container--classic.select2-container--open .select2-dropdown { + border-color: #5897fb; } diff --git a/external_sources/django/django/contrib/admin/static/admin/css/vendor/select2/select2.min.css b/external_sources/django/django/contrib/admin/static/admin/css/vendor/select2/select2.min.css new file mode 100644 index 0000000..7c18ad5 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/css/vendor/select2/select2.min.css @@ -0,0 +1 @@ +.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px;padding:1px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb} diff --git a/external_sources/django/django/contrib/admin/static/admin/css/widgets.css b/external_sources/django/django/contrib/admin/static/admin/css/widgets.css new file mode 100644 index 0000000..cc64811 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/css/widgets.css @@ -0,0 +1,593 @@ +/* SELECTOR (FILTER INTERFACE) */ + +.selector { + display: flex; + flex-grow: 1; + gap: 0 10px; +} + +.selector select { + height: 17.2em; + flex: 1 0 auto; + overflow: scroll; + width: 100%; +} + +.selector-available, .selector-chosen { + text-align: center; + display: flex; + flex-direction: column; + flex: 1 1; +} + +.selector-available h2, .selector-chosen h2 { + border: 1px solid var(--border-color); + border-radius: 4px 4px 0 0; +} + +.selector-chosen .list-footer-display { + border: 1px solid var(--border-color); + border-top: none; + border-radius: 0 0 4px 4px; + margin: 0 0 10px; + padding: 8px; + text-align: center; + background: var(--primary); + color: var(--header-link-color); + cursor: pointer; +} +.selector-chosen .list-footer-display__clear { + color: var(--breadcrumbs-fg); +} + +.selector-chosen h2 { + background: var(--secondary); + color: var(--header-link-color); +} + +.selector .selector-available h2 { + background: var(--darkened-bg); + color: var(--body-quiet-color); +} + +.selector .selector-filter { + border: 1px solid var(--border-color); + border-width: 0 1px; + padding: 8px; + color: var(--body-quiet-color); + font-size: 0.625rem; + margin: 0; + text-align: left; + display: flex; +} + +.selector .selector-filter label, +.inline-group .aligned .selector .selector-filter label { + float: left; + margin: 7px 0 0; + width: 18px; + height: 18px; + padding: 0; + overflow: hidden; + line-height: 1; + min-width: auto; +} + +.selector-filter input { + flex-grow: 1; +} + +.selector .selector-available input, +.selector .selector-chosen input { + margin-left: 8px; +} + +.selector ul.selector-chooser { + align-self: center; + width: 22px; + background-color: var(--selected-bg); + border-radius: 10px; + margin: 0; + padding: 0; + transform: translateY(-17px); +} + +.selector-chooser li { + margin: 0; + padding: 3px; + list-style-type: none; +} + +.selector select { + padding: 0 10px; + margin: 0 0 10px; + border-radius: 0 0 4px 4px; +} +.selector .selector-chosen--with-filtered select { + margin: 0; + border-radius: 0; + height: 14em; +} + +.selector .selector-chosen:not(.selector-chosen--with-filtered) .list-footer-display { + display: none; +} + +.selector-add, .selector-remove { + width: 16px; + height: 16px; + display: block; + text-indent: -3000px; + overflow: hidden; + cursor: default; + opacity: 0.55; +} + +.active.selector-add, .active.selector-remove { + opacity: 1; +} + +.active.selector-add:hover, .active.selector-remove:hover { + cursor: pointer; +} + +.selector-add { + background: url(../img/selector-icons.svg) 0 -96px no-repeat; +} + +.active.selector-add:focus, .active.selector-add:hover { + background-position: 0 -112px; +} + +.selector-remove { + background: url(../img/selector-icons.svg) 0 -64px no-repeat; +} + +.active.selector-remove:focus, .active.selector-remove:hover { + background-position: 0 -80px; +} + +a.selector-chooseall, a.selector-clearall { + display: inline-block; + height: 16px; + text-align: left; + margin: 0 auto; + overflow: hidden; + font-weight: bold; + line-height: 16px; + color: var(--body-quiet-color); + text-decoration: none; + opacity: 0.55; +} + +a.active.selector-chooseall:focus, a.active.selector-clearall:focus, +a.active.selector-chooseall:hover, a.active.selector-clearall:hover { + color: var(--link-fg); +} + +a.active.selector-chooseall, a.active.selector-clearall { + opacity: 1; +} + +a.active.selector-chooseall:hover, a.active.selector-clearall:hover { + cursor: pointer; +} + +a.selector-chooseall { + padding: 0 18px 0 0; + background: url(../img/selector-icons.svg) right -160px no-repeat; + cursor: default; +} + +a.active.selector-chooseall:focus, a.active.selector-chooseall:hover { + background-position: 100% -176px; +} + +a.selector-clearall { + padding: 0 0 0 18px; + background: url(../img/selector-icons.svg) 0 -128px no-repeat; + cursor: default; +} + +a.active.selector-clearall:focus, a.active.selector-clearall:hover { + background-position: 0 -144px; +} + +/* STACKED SELECTORS */ + +.stacked { + float: left; + width: 490px; + display: block; +} + +.stacked select { + width: 480px; + height: 10.1em; +} + +.stacked .selector-available, .stacked .selector-chosen { + width: 480px; +} + +.stacked .selector-available { + margin-bottom: 0; +} + +.stacked .selector-available input { + width: 422px; +} + +.stacked ul.selector-chooser { + height: 22px; + width: 50px; + margin: 0 0 10px 40%; + background-color: #eee; + border-radius: 10px; + transform: none; +} + +.stacked .selector-chooser li { + float: left; + padding: 3px 3px 3px 5px; +} + +.stacked .selector-chooseall, .stacked .selector-clearall { + display: none; +} + +.stacked .selector-add { + background: url(../img/selector-icons.svg) 0 -32px no-repeat; + cursor: default; +} + +.stacked .active.selector-add { + background-position: 0 -32px; + cursor: pointer; +} + +.stacked .active.selector-add:focus, .stacked .active.selector-add:hover { + background-position: 0 -48px; + cursor: pointer; +} + +.stacked .selector-remove { + background: url(../img/selector-icons.svg) 0 0 no-repeat; + cursor: default; +} + +.stacked .active.selector-remove { + background-position: 0 0px; + cursor: pointer; +} + +.stacked .active.selector-remove:focus, .stacked .active.selector-remove:hover { + background-position: 0 -16px; + cursor: pointer; +} + +.selector .help-icon { + background: url(../img/icon-unknown.svg) 0 0 no-repeat; + display: inline-block; + vertical-align: middle; + margin: -2px 0 0 2px; + width: 13px; + height: 13px; +} + +.selector .selector-chosen .help-icon { + background: url(../img/icon-unknown-alt.svg) 0 0 no-repeat; +} + +.selector .search-label-icon { + background: url(../img/search.svg) 0 0 no-repeat; + display: inline-block; + height: 1.125rem; + width: 1.125rem; +} + +/* DATE AND TIME */ + +p.datetime { + line-height: 20px; + margin: 0; + padding: 0; + color: var(--body-quiet-color); + font-weight: bold; +} + +.datetime span { + white-space: nowrap; + font-weight: normal; + font-size: 0.6875rem; + color: var(--body-quiet-color); +} + +.datetime input, .form-row .datetime input.vDateField, .form-row .datetime input.vTimeField { + margin-left: 5px; + margin-bottom: 4px; +} + +table p.datetime { + font-size: 0.6875rem; + margin-left: 0; + padding-left: 0; +} + +.datetimeshortcuts .clock-icon, .datetimeshortcuts .date-icon { + position: relative; + display: inline-block; + vertical-align: middle; + height: 16px; + width: 16px; + overflow: hidden; +} + +.datetimeshortcuts .clock-icon { + background: url(../img/icon-clock.svg) 0 0 no-repeat; +} + +.datetimeshortcuts a:focus .clock-icon, +.datetimeshortcuts a:hover .clock-icon { + background-position: 0 -16px; +} + +.datetimeshortcuts .date-icon { + background: url(../img/icon-calendar.svg) 0 0 no-repeat; + top: -1px; +} + +.datetimeshortcuts a:focus .date-icon, +.datetimeshortcuts a:hover .date-icon { + background-position: 0 -16px; +} + +.timezonewarning { + font-size: 0.6875rem; + color: var(--body-quiet-color); +} + +/* URL */ + +p.url { + line-height: 20px; + margin: 0; + padding: 0; + color: var(--body-quiet-color); + font-size: 0.6875rem; + font-weight: bold; +} + +.url a { + font-weight: normal; +} + +/* FILE UPLOADS */ + +p.file-upload { + line-height: 20px; + margin: 0; + padding: 0; + color: var(--body-quiet-color); + font-size: 0.6875rem; + font-weight: bold; +} + +.file-upload a { + font-weight: normal; +} + +.file-upload .deletelink { + margin-left: 5px; +} + +span.clearable-file-input label { + color: var(--body-fg); + font-size: 0.6875rem; + display: inline; + float: none; +} + +/* CALENDARS & CLOCKS */ + +.calendarbox, .clockbox { + margin: 5px auto; + font-size: 0.75rem; + width: 19em; + text-align: center; + background: var(--body-bg); + color: var(--body-fg); + border: 1px solid var(--hairline-color); + border-radius: 4px; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15); + overflow: hidden; + position: relative; +} + +.clockbox { + width: auto; +} + +.calendar { + margin: 0; + padding: 0; +} + +.calendar table { + margin: 0; + padding: 0; + border-collapse: collapse; + background: white; + width: 100%; +} + +.calendar caption, .calendarbox h2 { + margin: 0; + text-align: center; + border-top: none; + font-weight: 700; + font-size: 0.75rem; + color: #333; + background: var(--accent); +} + +.calendar th { + padding: 8px 5px; + background: var(--darkened-bg); + border-bottom: 1px solid var(--border-color); + font-weight: 400; + font-size: 0.75rem; + text-align: center; + color: var(--body-quiet-color); +} + +.calendar td { + font-weight: 400; + font-size: 0.75rem; + text-align: center; + padding: 0; + border-top: 1px solid var(--hairline-color); + border-bottom: none; +} + +.calendar td.selected a { + background: var(--secondary); + color: var(--button-fg); +} + +.calendar td.nonday { + background: var(--darkened-bg); +} + +.calendar td.today a { + font-weight: 700; +} + +.calendar td a, .timelist a { + display: block; + font-weight: 400; + padding: 6px; + text-decoration: none; + color: var(--body-quiet-color); +} + +.calendar td a:focus, .timelist a:focus, +.calendar td a:hover, .timelist a:hover { + background: var(--primary); + color: white; +} + +.calendar td a:active, .timelist a:active { + background: var(--header-bg); + color: white; +} + +.calendarnav { + font-size: 0.625rem; + text-align: center; + color: #ccc; + margin: 0; + padding: 1px 3px; +} + +.calendarnav a:link, #calendarnav a:visited, +#calendarnav a:focus, #calendarnav a:hover { + color: var(--body-quiet-color); +} + +.calendar-shortcuts { + background: var(--body-bg); + color: var(--body-quiet-color); + font-size: 0.6875rem; + line-height: 0.6875rem; + border-top: 1px solid var(--hairline-color); + padding: 8px 0; +} + +.calendarbox .calendarnav-previous, .calendarbox .calendarnav-next { + display: block; + position: absolute; + top: 8px; + width: 15px; + height: 15px; + text-indent: -9999px; + padding: 0; +} + +.calendarnav-previous { + left: 10px; + background: url(../img/calendar-icons.svg) 0 0 no-repeat; +} + +.calendarnav-next { + right: 10px; + background: url(../img/calendar-icons.svg) 0 -15px no-repeat; +} + +.calendar-cancel { + margin: 0; + padding: 4px 0; + font-size: 0.75rem; + background: var(--close-button-bg); + border-top: 1px solid var(--border-color); + color: var(--button-fg); +} + +.calendar-cancel:focus, .calendar-cancel:hover { + background: var(--close-button-hover-bg); +} + +.calendar-cancel a { + color: var(--button-fg); + display: block; +} + +ul.timelist, .timelist li { + list-style-type: none; + margin: 0; + padding: 0; +} + +.timelist a { + padding: 2px; +} + +/* EDIT INLINE */ + +.inline-deletelink { + float: right; + text-indent: -9999px; + background: url(../img/inline-delete.svg) 0 0 no-repeat; + width: 16px; + height: 16px; + border: 0px none; +} + +.inline-deletelink:focus, .inline-deletelink:hover { + cursor: pointer; +} + +/* RELATED WIDGET WRAPPER */ +.related-widget-wrapper { + display: flex; + gap: 0 10px; + flex-grow: 1; + flex-wrap: wrap; + margin-bottom: 5px; +} + +.related-widget-wrapper-link { + opacity: .6; + filter: grayscale(1); +} + +.related-widget-wrapper-link:link { + opacity: 1; + filter: grayscale(0); +} + +/* GIS MAPS */ +.dj_map { + width: 600px; + height: 400px; +} diff --git a/external_sources/django/django/contrib/admin/static/admin/img/LICENSE b/external_sources/django/django/contrib/admin/static/admin/img/LICENSE new file mode 100644 index 0000000..a4faaa1 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/img/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2014 Code Charm Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/external_sources/django/django/contrib/admin/static/admin/img/README.txt b/external_sources/django/django/contrib/admin/static/admin/img/README.txt new file mode 100644 index 0000000..bf81f35 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/img/README.txt @@ -0,0 +1,7 @@ +All icons are taken from Font Awesome (https://fontawesome.com/) project. +The Font Awesome font is licensed under the SIL OFL 1.1: +- https://scripts.sil.org/OFL + +SVG icons source: https://github.com/encharm/Font-Awesome-SVG-PNG +Font-Awesome-SVG-PNG is licensed under the MIT license (see file license +in current folder). diff --git a/external_sources/django/django/contrib/admin/static/admin/img/calendar-icons.svg b/external_sources/django/django/contrib/admin/static/admin/img/calendar-icons.svg new file mode 100644 index 0000000..04c0274 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/img/calendar-icons.svg @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + width="15" + height="30" + viewBox="0 0 1792 3584" + version="1.1" + id="svg5" + sodipodi:docname="calendar-icons.svg" + inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview5" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:showpageshadow="2" + inkscape:pageopacity="0.0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + showgrid="false" + inkscape:zoom="13.3" + inkscape:cx="15.526316" + inkscape:cy="20.977444" + inkscape:window-width="1920" + inkscape:window-height="1011" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="svg5" /> + <defs + id="defs2"> + <g + id="previous"> + <path + d="m 1037,1395 102,-102 q 19,-19 19,-45 0,-26 -19,-45 L 832,896 1139,589 q 19,-19 19,-45 0,-26 -19,-45 L 1037,397 q -19,-19 -45,-19 -26,0 -45,19 L 493,851 q -19,19 -19,45 0,26 19,45 l 454,454 q 19,19 45,19 26,0 45,-19 z m 627,-499 q 0,209 -103,385.5 Q 1458,1458 1281.5,1561 1105,1664 896,1664 687,1664 510.5,1561 334,1458 231,1281.5 128,1105 128,896 128,687 231,510.5 334,334 510.5,231 687,128 896,128 1105,128 1281.5,231 1458,334 1561,510.5 1664,687 1664,896 Z" + id="path1" /> + </g> + <g + id="next"> + <path + d="m 845,1395 454,-454 q 19,-19 19,-45 0,-26 -19,-45 L 845,397 q -19,-19 -45,-19 -26,0 -45,19 L 653,499 q -19,19 -19,45 0,26 19,45 l 307,307 -307,307 q -19,19 -19,45 0,26 19,45 l 102,102 q 19,19 45,19 26,0 45,-19 z m 819,-499 q 0,209 -103,385.5 Q 1458,1458 1281.5,1561 1105,1664 896,1664 687,1664 510.5,1561 334,1458 231,1281.5 128,1105 128,896 128,687 231,510.5 334,334 510.5,231 687,128 896,128 1105,128 1281.5,231 1458,334 1561,510.5 1664,687 1664,896 Z" + id="path2" /> + </g> + </defs> + <use + xlink:href="#next" + x="0" + y="5376" + fill="#000000" + id="use5" + transform="translate(0,-3584)" /> + <use + xlink:href="#previous" + x="0" + y="0" + fill="#333333" + id="use2" + style="fill:#000000;fill-opacity:1" /> +</svg> diff --git a/external_sources/django/django/contrib/admin/static/admin/img/gis/move_vertex_off.svg b/external_sources/django/django/contrib/admin/static/admin/img/gis/move_vertex_off.svg new file mode 100644 index 0000000..228854f --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/img/gis/move_vertex_off.svg @@ -0,0 +1 @@ +<svg width="24" height="22" viewBox="0 0 847 779" xmlns="http://www.w3.org/2000/svg"><g><path fill="#EBECE6" d="M120 1h607c66 0 120 54 120 120v536c0 66-54 120-120 120h-607c-66 0-120-54-120-120v-536c0-66 54-120 120-120z"/><path fill="#9E9E93" d="M120 1h607c66 0 120 54 120 120v536c0 66-54 120-120 120h-607c-66 0-120-54-120-120v-536c0-66 54-120 120-120zm607 25h-607c-26 0-50 11-67 28-17 18-28 41-28 67v536c0 27 11 50 28 68 17 17 41 27 67 27h607c26 0 49-10 67-27 17-18 28-41 28-68v-536c0-26-11-49-28-67-18-17-41-28-67-28z"/><path stroke="#A9A8A4" stroke-width="20" d="M706 295l-68 281"/><path stroke="#E47474" stroke-width="20" d="M316 648l390-353M141 435l175 213"/><path stroke="#C9C9C9" stroke-width="20" d="M319 151l-178 284M706 295l-387-144"/><g fill="#040405"><path d="M319 111c22 0 40 18 40 40s-18 40-40 40-40-18-40-40 18-40 40-40zM141 395c22 0 40 18 40 40s-18 40-40 40c-23 0-41-18-41-40s18-40 41-40zM316 608c22 0 40 18 40 40 0 23-18 41-40 41s-40-18-40-41c0-22 18-40 40-40zM706 254c22 0 40 18 40 41 0 22-18 40-40 40s-40-18-40-40c0-23 18-41 40-41zM638 536c22 0 40 18 40 40s-18 40-40 40-40-18-40-40 18-40 40-40z"/></g></g></svg> \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/img/gis/move_vertex_on.svg b/external_sources/django/django/contrib/admin/static/admin/img/gis/move_vertex_on.svg new file mode 100644 index 0000000..96b87fd --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/img/gis/move_vertex_on.svg @@ -0,0 +1 @@ +<svg width="24" height="22" viewBox="0 0 847 779" xmlns="http://www.w3.org/2000/svg"><g><path fill="#F1C02A" d="M120 1h607c66 0 120 54 120 120v536c0 66-54 120-120 120h-607c-66 0-120-54-120-120v-536c0-66 54-120 120-120z"/><path fill="#9E9E93" d="M120 1h607c66 0 120 54 120 120v536c0 66-54 120-120 120h-607c-66 0-120-54-120-120v-536c0-66 54-120 120-120zm607 25h-607c-26 0-50 11-67 28-17 18-28 41-28 67v536c0 27 11 50 28 68 17 17 41 27 67 27h607c26 0 49-10 67-27 17-18 28-41 28-68v-536c0-26-11-49-28-67-18-17-41-28-67-28z"/><path stroke="#A9A8A4" stroke-width="20" d="M706 295l-68 281"/><path stroke="#E47474" stroke-width="20" d="M316 648l390-353M141 435l175 213"/><path stroke="#C9A741" stroke-width="20" d="M319 151l-178 284M706 295l-387-144"/><g fill="#040405"><path d="M319 111c22 0 40 18 40 40s-18 40-40 40-40-18-40-40 18-40 40-40zM141 395c22 0 40 18 40 40s-18 40-40 40c-23 0-41-18-41-40s18-40 41-40zM316 608c22 0 40 18 40 40 0 23-18 41-40 41s-40-18-40-41c0-22 18-40 40-40zM706 254c22 0 40 18 40 41 0 22-18 40-40 40s-40-18-40-40c0-23 18-41 40-41zM638 536c22 0 40 18 40 40s-18 40-40 40-40-18-40-40 18-40 40-40z"/></g></g></svg> \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/img/icon-addlink.svg b/external_sources/django/django/contrib/admin/static/admin/img/icon-addlink.svg new file mode 100644 index 0000000..8d5c6a3 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/img/icon-addlink.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#5fa225" d="M1600 796v192q0 40-28 68t-68 28h-416v416q0 40-28 68t-68 28h-192q-40 0-68-28t-28-68v-416h-416q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h416v-416q0-40 28-68t68-28h192q40 0 68 28t28 68v416h416q40 0 68 28t28 68z"/> +</svg> diff --git a/external_sources/django/django/contrib/admin/static/admin/img/icon-alert.svg b/external_sources/django/django/contrib/admin/static/admin/img/icon-alert.svg new file mode 100644 index 0000000..e51ea83 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/img/icon-alert.svg @@ -0,0 +1,3 @@ +<svg width="14" height="14" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#efb80b" d="M1024 1375v-190q0-14-9.5-23.5t-22.5-9.5h-192q-13 0-22.5 9.5t-9.5 23.5v190q0 14 9.5 23.5t22.5 9.5h192q13 0 22.5-9.5t9.5-23.5zm-2-374l18-459q0-12-10-19-13-11-24-11h-220q-11 0-24 11-10 7-10 21l17 457q0 10 10 16.5t24 6.5h185q14 0 23.5-6.5t10.5-16.5zm-14-934l768 1408q35 63-2 126-17 29-46.5 46t-63.5 17h-1536q-34 0-63.5-17t-46.5-46q-37-63-2-126l768-1408q17-31 47-49t65-18 65 18 47 49z"/> +</svg> diff --git a/external_sources/django/django/contrib/admin/static/admin/img/icon-calendar.svg b/external_sources/django/django/contrib/admin/static/admin/img/icon-calendar.svg new file mode 100644 index 0000000..97910a9 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/img/icon-calendar.svg @@ -0,0 +1,9 @@ +<svg width="16" height="32" viewBox="0 0 1792 3584" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <defs> + <g id="icon"> + <path d="M192 1664h288v-288h-288v288zm352 0h320v-288h-320v288zm-352-352h288v-320h-288v320zm352 0h320v-320h-320v320zm-352-384h288v-288h-288v288zm736 736h320v-288h-320v288zm-384-736h320v-288h-320v288zm768 736h288v-288h-288v288zm-384-352h320v-320h-320v320zm-352-864v-288q0-13-9.5-22.5t-22.5-9.5h-64q-13 0-22.5 9.5t-9.5 22.5v288q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5-9.5t9.5-22.5zm736 864h288v-320h-288v320zm-384-384h320v-288h-320v288zm384 0h288v-288h-288v288zm32-480v-288q0-13-9.5-22.5t-22.5-9.5h-64q-13 0-22.5 9.5t-9.5 22.5v288q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5-9.5t9.5-22.5zm384-64v1280q0 52-38 90t-90 38h-1408q-52 0-90-38t-38-90v-1280q0-52 38-90t90-38h128v-96q0-66 47-113t113-47h64q66 0 113 47t47 113v96h384v-96q0-66 47-113t113-47h64q66 0 113 47t47 113v96h128q52 0 90 38t38 90z"/> + </g> + </defs> + <use xlink:href="#icon" x="0" y="0" fill="#447e9b" /> + <use xlink:href="#icon" x="0" y="1792" fill="#003366" /> +</svg> diff --git a/external_sources/django/django/contrib/admin/static/admin/img/icon-changelink.svg b/external_sources/django/django/contrib/admin/static/admin/img/icon-changelink.svg new file mode 100644 index 0000000..592b093 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/img/icon-changelink.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#b48c08" d="M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z"/> +</svg> diff --git a/external_sources/django/django/contrib/admin/static/admin/img/icon-clock.svg b/external_sources/django/django/contrib/admin/static/admin/img/icon-clock.svg new file mode 100644 index 0000000..bf9985d --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/img/icon-clock.svg @@ -0,0 +1,9 @@ +<svg width="16" height="32" viewBox="0 0 1792 3584" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <defs> + <g id="icon"> + <path d="M1024 544v448q0 14-9 23t-23 9h-320q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h224v-352q0-14 9-23t23-9h64q14 0 23 9t9 23zm416 352q0-148-73-273t-198-198-273-73-273 73-198 198-73 273 73 273 198 198 273 73 273-73 198-198 73-273zm224 0q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + </defs> + <use xlink:href="#icon" x="0" y="0" fill="#447e9b" /> + <use xlink:href="#icon" x="0" y="1792" fill="#003366" /> +</svg> diff --git a/external_sources/django/django/contrib/admin/static/admin/img/icon-deletelink.svg b/external_sources/django/django/contrib/admin/static/admin/img/icon-deletelink.svg new file mode 100644 index 0000000..4059b15 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/img/icon-deletelink.svg @@ -0,0 +1,3 @@ +<svg width="14" height="14" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#dd4646" d="M1490 1322q0 40-28 68l-136 136q-28 28-68 28t-68-28l-294-294-294 294q-28 28-68 28t-68-28l-136-136q-28-28-28-68t28-68l294-294-294-294q-28-28-28-68t28-68l136-136q28-28 68-28t68 28l294 294 294-294q28-28 68-28t68 28l136 136q28 28 28 68t-28 68l-294 294 294 294q28 28 28 68z"/> +</svg> diff --git a/external_sources/django/django/contrib/admin/static/admin/img/icon-hidelink.svg b/external_sources/django/django/contrib/admin/static/admin/img/icon-hidelink.svg new file mode 100644 index 0000000..2a8b404 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/img/icon-hidelink.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#2b70bf" d="m555 1335 78-141q-87-63-136-159t-49-203q0-121 61-225-229 117-381 353 167 258 427 375zm389-759q0-20-14-34t-34-14q-125 0-214.5 89.5T592 832q0 20 14 34t34 14 34-14 14-34q0-86 61-147t147-61q20 0 34-14t14-34zm363-191q0 7-1 9-105 188-315 566t-316 567l-49 89q-10 16-28 16-12 0-134-70-16-10-16-28 0-12 44-87-143-65-263.5-173T20 1029Q0 998 0 960t20-69q153-235 380-371t496-136q89 0 180 17l54-97q10-16 28-16 5 0 18 6t31 15.5 33 18.5 31.5 18.5T1291 358q16 10 16 27zm37 447q0 139-79 253.5T1056 1250l280-502q8 45 8 84zm448 128q0 35-20 69-39 64-109 145-150 172-347.5 267T896 1536l74-132q212-18 392.5-137T1664 960q-115-179-282-294l63-112q95 64 182.5 153T1772 891q20 34 20 69z"/> +</svg> diff --git a/external_sources/django/django/contrib/admin/static/admin/img/icon-no.svg b/external_sources/django/django/contrib/admin/static/admin/img/icon-no.svg new file mode 100644 index 0000000..2e0d383 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/img/icon-no.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#dd4646" d="M1277 1122q0-26-19-45l-181-181 181-181q19-19 19-45 0-27-19-46l-90-90q-19-19-46-19-26 0-45 19l-181 181-181-181q-19-19-45-19-27 0-46 19l-90 90q-19 19-19 46 0 26 19 45l181 181-181 181q-19 19-19 45 0 27 19 46l90 90q19 19 46 19 26 0 45-19l181-181 181 181q19 19 45 19 27 0 46-19l90-90q19-19 19-46zm387-226q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> +</svg> diff --git a/external_sources/django/django/contrib/admin/static/admin/img/icon-unknown-alt.svg b/external_sources/django/django/contrib/admin/static/admin/img/icon-unknown-alt.svg new file mode 100644 index 0000000..1c6b99f --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/img/icon-unknown-alt.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#ffffff" d="M1024 1376v-192q0-14-9-23t-23-9h-192q-14 0-23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23-9t9-23zm256-672q0-88-55.5-163t-138.5-116-170-41q-243 0-371 213-15 24 8 42l132 100q7 6 19 6 16 0 25-12 53-68 86-92 34-24 86-24 48 0 85.5 26t37.5 59q0 38-20 61t-68 45q-63 28-115.5 86.5t-52.5 125.5v36q0 14 9 23t23 9h192q14 0 23-9t9-23q0-19 21.5-49.5t54.5-49.5q32-18 49-28.5t46-35 44.5-48 28-60.5 12.5-81zm384 192q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> +</svg> diff --git a/external_sources/django/django/contrib/admin/static/admin/img/icon-unknown.svg b/external_sources/django/django/contrib/admin/static/admin/img/icon-unknown.svg new file mode 100644 index 0000000..50b4f97 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/img/icon-unknown.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#666666" d="M1024 1376v-192q0-14-9-23t-23-9h-192q-14 0-23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23-9t9-23zm256-672q0-88-55.5-163t-138.5-116-170-41q-243 0-371 213-15 24 8 42l132 100q7 6 19 6 16 0 25-12 53-68 86-92 34-24 86-24 48 0 85.5 26t37.5 59q0 38-20 61t-68 45q-63 28-115.5 86.5t-52.5 125.5v36q0 14 9 23t23 9h192q14 0 23-9t9-23q0-19 21.5-49.5t54.5-49.5q32-18 49-28.5t46-35 44.5-48 28-60.5 12.5-81zm384 192q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> +</svg> diff --git a/external_sources/django/django/contrib/admin/static/admin/img/icon-viewlink.svg b/external_sources/django/django/contrib/admin/static/admin/img/icon-viewlink.svg new file mode 100644 index 0000000..a1ca1d3 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/img/icon-viewlink.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#2b70bf" d="M1664 960q-152-236-381-353 61 104 61 225 0 185-131.5 316.5t-316.5 131.5-316.5-131.5-131.5-316.5q0-121 61-225-229 117-381 353 133 205 333.5 326.5t434.5 121.5 434.5-121.5 333.5-326.5zm-720-384q0-20-14-34t-34-14q-125 0-214.5 89.5t-89.5 214.5q0 20 14 34t34 14 34-14 14-34q0-86 61-147t147-61q20 0 34-14t14-34zm848 384q0 34-20 69-140 230-376.5 368.5t-499.5 138.5-499.5-139-376.5-368q-20-35-20-69t20-69q140-229 376.5-368t499.5-139 499.5 139 376.5 368q20 35 20 69z"/> +</svg> diff --git a/external_sources/django/django/contrib/admin/static/admin/img/icon-yes.svg b/external_sources/django/django/contrib/admin/static/admin/img/icon-yes.svg new file mode 100644 index 0000000..5883d87 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/img/icon-yes.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#70bf2b" d="M1412 734q0-28-18-46l-91-90q-19-19-45-19t-45 19l-408 407-226-226q-19-19-45-19t-45 19l-91 90q-18 18-18 46 0 27 18 45l362 362q19 19 45 19 27 0 46-19l543-543q18-18 18-45zm252 162q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> +</svg> diff --git a/external_sources/django/django/contrib/admin/static/admin/img/inline-delete.svg b/external_sources/django/django/contrib/admin/static/admin/img/inline-delete.svg new file mode 100644 index 0000000..17d1ad6 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/img/inline-delete.svg @@ -0,0 +1,3 @@ +<svg width="16" height="16" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#999999" d="M1277 1122q0-26-19-45l-181-181 181-181q19-19 19-45 0-27-19-46l-90-90q-19-19-46-19-26 0-45 19l-181 181-181-181q-19-19-45-19-27 0-46 19l-90 90q-19 19-19 46 0 26 19 45l181 181-181 181q-19 19-19 45 0 27 19 46l90 90q19 19 46 19 26 0 45-19l181-181 181 181q19 19 45 19 27 0 46-19l90-90q19-19 19-46zm387-226q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> +</svg> diff --git a/external_sources/django/django/contrib/admin/static/admin/img/search.svg b/external_sources/django/django/contrib/admin/static/admin/img/search.svg new file mode 100644 index 0000000..c8c69b2 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/img/search.svg @@ -0,0 +1,3 @@ +<svg width="15" height="15" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#555555" d="M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z"/> +</svg> diff --git a/external_sources/django/django/contrib/admin/static/admin/img/selector-icons.svg b/external_sources/django/django/contrib/admin/static/admin/img/selector-icons.svg new file mode 100644 index 0000000..926b8e2 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/img/selector-icons.svg @@ -0,0 +1,34 @@ +<svg width="16" height="192" viewBox="0 0 1792 21504" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <defs> + <g id="up"> + <path d="M1412 895q0-27-18-45l-362-362-91-91q-18-18-45-18t-45 18l-91 91-362 362q-18 18-18 45t18 45l91 91q18 18 45 18t45-18l189-189v502q0 26 19 45t45 19h128q26 0 45-19t19-45v-502l189 189q19 19 45 19t45-19l91-91q18-18 18-45zm252 1q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + <g id="down"> + <path d="M1412 897q0-27-18-45l-91-91q-18-18-45-18t-45 18l-189 189v-502q0-26-19-45t-45-19h-128q-26 0-45 19t-19 45v502l-189-189q-19-19-45-19t-45 19l-91 91q-18 18-18 45t18 45l362 362 91 91q18 18 45 18t45-18l91-91 362-362q18-18 18-45zm252-1q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + <g id="left"> + <path d="M1408 960v-128q0-26-19-45t-45-19h-502l189-189q19-19 19-45t-19-45l-91-91q-18-18-45-18t-45 18l-362 362-91 91q-18 18-18 45t18 45l91 91 362 362q18 18 45 18t45-18l91-91q18-18 18-45t-18-45l-189-189h502q26 0 45-19t19-45zm256-64q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + <g id="right"> + <path d="M1413 896q0-27-18-45l-91-91-362-362q-18-18-45-18t-45 18l-91 91q-18 18-18 45t18 45l189 189h-502q-26 0-45 19t-19 45v128q0 26 19 45t45 19h502l-189 189q-19 19-19 45t19 45l91 91q18 18 45 18t45-18l362-362 91-91q18-18 18-45zm251 0q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + <g id="clearall"> + <path transform="translate(336, 336) scale(0.75)" d="M1037 1395l102-102q19-19 19-45t-19-45l-307-307 307-307q19-19 19-45t-19-45l-102-102q-19-19-45-19t-45 19l-454 454q-19 19-19 45t19 45l454 454q19 19 45 19t45-19zm627-499q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + <g id="chooseall"> + <path transform="translate(336, 336) scale(0.75)" d="M845 1395l454-454q19-19 19-45t-19-45l-454-454q-19-19-45-19t-45 19l-102 102q-19 19-19 45t19 45l307 307-307 307q-19 19-19 45t19 45l102 102q19 19 45 19t45-19zm819-499q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + </defs> + <use xlink:href="#up" x="0" y="0" fill="#666666" /> + <use xlink:href="#up" x="0" y="1792" fill="#447e9b" /> + <use xlink:href="#down" x="0" y="3584" fill="#666666" /> + <use xlink:href="#down" x="0" y="5376" fill="#447e9b" /> + <use xlink:href="#left" x="0" y="7168" fill="#666666" /> + <use xlink:href="#left" x="0" y="8960" fill="#447e9b" /> + <use xlink:href="#right" x="0" y="10752" fill="#666666" /> + <use xlink:href="#right" x="0" y="12544" fill="#447e9b" /> + <use xlink:href="#clearall" x="0" y="14336" fill="#666666" /> + <use xlink:href="#clearall" x="0" y="16128" fill="#447e9b" /> + <use xlink:href="#chooseall" x="0" y="17920" fill="#666666" /> + <use xlink:href="#chooseall" x="0" y="19712" fill="#447e9b" /> +</svg> diff --git a/external_sources/django/django/contrib/admin/static/admin/img/sorting-icons.svg b/external_sources/django/django/contrib/admin/static/admin/img/sorting-icons.svg new file mode 100644 index 0000000..7c31ec9 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/img/sorting-icons.svg @@ -0,0 +1,19 @@ +<svg width="14" height="84" viewBox="0 0 1792 10752" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <defs> + <g id="sort"> + <path d="M1408 1088q0 26-19 45l-448 448q-19 19-45 19t-45-19l-448-448q-19-19-19-45t19-45 45-19h896q26 0 45 19t19 45zm0-384q0 26-19 45t-45 19h-896q-26 0-45-19t-19-45 19-45l448-448q19-19 45-19t45 19l448 448q19 19 19 45z"/> + </g> + <g id="ascending"> + <path d="M1408 1216q0 26-19 45t-45 19h-896q-26 0-45-19t-19-45 19-45l448-448q19-19 45-19t45 19l448 448q19 19 19 45z"/> + </g> + <g id="descending"> + <path d="M1408 704q0 26-19 45l-448 448q-19 19-45 19t-45-19l-448-448q-19-19-19-45t19-45 45-19h896q26 0 45 19t19 45z"/> + </g> + </defs> + <use xlink:href="#sort" x="0" y="0" fill="#999999" /> + <use xlink:href="#sort" x="0" y="1792" fill="#447e9b" /> + <use xlink:href="#ascending" x="0" y="3584" fill="#999999" /> + <use xlink:href="#ascending" x="0" y="5376" fill="#447e9b" /> + <use xlink:href="#descending" x="0" y="7168" fill="#999999" /> + <use xlink:href="#descending" x="0" y="8960" fill="#447e9b" /> +</svg> diff --git a/external_sources/django/django/contrib/admin/static/admin/img/tooltag-add.svg b/external_sources/django/django/contrib/admin/static/admin/img/tooltag-add.svg new file mode 100644 index 0000000..1ca64ae --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/img/tooltag-add.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#ffffff" d="M1600 736v192q0 40-28 68t-68 28h-416v416q0 40-28 68t-68 28h-192q-40 0-68-28t-28-68v-416h-416q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h416v-416q0-40 28-68t68-28h192q40 0 68 28t28 68v416h416q40 0 68 28t28 68z"/> +</svg> diff --git a/external_sources/django/django/contrib/admin/static/admin/img/tooltag-arrowright.svg b/external_sources/django/django/contrib/admin/static/admin/img/tooltag-arrowright.svg new file mode 100644 index 0000000..b664d61 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/img/tooltag-arrowright.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#ffffff" d="M1363 877l-742 742q-19 19-45 19t-45-19l-166-166q-19-19-19-45t19-45l531-531-531-531q-19-19-19-45t19-45l166-166q19-19 45-19t45 19l742 742q19 19 19 45t-19 45z"/> +</svg> diff --git a/external_sources/django/django/contrib/admin/static/admin/js/SelectBox.js b/external_sources/django/django/contrib/admin/static/admin/js/SelectBox.js new file mode 100644 index 0000000..3db4ec7 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/SelectBox.js @@ -0,0 +1,116 @@ +'use strict'; +{ + const SelectBox = { + cache: {}, + init: function(id) { + const box = document.getElementById(id); + SelectBox.cache[id] = []; + const cache = SelectBox.cache[id]; + for (const node of box.options) { + cache.push({value: node.value, text: node.text, displayed: 1}); + } + }, + redisplay: function(id) { + // Repopulate HTML select box from cache + const box = document.getElementById(id); + const scroll_value_from_top = box.scrollTop; + box.innerHTML = ''; + for (const node of SelectBox.cache[id]) { + if (node.displayed) { + const new_option = new Option(node.text, node.value, false, false); + // Shows a tooltip when hovering over the option + new_option.title = node.text; + box.appendChild(new_option); + } + } + box.scrollTop = scroll_value_from_top; + }, + filter: function(id, text) { + // Redisplay the HTML select box, displaying only the choices containing ALL + // the words in text. (It's an AND search.) + const tokens = text.toLowerCase().split(/\s+/); + for (const node of SelectBox.cache[id]) { + node.displayed = 1; + const node_text = node.text.toLowerCase(); + for (const token of tokens) { + if (!node_text.includes(token)) { + node.displayed = 0; + break; // Once the first token isn't found we're done + } + } + } + SelectBox.redisplay(id); + }, + get_hidden_node_count(id) { + const cache = SelectBox.cache[id] || []; + return cache.filter(node => node.displayed === 0).length; + }, + delete_from_cache: function(id, value) { + let delete_index = null; + const cache = SelectBox.cache[id]; + for (const [i, node] of cache.entries()) { + if (node.value === value) { + delete_index = i; + break; + } + } + cache.splice(delete_index, 1); + }, + add_to_cache: function(id, option) { + SelectBox.cache[id].push({value: option.value, text: option.text, displayed: 1}); + }, + cache_contains: function(id, value) { + // Check if an item is contained in the cache + for (const node of SelectBox.cache[id]) { + if (node.value === value) { + return true; + } + } + return false; + }, + move: function(from, to) { + const from_box = document.getElementById(from); + for (const option of from_box.options) { + const option_value = option.value; + if (option.selected && SelectBox.cache_contains(from, option_value)) { + SelectBox.add_to_cache(to, {value: option_value, text: option.text, displayed: 1}); + SelectBox.delete_from_cache(from, option_value); + } + } + SelectBox.redisplay(from); + SelectBox.redisplay(to); + }, + move_all: function(from, to) { + const from_box = document.getElementById(from); + for (const option of from_box.options) { + const option_value = option.value; + if (SelectBox.cache_contains(from, option_value)) { + SelectBox.add_to_cache(to, {value: option_value, text: option.text, displayed: 1}); + SelectBox.delete_from_cache(from, option_value); + } + } + SelectBox.redisplay(from); + SelectBox.redisplay(to); + }, + sort: function(id) { + SelectBox.cache[id].sort(function(a, b) { + a = a.text.toLowerCase(); + b = b.text.toLowerCase(); + if (a > b) { + return 1; + } + if (a < b) { + return -1; + } + return 0; + } ); + }, + select_all: function(id) { + const box = document.getElementById(id); + for (const option of box.options) { + option.selected = true; + } + } + }; + window.SelectBox = SelectBox; +} diff --git a/external_sources/django/django/contrib/admin/static/admin/js/SelectFilter2.js b/external_sources/django/django/contrib/admin/static/admin/js/SelectFilter2.js new file mode 100644 index 0000000..6957412 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/SelectFilter2.js @@ -0,0 +1,286 @@ +/*global SelectBox, gettext, ngettext, interpolate, quickElement, SelectFilter*/ +/* +SelectFilter2 - Turns a multiple-select box into a filter interface. + +Requires core.js and SelectBox.js. +*/ +'use strict'; +{ + window.SelectFilter = { + init: function(field_id, field_name, is_stacked) { + if (field_id.match(/__prefix__/)) { + // Don't initialize on empty forms. + return; + } + const from_box = document.getElementById(field_id); + from_box.id += '_from'; // change its ID + from_box.className = 'filtered'; + + for (const p of from_box.parentNode.getElementsByTagName('p')) { + if (p.classList.contains("info")) { + // Remove <p class="info">, because it just gets in the way. + from_box.parentNode.removeChild(p); + } else if (p.classList.contains("help")) { + // Move help text up to the top so it isn't below the select + // boxes or wrapped off on the side to the right of the add + // button: + from_box.parentNode.insertBefore(p, from_box.parentNode.firstChild); + } + } + + // <div class="selector"> or <div class="selector stacked"> + const selector_div = quickElement('div', from_box.parentNode); + // Make sure the selector div is at the beginning so that the + // add link would be displayed to the right of the widget. + from_box.parentNode.prepend(selector_div); + selector_div.className = is_stacked ? 'selector stacked' : 'selector'; + + // <div class="selector-available"> + const selector_available = quickElement('div', selector_div); + selector_available.className = 'selector-available'; + const title_available = quickElement('h2', selector_available, interpolate(gettext('Available %s') + ' ', [field_name])); + quickElement( + 'span', title_available, '', + 'class', 'help help-tooltip help-icon', + 'title', interpolate( + gettext( + 'This is the list of available %s. You may choose some by ' + + 'selecting them in the box below and then clicking the ' + + '"Choose" arrow between the two boxes.' + ), + [field_name] + ) + ); + + const filter_p = quickElement('p', selector_available, '', 'id', field_id + '_filter'); + filter_p.className = 'selector-filter'; + + const search_filter_label = quickElement('label', filter_p, '', 'for', field_id + '_input'); + + quickElement( + 'span', search_filter_label, '', + 'class', 'help-tooltip search-label-icon', + 'title', interpolate(gettext("Type into this box to filter down the list of available %s."), [field_name]) + ); + + filter_p.appendChild(document.createTextNode(' ')); + + const filter_input = quickElement('input', filter_p, '', 'type', 'text', 'placeholder', gettext("Filter")); + filter_input.id = field_id + '_input'; + + selector_available.appendChild(from_box); + const choose_all = quickElement('a', selector_available, gettext('Choose all'), 'title', interpolate(gettext('Click to choose all %s at once.'), [field_name]), 'href', '#', 'id', field_id + '_add_all_link'); + choose_all.className = 'selector-chooseall'; + + // <ul class="selector-chooser"> + const selector_chooser = quickElement('ul', selector_div); + selector_chooser.className = 'selector-chooser'; + const add_link = quickElement('a', quickElement('li', selector_chooser), gettext('Choose'), 'title', gettext('Choose'), 'href', '#', 'id', field_id + '_add_link'); + add_link.className = 'selector-add'; + const remove_link = quickElement('a', quickElement('li', selector_chooser), gettext('Remove'), 'title', gettext('Remove'), 'href', '#', 'id', field_id + '_remove_link'); + remove_link.className = 'selector-remove'; + + // <div class="selector-chosen"> + const selector_chosen = quickElement('div', selector_div, '', 'id', field_id + '_selector_chosen'); + selector_chosen.className = 'selector-chosen'; + const title_chosen = quickElement('h2', selector_chosen, interpolate(gettext('Chosen %s') + ' ', [field_name])); + quickElement( + 'span', title_chosen, '', + 'class', 'help help-tooltip help-icon', + 'title', interpolate( + gettext( + 'This is the list of chosen %s. You may remove some by ' + + 'selecting them in the box below and then clicking the ' + + '"Remove" arrow between the two boxes.' + ), + [field_name] + ) + ); + + const filter_selected_p = quickElement('p', selector_chosen, '', 'id', field_id + '_filter_selected'); + filter_selected_p.className = 'selector-filter'; + + const search_filter_selected_label = quickElement('label', filter_selected_p, '', 'for', field_id + '_selected_input'); + + quickElement( + 'span', search_filter_selected_label, '', + 'class', 'help-tooltip search-label-icon', + 'title', interpolate(gettext("Type into this box to filter down the list of selected %s."), [field_name]) + ); + + filter_selected_p.appendChild(document.createTextNode(' ')); + + const filter_selected_input = quickElement('input', filter_selected_p, '', 'type', 'text', 'placeholder', gettext("Filter")); + filter_selected_input.id = field_id + '_selected_input'; + + const to_box = quickElement('select', selector_chosen, '', 'id', field_id + '_to', 'multiple', '', 'size', from_box.size, 'name', from_box.name); + to_box.className = 'filtered'; + + const warning_footer = quickElement('div', selector_chosen, '', 'class', 'list-footer-display'); + quickElement('span', warning_footer, '', 'id', field_id + '_list-footer-display-text'); + quickElement('span', warning_footer, ' (click to clear)', 'class', 'list-footer-display__clear'); + + const clear_all = quickElement('a', selector_chosen, gettext('Remove all'), 'title', interpolate(gettext('Click to remove all chosen %s at once.'), [field_name]), 'href', '#', 'id', field_id + '_remove_all_link'); + clear_all.className = 'selector-clearall'; + + from_box.name = from_box.name + '_old'; + + // Set up the JavaScript event handlers for the select box filter interface + const move_selection = function(e, elem, move_func, from, to) { + if (elem.classList.contains('active')) { + move_func(from, to); + SelectFilter.refresh_icons(field_id); + SelectFilter.refresh_filtered_selects(field_id); + SelectFilter.refresh_filtered_warning(field_id); + } + e.preventDefault(); + }; + choose_all.addEventListener('click', function(e) { + move_selection(e, this, SelectBox.move_all, field_id + '_from', field_id + '_to'); + }); + add_link.addEventListener('click', function(e) { + move_selection(e, this, SelectBox.move, field_id + '_from', field_id + '_to'); + }); + remove_link.addEventListener('click', function(e) { + move_selection(e, this, SelectBox.move, field_id + '_to', field_id + '_from'); + }); + clear_all.addEventListener('click', function(e) { + move_selection(e, this, SelectBox.move_all, field_id + '_to', field_id + '_from'); + }); + warning_footer.addEventListener('click', function(e) { + filter_selected_input.value = ''; + SelectBox.filter(field_id + '_to', ''); + SelectFilter.refresh_filtered_warning(field_id); + SelectFilter.refresh_icons(field_id); + }); + filter_input.addEventListener('keypress', function(e) { + SelectFilter.filter_key_press(e, field_id, '_from', '_to'); + }); + filter_input.addEventListener('keyup', function(e) { + SelectFilter.filter_key_up(e, field_id, '_from'); + }); + filter_input.addEventListener('keydown', function(e) { + SelectFilter.filter_key_down(e, field_id, '_from', '_to'); + }); + filter_selected_input.addEventListener('keypress', function(e) { + SelectFilter.filter_key_press(e, field_id, '_to', '_from'); + }); + filter_selected_input.addEventListener('keyup', function(e) { + SelectFilter.filter_key_up(e, field_id, '_to', '_selected_input'); + }); + filter_selected_input.addEventListener('keydown', function(e) { + SelectFilter.filter_key_down(e, field_id, '_to', '_from'); + }); + selector_div.addEventListener('change', function(e) { + if (e.target.tagName === 'SELECT') { + SelectFilter.refresh_icons(field_id); + } + }); + selector_div.addEventListener('dblclick', function(e) { + if (e.target.tagName === 'OPTION') { + if (e.target.closest('select').id === field_id + '_to') { + SelectBox.move(field_id + '_to', field_id + '_from'); + } else { + SelectBox.move(field_id + '_from', field_id + '_to'); + } + SelectFilter.refresh_icons(field_id); + } + }); + from_box.closest('form').addEventListener('submit', function() { + SelectBox.filter(field_id + '_to', ''); + SelectBox.select_all(field_id + '_to'); + }); + SelectBox.init(field_id + '_from'); + SelectBox.init(field_id + '_to'); + // Move selected from_box options to to_box + SelectBox.move(field_id + '_from', field_id + '_to'); + + // Initial icon refresh + SelectFilter.refresh_icons(field_id); + }, + any_selected: function(field) { + // Temporarily add the required attribute and check validity. + field.required = true; + const any_selected = field.checkValidity(); + field.required = false; + return any_selected; + }, + refresh_filtered_warning: function(field_id) { + const count = SelectBox.get_hidden_node_count(field_id + '_to'); + const selector = document.getElementById(field_id + '_selector_chosen'); + const warning = document.getElementById(field_id + '_list-footer-display-text'); + selector.className = selector.className.replace('selector-chosen--with-filtered', ''); + warning.textContent = interpolate(ngettext( + '%s selected option not visible', + '%s selected options not visible', + count + ), [count]); + if(count > 0) { + selector.className += ' selector-chosen--with-filtered'; + } + }, + refresh_filtered_selects: function(field_id) { + SelectBox.filter(field_id + '_from', document.getElementById(field_id + "_input").value); + SelectBox.filter(field_id + '_to', document.getElementById(field_id + "_selected_input").value); + }, + refresh_icons: function(field_id) { + const from = document.getElementById(field_id + '_from'); + const to = document.getElementById(field_id + '_to'); + // Active if at least one item is selected + document.getElementById(field_id + '_add_link').classList.toggle('active', SelectFilter.any_selected(from)); + document.getElementById(field_id + '_remove_link').classList.toggle('active', SelectFilter.any_selected(to)); + // Active if the corresponding box isn't empty + document.getElementById(field_id + '_add_all_link').classList.toggle('active', from.querySelector('option')); + document.getElementById(field_id + '_remove_all_link').classList.toggle('active', to.querySelector('option')); + SelectFilter.refresh_filtered_warning(field_id); + }, + filter_key_press: function(event, field_id, source, target) { + const source_box = document.getElementById(field_id + source); + // don't submit form if user pressed Enter + if ((event.which && event.which === 13) || (event.keyCode && event.keyCode === 13)) { + source_box.selectedIndex = 0; + SelectBox.move(field_id + source, field_id + target); + source_box.selectedIndex = 0; + event.preventDefault(); + } + }, + filter_key_up: function(event, field_id, source, filter_input) { + const input = filter_input || '_input'; + const source_box = document.getElementById(field_id + source); + const temp = source_box.selectedIndex; + SelectBox.filter(field_id + source, document.getElementById(field_id + input).value); + source_box.selectedIndex = temp; + SelectFilter.refresh_filtered_warning(field_id); + SelectFilter.refresh_icons(field_id); + }, + filter_key_down: function(event, field_id, source, target) { + const source_box = document.getElementById(field_id + source); + // right key (39) or left key (37) + const direction = source === '_from' ? 39 : 37; + // right arrow -- move across + if ((event.which && event.which === direction) || (event.keyCode && event.keyCode === direction)) { + const old_index = source_box.selectedIndex; + SelectBox.move(field_id + source, field_id + target); + SelectFilter.refresh_filtered_selects(field_id); + SelectFilter.refresh_filtered_warning(field_id); + source_box.selectedIndex = (old_index === source_box.length) ? source_box.length - 1 : old_index; + return; + } + // down arrow -- wrap around + if ((event.which && event.which === 40) || (event.keyCode && event.keyCode === 40)) { + source_box.selectedIndex = (source_box.length === source_box.selectedIndex + 1) ? 0 : source_box.selectedIndex + 1; + } + // up arrow -- wrap around + if ((event.which && event.which === 38) || (event.keyCode && event.keyCode === 38)) { + source_box.selectedIndex = (source_box.selectedIndex === 0) ? source_box.length - 1 : source_box.selectedIndex - 1; + } + } + }; + + window.addEventListener('load', function(e) { + document.querySelectorAll('select.selectfilter, select.selectfilterstacked').forEach(function(el) { + const data = el.dataset; + SelectFilter.init(el.id, data.fieldName, parseInt(data.isStacked, 10)); + }); + }); +} diff --git a/external_sources/django/django/contrib/admin/static/admin/js/actions.js b/external_sources/django/django/contrib/admin/static/admin/js/actions.js new file mode 100644 index 0000000..04b25e9 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/actions.js @@ -0,0 +1,204 @@ +/*global gettext, interpolate, ngettext, Actions*/ +'use strict'; +{ + function show(selector) { + document.querySelectorAll(selector).forEach(function(el) { + el.classList.remove('hidden'); + }); + } + + function hide(selector) { + document.querySelectorAll(selector).forEach(function(el) { + el.classList.add('hidden'); + }); + } + + function showQuestion(options) { + hide(options.acrossClears); + show(options.acrossQuestions); + hide(options.allContainer); + } + + function showClear(options) { + show(options.acrossClears); + hide(options.acrossQuestions); + document.querySelector(options.actionContainer).classList.remove(options.selectedClass); + show(options.allContainer); + hide(options.counterContainer); + } + + function reset(options) { + hide(options.acrossClears); + hide(options.acrossQuestions); + hide(options.allContainer); + show(options.counterContainer); + } + + function clearAcross(options) { + reset(options); + const acrossInputs = document.querySelectorAll(options.acrossInput); + acrossInputs.forEach(function(acrossInput) { + acrossInput.value = 0; + }); + document.querySelector(options.actionContainer).classList.remove(options.selectedClass); + } + + function checker(actionCheckboxes, options, checked) { + if (checked) { + showQuestion(options); + } else { + reset(options); + } + actionCheckboxes.forEach(function(el) { + el.checked = checked; + el.closest('tr').classList.toggle(options.selectedClass, checked); + }); + } + + function updateCounter(actionCheckboxes, options) { + const sel = Array.from(actionCheckboxes).filter(function(el) { + return el.checked; + }).length; + const counter = document.querySelector(options.counterContainer); + // data-actions-icnt is defined in the generated HTML + // and contains the total amount of objects in the queryset + const actions_icnt = Number(counter.dataset.actionsIcnt); + counter.textContent = interpolate( + ngettext('%(sel)s of %(cnt)s selected', '%(sel)s of %(cnt)s selected', sel), { + sel: sel, + cnt: actions_icnt + }, true); + const allToggle = document.getElementById(options.allToggleId); + allToggle.checked = sel === actionCheckboxes.length; + if (allToggle.checked) { + showQuestion(options); + } else { + clearAcross(options); + } + } + + const defaults = { + actionContainer: "div.actions", + counterContainer: "span.action-counter", + allContainer: "div.actions span.all", + acrossInput: "div.actions input.select-across", + acrossQuestions: "div.actions span.question", + acrossClears: "div.actions span.clear", + allToggleId: "action-toggle", + selectedClass: "selected" + }; + + window.Actions = function(actionCheckboxes, options) { + options = Object.assign({}, defaults, options); + let list_editable_changed = false; + let lastChecked = null; + let shiftPressed = false; + + document.addEventListener('keydown', (event) => { + shiftPressed = event.shiftKey; + }); + + document.addEventListener('keyup', (event) => { + shiftPressed = event.shiftKey; + }); + + document.getElementById(options.allToggleId).addEventListener('click', function(event) { + checker(actionCheckboxes, options, this.checked); + updateCounter(actionCheckboxes, options); + }); + + document.querySelectorAll(options.acrossQuestions + " a").forEach(function(el) { + el.addEventListener('click', function(event) { + event.preventDefault(); + const acrossInputs = document.querySelectorAll(options.acrossInput); + acrossInputs.forEach(function(acrossInput) { + acrossInput.value = 1; + }); + showClear(options); + }); + }); + + document.querySelectorAll(options.acrossClears + " a").forEach(function(el) { + el.addEventListener('click', function(event) { + event.preventDefault(); + document.getElementById(options.allToggleId).checked = false; + clearAcross(options); + checker(actionCheckboxes, options, false); + updateCounter(actionCheckboxes, options); + }); + }); + + function affectedCheckboxes(target, withModifier) { + const multiSelect = (lastChecked && withModifier && lastChecked !== target); + if (!multiSelect) { + return [target]; + } + const checkboxes = Array.from(actionCheckboxes); + const targetIndex = checkboxes.findIndex(el => el === target); + const lastCheckedIndex = checkboxes.findIndex(el => el === lastChecked); + const startIndex = Math.min(targetIndex, lastCheckedIndex); + const endIndex = Math.max(targetIndex, lastCheckedIndex); + const filtered = checkboxes.filter((el, index) => (startIndex <= index) && (index <= endIndex)); + return filtered; + }; + + Array.from(document.getElementById('result_list').tBodies).forEach(function(el) { + el.addEventListener('change', function(event) { + const target = event.target; + if (target.classList.contains('action-select')) { + const checkboxes = affectedCheckboxes(target, shiftPressed); + checker(checkboxes, options, target.checked); + updateCounter(actionCheckboxes, options); + lastChecked = target; + } else { + list_editable_changed = true; + } + }); + }); + + document.querySelector('#changelist-form button[name=index]').addEventListener('click', function(event) { + if (list_editable_changed) { + const confirmed = confirm(gettext("You have unsaved changes on individual editable fields. If you run an action, your unsaved changes will be lost.")); + if (!confirmed) { + event.preventDefault(); + } + } + }); + + const el = document.querySelector('#changelist-form input[name=_save]'); + // The button does not exist if no fields are editable. + if (el) { + el.addEventListener('click', function(event) { + if (document.querySelector('[name=action]').value) { + const text = list_editable_changed + ? gettext("You have selected an action, but you haven’t saved your changes to individual fields yet. Please click OK to save. You’ll need to re-run the action.") + : gettext("You have selected an action, and you haven’t made any changes on individual fields. You’re probably looking for the Go button rather than the Save button."); + if (!confirm(text)) { + event.preventDefault(); + } + } + }); + } + // Sync counter when navigating to the page, such as through the back + // button. + window.addEventListener('pageshow', (event) => updateCounter(actionCheckboxes, options)); + }; + + // Call function fn when the DOM is loaded and ready. If it is already + // loaded, call the function now. + // http://youmightnotneedjquery.com/#ready + function ready(fn) { + if (document.readyState !== 'loading') { + fn(); + } else { + document.addEventListener('DOMContentLoaded', fn); + } + } + + ready(function() { + const actionsEls = document.querySelectorAll('tr input.action-select'); + if (actionsEls.length > 0) { + Actions(actionsEls); + } + }); +} diff --git a/external_sources/django/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js b/external_sources/django/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js new file mode 100644 index 0000000..aa1cae9 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js @@ -0,0 +1,408 @@ +/*global Calendar, findPosX, findPosY, get_format, gettext, gettext_noop, interpolate, ngettext, quickElement*/ +// Inserts shortcut buttons after all of the following: +// <input type="text" class="vDateField"> +// <input type="text" class="vTimeField"> +'use strict'; +{ + const DateTimeShortcuts = { + calendars: [], + calendarInputs: [], + clockInputs: [], + clockHours: { + default_: [ + [gettext_noop('Now'), -1], + [gettext_noop('Midnight'), 0], + [gettext_noop('6 a.m.'), 6], + [gettext_noop('Noon'), 12], + [gettext_noop('6 p.m.'), 18] + ] + }, + dismissClockFunc: [], + dismissCalendarFunc: [], + calendarDivName1: 'calendarbox', // name of calendar <div> that gets toggled + calendarDivName2: 'calendarin', // name of <div> that contains calendar + calendarLinkName: 'calendarlink', // name of the link that is used to toggle + clockDivName: 'clockbox', // name of clock <div> that gets toggled + clockLinkName: 'clocklink', // name of the link that is used to toggle + shortCutsClass: 'datetimeshortcuts', // class of the clock and cal shortcuts + timezoneWarningClass: 'timezonewarning', // class of the warning for timezone mismatch + timezoneOffset: 0, + init: function() { + const serverOffset = document.body.dataset.adminUtcOffset; + if (serverOffset) { + const localOffset = new Date().getTimezoneOffset() * -60; + DateTimeShortcuts.timezoneOffset = localOffset - serverOffset; + } + + for (const inp of document.getElementsByTagName('input')) { + if (inp.type === 'text' && inp.classList.contains('vTimeField')) { + DateTimeShortcuts.addClock(inp); + DateTimeShortcuts.addTimezoneWarning(inp); + } + else if (inp.type === 'text' && inp.classList.contains('vDateField')) { + DateTimeShortcuts.addCalendar(inp); + DateTimeShortcuts.addTimezoneWarning(inp); + } + } + }, + // Return the current time while accounting for the server timezone. + now: function() { + const serverOffset = document.body.dataset.adminUtcOffset; + if (serverOffset) { + const localNow = new Date(); + const localOffset = localNow.getTimezoneOffset() * -60; + localNow.setTime(localNow.getTime() + 1000 * (serverOffset - localOffset)); + return localNow; + } else { + return new Date(); + } + }, + // Add a warning when the time zone in the browser and backend do not match. + addTimezoneWarning: function(inp) { + const warningClass = DateTimeShortcuts.timezoneWarningClass; + let timezoneOffset = DateTimeShortcuts.timezoneOffset / 3600; + + // Only warn if there is a time zone mismatch. + if (!timezoneOffset) { + return; + } + + // Check if warning is already there. + if (inp.parentNode.querySelectorAll('.' + warningClass).length) { + return; + } + + let message; + if (timezoneOffset > 0) { + message = ngettext( + 'Note: You are %s hour ahead of server time.', + 'Note: You are %s hours ahead of server time.', + timezoneOffset + ); + } + else { + timezoneOffset *= -1; + message = ngettext( + 'Note: You are %s hour behind server time.', + 'Note: You are %s hours behind server time.', + timezoneOffset + ); + } + message = interpolate(message, [timezoneOffset]); + + const warning = document.createElement('div'); + warning.classList.add('help', warningClass); + warning.textContent = message; + inp.parentNode.appendChild(warning); + }, + // Add clock widget to a given field + addClock: function(inp) { + const num = DateTimeShortcuts.clockInputs.length; + DateTimeShortcuts.clockInputs[num] = inp; + DateTimeShortcuts.dismissClockFunc[num] = function() { DateTimeShortcuts.dismissClock(num); return true; }; + + // Shortcut links (clock icon and "Now" link) + const shortcuts_span = document.createElement('span'); + shortcuts_span.className = DateTimeShortcuts.shortCutsClass; + inp.parentNode.insertBefore(shortcuts_span, inp.nextSibling); + const now_link = document.createElement('a'); + now_link.href = "#"; + now_link.textContent = gettext('Now'); + now_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleClockQuicklink(num, -1); + }); + const clock_link = document.createElement('a'); + clock_link.href = '#'; + clock_link.id = DateTimeShortcuts.clockLinkName + num; + clock_link.addEventListener('click', function(e) { + e.preventDefault(); + // avoid triggering the document click handler to dismiss the clock + e.stopPropagation(); + DateTimeShortcuts.openClock(num); + }); + + quickElement( + 'span', clock_link, '', + 'class', 'clock-icon', + 'title', gettext('Choose a Time') + ); + shortcuts_span.appendChild(document.createTextNode('\u00A0')); + shortcuts_span.appendChild(now_link); + shortcuts_span.appendChild(document.createTextNode('\u00A0|\u00A0')); + shortcuts_span.appendChild(clock_link); + + // Create clock link div + // + // Markup looks like: + // <div id="clockbox1" class="clockbox module"> + // <h2>Choose a time</h2> + // <ul class="timelist"> + // <li><a href="#">Now</a></li> + // <li><a href="#">Midnight</a></li> + // <li><a href="#">6 a.m.</a></li> + // <li><a href="#">Noon</a></li> + // <li><a href="#">6 p.m.</a></li> + // </ul> + // <p class="calendar-cancel"><a href="#">Cancel</a></p> + // </div> + + const clock_box = document.createElement('div'); + clock_box.style.display = 'none'; + clock_box.style.position = 'absolute'; + clock_box.className = 'clockbox module'; + clock_box.id = DateTimeShortcuts.clockDivName + num; + document.body.appendChild(clock_box); + clock_box.addEventListener('click', function(e) { e.stopPropagation(); }); + + quickElement('h2', clock_box, gettext('Choose a time')); + const time_list = quickElement('ul', clock_box); + time_list.className = 'timelist'; + // The list of choices can be overridden in JavaScript like this: + // DateTimeShortcuts.clockHours.name = [['3 a.m.', 3]]; + // where name is the name attribute of the <input>. + const name = typeof DateTimeShortcuts.clockHours[inp.name] === 'undefined' ? 'default_' : inp.name; + DateTimeShortcuts.clockHours[name].forEach(function(element) { + const time_link = quickElement('a', quickElement('li', time_list), gettext(element[0]), 'href', '#'); + time_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleClockQuicklink(num, element[1]); + }); + }); + + const cancel_p = quickElement('p', clock_box); + cancel_p.className = 'calendar-cancel'; + const cancel_link = quickElement('a', cancel_p, gettext('Cancel'), 'href', '#'); + cancel_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.dismissClock(num); + }); + + document.addEventListener('keyup', function(event) { + if (event.which === 27) { + // ESC key closes popup + DateTimeShortcuts.dismissClock(num); + event.preventDefault(); + } + }); + }, + openClock: function(num) { + const clock_box = document.getElementById(DateTimeShortcuts.clockDivName + num); + const clock_link = document.getElementById(DateTimeShortcuts.clockLinkName + num); + + // Recalculate the clockbox position + // is it left-to-right or right-to-left layout ? + if (window.getComputedStyle(document.body).direction !== 'rtl') { + clock_box.style.left = findPosX(clock_link) + 17 + 'px'; + } + else { + // since style's width is in em, it'd be tough to calculate + // px value of it. let's use an estimated px for now + clock_box.style.left = findPosX(clock_link) - 110 + 'px'; + } + clock_box.style.top = Math.max(0, findPosY(clock_link) - 30) + 'px'; + + // Show the clock box + clock_box.style.display = 'block'; + document.addEventListener('click', DateTimeShortcuts.dismissClockFunc[num]); + }, + dismissClock: function(num) { + document.getElementById(DateTimeShortcuts.clockDivName + num).style.display = 'none'; + document.removeEventListener('click', DateTimeShortcuts.dismissClockFunc[num]); + }, + handleClockQuicklink: function(num, val) { + let d; + if (val === -1) { + d = DateTimeShortcuts.now(); + } + else { + d = new Date(1970, 1, 1, val, 0, 0, 0); + } + DateTimeShortcuts.clockInputs[num].value = d.strftime(get_format('TIME_INPUT_FORMATS')[0]); + DateTimeShortcuts.clockInputs[num].focus(); + DateTimeShortcuts.dismissClock(num); + }, + // Add calendar widget to a given field. + addCalendar: function(inp) { + const num = DateTimeShortcuts.calendars.length; + + DateTimeShortcuts.calendarInputs[num] = inp; + DateTimeShortcuts.dismissCalendarFunc[num] = function() { DateTimeShortcuts.dismissCalendar(num); return true; }; + + // Shortcut links (calendar icon and "Today" link) + const shortcuts_span = document.createElement('span'); + shortcuts_span.className = DateTimeShortcuts.shortCutsClass; + inp.parentNode.insertBefore(shortcuts_span, inp.nextSibling); + const today_link = document.createElement('a'); + today_link.href = '#'; + today_link.appendChild(document.createTextNode(gettext('Today'))); + today_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleCalendarQuickLink(num, 0); + }); + const cal_link = document.createElement('a'); + cal_link.href = '#'; + cal_link.id = DateTimeShortcuts.calendarLinkName + num; + cal_link.addEventListener('click', function(e) { + e.preventDefault(); + // avoid triggering the document click handler to dismiss the calendar + e.stopPropagation(); + DateTimeShortcuts.openCalendar(num); + }); + quickElement( + 'span', cal_link, '', + 'class', 'date-icon', + 'title', gettext('Choose a Date') + ); + shortcuts_span.appendChild(document.createTextNode('\u00A0')); + shortcuts_span.appendChild(today_link); + shortcuts_span.appendChild(document.createTextNode('\u00A0|\u00A0')); + shortcuts_span.appendChild(cal_link); + + // Create calendarbox div. + // + // Markup looks like: + // + // <div id="calendarbox3" class="calendarbox module"> + // <h2> + // <a href="#" class="link-previous">‹</a> + // <a href="#" class="link-next">›</a> February 2003 + // </h2> + // <div class="calendar" id="calendarin3"> + // <!-- (cal) --> + // </div> + // <div class="calendar-shortcuts"> + // <a href="#">Yesterday</a> | <a href="#">Today</a> | <a href="#">Tomorrow</a> + // </div> + // <p class="calendar-cancel"><a href="#">Cancel</a></p> + // </div> + const cal_box = document.createElement('div'); + cal_box.style.display = 'none'; + cal_box.style.position = 'absolute'; + cal_box.className = 'calendarbox module'; + cal_box.id = DateTimeShortcuts.calendarDivName1 + num; + document.body.appendChild(cal_box); + cal_box.addEventListener('click', function(e) { e.stopPropagation(); }); + + // next-prev links + const cal_nav = quickElement('div', cal_box); + const cal_nav_prev = quickElement('a', cal_nav, '<', 'href', '#'); + cal_nav_prev.className = 'calendarnav-previous'; + cal_nav_prev.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.drawPrev(num); + }); + + const cal_nav_next = quickElement('a', cal_nav, '>', 'href', '#'); + cal_nav_next.className = 'calendarnav-next'; + cal_nav_next.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.drawNext(num); + }); + + // main box + const cal_main = quickElement('div', cal_box, '', 'id', DateTimeShortcuts.calendarDivName2 + num); + cal_main.className = 'calendar'; + DateTimeShortcuts.calendars[num] = new Calendar(DateTimeShortcuts.calendarDivName2 + num, DateTimeShortcuts.handleCalendarCallback(num)); + DateTimeShortcuts.calendars[num].drawCurrent(); + + // calendar shortcuts + const shortcuts = quickElement('div', cal_box); + shortcuts.className = 'calendar-shortcuts'; + let day_link = quickElement('a', shortcuts, gettext('Yesterday'), 'href', '#'); + day_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleCalendarQuickLink(num, -1); + }); + shortcuts.appendChild(document.createTextNode('\u00A0|\u00A0')); + day_link = quickElement('a', shortcuts, gettext('Today'), 'href', '#'); + day_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleCalendarQuickLink(num, 0); + }); + shortcuts.appendChild(document.createTextNode('\u00A0|\u00A0')); + day_link = quickElement('a', shortcuts, gettext('Tomorrow'), 'href', '#'); + day_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleCalendarQuickLink(num, +1); + }); + + // cancel bar + const cancel_p = quickElement('p', cal_box); + cancel_p.className = 'calendar-cancel'; + const cancel_link = quickElement('a', cancel_p, gettext('Cancel'), 'href', '#'); + cancel_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.dismissCalendar(num); + }); + document.addEventListener('keyup', function(event) { + if (event.which === 27) { + // ESC key closes popup + DateTimeShortcuts.dismissCalendar(num); + event.preventDefault(); + } + }); + }, + openCalendar: function(num) { + const cal_box = document.getElementById(DateTimeShortcuts.calendarDivName1 + num); + const cal_link = document.getElementById(DateTimeShortcuts.calendarLinkName + num); + const inp = DateTimeShortcuts.calendarInputs[num]; + + // Determine if the current value in the input has a valid date. + // If so, draw the calendar with that date's year and month. + if (inp.value) { + const format = get_format('DATE_INPUT_FORMATS')[0]; + const selected = inp.value.strptime(format); + const year = selected.getUTCFullYear(); + const month = selected.getUTCMonth() + 1; + const re = /\d{4}/; + if (re.test(year.toString()) && month >= 1 && month <= 12) { + DateTimeShortcuts.calendars[num].drawDate(month, year, selected); + } + } + + // Recalculate the clockbox position + // is it left-to-right or right-to-left layout ? + if (window.getComputedStyle(document.body).direction !== 'rtl') { + cal_box.style.left = findPosX(cal_link) + 17 + 'px'; + } + else { + // since style's width is in em, it'd be tough to calculate + // px value of it. let's use an estimated px for now + cal_box.style.left = findPosX(cal_link) - 180 + 'px'; + } + cal_box.style.top = Math.max(0, findPosY(cal_link) - 75) + 'px'; + + cal_box.style.display = 'block'; + document.addEventListener('click', DateTimeShortcuts.dismissCalendarFunc[num]); + }, + dismissCalendar: function(num) { + document.getElementById(DateTimeShortcuts.calendarDivName1 + num).style.display = 'none'; + document.removeEventListener('click', DateTimeShortcuts.dismissCalendarFunc[num]); + }, + drawPrev: function(num) { + DateTimeShortcuts.calendars[num].drawPreviousMonth(); + }, + drawNext: function(num) { + DateTimeShortcuts.calendars[num].drawNextMonth(); + }, + handleCalendarCallback: function(num) { + const format = get_format('DATE_INPUT_FORMATS')[0]; + return function(y, m, d) { + DateTimeShortcuts.calendarInputs[num].value = new Date(y, m - 1, d).strftime(format); + DateTimeShortcuts.calendarInputs[num].focus(); + document.getElementById(DateTimeShortcuts.calendarDivName1 + num).style.display = 'none'; + }; + }, + handleCalendarQuickLink: function(num, offset) { + const d = DateTimeShortcuts.now(); + d.setDate(d.getDate() + offset); + DateTimeShortcuts.calendarInputs[num].value = d.strftime(get_format('DATE_INPUT_FORMATS')[0]); + DateTimeShortcuts.calendarInputs[num].focus(); + DateTimeShortcuts.dismissCalendar(num); + } + }; + + window.addEventListener('load', DateTimeShortcuts.init); + window.DateTimeShortcuts = DateTimeShortcuts; +} diff --git a/external_sources/django/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js b/external_sources/django/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js new file mode 100644 index 0000000..bc3acce --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js @@ -0,0 +1,240 @@ +/*global SelectBox, interpolate*/ +// Handles related-objects functionality: lookup link for raw_id_fields +// and Add Another links. +'use strict'; +{ + const $ = django.jQuery; + let popupIndex = 0; + const relatedWindows = []; + + function dismissChildPopups() { + relatedWindows.forEach(function(win) { + if(!win.closed) { + win.dismissChildPopups(); + win.close(); + } + }); + } + + function setPopupIndex() { + if(document.getElementsByName("_popup").length > 0) { + const index = window.name.lastIndexOf("__") + 2; + popupIndex = parseInt(window.name.substring(index)); + } else { + popupIndex = 0; + } + } + + function addPopupIndex(name) { + return name + "__" + (popupIndex + 1); + } + + function removePopupIndex(name) { + return name.replace(new RegExp("__" + (popupIndex + 1) + "$"), ''); + } + + function showAdminPopup(triggeringLink, name_regexp, add_popup) { + const name = addPopupIndex(triggeringLink.id.replace(name_regexp, '')); + const href = new URL(triggeringLink.href); + if (add_popup) { + href.searchParams.set('_popup', 1); + } + const win = window.open(href, name, 'height=500,width=800,resizable=yes,scrollbars=yes'); + relatedWindows.push(win); + win.focus(); + return false; + } + + function showRelatedObjectLookupPopup(triggeringLink) { + return showAdminPopup(triggeringLink, /^lookup_/, true); + } + + function dismissRelatedLookupPopup(win, chosenId) { + const name = removePopupIndex(win.name); + const elem = document.getElementById(name); + if (elem.classList.contains('vManyToManyRawIdAdminField') && elem.value) { + elem.value += ',' + chosenId; + } else { + document.getElementById(name).value = chosenId; + } + const index = relatedWindows.indexOf(win); + if (index > -1) { + relatedWindows.splice(index, 1); + } + win.close(); + } + + function showRelatedObjectPopup(triggeringLink) { + return showAdminPopup(triggeringLink, /^(change|add|delete)_/, false); + } + + function updateRelatedObjectLinks(triggeringLink) { + const $this = $(triggeringLink); + const siblings = $this.nextAll('.view-related, .change-related, .delete-related'); + if (!siblings.length) { + return; + } + const value = $this.val(); + if (value) { + siblings.each(function() { + const elm = $(this); + elm.attr('href', elm.attr('data-href-template').replace('__fk__', value)); + elm.removeAttr('aria-disabled'); + }); + } else { + siblings.removeAttr('href'); + siblings.attr('aria-disabled', true); + } + } + + function updateRelatedSelectsOptions(currentSelect, win, objId, newRepr, newId) { + // After create/edit a model from the options next to the current + // select (+ or :pencil:) update ForeignKey PK of the rest of selects + // in the page. + + const path = win.location.pathname; + // Extract the model from the popup url '.../<model>/add/' or + // '.../<model>/<id>/change/' depending the action (add or change). + const modelName = path.split('/')[path.split('/').length - (objId ? 4 : 3)]; + // Select elements with a specific model reference and context of "available-source". + const selectsRelated = document.querySelectorAll(`[data-model-ref="${modelName}"] [data-context="available-source"]`); + + selectsRelated.forEach(function(select) { + if (currentSelect === select) { + return; + } + + let option = select.querySelector(`option[value="${objId}"]`); + + if (!option) { + option = new Option(newRepr, newId); + select.options.add(option); + return; + } + + option.textContent = newRepr; + option.value = newId; + }); + } + + function dismissAddRelatedObjectPopup(win, newId, newRepr) { + const name = removePopupIndex(win.name); + const elem = document.getElementById(name); + if (elem) { + const elemName = elem.nodeName.toUpperCase(); + if (elemName === 'SELECT') { + elem.options[elem.options.length] = new Option(newRepr, newId, true, true); + updateRelatedSelectsOptions(elem, win, null, newRepr, newId); + } else if (elemName === 'INPUT') { + if (elem.classList.contains('vManyToManyRawIdAdminField') && elem.value) { + elem.value += ',' + newId; + } else { + elem.value = newId; + } + } + // Trigger a change event to update related links if required. + $(elem).trigger('change'); + } else { + const toId = name + "_to"; + const o = new Option(newRepr, newId); + SelectBox.add_to_cache(toId, o); + SelectBox.redisplay(toId); + } + const index = relatedWindows.indexOf(win); + if (index > -1) { + relatedWindows.splice(index, 1); + } + win.close(); + } + + function dismissChangeRelatedObjectPopup(win, objId, newRepr, newId) { + const id = removePopupIndex(win.name.replace(/^edit_/, '')); + const selectsSelector = interpolate('#%s, #%s_from, #%s_to', [id, id, id]); + const selects = $(selectsSelector); + selects.find('option').each(function() { + if (this.value === objId) { + this.textContent = newRepr; + this.value = newId; + } + }).trigger('change'); + updateRelatedSelectsOptions(selects[0], win, objId, newRepr, newId); + selects.next().find('.select2-selection__rendered').each(function() { + // The element can have a clear button as a child. + // Use the lastChild to modify only the displayed value. + this.lastChild.textContent = newRepr; + this.title = newRepr; + }); + const index = relatedWindows.indexOf(win); + if (index > -1) { + relatedWindows.splice(index, 1); + } + win.close(); + } + + function dismissDeleteRelatedObjectPopup(win, objId) { + const id = removePopupIndex(win.name.replace(/^delete_/, '')); + const selectsSelector = interpolate('#%s, #%s_from, #%s_to', [id, id, id]); + const selects = $(selectsSelector); + selects.find('option').each(function() { + if (this.value === objId) { + $(this).remove(); + } + }).trigger('change'); + const index = relatedWindows.indexOf(win); + if (index > -1) { + relatedWindows.splice(index, 1); + } + win.close(); + } + + window.showRelatedObjectLookupPopup = showRelatedObjectLookupPopup; + window.dismissRelatedLookupPopup = dismissRelatedLookupPopup; + window.showRelatedObjectPopup = showRelatedObjectPopup; + window.updateRelatedObjectLinks = updateRelatedObjectLinks; + window.dismissAddRelatedObjectPopup = dismissAddRelatedObjectPopup; + window.dismissChangeRelatedObjectPopup = dismissChangeRelatedObjectPopup; + window.dismissDeleteRelatedObjectPopup = dismissDeleteRelatedObjectPopup; + window.dismissChildPopups = dismissChildPopups; + + // Kept for backward compatibility + window.showAddAnotherPopup = showRelatedObjectPopup; + window.dismissAddAnotherPopup = dismissAddRelatedObjectPopup; + + window.addEventListener('unload', function(evt) { + window.dismissChildPopups(); + }); + + $(document).ready(function() { + setPopupIndex(); + $("a[data-popup-opener]").on('click', function(event) { + event.preventDefault(); + opener.dismissRelatedLookupPopup(window, $(this).data("popup-opener")); + }); + $('body').on('click', '.related-widget-wrapper-link[data-popup="yes"]', function(e) { + e.preventDefault(); + if (this.href) { + const event = $.Event('django:show-related', {href: this.href}); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showRelatedObjectPopup(this); + } + } + }); + $('body').on('change', '.related-widget-wrapper select', function(e) { + const event = $.Event('django:update-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + updateRelatedObjectLinks(this); + } + }); + $('.related-widget-wrapper select').trigger('change'); + $('body').on('click', '.related-lookup', function(e) { + e.preventDefault(); + const event = $.Event('django:lookup-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showRelatedObjectLookupPopup(this); + } + }); + }); +} diff --git a/external_sources/django/django/contrib/admin/static/admin/js/autocomplete.js b/external_sources/django/django/contrib/admin/static/admin/js/autocomplete.js new file mode 100644 index 0000000..d3daeab --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/autocomplete.js @@ -0,0 +1,33 @@ +'use strict'; +{ + const $ = django.jQuery; + + $.fn.djangoAdminSelect2 = function() { + $.each(this, function(i, element) { + $(element).select2({ + ajax: { + data: (params) => { + return { + term: params.term, + page: params.page, + app_label: element.dataset.appLabel, + model_name: element.dataset.modelName, + field_name: element.dataset.fieldName + }; + } + } + }); + }); + return this; + }; + + $(function() { + // Initialize all autocomplete widgets except the one in the template + // form used when a new formset is added. + $('.admin-autocomplete').not('[name*=__prefix__]').djangoAdminSelect2(); + }); + + document.addEventListener('formset:added', (event) => { + $(event.target).find('.admin-autocomplete').djangoAdminSelect2(); + }); +} diff --git a/external_sources/django/django/contrib/admin/static/admin/js/calendar.js b/external_sources/django/django/contrib/admin/static/admin/js/calendar.js new file mode 100644 index 0000000..776310f --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/calendar.js @@ -0,0 +1,239 @@ +/*global gettext, pgettext, get_format, quickElement, removeChildren*/ +/* +calendar.js - Calendar functions by Adrian Holovaty +depends on core.js for utility functions like removeChildren or quickElement +*/ +'use strict'; +{ + // CalendarNamespace -- Provides a collection of HTML calendar-related helper functions + const CalendarNamespace = { + monthsOfYear: [ + gettext('January'), + gettext('February'), + gettext('March'), + gettext('April'), + gettext('May'), + gettext('June'), + gettext('July'), + gettext('August'), + gettext('September'), + gettext('October'), + gettext('November'), + gettext('December') + ], + monthsOfYearAbbrev: [ + pgettext('abbrev. month January', 'Jan'), + pgettext('abbrev. month February', 'Feb'), + pgettext('abbrev. month March', 'Mar'), + pgettext('abbrev. month April', 'Apr'), + pgettext('abbrev. month May', 'May'), + pgettext('abbrev. month June', 'Jun'), + pgettext('abbrev. month July', 'Jul'), + pgettext('abbrev. month August', 'Aug'), + pgettext('abbrev. month September', 'Sep'), + pgettext('abbrev. month October', 'Oct'), + pgettext('abbrev. month November', 'Nov'), + pgettext('abbrev. month December', 'Dec') + ], + daysOfWeek: [ + gettext('Sunday'), + gettext('Monday'), + gettext('Tuesday'), + gettext('Wednesday'), + gettext('Thursday'), + gettext('Friday'), + gettext('Saturday') + ], + daysOfWeekAbbrev: [ + pgettext('abbrev. day Sunday', 'Sun'), + pgettext('abbrev. day Monday', 'Mon'), + pgettext('abbrev. day Tuesday', 'Tue'), + pgettext('abbrev. day Wednesday', 'Wed'), + pgettext('abbrev. day Thursday', 'Thur'), + pgettext('abbrev. day Friday', 'Fri'), + pgettext('abbrev. day Saturday', 'Sat') + ], + daysOfWeekInitial: [ + pgettext('one letter Sunday', 'S'), + pgettext('one letter Monday', 'M'), + pgettext('one letter Tuesday', 'T'), + pgettext('one letter Wednesday', 'W'), + pgettext('one letter Thursday', 'T'), + pgettext('one letter Friday', 'F'), + pgettext('one letter Saturday', 'S') + ], + firstDayOfWeek: parseInt(get_format('FIRST_DAY_OF_WEEK')), + isLeapYear: function(year) { + return (((year % 4) === 0) && ((year % 100) !== 0 ) || ((year % 400) === 0)); + }, + getDaysInMonth: function(month, year) { + let days; + if (month === 1 || month === 3 || month === 5 || month === 7 || month === 8 || month === 10 || month === 12) { + days = 31; + } + else if (month === 4 || month === 6 || month === 9 || month === 11) { + days = 30; + } + else if (month === 2 && CalendarNamespace.isLeapYear(year)) { + days = 29; + } + else { + days = 28; + } + return days; + }, + draw: function(month, year, div_id, callback, selected) { // month = 1-12, year = 1-9999 + const today = new Date(); + const todayDay = today.getDate(); + const todayMonth = today.getMonth() + 1; + const todayYear = today.getFullYear(); + let todayClass = ''; + + // Use UTC functions here because the date field does not contain time + // and using the UTC function variants prevent the local time offset + // from altering the date, specifically the day field. For example: + // + // ``` + // var x = new Date('2013-10-02'); + // var day = x.getDate(); + // ``` + // + // The day variable above will be 1 instead of 2 in, say, US Pacific time + // zone. + let isSelectedMonth = false; + if (typeof selected !== 'undefined') { + isSelectedMonth = (selected.getUTCFullYear() === year && (selected.getUTCMonth() + 1) === month); + } + + month = parseInt(month); + year = parseInt(year); + const calDiv = document.getElementById(div_id); + removeChildren(calDiv); + const calTable = document.createElement('table'); + quickElement('caption', calTable, CalendarNamespace.monthsOfYear[month - 1] + ' ' + year); + const tableBody = quickElement('tbody', calTable); + + // Draw days-of-week header + let tableRow = quickElement('tr', tableBody); + for (let i = 0; i < 7; i++) { + quickElement('th', tableRow, CalendarNamespace.daysOfWeekInitial[(i + CalendarNamespace.firstDayOfWeek) % 7]); + } + + const startingPos = new Date(year, month - 1, 1 - CalendarNamespace.firstDayOfWeek).getDay(); + const days = CalendarNamespace.getDaysInMonth(month, year); + + let nonDayCell; + + // Draw blanks before first of month + tableRow = quickElement('tr', tableBody); + for (let i = 0; i < startingPos; i++) { + nonDayCell = quickElement('td', tableRow, ' '); + nonDayCell.className = "nonday"; + } + + function calendarMonth(y, m) { + function onClick(e) { + e.preventDefault(); + callback(y, m, this.textContent); + } + return onClick; + } + + // Draw days of month + let currentDay = 1; + for (let i = startingPos; currentDay <= days; i++) { + if (i % 7 === 0 && currentDay !== 1) { + tableRow = quickElement('tr', tableBody); + } + if ((currentDay === todayDay) && (month === todayMonth) && (year === todayYear)) { + todayClass = 'today'; + } else { + todayClass = ''; + } + + // use UTC function; see above for explanation. + if (isSelectedMonth && currentDay === selected.getUTCDate()) { + if (todayClass !== '') { + todayClass += " "; + } + todayClass += "selected"; + } + + const cell = quickElement('td', tableRow, '', 'class', todayClass); + const link = quickElement('a', cell, currentDay, 'href', '#'); + link.addEventListener('click', calendarMonth(year, month)); + currentDay++; + } + + // Draw blanks after end of month (optional, but makes for valid code) + while (tableRow.childNodes.length < 7) { + nonDayCell = quickElement('td', tableRow, ' '); + nonDayCell.className = "nonday"; + } + + calDiv.appendChild(calTable); + } + }; + + // Calendar -- A calendar instance + function Calendar(div_id, callback, selected) { + // div_id (string) is the ID of the element in which the calendar will + // be displayed + // callback (string) is the name of a JavaScript function that will be + // called with the parameters (year, month, day) when a day in the + // calendar is clicked + this.div_id = div_id; + this.callback = callback; + this.today = new Date(); + this.currentMonth = this.today.getMonth() + 1; + this.currentYear = this.today.getFullYear(); + if (typeof selected !== 'undefined') { + this.selected = selected; + } + } + Calendar.prototype = { + drawCurrent: function() { + CalendarNamespace.draw(this.currentMonth, this.currentYear, this.div_id, this.callback, this.selected); + }, + drawDate: function(month, year, selected) { + this.currentMonth = month; + this.currentYear = year; + + if(selected) { + this.selected = selected; + } + + this.drawCurrent(); + }, + drawPreviousMonth: function() { + if (this.currentMonth === 1) { + this.currentMonth = 12; + this.currentYear--; + } + else { + this.currentMonth--; + } + this.drawCurrent(); + }, + drawNextMonth: function() { + if (this.currentMonth === 12) { + this.currentMonth = 1; + this.currentYear++; + } + else { + this.currentMonth++; + } + this.drawCurrent(); + }, + drawPreviousYear: function() { + this.currentYear--; + this.drawCurrent(); + }, + drawNextYear: function() { + this.currentYear++; + this.drawCurrent(); + } + }; + window.Calendar = Calendar; + window.CalendarNamespace = CalendarNamespace; +} diff --git a/external_sources/django/django/contrib/admin/static/admin/js/cancel.js b/external_sources/django/django/contrib/admin/static/admin/js/cancel.js new file mode 100644 index 0000000..3069c6f --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/cancel.js @@ -0,0 +1,29 @@ +'use strict'; +{ + // Call function fn when the DOM is loaded and ready. If it is already + // loaded, call the function now. + // http://youmightnotneedjquery.com/#ready + function ready(fn) { + if (document.readyState !== 'loading') { + fn(); + } else { + document.addEventListener('DOMContentLoaded', fn); + } + } + + ready(function() { + function handleClick(event) { + event.preventDefault(); + const params = new URLSearchParams(window.location.search); + if (params.has('_popup')) { + window.close(); // Close the popup. + } else { + window.history.back(); // Otherwise, go back. + } + } + + document.querySelectorAll('.cancel-link').forEach(function(el) { + el.addEventListener('click', handleClick); + }); + }); +} diff --git a/external_sources/django/django/contrib/admin/static/admin/js/change_form.js b/external_sources/django/django/contrib/admin/static/admin/js/change_form.js new file mode 100644 index 0000000..96a4c62 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/change_form.js @@ -0,0 +1,16 @@ +'use strict'; +{ + const inputTags = ['BUTTON', 'INPUT', 'SELECT', 'TEXTAREA']; + const modelName = document.getElementById('django-admin-form-add-constants').dataset.modelName; + if (modelName) { + const form = document.getElementById(modelName + '_form'); + for (const element of form.elements) { + // HTMLElement.offsetParent returns null when the element is not + // rendered. + if (inputTags.includes(element.tagName) && !element.disabled && element.offsetParent) { + element.focus(); + break; + } + } + } +} diff --git a/external_sources/django/django/contrib/admin/static/admin/js/core.js b/external_sources/django/django/contrib/admin/static/admin/js/core.js new file mode 100644 index 0000000..10504d4 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/core.js @@ -0,0 +1,184 @@ +// Core JavaScript helper functions +'use strict'; + +// quickElement(tagType, parentReference [, textInChildNode, attribute, attributeValue ...]); +function quickElement() { + const obj = document.createElement(arguments[0]); + if (arguments[2]) { + const textNode = document.createTextNode(arguments[2]); + obj.appendChild(textNode); + } + const len = arguments.length; + for (let i = 3; i < len; i += 2) { + obj.setAttribute(arguments[i], arguments[i + 1]); + } + arguments[1].appendChild(obj); + return obj; +} + +// "a" is reference to an object +function removeChildren(a) { + while (a.hasChildNodes()) { + a.removeChild(a.lastChild); + } +} + +// ---------------------------------------------------------------------------- +// Find-position functions by PPK +// See https://www.quirksmode.org/js/findpos.html +// ---------------------------------------------------------------------------- +function findPosX(obj) { + let curleft = 0; + if (obj.offsetParent) { + while (obj.offsetParent) { + curleft += obj.offsetLeft - obj.scrollLeft; + obj = obj.offsetParent; + } + } else if (obj.x) { + curleft += obj.x; + } + return curleft; +} + +function findPosY(obj) { + let curtop = 0; + if (obj.offsetParent) { + while (obj.offsetParent) { + curtop += obj.offsetTop - obj.scrollTop; + obj = obj.offsetParent; + } + } else if (obj.y) { + curtop += obj.y; + } + return curtop; +} + +//----------------------------------------------------------------------------- +// Date object extensions +// ---------------------------------------------------------------------------- +{ + Date.prototype.getTwelveHours = function() { + return this.getHours() % 12 || 12; + }; + + Date.prototype.getTwoDigitMonth = function() { + return (this.getMonth() < 9) ? '0' + (this.getMonth() + 1) : (this.getMonth() + 1); + }; + + Date.prototype.getTwoDigitDate = function() { + return (this.getDate() < 10) ? '0' + this.getDate() : this.getDate(); + }; + + Date.prototype.getTwoDigitTwelveHour = function() { + return (this.getTwelveHours() < 10) ? '0' + this.getTwelveHours() : this.getTwelveHours(); + }; + + Date.prototype.getTwoDigitHour = function() { + return (this.getHours() < 10) ? '0' + this.getHours() : this.getHours(); + }; + + Date.prototype.getTwoDigitMinute = function() { + return (this.getMinutes() < 10) ? '0' + this.getMinutes() : this.getMinutes(); + }; + + Date.prototype.getTwoDigitSecond = function() { + return (this.getSeconds() < 10) ? '0' + this.getSeconds() : this.getSeconds(); + }; + + Date.prototype.getAbbrevDayName = function() { + return typeof window.CalendarNamespace === "undefined" + ? '0' + this.getDay() + : window.CalendarNamespace.daysOfWeekAbbrev[this.getDay()]; + }; + + Date.prototype.getFullDayName = function() { + return typeof window.CalendarNamespace === "undefined" + ? '0' + this.getDay() + : window.CalendarNamespace.daysOfWeek[this.getDay()]; + }; + + Date.prototype.getAbbrevMonthName = function() { + return typeof window.CalendarNamespace === "undefined" + ? this.getTwoDigitMonth() + : window.CalendarNamespace.monthsOfYearAbbrev[this.getMonth()]; + }; + + Date.prototype.getFullMonthName = function() { + return typeof window.CalendarNamespace === "undefined" + ? this.getTwoDigitMonth() + : window.CalendarNamespace.monthsOfYear[this.getMonth()]; + }; + + Date.prototype.strftime = function(format) { + const fields = { + a: this.getAbbrevDayName(), + A: this.getFullDayName(), + b: this.getAbbrevMonthName(), + B: this.getFullMonthName(), + c: this.toString(), + d: this.getTwoDigitDate(), + H: this.getTwoDigitHour(), + I: this.getTwoDigitTwelveHour(), + m: this.getTwoDigitMonth(), + M: this.getTwoDigitMinute(), + p: (this.getHours() >= 12) ? 'PM' : 'AM', + S: this.getTwoDigitSecond(), + w: '0' + this.getDay(), + x: this.toLocaleDateString(), + X: this.toLocaleTimeString(), + y: ('' + this.getFullYear()).substr(2, 4), + Y: '' + this.getFullYear(), + '%': '%' + }; + let result = '', i = 0; + while (i < format.length) { + if (format.charAt(i) === '%') { + result += fields[format.charAt(i + 1)]; + ++i; + } + else { + result += format.charAt(i); + } + ++i; + } + return result; + }; + + // ---------------------------------------------------------------------------- + // String object extensions + // ---------------------------------------------------------------------------- + String.prototype.strptime = function(format) { + const split_format = format.split(/[.\-/]/); + const date = this.split(/[.\-/]/); + let i = 0; + let day, month, year; + while (i < split_format.length) { + switch (split_format[i]) { + case "%d": + day = date[i]; + break; + case "%m": + month = date[i] - 1; + break; + case "%Y": + year = date[i]; + break; + case "%y": + // A %y value in the range of [00, 68] is in the current + // century, while [69, 99] is in the previous century, + // according to the Open Group Specification. + if (parseInt(date[i], 10) >= 69) { + year = date[i]; + } else { + year = (new Date(Date.UTC(date[i], 0))).getUTCFullYear() + 100; + } + break; + } + ++i; + } + // Create Date object from UTC since the parsed value is supposed to be + // in UTC, not local time. Also, the calendar uses UTC functions for + // date extraction. + return new Date(Date.UTC(year, month, day)); + }; +} diff --git a/external_sources/django/django/contrib/admin/static/admin/js/filters.js b/external_sources/django/django/contrib/admin/static/admin/js/filters.js new file mode 100644 index 0000000..f5536eb --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/filters.js @@ -0,0 +1,30 @@ +/** + * Persist changelist filters state (collapsed/expanded). + */ +'use strict'; +{ + // Init filters. + let filters = JSON.parse(sessionStorage.getItem('django.admin.filtersState')); + + if (!filters) { + filters = {}; + } + + Object.entries(filters).forEach(([key, value]) => { + const detailElement = document.querySelector(`[data-filter-title='${CSS.escape(key)}']`); + + // Check if the filter is present, it could be from other view. + if (detailElement) { + value ? detailElement.setAttribute('open', '') : detailElement.removeAttribute('open'); + } + }); + + // Save filter state when clicks. + const details = document.querySelectorAll('details'); + details.forEach(detail => { + detail.addEventListener('toggle', event => { + filters[`${event.target.dataset.filterTitle}`] = detail.open; + sessionStorage.setItem('django.admin.filtersState', JSON.stringify(filters)); + }); + }); +} diff --git a/external_sources/django/django/contrib/admin/static/admin/js/inlines.js b/external_sources/django/django/contrib/admin/static/admin/js/inlines.js new file mode 100644 index 0000000..e9a1dfe --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/inlines.js @@ -0,0 +1,359 @@ +/*global DateTimeShortcuts, SelectFilter*/ +/** + * Django admin inlines + * + * Based on jQuery Formset 1.1 + * @author Stanislaus Madueke (stan DOT madueke AT gmail DOT com) + * @requires jQuery 1.2.6 or later + * + * Copyright (c) 2009, Stanislaus Madueke + * All rights reserved. + * + * Spiced up with Code from Zain Memon's GSoC project 2009 + * and modified for Django by Jannis Leidel, Travis Swicegood and Julien Phalip. + * + * Licensed under the New BSD License + * See: https://opensource.org/licenses/bsd-license.php + */ +'use strict'; +{ + const $ = django.jQuery; + $.fn.formset = function(opts) { + const options = $.extend({}, $.fn.formset.defaults, opts); + const $this = $(this); + const $parent = $this.parent(); + const updateElementIndex = function(el, prefix, ndx) { + const id_regex = new RegExp("(" + prefix + "-(\\d+|__prefix__))"); + const replacement = prefix + "-" + ndx; + if ($(el).prop("for")) { + $(el).prop("for", $(el).prop("for").replace(id_regex, replacement)); + } + if (el.id) { + el.id = el.id.replace(id_regex, replacement); + } + if (el.name) { + el.name = el.name.replace(id_regex, replacement); + } + }; + const totalForms = $("#id_" + options.prefix + "-TOTAL_FORMS").prop("autocomplete", "off"); + let nextIndex = parseInt(totalForms.val(), 10); + const maxForms = $("#id_" + options.prefix + "-MAX_NUM_FORMS").prop("autocomplete", "off"); + const minForms = $("#id_" + options.prefix + "-MIN_NUM_FORMS").prop("autocomplete", "off"); + let addButton; + + /** + * The "Add another MyModel" button below the inline forms. + */ + const addInlineAddButton = function() { + if (addButton === null) { + if ($this.prop("tagName") === "TR") { + // If forms are laid out as table rows, insert the + // "add" button in a new table row: + const numCols = $this.eq(-1).children().length; + $parent.append('<tr class="' + options.addCssClass + '"><td colspan="' + numCols + '"><a href="#">' + options.addText + "</a></tr>"); + addButton = $parent.find("tr:last a"); + } else { + // Otherwise, insert it immediately after the last form: + $this.filter(":last").after('<div class="' + options.addCssClass + '"><a href="#">' + options.addText + "</a></div>"); + addButton = $this.filter(":last").next().find("a"); + } + } + addButton.on('click', addInlineClickHandler); + }; + + const addInlineClickHandler = function(e) { + e.preventDefault(); + const template = $("#" + options.prefix + "-empty"); + const row = template.clone(true); + row.removeClass(options.emptyCssClass) + .addClass(options.formCssClass) + .attr("id", options.prefix + "-" + nextIndex); + addInlineDeleteButton(row); + row.find("*").each(function() { + updateElementIndex(this, options.prefix, totalForms.val()); + }); + // Insert the new form when it has been fully edited. + row.insertBefore($(template)); + // Update number of total forms. + $(totalForms).val(parseInt(totalForms.val(), 10) + 1); + nextIndex += 1; + // Hide the add button if there's a limit and it's been reached. + if ((maxForms.val() !== '') && (maxForms.val() - totalForms.val()) <= 0) { + addButton.parent().hide(); + } + // Show the remove buttons if there are more than min_num. + toggleDeleteButtonVisibility(row.closest('.inline-group')); + + // Pass the new form to the post-add callback, if provided. + if (options.added) { + options.added(row); + } + row.get(0).dispatchEvent(new CustomEvent("formset:added", { + bubbles: true, + detail: { + formsetName: options.prefix + } + })); + }; + + /** + * The "X" button that is part of every unsaved inline. + * (When saved, it is replaced with a "Delete" checkbox.) + */ + const addInlineDeleteButton = function(row) { + if (row.is("tr")) { + // If the forms are laid out in table rows, insert + // the remove button into the last table cell: + row.children(":last").append('<div><a class="' + options.deleteCssClass + '" href="#">' + options.deleteText + "</a></div>"); + } else if (row.is("ul") || row.is("ol")) { + // If they're laid out as an ordered/unordered list, + // insert an <li> after the last list item: + row.append('<li><a class="' + options.deleteCssClass + '" href="#">' + options.deleteText + "</a></li>"); + } else { + // Otherwise, just insert the remove button as the + // last child element of the form's container: + row.children(":first").append('<span><a class="' + options.deleteCssClass + '" href="#">' + options.deleteText + "</a></span>"); + } + // Add delete handler for each row. + row.find("a." + options.deleteCssClass).on('click', inlineDeleteHandler.bind(this)); + }; + + const inlineDeleteHandler = function(e1) { + e1.preventDefault(); + const deleteButton = $(e1.target); + const row = deleteButton.closest('.' + options.formCssClass); + const inlineGroup = row.closest('.inline-group'); + // Remove the parent form containing this button, + // and also remove the relevant row with non-field errors: + const prevRow = row.prev(); + if (prevRow.length && prevRow.hasClass('row-form-errors')) { + prevRow.remove(); + } + row.remove(); + nextIndex -= 1; + // Pass the deleted form to the post-delete callback, if provided. + if (options.removed) { + options.removed(row); + } + document.dispatchEvent(new CustomEvent("formset:removed", { + detail: { + formsetName: options.prefix + } + })); + // Update the TOTAL_FORMS form count. + const forms = $("." + options.formCssClass); + $("#id_" + options.prefix + "-TOTAL_FORMS").val(forms.length); + // Show add button again once below maximum number. + if ((maxForms.val() === '') || (maxForms.val() - forms.length) > 0) { + addButton.parent().show(); + } + // Hide the remove buttons if at min_num. + toggleDeleteButtonVisibility(inlineGroup); + // Also, update names and ids for all remaining form controls so + // they remain in sequence: + let i, formCount; + const updateElementCallback = function() { + updateElementIndex(this, options.prefix, i); + }; + for (i = 0, formCount = forms.length; i < formCount; i++) { + updateElementIndex($(forms).get(i), options.prefix, i); + $(forms.get(i)).find("*").each(updateElementCallback); + } + }; + + const toggleDeleteButtonVisibility = function(inlineGroup) { + if ((minForms.val() !== '') && (minForms.val() - totalForms.val()) >= 0) { + inlineGroup.find('.inline-deletelink').hide(); + } else { + inlineGroup.find('.inline-deletelink').show(); + } + }; + + $this.each(function(i) { + $(this).not("." + options.emptyCssClass).addClass(options.formCssClass); + }); + + // Create the delete buttons for all unsaved inlines: + $this.filter('.' + options.formCssClass + ':not(.has_original):not(.' + options.emptyCssClass + ')').each(function() { + addInlineDeleteButton($(this)); + }); + toggleDeleteButtonVisibility($this); + + // Create the add button, initially hidden. + addButton = options.addButton; + addInlineAddButton(); + + // Show the add button if allowed to add more items. + // Note that max_num = None translates to a blank string. + const showAddButton = maxForms.val() === '' || (maxForms.val() - totalForms.val()) > 0; + if ($this.length && showAddButton) { + addButton.parent().show(); + } else { + addButton.parent().hide(); + } + + return this; + }; + + /* Setup plugin defaults */ + $.fn.formset.defaults = { + prefix: "form", // The form prefix for your django formset + addText: "add another", // Text for the add link + deleteText: "remove", // Text for the delete link + addCssClass: "add-row", // CSS class applied to the add link + deleteCssClass: "delete-row", // CSS class applied to the delete link + emptyCssClass: "empty-row", // CSS class applied to the empty row + formCssClass: "dynamic-form", // CSS class applied to each form in a formset + added: null, // Function called each time a new form is added + removed: null, // Function called each time a form is deleted + addButton: null // Existing add button to use + }; + + + // Tabular inlines --------------------------------------------------------- + $.fn.tabularFormset = function(selector, options) { + const $rows = $(this); + + const reinitDateTimeShortCuts = function() { + // Reinitialize the calendar and clock widgets by force + if (typeof DateTimeShortcuts !== "undefined") { + $(".datetimeshortcuts").remove(); + DateTimeShortcuts.init(); + } + }; + + const updateSelectFilter = function() { + // If any SelectFilter widgets are a part of the new form, + // instantiate a new SelectFilter instance for it. + if (typeof SelectFilter !== 'undefined') { + $('.selectfilter').each(function(index, value) { + SelectFilter.init(value.id, this.dataset.fieldName, false); + }); + $('.selectfilterstacked').each(function(index, value) { + SelectFilter.init(value.id, this.dataset.fieldName, true); + }); + } + }; + + const initPrepopulatedFields = function(row) { + row.find('.prepopulated_field').each(function() { + const field = $(this), + input = field.find('input, select, textarea'), + dependency_list = input.data('dependency_list') || [], + dependencies = []; + $.each(dependency_list, function(i, field_name) { + dependencies.push('#' + row.find('.field-' + field_name).find('input, select, textarea').attr('id')); + }); + if (dependencies.length) { + input.prepopulate(dependencies, input.attr('maxlength')); + } + }); + }; + + $rows.formset({ + prefix: options.prefix, + addText: options.addText, + formCssClass: "dynamic-" + options.prefix, + deleteCssClass: "inline-deletelink", + deleteText: options.deleteText, + emptyCssClass: "empty-form", + added: function(row) { + initPrepopulatedFields(row); + reinitDateTimeShortCuts(); + updateSelectFilter(); + }, + addButton: options.addButton + }); + + return $rows; + }; + + // Stacked inlines --------------------------------------------------------- + $.fn.stackedFormset = function(selector, options) { + const $rows = $(this); + const updateInlineLabel = function(row) { + $(selector).find(".inline_label").each(function(i) { + const count = i + 1; + $(this).html($(this).html().replace(/(#\d+)/g, "#" + count)); + }); + }; + + const reinitDateTimeShortCuts = function() { + // Reinitialize the calendar and clock widgets by force, yuck. + if (typeof DateTimeShortcuts !== "undefined") { + $(".datetimeshortcuts").remove(); + DateTimeShortcuts.init(); + } + }; + + const updateSelectFilter = function() { + // If any SelectFilter widgets were added, instantiate a new instance. + if (typeof SelectFilter !== "undefined") { + $(".selectfilter").each(function(index, value) { + SelectFilter.init(value.id, this.dataset.fieldName, false); + }); + $(".selectfilterstacked").each(function(index, value) { + SelectFilter.init(value.id, this.dataset.fieldName, true); + }); + } + }; + + const initPrepopulatedFields = function(row) { + row.find('.prepopulated_field').each(function() { + const field = $(this), + input = field.find('input, select, textarea'), + dependency_list = input.data('dependency_list') || [], + dependencies = []; + $.each(dependency_list, function(i, field_name) { + // Dependency in a fieldset. + let field_element = row.find('.form-row .field-' + field_name); + // Dependency without a fieldset. + if (!field_element.length) { + field_element = row.find('.form-row.field-' + field_name); + } + dependencies.push('#' + field_element.find('input, select, textarea').attr('id')); + }); + if (dependencies.length) { + input.prepopulate(dependencies, input.attr('maxlength')); + } + }); + }; + + $rows.formset({ + prefix: options.prefix, + addText: options.addText, + formCssClass: "dynamic-" + options.prefix, + deleteCssClass: "inline-deletelink", + deleteText: options.deleteText, + emptyCssClass: "empty-form", + removed: updateInlineLabel, + added: function(row) { + initPrepopulatedFields(row); + reinitDateTimeShortCuts(); + updateSelectFilter(); + updateInlineLabel(row); + }, + addButton: options.addButton + }); + + return $rows; + }; + + $(document).ready(function() { + $(".js-inline-admin-formset").each(function() { + const data = $(this).data(), + inlineOptions = data.inlineFormset; + let selector; + switch(data.inlineType) { + case "stacked": + selector = inlineOptions.name + "-group .inline-related"; + $(selector).stackedFormset(selector, inlineOptions.options); + break; + case "tabular": + selector = inlineOptions.name + "-group .tabular.inline-related tbody:first > tr.form-row"; + $(selector).tabularFormset(selector, inlineOptions.options); + break; + } + }); + }); +} diff --git a/external_sources/django/django/contrib/admin/static/admin/js/jquery.init.js b/external_sources/django/django/contrib/admin/static/admin/js/jquery.init.js new file mode 100644 index 0000000..f40b27f --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/jquery.init.js @@ -0,0 +1,8 @@ +/*global jQuery:false*/ +'use strict'; +/* Puts the included jQuery into our own namespace using noConflict and passing + * it 'true'. This ensures that the included jQuery doesn't pollute the global + * namespace (i.e. this preserves pre-existing values for both window.$ and + * window.jQuery). + */ +window.django = {jQuery: jQuery.noConflict(true)}; diff --git a/external_sources/django/django/contrib/admin/static/admin/js/nav_sidebar.js b/external_sources/django/django/contrib/admin/static/admin/js/nav_sidebar.js new file mode 100644 index 0000000..7e735db --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/nav_sidebar.js @@ -0,0 +1,79 @@ +'use strict'; +{ + const toggleNavSidebar = document.getElementById('toggle-nav-sidebar'); + if (toggleNavSidebar !== null) { + const navSidebar = document.getElementById('nav-sidebar'); + const main = document.getElementById('main'); + let navSidebarIsOpen = localStorage.getItem('django.admin.navSidebarIsOpen'); + if (navSidebarIsOpen === null) { + navSidebarIsOpen = 'true'; + } + main.classList.toggle('shifted', navSidebarIsOpen === 'true'); + navSidebar.setAttribute('aria-expanded', navSidebarIsOpen); + + toggleNavSidebar.addEventListener('click', function() { + if (navSidebarIsOpen === 'true') { + navSidebarIsOpen = 'false'; + } else { + navSidebarIsOpen = 'true'; + } + localStorage.setItem('django.admin.navSidebarIsOpen', navSidebarIsOpen); + main.classList.toggle('shifted'); + navSidebar.setAttribute('aria-expanded', navSidebarIsOpen); + }); + } + + function initSidebarQuickFilter() { + const options = []; + const navSidebar = document.getElementById('nav-sidebar'); + if (!navSidebar) { + return; + } + navSidebar.querySelectorAll('th[scope=row] a').forEach((container) => { + options.push({title: container.innerHTML, node: container}); + }); + + function checkValue(event) { + let filterValue = event.target.value; + if (filterValue) { + filterValue = filterValue.toLowerCase(); + } + if (event.key === 'Escape') { + filterValue = ''; + event.target.value = ''; // clear input + } + let matches = false; + for (const o of options) { + let displayValue = ''; + if (filterValue) { + if (o.title.toLowerCase().indexOf(filterValue) === -1) { + displayValue = 'none'; + } else { + matches = true; + } + } + // show/hide parent <TR> + o.node.parentNode.parentNode.style.display = displayValue; + } + if (!filterValue || matches) { + event.target.classList.remove('no-results'); + } else { + event.target.classList.add('no-results'); + } + sessionStorage.setItem('django.admin.navSidebarFilterValue', filterValue); + } + + const nav = document.getElementById('nav-filter'); + nav.addEventListener('change', checkValue, false); + nav.addEventListener('input', checkValue, false); + nav.addEventListener('keyup', checkValue, false); + + const storedValue = sessionStorage.getItem('django.admin.navSidebarFilterValue'); + if (storedValue) { + nav.value = storedValue; + checkValue({target: nav, key: ''}); + } + } + window.initSidebarQuickFilter = initSidebarQuickFilter; + initSidebarQuickFilter(); +} diff --git a/external_sources/django/django/contrib/admin/static/admin/js/popup_response.js b/external_sources/django/django/contrib/admin/static/admin/js/popup_response.js new file mode 100644 index 0000000..fecf0f4 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/popup_response.js @@ -0,0 +1,15 @@ +'use strict'; +{ + const initData = JSON.parse(document.getElementById('django-admin-popup-response-constants').dataset.popupResponse); + switch(initData.action) { + case 'change': + opener.dismissChangeRelatedObjectPopup(window, initData.value, initData.obj, initData.new_value); + break; + case 'delete': + opener.dismissDeleteRelatedObjectPopup(window, initData.value); + break; + default: + opener.dismissAddRelatedObjectPopup(window, initData.value, initData.obj); + break; + } +} diff --git a/external_sources/django/django/contrib/admin/static/admin/js/prepopulate.js b/external_sources/django/django/contrib/admin/static/admin/js/prepopulate.js new file mode 100644 index 0000000..89e95ab --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/prepopulate.js @@ -0,0 +1,43 @@ +/*global URLify*/ +'use strict'; +{ + const $ = django.jQuery; + $.fn.prepopulate = function(dependencies, maxLength, allowUnicode) { + /* + Depends on urlify.js + Populates a selected field with the values of the dependent fields, + URLifies and shortens the string. + dependencies - array of dependent fields ids + maxLength - maximum length of the URLify'd string + allowUnicode - Unicode support of the URLify'd string + */ + return this.each(function() { + const prepopulatedField = $(this); + + const populate = function() { + // Bail if the field's value has been changed by the user + if (prepopulatedField.data('_changed')) { + return; + } + + const values = []; + $.each(dependencies, function(i, field) { + field = $(field); + if (field.val().length > 0) { + values.push(field.val()); + } + }); + prepopulatedField.val(URLify(values.join(' '), maxLength, allowUnicode)); + }; + + prepopulatedField.data('_changed', false); + prepopulatedField.on('change', function() { + prepopulatedField.data('_changed', true); + }); + + if (!prepopulatedField.val()) { + $(dependencies.join(',')).on('keyup change focus', populate); + } + }); + }; +} diff --git a/external_sources/django/django/contrib/admin/static/admin/js/prepopulate_init.js b/external_sources/django/django/contrib/admin/static/admin/js/prepopulate_init.js new file mode 100644 index 0000000..a58841f --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/prepopulate_init.js @@ -0,0 +1,15 @@ +'use strict'; +{ + const $ = django.jQuery; + const fields = $('#django-admin-prepopulated-fields-constants').data('prepopulatedFields'); + $.each(fields, function(index, field) { + $( + '.empty-form .form-row .field-' + field.name + + ', .empty-form.form-row .field-' + field.name + + ', .empty-form .form-row.field-' + field.name + ).addClass('prepopulated_field'); + $(field.id).data('dependency_list', field.dependency_list).prepopulate( + field.dependency_ids, field.maxLength, field.allowUnicode + ); + }); +} diff --git a/external_sources/django/django/contrib/admin/static/admin/js/theme.js b/external_sources/django/django/contrib/admin/static/admin/js/theme.js new file mode 100644 index 0000000..e79d375 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/theme.js @@ -0,0 +1,51 @@ +'use strict'; +{ + function setTheme(mode) { + if (mode !== "light" && mode !== "dark" && mode !== "auto") { + console.error(`Got invalid theme mode: ${mode}. Resetting to auto.`); + mode = "auto"; + } + document.documentElement.dataset.theme = mode; + localStorage.setItem("theme", mode); + } + + function cycleTheme() { + const currentTheme = localStorage.getItem("theme") || "auto"; + const prefersDark = window.matchMedia("(prefers-color-scheme: dark)").matches; + + if (prefersDark) { + // Auto (dark) -> Light -> Dark + if (currentTheme === "auto") { + setTheme("light"); + } else if (currentTheme === "light") { + setTheme("dark"); + } else { + setTheme("auto"); + } + } else { + // Auto (light) -> Dark -> Light + if (currentTheme === "auto") { + setTheme("dark"); + } else if (currentTheme === "dark") { + setTheme("light"); + } else { + setTheme("auto"); + } + } + } + + function initTheme() { + // set theme defined in localStorage if there is one, or fallback to auto mode + const currentTheme = localStorage.getItem("theme"); + currentTheme ? setTheme(currentTheme) : setTheme("auto"); + } + + window.addEventListener('load', function(_) { + const buttons = document.getElementsByClassName("theme-toggle"); + Array.from(buttons).forEach((btn) => { + btn.addEventListener("click", cycleTheme); + }); + }); + + initTheme(); +} diff --git a/external_sources/django/django/contrib/admin/static/admin/js/unusable_password_field.js b/external_sources/django/django/contrib/admin/static/admin/js/unusable_password_field.js new file mode 100644 index 0000000..ec26238 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/unusable_password_field.js @@ -0,0 +1,29 @@ +"use strict"; +// Fallback JS for browsers which do not support :has selector used in +// admin/css/unusable_password_fields.css +// Remove file once all supported browsers support :has selector +try { + // If browser does not support :has selector this will raise an error + document.querySelector("form:has(input)"); +} catch (error) { + console.log("Defaulting to javascript for usable password form management: " + error); + // JS replacement for unsupported :has selector + document.querySelectorAll('input[name="usable_password"]').forEach(option => { + option.addEventListener('change', function() { + const usablePassword = (this.value === "true" ? this.checked : !this.checked); + const submit1 = document.querySelector('input[type="submit"].set-password'); + const submit2 = document.querySelector('input[type="submit"].unset-password'); + const messages = document.querySelector('#id_unusable_warning'); + document.getElementById('id_password1').closest('.form-row').hidden = !usablePassword; + document.getElementById('id_password2').closest('.form-row').hidden = !usablePassword; + if (messages) { + messages.hidden = usablePassword; + } + if (submit1 && submit2) { + submit1.hidden = !usablePassword; + submit2.hidden = usablePassword; + } + }); + option.dispatchEvent(new Event('change')); + }); +} diff --git a/external_sources/django/django/contrib/admin/static/admin/js/urlify.js b/external_sources/django/django/contrib/admin/static/admin/js/urlify.js new file mode 100644 index 0000000..9fc0409 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/urlify.js @@ -0,0 +1,169 @@ +/*global XRegExp*/ +'use strict'; +{ + const LATIN_MAP = { + 'À': 'A', 'Á': 'A', 'Â': 'A', 'Ã': 'A', 'Ä': 'A', 'Å': 'A', 'Æ': 'AE', + 'Ç': 'C', 'È': 'E', 'É': 'E', 'Ê': 'E', 'Ë': 'E', 'Ì': 'I', 'Í': 'I', + 'Î': 'I', 'Ï': 'I', 'Ð': 'D', 'Ñ': 'N', 'Ò': 'O', 'Ó': 'O', 'Ô': 'O', + 'Õ': 'O', 'Ö': 'O', 'Ő': 'O', 'Ø': 'O', 'Ù': 'U', 'Ú': 'U', 'Û': 'U', + 'Ü': 'U', 'Ű': 'U', 'Ý': 'Y', 'Þ': 'TH', 'Ÿ': 'Y', 'ß': 'ss', 'à': 'a', + 'á': 'a', 'â': 'a', 'ã': 'a', 'ä': 'a', 'å': 'a', 'æ': 'ae', 'ç': 'c', + 'è': 'e', 'é': 'e', 'ê': 'e', 'ë': 'e', 'ì': 'i', 'í': 'i', 'î': 'i', + 'ï': 'i', 'ð': 'd', 'ñ': 'n', 'ò': 'o', 'ó': 'o', 'ô': 'o', 'õ': 'o', + 'ö': 'o', 'ő': 'o', 'ø': 'o', 'ù': 'u', 'ú': 'u', 'û': 'u', 'ü': 'u', + 'ű': 'u', 'ý': 'y', 'þ': 'th', 'ÿ': 'y' + }; + const LATIN_SYMBOLS_MAP = { + '©': '(c)' + }; + const GREEK_MAP = { + 'α': 'a', 'β': 'b', 'γ': 'g', 'δ': 'd', 'ε': 'e', 'ζ': 'z', 'η': 'h', + 'θ': '8', 'ι': 'i', 'κ': 'k', 'λ': 'l', 'μ': 'm', 'ν': 'n', 'ξ': '3', + 'ο': 'o', 'π': 'p', 'ρ': 'r', 'σ': 's', 'τ': 't', 'υ': 'y', 'φ': 'f', + 'χ': 'x', 'ψ': 'ps', 'ω': 'w', 'ά': 'a', 'έ': 'e', 'ί': 'i', 'ό': 'o', + 'ύ': 'y', 'ή': 'h', 'ώ': 'w', 'ς': 's', 'ϊ': 'i', 'ΰ': 'y', 'ϋ': 'y', + 'ΐ': 'i', 'Α': 'A', 'Β': 'B', 'Γ': 'G', 'Δ': 'D', 'Ε': 'E', 'Ζ': 'Z', + 'Η': 'H', 'Θ': '8', 'Ι': 'I', 'Κ': 'K', 'Λ': 'L', 'Μ': 'M', 'Ν': 'N', + 'Ξ': '3', 'Ο': 'O', 'Π': 'P', 'Ρ': 'R', 'Σ': 'S', 'Τ': 'T', 'Υ': 'Y', + 'Φ': 'F', 'Χ': 'X', 'Ψ': 'PS', 'Ω': 'W', 'Ά': 'A', 'Έ': 'E', 'Ί': 'I', + 'Ό': 'O', 'Ύ': 'Y', 'Ή': 'H', 'Ώ': 'W', 'Ϊ': 'I', 'Ϋ': 'Y' + }; + const TURKISH_MAP = { + 'ş': 's', 'Ş': 'S', 'ı': 'i', 'İ': 'I', 'ç': 'c', 'Ç': 'C', 'ü': 'u', + 'Ü': 'U', 'ö': 'o', 'Ö': 'O', 'ğ': 'g', 'Ğ': 'G' + }; + const ROMANIAN_MAP = { + 'ă': 'a', 'î': 'i', 'ș': 's', 'ț': 't', 'â': 'a', + 'Ă': 'A', 'Î': 'I', 'Ș': 'S', 'Ț': 'T', 'Â': 'A' + }; + const RUSSIAN_MAP = { + 'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd', 'е': 'e', 'ё': 'yo', + 'ж': 'zh', 'з': 'z', 'и': 'i', 'й': 'j', 'к': 'k', 'л': 'l', 'м': 'm', + 'н': 'n', 'о': 'o', 'п': 'p', 'р': 'r', 'с': 's', 'т': 't', 'у': 'u', + 'ф': 'f', 'х': 'h', 'ц': 'c', 'ч': 'ch', 'ш': 'sh', 'щ': 'sh', 'ъ': '', + 'ы': 'y', 'ь': '', 'э': 'e', 'ю': 'yu', 'я': 'ya', + 'А': 'A', 'Б': 'B', 'В': 'V', 'Г': 'G', 'Д': 'D', 'Е': 'E', 'Ё': 'Yo', + 'Ж': 'Zh', 'З': 'Z', 'И': 'I', 'Й': 'J', 'К': 'K', 'Л': 'L', 'М': 'M', + 'Н': 'N', 'О': 'O', 'П': 'P', 'Р': 'R', 'С': 'S', 'Т': 'T', 'У': 'U', + 'Ф': 'F', 'Х': 'H', 'Ц': 'C', 'Ч': 'Ch', 'Ш': 'Sh', 'Щ': 'Sh', 'Ъ': '', + 'Ы': 'Y', 'Ь': '', 'Э': 'E', 'Ю': 'Yu', 'Я': 'Ya' + }; + const UKRAINIAN_MAP = { + 'Є': 'Ye', 'І': 'I', 'Ї': 'Yi', 'Ґ': 'G', 'є': 'ye', 'і': 'i', + 'ї': 'yi', 'ґ': 'g' + }; + const CZECH_MAP = { + 'č': 'c', 'ď': 'd', 'ě': 'e', 'ň': 'n', 'ř': 'r', 'š': 's', 'ť': 't', + 'ů': 'u', 'ž': 'z', 'Č': 'C', 'Ď': 'D', 'Ě': 'E', 'Ň': 'N', 'Ř': 'R', + 'Š': 'S', 'Ť': 'T', 'Ů': 'U', 'Ž': 'Z' + }; + const SLOVAK_MAP = { + 'á': 'a', 'ä': 'a', 'č': 'c', 'ď': 'd', 'é': 'e', 'í': 'i', 'ľ': 'l', + 'ĺ': 'l', 'ň': 'n', 'ó': 'o', 'ô': 'o', 'ŕ': 'r', 'š': 's', 'ť': 't', + 'ú': 'u', 'ý': 'y', 'ž': 'z', + 'Á': 'a', 'Ä': 'A', 'Č': 'C', 'Ď': 'D', 'É': 'E', 'Í': 'I', 'Ľ': 'L', + 'Ĺ': 'L', 'Ň': 'N', 'Ó': 'O', 'Ô': 'O', 'Ŕ': 'R', 'Š': 'S', 'Ť': 'T', + 'Ú': 'U', 'Ý': 'Y', 'Ž': 'Z' + }; + const POLISH_MAP = { + 'ą': 'a', 'ć': 'c', 'ę': 'e', 'ł': 'l', 'ń': 'n', 'ó': 'o', 'ś': 's', + 'ź': 'z', 'ż': 'z', + 'Ą': 'A', 'Ć': 'C', 'Ę': 'E', 'Ł': 'L', 'Ń': 'N', 'Ó': 'O', 'Ś': 'S', + 'Ź': 'Z', 'Ż': 'Z' + }; + const LATVIAN_MAP = { + 'ā': 'a', 'č': 'c', 'ē': 'e', 'ģ': 'g', 'ī': 'i', 'ķ': 'k', 'ļ': 'l', + 'ņ': 'n', 'š': 's', 'ū': 'u', 'ž': 'z', + 'Ā': 'A', 'Č': 'C', 'Ē': 'E', 'Ģ': 'G', 'Ī': 'I', 'Ķ': 'K', 'Ļ': 'L', + 'Ņ': 'N', 'Š': 'S', 'Ū': 'U', 'Ž': 'Z' + }; + const ARABIC_MAP = { + 'أ': 'a', 'ب': 'b', 'ت': 't', 'ث': 'th', 'ج': 'g', 'ح': 'h', 'خ': 'kh', 'د': 'd', + 'ذ': 'th', 'ر': 'r', 'ز': 'z', 'س': 's', 'ش': 'sh', 'ص': 's', 'ض': 'd', 'ط': 't', + 'ظ': 'th', 'ع': 'aa', 'غ': 'gh', 'ف': 'f', 'ق': 'k', 'ك': 'k', 'ل': 'l', 'م': 'm', + 'ن': 'n', 'ه': 'h', 'و': 'o', 'ي': 'y' + }; + const LITHUANIAN_MAP = { + 'ą': 'a', 'č': 'c', 'ę': 'e', 'ė': 'e', 'į': 'i', 'š': 's', 'ų': 'u', + 'ū': 'u', 'ž': 'z', + 'Ą': 'A', 'Č': 'C', 'Ę': 'E', 'Ė': 'E', 'Į': 'I', 'Š': 'S', 'Ų': 'U', + 'Ū': 'U', 'Ž': 'Z' + }; + const SERBIAN_MAP = { + 'ђ': 'dj', 'ј': 'j', 'љ': 'lj', 'њ': 'nj', 'ћ': 'c', 'џ': 'dz', + 'đ': 'dj', 'Ђ': 'Dj', 'Ј': 'j', 'Љ': 'Lj', 'Њ': 'Nj', 'Ћ': 'C', + 'Џ': 'Dz', 'Đ': 'Dj' + }; + const AZERBAIJANI_MAP = { + 'ç': 'c', 'ə': 'e', 'ğ': 'g', 'ı': 'i', 'ö': 'o', 'ş': 's', 'ü': 'u', + 'Ç': 'C', 'Ə': 'E', 'Ğ': 'G', 'İ': 'I', 'Ö': 'O', 'Ş': 'S', 'Ü': 'U' + }; + const GEORGIAN_MAP = { + 'ა': 'a', 'ბ': 'b', 'გ': 'g', 'დ': 'd', 'ე': 'e', 'ვ': 'v', 'ზ': 'z', + 'თ': 't', 'ი': 'i', 'კ': 'k', 'ლ': 'l', 'მ': 'm', 'ნ': 'n', 'ო': 'o', + 'პ': 'p', 'ჟ': 'j', 'რ': 'r', 'ს': 's', 'ტ': 't', 'უ': 'u', 'ფ': 'f', + 'ქ': 'q', 'ღ': 'g', 'ყ': 'y', 'შ': 'sh', 'ჩ': 'ch', 'ც': 'c', 'ძ': 'dz', + 'წ': 'w', 'ჭ': 'ch', 'ხ': 'x', 'ჯ': 'j', 'ჰ': 'h' + }; + + const ALL_DOWNCODE_MAPS = [ + LATIN_MAP, + LATIN_SYMBOLS_MAP, + GREEK_MAP, + TURKISH_MAP, + ROMANIAN_MAP, + RUSSIAN_MAP, + UKRAINIAN_MAP, + CZECH_MAP, + SLOVAK_MAP, + POLISH_MAP, + LATVIAN_MAP, + ARABIC_MAP, + LITHUANIAN_MAP, + SERBIAN_MAP, + AZERBAIJANI_MAP, + GEORGIAN_MAP + ]; + + const Downcoder = { + 'Initialize': function() { + if (Downcoder.map) { // already made + return; + } + Downcoder.map = {}; + for (const lookup of ALL_DOWNCODE_MAPS) { + Object.assign(Downcoder.map, lookup); + } + Downcoder.regex = new RegExp(Object.keys(Downcoder.map).join('|'), 'g'); + } + }; + + function downcode(slug) { + Downcoder.Initialize(); + return slug.replace(Downcoder.regex, function(m) { + return Downcoder.map[m]; + }); + } + + + function URLify(s, num_chars, allowUnicode) { + // changes, e.g., "Petty theft" to "petty-theft" + if (!allowUnicode) { + s = downcode(s); + } + s = s.toLowerCase(); // convert to lowercase + // if downcode doesn't hit, the char will be stripped here + if (allowUnicode) { + // Keep Unicode letters including both lowercase and uppercase + // characters, whitespace, and dash; remove other characters. + s = XRegExp.replace(s, XRegExp('[^-_\\p{L}\\p{N}\\s]', 'g'), ''); + } else { + s = s.replace(/[^-\w\s]/g, ''); // remove unneeded chars + } + s = s.replace(/^\s+|\s+$/g, ''); // trim leading/trailing spaces + s = s.replace(/[-\s]+/g, '-'); // convert spaces to hyphens + s = s.substring(0, num_chars); // trim to first num_chars chars + return s.replace(/-+$/g, ''); // trim any trailing hyphens + } + window.URLify = URLify; +} diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/jquery/LICENSE.txt b/external_sources/django/django/contrib/admin/static/admin/js/vendor/jquery/LICENSE.txt new file mode 100644 index 0000000..f642c3f --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/jquery/LICENSE.txt @@ -0,0 +1,20 @@ +Copyright OpenJS Foundation and other contributors, https://openjsf.org/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/jquery/jquery.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/jquery/jquery.js new file mode 100644 index 0000000..1a86433 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/jquery/jquery.js @@ -0,0 +1,10716 @@ +/*! + * jQuery JavaScript Library v3.7.1 + * https://jquery.com/ + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2023-08-28T13:37Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket trac-14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var flat = arr.flat ? function( array ) { + return arr.flat.call( array ); +} : function( array ) { + return arr.concat.apply( [], array ); +}; + + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML <object> elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 + // Plus for old WebKit, typeof returns "function" for HTML collections + // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) + return typeof obj === "function" && typeof obj.nodeType !== "number" && + typeof obj.item !== "function"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + +var document = window.document; + + + + var preservedScriptAttributes = { + type: true, + src: true, + nonce: true, + noModule: true + }; + + function DOMEval( code, node, doc ) { + doc = doc || document; + + var i, val, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + + // Support: Firefox 64+, Edge 18+ + // Some browsers don't support the "nonce" property on scripts. + // On the other hand, just using `getAttribute` is not enough as + // the `nonce` attribute is reset to an empty string whenever it + // becomes browsing-context connected. + // See https://github.com/whatwg/html/issues/2369 + // See https://html.spec.whatwg.org/#nonce-attributes + // The `node.getAttribute` check was added for the sake of + // `jQuery.globalEval` so that it can fake a nonce-containing node + // via an object. + val = node[ i ] || node.getAttribute && node.getAttribute( i ); + if ( val ) { + script.setAttribute( i, val ); + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var version = "3.7.1", + + rhtmlSuffix = /HTML$/i, + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + even: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return ( i + 1 ) % 2; + } ) ); + }, + + odd: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return i % 2; + } ) ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + copy = options[ name ]; + + // Prevent Object.prototype pollution + // Prevent never-ending loop + if ( name === "__proto__" || target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + src = target[ name ]; + + // Ensure proper type for the source value + if ( copyIsArray && !Array.isArray( src ) ) { + clone = []; + } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { + clone = {}; + } else { + clone = src; + } + copyIsArray = false; + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a provided context; falls back to the global one + // if not specified. + globalEval: function( code, options, doc ) { + DOMEval( code, { nonce: options && options.nonce }, doc ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + + // Retrieve the text value of an array of DOM nodes + text: function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + + // If no nodeType, this is expected to be an array + while ( ( node = elem[ i++ ] ) ) { + + // Do not traverse comment nodes + ret += jQuery.text( node ); + } + } + if ( nodeType === 1 || nodeType === 11 ) { + return elem.textContent; + } + if ( nodeType === 9 ) { + return elem.documentElement.textContent; + } + if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + + // Do not include comment or processing instruction nodes + + return ret; + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + isXMLDoc: function( elem ) { + var namespace = elem && elem.namespaceURI, + docElem = elem && ( elem.ownerDocument || elem ).documentElement; + + // Assume HTML when documentElement doesn't yet exist, such as inside + // document fragments. + return !rhtmlSuffix.test( namespace || docElem && docElem.nodeName || "HTML" ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return flat( ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), + function( _i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); + } ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +} +var pop = arr.pop; + + +var sort = arr.sort; + + +var splice = arr.splice; + + +var whitespace = "[\\x20\\t\\r\\n\\f]"; + + +var rtrimCSS = new RegExp( + "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", + "g" +); + + + + +// Note: an element does not contain itself +jQuery.contains = function( a, b ) { + var bup = b && b.parentNode; + + return a === bup || !!( bup && bup.nodeType === 1 && ( + + // Support: IE 9 - 11+ + // IE doesn't have `contains` on SVG. + a.contains ? + a.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + ) ); +}; + + + + +// CSS string/identifier serialization +// https://drafts.csswg.org/cssom/#common-serializing-idioms +var rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g; + +function fcssescape( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; +} + +jQuery.escapeSelector = function( sel ) { + return ( sel + "" ).replace( rcssescape, fcssescape ); +}; + + + + +var preferredDoc = document, + pushNative = push; + +( function() { + +var i, + Expr, + outermostContext, + sortInput, + hasDuplicate, + push = pushNative, + + // Local document vars + document, + documentElement, + documentIsHTML, + rbuggyQSA, + matches, + + // Instance-specific data + expando = jQuery.expando, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + nonnativeSelectorCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|" + + "loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram + identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", + + // Attribute selectors: https://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + + whitespace + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rleadingCombinator = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + + whitespace + "*" ), + rdescend = new RegExp( whitespace + "|>" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + ID: new RegExp( "^#(" + identifier + ")" ), + CLASS: new RegExp( "^\\.(" + identifier + ")" ), + TAG: new RegExp( "^(" + identifier + "|[*])" ), + ATTR: new RegExp( "^" + attributes ), + PSEUDO: new RegExp( "^" + pseudos ), + CHILD: new RegExp( + "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + + whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + + whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + bool: new RegExp( "^(?:" + booleans + ")$", "i" ), + + // For use in libraries implementing .is() + // We use this for POS matching in `select` + needsContext: new RegExp( "^" + whitespace + + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // https://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + + "?|\\\\([^\\r\\n\\f])", "g" ), + funescape = function( escape, nonHex ) { + var high = "0x" + escape.slice( 1 ) - 0x10000; + + if ( nonHex ) { + + // Strip the backslash prefix from a non-hex escape sequence + return nonHex; + } + + // Replace a hexadecimal escape sequence with the encoded Unicode code point + // Support: IE <=11+ + // For values outside the Basic Multilingual Plane (BMP), manually construct a + // surrogate pair + return high < 0 ? + String.fromCharCode( high + 0x10000 ) : + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // Used for iframes; see `setDocument`. + // Support: IE 9 - 11+, Edge 12 - 18+ + // Removing the function wrapper causes a "Permission Denied" + // error in IE/Edge. + unloadHandler = function() { + setDocument(); + }, + + inDisabledFieldset = addCombinator( + function( elem ) { + return elem.disabled === true && nodeName( elem, "fieldset" ); + }, + { dir: "parentNode", next: "legend" } + ); + +// Support: IE <=9 only +// Accessing document.activeElement can throw unexpectedly +// https://bugs.jquery.com/ticket/13393 +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + ( arr = slice.call( preferredDoc.childNodes ) ), + preferredDoc.childNodes + ); + + // Support: Android <=4.0 + // Detect silently failing push.apply + // eslint-disable-next-line no-unused-expressions + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { + apply: function( target, els ) { + pushNative.apply( target, slice.call( els ) ); + }, + call: function( target ) { + pushNative.apply( target, slice.call( arguments, 1 ) ); + } + }; +} + +function find( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + setDocument( context ); + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { + + // ID selector + if ( ( m = match[ 1 ] ) ) { + + // Document context + if ( nodeType === 9 ) { + if ( ( elem = context.getElementById( m ) ) ) { + + // Support: IE 9 only + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + push.call( results, elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE 9 only + // getElementById can match elements by name instead of ID + if ( newContext && ( elem = newContext.getElementById( m ) ) && + find.contains( context, elem ) && + elem.id === m ) { + + push.call( results, elem ); + return results; + } + } + + // Type selector + } else if ( match[ 2 ] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( ( m = match[ 3 ] ) && context.getElementsByClassName ) { + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( !nonnativeSelectorCache[ selector + " " ] && + ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) ) { + + newSelector = selector; + newContext = context; + + // qSA considers elements outside a scoping root when evaluating child or + // descendant combinators, which is not what we want. + // In such cases, we work around the behavior by prefixing every selector in the + // list with an ID selector referencing the scope context. + // The technique has to be used as well when a leading combinator is used + // as such selectors are not recognized by querySelectorAll. + // Thanks to Andrew Dupont for this technique. + if ( nodeType === 1 && + ( rdescend.test( selector ) || rleadingCombinator.test( selector ) ) ) { + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + + // We can use :scope instead of the ID hack if the browser + // supports it & if we're not changing the context. + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when + // strict-comparing two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( newContext != context || !support.scope ) { + + // Capture the context ID, setting it first if necessary + if ( ( nid = context.getAttribute( "id" ) ) ) { + nid = jQuery.escapeSelector( nid ); + } else { + context.setAttribute( "id", ( nid = expando ) ); + } + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + + toSelector( groups[ i ] ); + } + newSelector = groups.join( "," ); + } + + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + nonnativeSelectorCache( selector, true ); + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + + // All others + return select( selector.replace( rtrimCSS, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + + // Use (key + " ") to avoid collision with native prototype properties + // (see https://github.com/jquery/sizzle/issues/157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return ( cache[ key + " " ] = value ); + } + return cache; +} + +/** + * Mark a function for special use by jQuery selector module + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement( "fieldset" ); + + try { + return !!fn( el ); + } catch ( e ) { + return false; + } finally { + + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + + // release memory in IE + el = null; + } +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + return nodeName( elem, "input" ) && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + return ( nodeName( elem, "input" ) || nodeName( elem, "button" ) ) && + elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11+ + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + elem.isDisabled !== !disabled && + inDisabledFieldset( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction( function( argument ) { + argument = +argument; + return markFunction( function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ ( j = matchIndexes[ i ] ) ] ) { + seed[ j ] = !( matches[ j ] = seed[ j ] ); + } + } + } ); + } ); +} + +/** + * Checks a node for validity as a jQuery selector context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [node] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +function setDocument( node ) { + var subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + documentElement = document.documentElement; + documentIsHTML = !jQuery.isXMLDoc( document ); + + // Support: iOS 7 only, IE 9 - 11+ + // Older browsers didn't support unprefixed `matches`. + matches = documentElement.matches || + documentElement.webkitMatchesSelector || + documentElement.msMatchesSelector; + + // Support: IE 9 - 11+, Edge 12 - 18+ + // Accessing iframe documents after unload throws "permission denied" errors + // (see trac-13936). + // Limit the fix to IE & Edge Legacy; despite Edge 15+ implementing `matches`, + // all IE 9+ and Edge Legacy versions implement `msMatchesSelector` as well. + if ( documentElement.msMatchesSelector && + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + preferredDoc != document && + ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { + + // Support: IE 9 - 11+, Edge 12 - 18+ + subWindow.addEventListener( "unload", unloadHandler ); + } + + // Support: IE <10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert( function( el ) { + documentElement.appendChild( el ).id = jQuery.expando; + return !document.getElementsByName || + !document.getElementsByName( jQuery.expando ).length; + } ); + + // Support: IE 9 only + // Check to see if it's possible to do matchesSelector + // on a disconnected node. + support.disconnectedMatch = assert( function( el ) { + return matches.call( el, "*" ); + } ); + + // Support: IE 9 - 11+, Edge 12 - 18+ + // IE/Edge don't support the :scope pseudo-class. + support.scope = assert( function() { + return document.querySelectorAll( ":scope" ); + } ); + + // Support: Chrome 105 - 111 only, Safari 15.4 - 16.3 only + // Make sure the `:has()` argument is parsed unforgivingly. + // We include `*` in the test to detect buggy implementations that are + // _selectively_ forgiving (specifically when the list includes at least + // one valid selector). + // Note that we treat complete lack of support for `:has()` as if it were + // spec-compliant support, which is fine because use of `:has()` in such + // environments will fail in the qSA path and fall back to jQuery traversal + // anyway. + support.cssHas = assert( function() { + try { + document.querySelector( ":has(*,:jqfake)" ); + return false; + } catch ( e ) { + return true; + } + } ); + + // ID filter and find + if ( support.getById ) { + Expr.filter.ID = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute( "id" ) === attrId; + }; + }; + Expr.find.ID = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter.ID = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode( "id" ); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find.ID = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode( "id" ); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( ( elem = elems[ i++ ] ) ) { + node = elem.getAttributeNode( "id" ); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find.TAG = function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else { + return context.querySelectorAll( tag ); + } + }; + + // Class + Expr.find.CLASS = function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + rbuggyQSA = []; + + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert( function( el ) { + + var input; + + documentElement.appendChild( el ).innerHTML = + "<a id='" + expando + "' href='' disabled='disabled'></a>" + + "<select id='" + expando + "-\r\\' disabled='disabled'>" + + "<option selected=''></option></select>"; + + // Support: iOS <=7 - 8 only + // Boolean attributes and "value" are not treated correctly in some XML documents + if ( !el.querySelectorAll( "[selected]" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: iOS <=7 - 8 only + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push( "~=" ); + } + + // Support: iOS 8 only + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push( ".#.+[+~]" ); + } + + // Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+ + // In some of the document kinds, these selectors wouldn't work natively. + // This is probably OK but for backwards compatibility we want to maintain + // handling them through jQuery traversal in jQuery 3.x. + if ( !el.querySelectorAll( ":checked" ).length ) { + rbuggyQSA.push( ":checked" ); + } + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + input = document.createElement( "input" ); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE 9 - 11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + // Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+ + // In some of the document kinds, these selectors wouldn't work natively. + // This is probably OK but for backwards compatibility we want to maintain + // handling them through jQuery traversal in jQuery 3.x. + documentElement.appendChild( el ).disabled = true; + if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE 11+, Edge 15 - 18+ + // IE 11/Edge don't find elements on a `[name='']` query in some cases. + // Adding a temporary attribute to the document before the selection works + // around the issue. + // Interestingly, IE 10 & older don't seem to have the issue. + input = document.createElement( "input" ); + input.setAttribute( "name", "" ); + el.appendChild( input ); + if ( !el.querySelectorAll( "[name='']" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + + whitespace + "*(?:''|\"\")" ); + } + } ); + + if ( !support.cssHas ) { + + // Support: Chrome 105 - 110+, Safari 15.4 - 16.3+ + // Our regular `try-catch` mechanism fails to detect natively-unsupported + // pseudo-classes inside `:has()` (such as `:has(:contains("Foo"))`) + // in browsers that parse the `:has()` argument as a forgiving selector list. + // https://drafts.csswg.org/selectors/#relational now requires the argument + // to be parsed unforgivingly, but browsers have not yet fully adjusted. + rbuggyQSA.push( ":has" ); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { + + // Choose the first element that is related to our preferred document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( a === document || a.ownerDocument == preferredDoc && + find.contains( preferredDoc, a ) ) { + return -1; + } + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( b === document || b.ownerDocument == preferredDoc && + find.contains( preferredDoc, b ) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + }; + + return document; +} + +find.matches = function( expr, elements ) { + return find( expr, null, null, elements ); +}; + +find.matchesSelector = function( elem, expr ) { + setDocument( elem ); + + if ( documentIsHTML && + !nonnativeSelectorCache[ expr + " " ] && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch ( e ) { + nonnativeSelectorCache( expr, true ); + } + } + + return find( expr, document, null, [ elem ] ).length > 0; +}; + +find.contains = function( context, elem ) { + + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( context.ownerDocument || context ) != document ) { + setDocument( context ); + } + return jQuery.contains( context, elem ); +}; + + +find.attr = function( elem, name ) { + + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( elem.ownerDocument || elem ) != document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + + // Don't get fooled by Object.prototype properties (see trac-13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + if ( val !== undefined ) { + return val; + } + + return elem.getAttribute( name ); +}; + +find.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +jQuery.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + // + // Support: Android <=4.0+ + // Testing for detecting duplicates is unpredictable so instead assume we can't + // depend on duplicate detection in all browsers without a stable sort. + hasDuplicate = !support.sortStable; + sortInput = !support.sortStable && slice.call( results, 0 ); + sort.call( results, sortOrder ); + + if ( hasDuplicate ) { + while ( ( elem = results[ i++ ] ) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + splice.call( results, duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +jQuery.fn.uniqueSort = function() { + return this.pushStack( jQuery.uniqueSort( slice.apply( this ) ) ); +}; + +Expr = jQuery.expr = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + ATTR: function( match ) { + match[ 1 ] = match[ 1 ].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[ 3 ] = ( match[ 3 ] || match[ 4 ] || match[ 5 ] || "" ) + .replace( runescape, funescape ); + + if ( match[ 2 ] === "~=" ) { + match[ 3 ] = " " + match[ 3 ] + " "; + } + + return match.slice( 0, 4 ); + }, + + CHILD: function( match ) { + + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[ 1 ] = match[ 1 ].toLowerCase(); + + if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { + + // nth-* requires argument + if ( !match[ 3 ] ) { + find.error( match[ 0 ] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[ 4 ] = +( match[ 4 ] ? + match[ 5 ] + ( match[ 6 ] || 1 ) : + 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) + ); + match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); + + // other types prohibit arguments + } else if ( match[ 3 ] ) { + find.error( match[ 0 ] ); + } + + return match; + }, + + PSEUDO: function( match ) { + var excess, + unquoted = !match[ 6 ] && match[ 2 ]; + + if ( matchExpr.CHILD.test( match[ 0 ] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[ 3 ] ) { + match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + + // Get excess from tokenize (recursively) + ( excess = tokenize( unquoted, true ) ) && + + // advance to the next closing parenthesis + ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { + + // excess is a negative index + match[ 0 ] = match[ 0 ].slice( 0, excess ); + match[ 2 ] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + TAG: function( nodeNameSelector ) { + var expectedNodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { + return true; + } : + function( elem ) { + return nodeName( elem, expectedNodeName ); + }; + }, + + CLASS: function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + ( pattern = new RegExp( "(^|" + whitespace + ")" + className + + "(" + whitespace + "|$)" ) ) && + classCache( className, function( elem ) { + return pattern.test( + typeof elem.className === "string" && elem.className || + typeof elem.getAttribute !== "undefined" && + elem.getAttribute( "class" ) || + "" + ); + } ); + }, + + ATTR: function( name, operator, check ) { + return function( elem ) { + var result = find.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + if ( operator === "=" ) { + return result === check; + } + if ( operator === "!=" ) { + return result !== check; + } + if ( operator === "^=" ) { + return check && result.indexOf( check ) === 0; + } + if ( operator === "*=" ) { + return check && result.indexOf( check ) > -1; + } + if ( operator === "$=" ) { + return check && result.slice( -check.length ) === check; + } + if ( operator === "~=" ) { + return ( " " + result.replace( rwhitespace, " " ) + " " ) + .indexOf( check ) > -1; + } + if ( operator === "|=" ) { + return result === check || result.slice( 0, check.length + 1 ) === check + "-"; + } + + return false; + }; + }, + + CHILD: function( type, what, _argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, _context, xml ) { + var cache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( ( node = node[ dir ] ) ) { + if ( ofType ? + nodeName( node, name ) : + node.nodeType === 1 ) { + + return false; + } + } + + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + outerCache = parent[ expando ] || ( parent[ expando ] = {} ); + cache = outerCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( ( node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + ( diff = nodeIndex = 0 ) || start.pop() ) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + outerCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + + // Use previously-cached element index if available + if ( useCache ) { + outerCache = elem[ expando ] || ( elem[ expando ] = {} ); + cache = outerCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + + // Use the same loop as above to seek `elem` from the start + while ( ( node = ++nodeIndex && node && node[ dir ] || + ( diff = nodeIndex = 0 ) || start.pop() ) ) { + + if ( ( ofType ? + nodeName( node, name ) : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || + ( node[ expando ] = {} ); + outerCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + PSEUDO: function( pseudo, argument ) { + + // pseudo-class names are case-insensitive + // https://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + find.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as jQuery does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction( function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf.call( seed, matched[ i ] ); + seed[ idx ] = !( matches[ idx ] = matched[ i ] ); + } + } ) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + + // Potentially complex pseudos + not: markFunction( function( selector ) { + + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrimCSS, "$1" ) ); + + return matcher[ expando ] ? + markFunction( function( seed, matches, _context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( ( elem = unmatched[ i ] ) ) { + seed[ i ] = !( matches[ i ] = elem ); + } + } + } ) : + function( elem, _context, xml ) { + input[ 0 ] = elem; + matcher( input, null, xml, results ); + + // Don't keep the element + // (see https://github.com/jquery/sizzle/issues/299) + input[ 0 ] = null; + return !results.pop(); + }; + } ), + + has: markFunction( function( selector ) { + return function( elem ) { + return find( selector, elem ).length > 0; + }; + } ), + + contains: markFunction( function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || jQuery.text( elem ) ).indexOf( text ) > -1; + }; + } ), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // https://www.w3.org/TR/selectors/#lang-pseudo + lang: markFunction( function( lang ) { + + // lang value must be a valid identifier + if ( !ridentifier.test( lang || "" ) ) { + find.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( ( elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); + return false; + }; + } ), + + // Miscellaneous + target: function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + root: function( elem ) { + return elem === documentElement; + }, + + focus: function( elem ) { + return elem === safeActiveElement() && + document.hasFocus() && + !!( elem.type || elem.href || ~elem.tabIndex ); + }, + + // Boolean properties + enabled: createDisabledPseudo( false ), + disabled: createDisabledPseudo( true ), + + checked: function( elem ) { + + // In CSS3, :checked should return both checked and selected elements + // https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + return ( nodeName( elem, "input" ) && !!elem.checked ) || + ( nodeName( elem, "option" ) && !!elem.selected ); + }, + + selected: function( elem ) { + + // Support: IE <=11+ + // Accessing the selectedIndex property + // forces the browser to treat the default option as + // selected when in an optgroup. + if ( elem.parentNode ) { + // eslint-disable-next-line no-unused-expressions + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + empty: function( elem ) { + + // https://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + parent: function( elem ) { + return !Expr.pseudos.empty( elem ); + }, + + // Element/input types + header: function( elem ) { + return rheader.test( elem.nodeName ); + }, + + input: function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + button: function( elem ) { + return nodeName( elem, "input" ) && elem.type === "button" || + nodeName( elem, "button" ); + }, + + text: function( elem ) { + var attr; + return nodeName( elem, "input" ) && elem.type === "text" && + + // Support: IE <10 only + // New HTML5 attribute values (e.g., "search") appear + // with elem.type === "text" + ( ( attr = elem.getAttribute( "type" ) ) == null || + attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + first: createPositionalPseudo( function() { + return [ 0 ]; + } ), + + last: createPositionalPseudo( function( _matchIndexes, length ) { + return [ length - 1 ]; + } ), + + eq: createPositionalPseudo( function( _matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + } ), + + even: createPositionalPseudo( function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + odd: createPositionalPseudo( function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + lt: createPositionalPseudo( function( matchIndexes, length, argument ) { + var i; + + if ( argument < 0 ) { + i = argument + length; + } else if ( argument > length ) { + i = length; + } else { + i = argument; + } + + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + gt: createPositionalPseudo( function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ) + } +}; + +Expr.pseudos.nth = Expr.pseudos.eq; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +function tokenize( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || ( match = rcomma.exec( soFar ) ) ) { + if ( match ) { + + // Don't consume trailing commas as valid + soFar = soFar.slice( match[ 0 ].length ) || soFar; + } + groups.push( ( tokens = [] ) ); + } + + matched = false; + + // Combinators + if ( ( match = rleadingCombinator.exec( soFar ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + + // Cast descendant combinators to space + type: match[ 0 ].replace( rtrimCSS, " " ) + } ); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || + ( match = preFilters[ type ]( match ) ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + type: type, + matches: match + } ); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + if ( parseOnly ) { + return soFar.length; + } + + return soFar ? + find.error( selector ) : + + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +} + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[ i ].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || ( elem[ expando ] = {} ); + + if ( skip && nodeName( elem, skip ) ) { + elem = elem[ dir ] || elem; + } else if ( ( oldCache = outerCache[ key ] ) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return ( newCache[ 2 ] = oldCache[ 2 ] ); + } else { + + // Reuse newcache so results back-propagate to previous elements + outerCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[ i ]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[ 0 ]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + find( selector, contexts[ i ], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( ( elem = unmatched[ i ] ) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction( function( seed, results, context, xml ) { + var temp, i, elem, matcherOut, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || + multipleContexts( selector || "*", + context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems; + + if ( matcher ) { + + // If we have a postFinder, or filtered seed, or non-seed postFilter + // or preexisting results, + matcherOut = postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results; + + // Find primary matches + matcher( matcherIn, matcherOut, context, xml ); + } else { + matcherOut = matcherIn; + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( ( elem = temp[ i ] ) ) { + matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( ( elem = matcherOut[ i ] ) ) { + + // Restore matcherIn since elem is not yet a final match + temp.push( ( matcherIn[ i ] = elem ) ); + } + } + postFinder( null, ( matcherOut = [] ), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( ( elem = matcherOut[ i ] ) && + ( temp = postFinder ? indexOf.call( seed, elem ) : preMap[ i ] ) > -1 ) { + + seed[ temp ] = !( results[ temp ] = elem ); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + } ); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[ 0 ].type ], + implicitRelative = leadingRelative || Expr.relative[ " " ], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf.call( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + var ret = ( !leadingRelative && ( xml || context != outermostContext ) ) || ( + ( checkContext = context ).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + + // Avoid hanging onto element + // (see https://github.com/jquery/sizzle/issues/299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { + matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; + } else { + matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[ j ].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ) + .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) + ).replace( rtrimCSS, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find.TAG( "*", outermost ), + + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), + len = elems.length; + + if ( outermost ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + outermostContext = context == document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: iOS <=7 - 9 only + // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching + // elements by id. (see trac-14142) + for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( !context && elem.ownerDocument != document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( ( matcher = elementMatchers[ j++ ] ) ) { + if ( matcher( elem, context || document, xml ) ) { + push.call( results, elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + + // They will have gone through all possible matchers + if ( ( elem = !matcher && elem ) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( ( matcher = setMatchers[ j++ ] ) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !( unmatched[ i ] || setMatched[ i ] ) ) { + setMatched[ i ] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + jQuery.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +function compile( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[ i ] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, + matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +} + +/** + * A low-level selection function that works with jQuery's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with jQuery selector compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +function select( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( ( selector = compiled.selector || selector ) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[ 0 ] = match[ 0 ].slice( 0 ); + if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { + + context = ( Expr.find.ID( + token.matches[ 0 ].replace( runescape, funescape ), + context + ) || [] )[ 0 ]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr.needsContext.test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[ i ]; + + // Abort if we hit a combinator + if ( Expr.relative[ ( type = token.type ) ] ) { + break; + } + if ( ( find = Expr.find[ type ] ) ) { + + // Search, expanding context for leading sibling combinators + if ( ( seed = find( + token.matches[ 0 ].replace( runescape, funescape ), + rsibling.test( tokens[ 0 ].type ) && + testContext( context.parentNode ) || context + ) ) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +} + +// One-time assignments + +// Support: Android <=4.0 - 4.1+ +// Sort stability +support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; + +// Initialize against the default document +setDocument(); + +// Support: Android <=4.0 - 4.1+ +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert( function( el ) { + + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; +} ); + +jQuery.find = find; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.unique = jQuery.uniqueSort; + +// These have always been private, but they used to be documented as part of +// Sizzle so let's maintain them for now for backwards compatibility purposes. +find.compile = compile; +find.select = select; +find.setDocument = setDocument; +find.tokenize = tokenize; + +find.escape = jQuery.escapeSelector; +find.getText = jQuery.text; +find.isXML = jQuery.isXMLDoc; +find.selectors = jQuery.expr; +find.support = jQuery.support; +find.uniqueSort = jQuery.uniqueSort; + + /* eslint-enable */ + +} )(); + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over <tag> to avoid XSS via location.hash (trac-9521) + // Strict HTML recognition (trac-11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to jQuery#find + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, _i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, _i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, _i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( elem.contentDocument != null && + + // Support: IE 11+ + // <object> elements with no `data` attribute has an object + // `contentDocument` with a `null` prototype. + getProto( elem.contentDocument ) ) { + + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && toType( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( _i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.error ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the error, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getErrorHook ) { + process.error = jQuery.Deferred.getErrorHook(); + + // The deprecated alias of the above. While the name suggests + // returning the stack, not an error instance, jQuery just passes + // it directly to `console.warn` so both will work; an instance + // just better cooperates with source maps. + } else if ( jQuery.Deferred.getStackHook ) { + process.error = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the primary Deferred + primary = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + primary.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( primary.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return primary.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject ); + } + + return primary.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +// If `jQuery.Deferred.getErrorHook` is defined, `asyncError` is an error +// captured before the async barrier to get the original error cause +// which may otherwise be hidden. +jQuery.Deferred.exceptionHook = function( error, asyncError ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, + error.stack, asyncError ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See trac-6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( toType( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, _key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; + + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( _all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (trac-9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see trac-8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); + } else { + key = camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (trac-14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var documentElement = document.documentElement; + + + + var isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ); + }, + composed = { composed: true }; + + // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only + // Check attachment across shadow DOM boundaries when possible (gh-3504) + // Support: iOS 10.0-10.2 only + // Early iOS 10 versions support `attachShadow` but not `getRootNode`, + // leading to errors. We need to check for `getRootNode`. + if ( documentElement.getRootNode ) { + isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ) || + elem.getRootNode( composed ) === elem.ownerDocument; + }; + } +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + isAttached( elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, scale, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = elem.nodeType && + ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + while ( maxIterations-- ) { + + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); + +var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); + + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (trac-11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (trac-14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = "<textarea>x</textarea>"; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; + + // Support: IE <=9 only + // IE <=9 replaces <option> tags with their contents when inserted outside of + // the select element. + div.innerHTML = "<option></option>"; + support.option = !!div.lastChild; +} )(); + + +// We have to close these tags to support XHTML (trac-13200) +var wrapMap = { + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting <tbody> or other required elements. + thead: [ 1, "<table>", "</table>" ], + col: [ 2, "<table><colgroup>", "</colgroup></table>" ], + tr: [ 2, "<table><tbody>", "</tbody></table>" ], + td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], + + _default: [ 0, "", "" ] +}; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// Support: IE <=9 only +if ( !support.option ) { + wrapMap.optgroup = wrapMap.option = [ 1, "<select multiple='multiple'>", "</select>" ]; +} + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (trac-15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, attached, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( toType( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (trac-12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + attached = isAttached( elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( attached ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +var rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Only attach events to objects that accept data + if ( !acceptData( elem ) ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = Object.create( null ); + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( nativeEvent ), + + handlers = ( + dataPriv.get( this, "events" ) || Object.create( null ) + )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // If the event is namespaced, then each handler is only invoked if it is + // specially universal or its namespaces are a superset of the event's. + if ( !event.rnamespace || handleObj.namespace === false || + event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG <use> instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (trac-13208) + // Don't process clicks on disabled elements (trac-6911, trac-8165, trac-11382, trac-11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (trac-13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + click: { + + // Utilize native event to ensure correct state for checkable inputs + setup: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Claim the first handler + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + // dataPriv.set( el, "click", ... ) + leverageNative( el, "click", true ); + } + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Force setup before triggering a click + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + leverageNative( el, "click" ); + } + + // Return non-false to allow normal event-path propagation + return true; + }, + + // For cross-browser consistency, suppress native .click() on links + // Also prevent it if we're currently inside a leveraged native-event stack + _default: function( event ) { + var target = event.target; + return rcheckableType.test( target.type ) && + target.click && nodeName( target, "input" ) && + dataPriv.get( target, "click" ) || + nodeName( target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +// Ensure the presence of an event listener that handles manually-triggered +// synthetic events by interrupting progress until reinvoked in response to +// *native* events that it fires directly, ensuring that state changes have +// already occurred before other listeners are invoked. +function leverageNative( el, type, isSetup ) { + + // Missing `isSetup` indicates a trigger call, which must force setup through jQuery.event.add + if ( !isSetup ) { + if ( dataPriv.get( el, type ) === undefined ) { + jQuery.event.add( el, type, returnTrue ); + } + return; + } + + // Register the controller as a special universal handler for all event namespaces + dataPriv.set( el, type, false ); + jQuery.event.add( el, type, { + namespace: false, + handler: function( event ) { + var result, + saved = dataPriv.get( this, type ); + + if ( ( event.isTrigger & 1 ) && this[ type ] ) { + + // Interrupt processing of the outer synthetic .trigger()ed event + if ( !saved ) { + + // Store arguments for use when handling the inner native event + // There will always be at least one argument (an event object), so this array + // will not be confused with a leftover capture object. + saved = slice.call( arguments ); + dataPriv.set( this, type, saved ); + + // Trigger the native event and capture its result + this[ type ](); + result = dataPriv.get( this, type ); + dataPriv.set( this, type, false ); + + if ( saved !== result ) { + + // Cancel the outer synthetic event + event.stopImmediatePropagation(); + event.preventDefault(); + + return result; + } + + // If this is an inner synthetic event for an event with a bubbling surrogate + // (focus or blur), assume that the surrogate already propagated from triggering + // the native event and prevent that from happening again here. + // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the + // bubbling surrogate propagates *after* the non-bubbling base), but that seems + // less bad than duplication. + } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { + event.stopPropagation(); + } + + // If this is a native event triggered above, everything is now in order + // Fire an inner synthetic event with the original arguments + } else if ( saved ) { + + // ...and capture the result + dataPriv.set( this, type, jQuery.event.trigger( + saved[ 0 ], + saved.slice( 1 ), + this + ) ); + + // Abort handling of the native event by all jQuery handlers while allowing + // native handlers on the same element to run. On target, this is achieved + // by stopping immediate propagation just on the jQuery event. However, + // the native event is re-wrapped by a jQuery one on each level of the + // propagation so the only way to stop it for jQuery is to stop it for + // everyone via native `stopPropagation()`. This is not a problem for + // focus/blur which don't bubble, but it does also stop click on checkboxes + // and radios. We accept this limitation. + event.stopPropagation(); + event.isImmediatePropagationStopped = returnTrue; + } + } + } ); +} + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (trac-504, trac-13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || Date.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + code: true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + which: true +}, jQuery.event.addProp ); + +jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { + + function focusMappedHandler( nativeEvent ) { + if ( document.documentMode ) { + + // Support: IE 11+ + // Attach a single focusin/focusout handler on the document while someone wants + // focus/blur. This is because the former are synchronous in IE while the latter + // are async. In other browsers, all those handlers are invoked synchronously. + + // `handle` from private data would already wrap the event, but we need + // to change the `type` here. + var handle = dataPriv.get( this, "handle" ), + event = jQuery.event.fix( nativeEvent ); + event.type = nativeEvent.type === "focusin" ? "focus" : "blur"; + event.isSimulated = true; + + // First, handle focusin/focusout + handle( nativeEvent ); + + // ...then, handle focus/blur + // + // focus/blur don't bubble while focusin/focusout do; simulate the former by only + // invoking the handler at the lower level. + if ( event.target === event.currentTarget ) { + + // The setup part calls `leverageNative`, which, in turn, calls + // `jQuery.event.add`, so event handle will already have been set + // by this point. + handle( event ); + } + } else { + + // For non-IE browsers, attach a single capturing handler on the document + // while someone wants focusin/focusout. + jQuery.event.simulate( delegateType, nativeEvent.target, + jQuery.event.fix( nativeEvent ) ); + } + } + + jQuery.event.special[ type ] = { + + // Utilize native event if possible so blur/focus sequence is correct + setup: function() { + + var attaches; + + // Claim the first handler + // dataPriv.set( this, "focus", ... ) + // dataPriv.set( this, "blur", ... ) + leverageNative( this, type, true ); + + if ( document.documentMode ) { + + // Support: IE 9 - 11+ + // We use the same native handler for focusin & focus (and focusout & blur) + // so we need to coordinate setup & teardown parts between those events. + // Use `delegateType` as the key as `type` is already used by `leverageNative`. + attaches = dataPriv.get( this, delegateType ); + if ( !attaches ) { + this.addEventListener( delegateType, focusMappedHandler ); + } + dataPriv.set( this, delegateType, ( attaches || 0 ) + 1 ); + } else { + + // Return false to allow normal processing in the caller + return false; + } + }, + trigger: function() { + + // Force setup before trigger + leverageNative( this, type ); + + // Return non-false to allow normal event-path propagation + return true; + }, + + teardown: function() { + var attaches; + + if ( document.documentMode ) { + attaches = dataPriv.get( this, delegateType ) - 1; + if ( !attaches ) { + this.removeEventListener( delegateType, focusMappedHandler ); + dataPriv.remove( this, delegateType ); + } else { + dataPriv.set( this, delegateType, attaches ); + } + } else { + + // Return false to indicate standard teardown should be applied + return false; + } + }, + + // Suppress native focus or blur if we're currently inside + // a leveraged native-event stack + _default: function( event ) { + return dataPriv.get( event.target, type ); + }, + + delegateType: delegateType + }; + + // Support: Firefox <=44 + // Firefox doesn't have focus(in | out) events + // Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 + // + // Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 + // focus(in | out) events fire after focus & blur events, + // which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order + // Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 + // + // Support: IE 9 - 11+ + // To preserve relative focusin/focus & focusout/blur event order guaranteed on the 3.x branch, + // attach a single handler for both events in IE. + jQuery.event.special[ delegateType ] = { + setup: function() { + + // Handle: regular nodes (via `this.ownerDocument`), window + // (via `this.document`) & document (via `this`). + var doc = this.ownerDocument || this.document || this, + dataHolder = document.documentMode ? this : doc, + attaches = dataPriv.get( dataHolder, delegateType ); + + // Support: IE 9 - 11+ + // We use the same native handler for focusin & focus (and focusout & blur) + // so we need to coordinate setup & teardown parts between those events. + // Use `delegateType` as the key as `type` is already used by `leverageNative`. + if ( !attaches ) { + if ( document.documentMode ) { + this.addEventListener( delegateType, focusMappedHandler ); + } else { + doc.addEventListener( type, focusMappedHandler, true ); + } + } + dataPriv.set( dataHolder, delegateType, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this.document || this, + dataHolder = document.documentMode ? this : doc, + attaches = dataPriv.get( dataHolder, delegateType ) - 1; + + if ( !attaches ) { + if ( document.documentMode ) { + this.removeEventListener( delegateType, focusMappedHandler ); + } else { + doc.removeEventListener( type, focusMappedHandler, true ); + } + dataPriv.remove( dataHolder, delegateType ); + } else { + dataPriv.set( dataHolder, delegateType, attaches ); + } + } + }; +} ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + // Support: IE <=10 - 11, Edge 12 - 13 only + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /<script|<style|<link/i, + + // checked="checked" or checked + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, + + rcleanScript = /^\s*<!\[CDATA\[|\]\]>\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.get( src ); + events = pdataOld.events; + + if ( events ) { + dataPriv.remove( dest, "handle events" ); + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = flat( args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + valueIsFunction = isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( valueIsFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( valueIsFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (trac-8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Re-enable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl && !node.noModule ) { + jQuery._evalUrl( node.src, { + nonce: node.nonce || node.getAttribute( "nonce" ) + }, doc ); + } + } else { + + // Unwrap a CDATA section containing script contents. This shouldn't be + // needed as in XML documents they're already not visible when + // inspecting element contents and in HTML documents they have no + // meaning but we're preserving that logic for backwards compatibility. + // This will be removed completely in 4.0. See gh-4904. + DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && isAttached( node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html; + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = isAttached( elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew jQuery#find here for performance reasons: + // https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var rcustomProp = /^--/; + + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (trac-15098, trac-14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + +var swap = function( elem, options, callback ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.call( elem ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + +var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + + "margin-top:1px;padding:0;border:0"; + div.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + + "margin:auto;border:1px;padding:1px;" + + "width:60%;top:1%"; + documentElement.appendChild( container ).appendChild( div ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; + + // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; + + // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; + + // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + // Support: Chrome <=64 + // Don't get tricked when zoom affects offsetWidth (gh-4029) + div.style.position = "absolute"; + scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + function roundPixelMeasures( measure ) { + return Math.round( parseFloat( measure ) ); + } + + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, + reliableTrDimensionsVal, reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (trac-8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + jQuery.extend( support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + }, + + // Support: IE 9 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Behavior in IE 9 is more subtle than in newer versions & it passes + // some versions of this test; make sure not to make it pass there! + // + // Support: Firefox 70+ + // Only Firefox includes border widths + // in computed dimensions. (gh-4529) + reliableTrDimensions: function() { + var table, tr, trChild, trStyle; + if ( reliableTrDimensionsVal == null ) { + table = document.createElement( "table" ); + tr = document.createElement( "tr" ); + trChild = document.createElement( "div" ); + + table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate"; + tr.style.cssText = "box-sizing:content-box;border:1px solid"; + + // Support: Chrome 86+ + // Height set through cssText does not get applied. + // Computed height then comes back as 0. + tr.style.height = "1px"; + trChild.style.height = "9px"; + + // Support: Android 8 Chrome 86+ + // In our bodyBackground.html iframe, + // display for all div elements is set to "inline", + // which causes a problem only in Android 8 Chrome 86. + // Ensuring the div is `display: block` + // gets around this issue. + trChild.style.display = "block"; + + documentElement + .appendChild( table ) + .appendChild( tr ) + .appendChild( trChild ); + + trStyle = window.getComputedStyle( tr ); + reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) + + parseInt( trStyle.borderTopWidth, 10 ) + + parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight; + + documentElement.removeChild( table ); + } + return reliableTrDimensionsVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + isCustomProp = rcustomProp.test( name ), + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, trac-12537) + // .css('--customProperty) (gh-3144) + if ( computed ) { + + // Support: IE <=9 - 11+ + // IE only supports `"float"` in `getPropertyValue`; in computed styles + // it's only available as `"cssFloat"`. We no longer modify properties + // sent to `.css()` apart from camelCasing, so we need to check both. + // Normally, this would create difference in behavior: if + // `getPropertyValue` returns an empty string, the value returned + // by `.css()` would be `undefined`. This is usually the case for + // disconnected elements. However, in IE even disconnected elements + // with no styles return `"none"` for `getPropertyValue( "float" )` + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( isCustomProp && ret ) { + + // Support: Firefox 105+, Chrome <=105+ + // Spec requires trimming whitespace for custom properties (gh-4926). + // Firefox only trims leading whitespace. Chrome just collapses + // both leading & trailing whitespace to a single space. + // + // Fall back to `undefined` if empty string returned. + // This collapses a missing definition with property defined + // and set to an empty string but there's no standard API + // allowing us to differentiate them without a performance penalty + // and returning `undefined` aligns with older jQuery. + // + // rtrimCSS treats U+000D CARRIAGE RETURN and U+000C FORM FEED + // as whitespace while CSS does not, but this is not a problem + // because CSS preprocessing replaces them with U+000A LINE FEED + // (which *is* CSS whitespace) + // https://www.w3.org/TR/css-syntax-3/#input-preprocessing + ret = ret.replace( rtrimCSS, "$1" ) || undefined; + } + + if ( ret === "" && !isAttached( elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style, + vendorProps = {}; + +// Return a vendor-prefixed property or undefined +function vendorPropName( name ) { + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a potentially-mapped jQuery.cssProps or vendor prefixed property +function finalPropName( name ) { + var final = jQuery.cssProps[ name ] || vendorProps[ name ]; + + if ( final ) { + return final; + } + if ( name in emptyStyle ) { + return name; + } + return vendorProps[ name ] = vendorPropName( name ) || name; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }; + +function setPositiveNumber( _elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0, + marginDelta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + // Count margin delta separately to only add it after scroll gutter adjustment. + // This is needed to make negative margins work with `outerHeight( true )` (gh-3982). + if ( box === "margin" ) { + marginDelta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + } + + // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + if ( !isBorderBox ) { + + // Add padding + delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // For "border" or "margin", add border + if ( box !== "padding" ) { + delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + + // But still keep track of it otherwise + } else { + extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + + // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + } else { + + // For "content", subtract padding + if ( box === "content" ) { + delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // For "content" or "padding", subtract border + if ( box !== "margin" ) { + delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + // Account for positive content-box scroll gutter when requested by providing computedVal + if ( !isBorderBox && computedVal >= 0 ) { + + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max( 0, Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + computedVal - + delta - + extra - + 0.5 + + // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter + // Use an explicit zero to avoid NaN (gh-3964) + ) ) || 0; + } + + return delta + marginDelta; +} + +function getWidthOrHeight( elem, dimension, extra ) { + + // Start with computed style + var styles = getStyles( elem ), + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). + // Fake content-box until we know it's needed to know the true value. + boxSizingNeeded = !support.boxSizingReliable() || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox, + + val = curCSS( elem, dimension, styles ), + offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); + + // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + if ( rnumnonpx.test( val ) ) { + if ( !extra ) { + return val; + } + val = "auto"; + } + + + // Support: IE 9 - 11 only + // Use offsetWidth/offsetHeight for when box sizing is unreliable. + // In those cases, the computed value can be trusted to be border-box. + if ( ( !support.boxSizingReliable() && isBorderBox || + + // Support: IE 10 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Interestingly, in some cases IE 9 doesn't suffer from this issue. + !support.reliableTrDimensions() && nodeName( elem, "tr" ) || + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + val === "auto" || + + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && + + // Make sure the element is visible & connected + elem.getClientRects().length ) { + + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Where available, offsetWidth/offsetHeight approximate border box dimensions. + // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the + // retrieved value as a content box dimension. + valueIsBorderBox = offsetProp in elem; + if ( valueIsBorderBox ) { + val = elem[ offsetProp ]; + } + } + + // Normalize "" and auto + val = parseFloat( val ) || 0; + + // Adjust for the element's box model + return ( val + + boxModelAdjustment( + elem, + dimension, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles, + + // Provide the current computed size to request scroll gutter calculation (gh-3589) + val + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + animationIterationCount: true, + aspectRatio: true, + borderImageSlice: true, + columnCount: true, + flexGrow: true, + flexShrink: true, + fontWeight: true, + gridArea: true, + gridColumn: true, + gridColumnEnd: true, + gridColumnStart: true, + gridRow: true, + gridRowEnd: true, + gridRowStart: true, + lineHeight: true, + opacity: true, + order: true, + orphans: true, + scale: true, + widows: true, + zIndex: true, + zoom: true, + + // SVG-related + fillOpacity: true, + floodOpacity: true, + stopOpacity: true, + strokeMiterlimit: true, + strokeOpacity: true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (trac-7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug trac-9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (trac-7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append + // "px" to a few hardcoded values. + if ( type === "number" && !isCustomProp ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( _i, dimension ) { + jQuery.cssHooks[ dimension ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = getStyles( elem ), + + // Only read styles.position if the test has a chance to fail + // to avoid forcing a reflow. + scrollboxSizeBuggy = !support.scrollboxSize() && + styles.position === "absolute", + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) + boxSizingNeeded = scrollboxSizeBuggy || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra ? + boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ) : + 0; + + // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + if ( isBorderBox && scrollboxSizeBuggy ) { + subtract -= Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + parseFloat( styles[ dimension ] ) - + boxModelAdjustment( elem, dimension, "border", false, styles ) - + 0.5 + ); + } + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ dimension ] = value; + value = jQuery.css( elem, dimension ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( prefix !== "margin" ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && ( + jQuery.cssHooks[ tween.prop ] || + tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = Date.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 15 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY and Edge just mirrors + // the overflowX value there. + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (trac-12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + result.stop.bind( result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = Date.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // Use proper attribute retrieval (trac-12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +function classesToArray( value ) { + if ( Array.isArray( value ) ) { + return value; + } + if ( typeof value === "string" ) { + return value.match( rnothtmlwhite ) || []; + } + return []; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classNames, cur, curValue, className, i, finalValue; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classNames = classesToArray( value ); + + if ( classNames.length ) { + return this.each( function() { + curValue = getClass( this ); + cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + for ( i = 0; i < classNames.length; i++ ) { + className = classNames[ i ]; + if ( cur.indexOf( " " + className + " " ) < 0 ) { + cur += className + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + this.setAttribute( "class", finalValue ); + } + } + } ); + } + + return this; + }, + + removeClass: function( value ) { + var classNames, cur, curValue, className, i, finalValue; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classNames = classesToArray( value ); + + if ( classNames.length ) { + return this.each( function() { + curValue = getClass( this ); + + // This expression is here for better compressibility (see addClass) + cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + for ( i = 0; i < classNames.length; i++ ) { + className = classNames[ i ]; + + // Remove *all* instances + while ( cur.indexOf( " " + className + " " ) > -1 ) { + cur = cur.replace( " " + className + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + this.setAttribute( "class", finalValue ); + } + } + } ); + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var classNames, className, i, self, + type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + classNames = classesToArray( value ); + + return this.each( function() { + if ( isValidValue ) { + + // Toggle individual class names + self = jQuery( this ); + + for ( i = 0; i < classNames.length; i++ ) { + className = classNames[ i ]; + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, valueIsFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( valueIsFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (trac-14686, trac-14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (trac-2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion +var location = window.location; + +var nonce = { guid: Date.now() }; + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml, parserErrorElem; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) {} + + parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ]; + if ( !xml || parserErrorElem ) { + jQuery.error( "Invalid XML: " + ( + parserErrorElem ? + jQuery.map( parserErrorElem.childNodes, function( el ) { + return el.textContent; + } ).join( "\n" ) : + data + ) ); + } + return xml; +}; + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function( e ) { + e.stopPropagation(); + }; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = lastElement = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (trac-9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (trac-9724) + if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + lastElement = cur; + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (trac-6170) + if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + + if ( event.isPropagationStopped() ) { + lastElement.addEventListener( type, stopPropagationCallback ); + } + + elem[ type ](); + + if ( event.isPropagationStopped() ) { + lastElement.removeEventListener( type, stopPropagationCallback ); + } + + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && toType( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + if ( a == null ) { + return ""; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ).filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ).map( function( _i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // trac-7653, trac-8125, trac-8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (trac-10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + +originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes trac-9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() + " " ] = + ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) + .concat( match[ 2 ] ); + } + } + match = responseHeaders[ key.toLowerCase() + " " ]; + } + return match == null ? null : match.join( ", " ); + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (trac-10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket trac-12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 15 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (trac-15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available and should be processed, append data to url + if ( s.data && ( s.processData || typeof s.data === "string" ) ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // trac-9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Use a noop converter for missing script but not if jsonp + if ( !isSuccess && + jQuery.inArray( "script", s.dataTypes ) > -1 && + jQuery.inArray( "json", s.dataTypes ) < 0 ) { + s.converters[ "text script" ] = function() {}; + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( _i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + +jQuery.ajaxPrefilter( function( s ) { + var i; + for ( i in s.headers ) { + if ( i.toLowerCase() === "content-type" ) { + s.contentType = s.headers[ i ] || ""; + } + } +} ); + + +jQuery._evalUrl = function( url, options, doc ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (trac-11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + + // Only evaluate the response if it is successful (gh-4126) + // dataFilter is not invoked for failure responses, so using it instead + // of the default converter is kludgy but it works. + converters: { + "text script": function() {} + }, + dataFilter: function( response ) { + jQuery.globalEval( response, options, doc ); + } + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var htmlIsFunction = isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // trac-1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.ontimeout = + xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see trac-8605, trac-14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // trac-14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain or forced-by-attrs requests + if ( s.crossDomain || s.scriptAttrs ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( "<script>" ) + .attr( s.scriptAttrs || {} ) + .prop( { charset: s.scriptCharset, src: s.url } ) + .on( "load error", callback = function( evt ) { + script.remove(); + callback = null; + if ( evt ) { + complete( evt.type === "error" ? 404 : 200, evt.type ); + } + } ); + + // Use native DOM manipulation to avoid our domManip AJAX trickery + document.head.appendChild( script[ 0 ] ); + }, + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +var oldCallbacks = [], + rjsonp = /(=)\?(?=&|$)|\?\?/; + +// Default jsonp settings +jQuery.ajaxSetup( { + jsonp: "callback", + jsonpCallback: function() { + var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce.guid++ ) ); + this[ callback ] = true; + return callback; + } +} ); + +// Detect, normalize options and install callbacks for jsonp requests +jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { + + var callbackName, overwritten, responseContainer, + jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? + "url" : + typeof s.data === "string" && + ( s.contentType || "" ) + .indexOf( "application/x-www-form-urlencoded" ) === 0 && + rjsonp.test( s.data ) && "data" + ); + + // Handle iff the expected data type is "jsonp" or we have a parameter to set + if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { + + // Get callback name, remembering preexisting value associated with it + callbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ? + s.jsonpCallback() : + s.jsonpCallback; + + // Insert callback into url or form data + if ( jsonProp ) { + s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); + } else if ( s.jsonp !== false ) { + s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; + } + + // Use data converter to retrieve json after script execution + s.converters[ "script json" ] = function() { + if ( !responseContainer ) { + jQuery.error( callbackName + " was not called" ); + } + return responseContainer[ 0 ]; + }; + + // Force json dataType + s.dataTypes[ 0 ] = "json"; + + // Install callback + overwritten = window[ callbackName ]; + window[ callbackName ] = function() { + responseContainer = arguments; + }; + + // Clean-up function (fires after converters) + jqXHR.always( function() { + + // If previous value didn't exist - remove it + if ( overwritten === undefined ) { + jQuery( window ).removeProp( callbackName ); + + // Otherwise restore preexisting value + } else { + window[ callbackName ] = overwritten; + } + + // Save back as free + if ( s[ callbackName ] ) { + + // Make sure that re-using the options doesn't screw things around + s.jsonpCallback = originalSettings.jsonpCallback; + + // Save the callback name for future use + oldCallbacks.push( callbackName ); + } + + // Call if it was a function and we have a response + if ( responseContainer && isFunction( overwritten ) ) { + overwritten( responseContainer[ 0 ] ); + } + + responseContainer = overwritten = undefined; + } ); + + // Delegate to script + return "script"; + } +} ); + + + + +// Support: Safari 8 only +// In Safari 8 documents created via document.implementation.createHTMLDocument +// collapse sibling forms: the second one becomes a child of the first one. +// Because of that, this security measure has to be disabled in Safari 8. +// https://bugs.webkit.org/show_bug.cgi?id=137337 +support.createHTMLDocument = ( function() { + var body = document.implementation.createHTMLDocument( "" ).body; + body.innerHTML = "<form></form><form></form>"; + return body.childNodes.length === 2; +} )(); + + +// Argument "data" should be string of html +// context (optional): If specified, the fragment will be created in this context, +// defaults to document +// keepScripts (optional): If true, will include scripts passed in the html string +jQuery.parseHTML = function( data, context, keepScripts ) { + if ( typeof data !== "string" ) { + return []; + } + if ( typeof context === "boolean" ) { + keepScripts = context; + context = false; + } + + var base, parsed, scripts; + + if ( !context ) { + + // Stop scripts or inline event handlers from being executed immediately + // by using document.implementation + if ( support.createHTMLDocument ) { + context = document.implementation.createHTMLDocument( "" ); + + // Set the base href for the created document + // so any parsed elements with URLs + // are based on the document's URL (gh-2965) + base = context.createElement( "base" ); + base.href = document.location.href; + context.head.appendChild( base ); + } else { + context = document; + } + } + + parsed = rsingleTag.exec( data ); + scripts = !keepScripts && []; + + // Single tag + if ( parsed ) { + return [ context.createElement( parsed[ 1 ] ) ]; + } + + parsed = buildFragment( [ data ], context, scripts ); + + if ( scripts && scripts.length ) { + jQuery( scripts ).remove(); + } + + return jQuery.merge( [], parsed.childNodes ); +}; + + +/** + * Load a url into a page + */ +jQuery.fn.load = function( url, params, callback ) { + var selector, type, response, + self = this, + off = url.indexOf( " " ); + + if ( off > -1 ) { + selector = stripAndCollapse( url.slice( off ) ); + url = url.slice( 0, off ); + } + + // If it's a function + if ( isFunction( params ) ) { + + // We assume that it's the callback + callback = params; + params = undefined; + + // Otherwise, build a param string + } else if ( params && typeof params === "object" ) { + type = "POST"; + } + + // If we have elements to modify, make the request + if ( self.length > 0 ) { + jQuery.ajax( { + url: url, + + // If "type" variable is undefined, then "GET" method will be used. + // Make value of this field explicit since + // user can override it through ajaxSetup method + type: type || "GET", + dataType: "html", + data: params + } ).done( function( responseText ) { + + // Save response for use in complete callback + response = arguments; + + self.html( selector ? + + // If a selector was specified, locate the right elements in a dummy div + // Exclude scripts to avoid IE 'Permission Denied' errors + jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) : + + // Otherwise use the full result + responseText ); + + // If the request succeeds, this function gets "data", "status", "jqXHR" + // but they are ignored because response was set above. + // If it fails, this function gets "jqXHR", "status", "error" + } ).always( callback && function( jqXHR, status ) { + self.each( function() { + callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] ); + } ); + } ); + } + + return this; +}; + + + + +jQuery.expr.pseudos.animated = function( elem ) { + return jQuery.grep( jQuery.timers, function( fn ) { + return elem === fn.elem; + } ).length; +}; + + + + +jQuery.offset = { + setOffset: function( elem, options, i ) { + var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, + position = jQuery.css( elem, "position" ), + curElem = jQuery( elem ), + props = {}; + + // Set position first, in-case top/left are set even on static elem + if ( position === "static" ) { + elem.style.position = "relative"; + } + + curOffset = curElem.offset(); + curCSSTop = jQuery.css( elem, "top" ); + curCSSLeft = jQuery.css( elem, "left" ); + calculatePosition = ( position === "absolute" || position === "fixed" ) && + ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1; + + // Need to be able to calculate position if either + // top or left is auto and position is either absolute or fixed + if ( calculatePosition ) { + curPosition = curElem.position(); + curTop = curPosition.top; + curLeft = curPosition.left; + + } else { + curTop = parseFloat( curCSSTop ) || 0; + curLeft = parseFloat( curCSSLeft ) || 0; + } + + if ( isFunction( options ) ) { + + // Use jQuery.extend here to allow modification of coordinates argument (gh-1848) + options = options.call( elem, i, jQuery.extend( {}, curOffset ) ); + } + + if ( options.top != null ) { + props.top = ( options.top - curOffset.top ) + curTop; + } + if ( options.left != null ) { + props.left = ( options.left - curOffset.left ) + curLeft; + } + + if ( "using" in options ) { + options.using.call( elem, props ); + + } else { + curElem.css( props ); + } + } +}; + +jQuery.fn.extend( { + + // offset() relates an element's border box to the document origin + offset: function( options ) { + + // Preserve chaining for setter + if ( arguments.length ) { + return options === undefined ? + this : + this.each( function( i ) { + jQuery.offset.setOffset( this, options, i ); + } ); + } + + var rect, win, + elem = this[ 0 ]; + + if ( !elem ) { + return; + } + + // Return zeros for disconnected and hidden (display: none) elements (gh-2310) + // Support: IE <=11 only + // Running getBoundingClientRect on a + // disconnected node in IE throws an error + if ( !elem.getClientRects().length ) { + return { top: 0, left: 0 }; + } + + // Get document-relative position by adding viewport scroll to viewport-relative gBCR + rect = elem.getBoundingClientRect(); + win = elem.ownerDocument.defaultView; + return { + top: rect.top + win.pageYOffset, + left: rect.left + win.pageXOffset + }; + }, + + // position() relates an element's margin box to its offset parent's padding box + // This corresponds to the behavior of CSS absolute positioning + position: function() { + if ( !this[ 0 ] ) { + return; + } + + var offsetParent, offset, doc, + elem = this[ 0 ], + parentOffset = { top: 0, left: 0 }; + + // position:fixed elements are offset from the viewport, which itself always has zero offset + if ( jQuery.css( elem, "position" ) === "fixed" ) { + + // Assume position:fixed implies availability of getBoundingClientRect + offset = elem.getBoundingClientRect(); + + } else { + offset = this.offset(); + + // Account for the *real* offset parent, which can be the document or its root element + // when a statically positioned element is identified + doc = elem.ownerDocument; + offsetParent = elem.offsetParent || doc.documentElement; + while ( offsetParent && + ( offsetParent === doc.body || offsetParent === doc.documentElement ) && + jQuery.css( offsetParent, "position" ) === "static" ) { + + offsetParent = offsetParent.parentNode; + } + if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) { + + // Incorporate borders into its offset, since they are outside its content origin + parentOffset = jQuery( offsetParent ).offset(); + parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true ); + parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true ); + } + } + + // Subtract parent offsets and element margins + return { + top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), + left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true ) + }; + }, + + // This method will return documentElement in the following cases: + // 1) For the element inside the iframe without offsetParent, this method will return + // documentElement of the parent window + // 2) For the hidden or detached element + // 3) For body or html element, i.e. in case of the html node - it will return itself + // + // but those exceptions were never presented as a real life use-cases + // and might be considered as more preferable results. + // + // This logic, however, is not guaranteed and can change at any point in the future + offsetParent: function() { + return this.map( function() { + var offsetParent = this.offsetParent; + + while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) { + offsetParent = offsetParent.offsetParent; + } + + return offsetParent || documentElement; + } ); + } +} ); + +// Create scrollLeft and scrollTop methods +jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) { + var top = "pageYOffset" === prop; + + jQuery.fn[ method ] = function( val ) { + return access( this, function( elem, method, val ) { + + // Coalesce documents and windows + var win; + if ( isWindow( elem ) ) { + win = elem; + } else if ( elem.nodeType === 9 ) { + win = elem.defaultView; + } + + if ( val === undefined ) { + return win ? win[ prop ] : elem[ method ]; + } + + if ( win ) { + win.scrollTo( + !top ? val : win.pageXOffset, + top ? val : win.pageYOffset + ); + + } else { + elem[ method ] = val; + } + }, method, val, arguments.length ); + }; +} ); + +// Support: Safari <=7 - 9.1, Chrome <=37 - 49 +// Add the top/left cssHooks using jQuery.fn.position +// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 +// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347 +// getComputedStyle returns percent when specified for top/left/bottom/right; +// rather than make the css module depend on the offset module, just check for it here +jQuery.each( [ "top", "left" ], function( _i, prop ) { + jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition, + function( elem, computed ) { + if ( computed ) { + computed = curCSS( elem, prop ); + + // If curCSS returns percentage, fallback to offset + return rnumnonpx.test( computed ) ? + jQuery( elem ).position()[ prop ] + "px" : + computed; + } + } + ); +} ); + + +// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods +jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { + jQuery.each( { + padding: "inner" + name, + content: type, + "": "outer" + name + }, function( defaultExtra, funcName ) { + + // Margin is only for outerHeight, outerWidth + jQuery.fn[ funcName ] = function( margin, value ) { + var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), + extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); + + return access( this, function( elem, type, value ) { + var doc; + + if ( isWindow( elem ) ) { + + // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729) + return funcName.indexOf( "outer" ) === 0 ? + elem[ "inner" + name ] : + elem.document.documentElement[ "client" + name ]; + } + + // Get document width or height + if ( elem.nodeType === 9 ) { + doc = elem.documentElement; + + // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], + // whichever is greatest + return Math.max( + elem.body[ "scroll" + name ], doc[ "scroll" + name ], + elem.body[ "offset" + name ], doc[ "offset" + name ], + doc[ "client" + name ] + ); + } + + return value === undefined ? + + // Get width or height on the element, requesting but not forcing parseFloat + jQuery.css( elem, type, extra ) : + + // Set width or height on the element + jQuery.style( elem, type, value, extra ); + }, type, chainable ? margin : undefined, chainable ); + }; + } ); +} ); + + +jQuery.each( [ + "ajaxStart", + "ajaxStop", + "ajaxComplete", + "ajaxError", + "ajaxSuccess", + "ajaxSend" +], function( _i, type ) { + jQuery.fn[ type ] = function( fn ) { + return this.on( type, fn ); + }; +} ); + + + + +jQuery.fn.extend( { + + bind: function( types, data, fn ) { + return this.on( types, null, data, fn ); + }, + unbind: function( types, fn ) { + return this.off( types, null, fn ); + }, + + delegate: function( selector, types, data, fn ) { + return this.on( types, selector, data, fn ); + }, + undelegate: function( selector, types, fn ) { + + // ( namespace ) or ( selector, types [, fn] ) + return arguments.length === 1 ? + this.off( selector, "**" ) : + this.off( types, selector || "**", fn ); + }, + + hover: function( fnOver, fnOut ) { + return this + .on( "mouseenter", fnOver ) + .on( "mouseleave", fnOut || fnOver ); + } +} ); + +jQuery.each( + ( "blur focus focusin focusout resize scroll click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup contextmenu" ).split( " " ), + function( _i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; + } +); + + + + +// Support: Android <=4.0 only +// Make sure we trim BOM and NBSP +// Require that the "whitespace run" starts from a non-whitespace +// to avoid O(N^2) behavior when the engine would try matching "\s+$" at each space position. +var rtrim = /^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g; + +// Bind a function to a context, optionally partially applying any +// arguments. +// jQuery.proxy is deprecated to promote standards (specifically Function#bind) +// However, it is not slated for removal any time soon +jQuery.proxy = function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; +}; + +jQuery.holdReady = function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } +}; +jQuery.isArray = Array.isArray; +jQuery.parseJSON = JSON.parse; +jQuery.nodeName = nodeName; +jQuery.isFunction = isFunction; +jQuery.isWindow = isWindow; +jQuery.camelCase = camelCase; +jQuery.type = toType; + +jQuery.now = Date.now; + +jQuery.isNumeric = function( obj ) { + + // As of jQuery 3.0, isNumeric is limited to + // strings and numbers (primitives or objects) + // that can be coerced to finite numbers (gh-2662) + var type = jQuery.type( obj ); + return ( type === "number" || type === "string" ) && + + // parseFloat NaNs numeric-cast false positives ("") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + !isNaN( obj - parseFloat( obj ) ); +}; + +jQuery.trim = function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "$1" ); +}; + + + +// Register as a named AMD module, since jQuery can be concatenated with other +// files that may use define, but not via a proper concatenation script that +// understands anonymous AMD modules. A named AMD is safest and most robust +// way to register. Lowercase jquery is used because AMD module names are +// derived from file names, and jQuery is normally delivered in a lowercase +// file name. Do this after creating the global so that if an AMD module wants +// to call noConflict to hide this version of jQuery, it will work. + +// Note that for maximum portability, libraries that are not jQuery should +// declare themselves as anonymous modules, and avoid setting a global if an +// AMD loader is present. jQuery is a special case. For more information, see +// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon + +if ( typeof define === "function" && define.amd ) { + define( "jquery", [], function() { + return jQuery; + } ); +} + + + + +var + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$; + +jQuery.noConflict = function( deep ) { + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + window.jQuery = _jQuery; + } + + return jQuery; +}; + +// Expose jQuery and $ identifiers, even in AMD +// (trac-7102#comment:10, https://github.com/jquery/jquery/pull/557) +// and CommonJS for browser emulators (trac-13566) +if ( typeof noGlobal === "undefined" ) { + window.jQuery = window.$ = jQuery; +} + + + + +return jQuery; +} ); diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/jquery/jquery.min.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/jquery/jquery.min.js new file mode 100644 index 0000000..7f37b5d --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/jquery/jquery.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.7.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(ie,e){"use strict";var oe=[],r=Object.getPrototypeOf,ae=oe.slice,g=oe.flat?function(e){return oe.flat.call(e)}:function(e){return oe.concat.apply([],e)},s=oe.push,se=oe.indexOf,n={},i=n.toString,ue=n.hasOwnProperty,o=ue.toString,a=o.call(Object),le={},v=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},y=function(e){return null!=e&&e===e.window},C=ie.document,u={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||C).createElement("script");if(o.text=e,t)for(r in u)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[i.call(e)]||"object":typeof e}var t="3.7.1",l=/HTML$/i,ce=function(e,t){return new ce.fn.init(e,t)};function c(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!v(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}function fe(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}ce.fn=ce.prototype={jquery:t,constructor:ce,length:0,toArray:function(){return ae.call(this)},get:function(e){return null==e?ae.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=ce.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return ce.each(this,e)},map:function(n){return this.pushStack(ce.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(ae.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(ce.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(ce.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:s,sort:oe.sort,splice:oe.splice},ce.extend=ce.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||v(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(ce.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||ce.isPlainObject(n)?n:{},i=!1,a[t]=ce.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},ce.extend({expando:"jQuery"+(t+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==i.call(e))&&(!(t=r(e))||"function"==typeof(n=ue.call(t,"constructor")&&t.constructor)&&o.call(n)===a)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){m(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(c(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},text:function(e){var t,n="",r=0,i=e.nodeType;if(!i)while(t=e[r++])n+=ce.text(t);return 1===i||11===i?e.textContent:9===i?e.documentElement.textContent:3===i||4===i?e.nodeValue:n},makeArray:function(e,t){var n=t||[];return null!=e&&(c(Object(e))?ce.merge(n,"string"==typeof e?[e]:e):s.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:se.call(t,e,n)},isXMLDoc:function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!l.test(t||n&&n.nodeName||"HTML")},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(c(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:le}),"function"==typeof Symbol&&(ce.fn[Symbol.iterator]=oe[Symbol.iterator]),ce.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var pe=oe.pop,de=oe.sort,he=oe.splice,ge="[\\x20\\t\\r\\n\\f]",ve=new RegExp("^"+ge+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ge+"+$","g");ce.contains=function(e,t){var n=t&&t.parentNode;return e===n||!(!n||1!==n.nodeType||!(e.contains?e.contains(n):e.compareDocumentPosition&&16&e.compareDocumentPosition(n)))};var f=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;function p(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e}ce.escapeSelector=function(e){return(e+"").replace(f,p)};var ye=C,me=s;!function(){var e,b,w,o,a,T,r,C,d,i,k=me,S=ce.expando,E=0,n=0,s=W(),c=W(),u=W(),h=W(),l=function(e,t){return e===t&&(a=!0),0},f="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",t="(?:\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",p="\\["+ge+"*("+t+")(?:"+ge+"*([*^$|!~]?=)"+ge+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+t+"))|)"+ge+"*\\]",g=":("+t+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+p+")*)|.*)\\)|)",v=new RegExp(ge+"+","g"),y=new RegExp("^"+ge+"*,"+ge+"*"),m=new RegExp("^"+ge+"*([>+~]|"+ge+")"+ge+"*"),x=new RegExp(ge+"|>"),j=new RegExp(g),A=new RegExp("^"+t+"$"),D={ID:new RegExp("^#("+t+")"),CLASS:new RegExp("^\\.("+t+")"),TAG:new RegExp("^("+t+"|[*])"),ATTR:new RegExp("^"+p),PSEUDO:new RegExp("^"+g),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ge+"*(even|odd|(([+-]|)(\\d*)n|)"+ge+"*(?:([+-]|)"+ge+"*(\\d+)|))"+ge+"*\\)|)","i"),bool:new RegExp("^(?:"+f+")$","i"),needsContext:new RegExp("^"+ge+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ge+"*((?:-\\d)?\\d*)"+ge+"*\\)|)(?=[^-]|$)","i")},N=/^(?:input|select|textarea|button)$/i,q=/^h\d$/i,L=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,H=/[+~]/,O=new RegExp("\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\([^\\r\\n\\f])","g"),P=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},M=function(){V()},R=J(function(e){return!0===e.disabled&&fe(e,"fieldset")},{dir:"parentNode",next:"legend"});try{k.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){k={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(V(e),e=e||T,C)){if(11!==p&&(u=L.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return k.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return k.call(n,a),n}else{if(u[2])return k.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return k.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+" "]||d&&d.test(t))){if(c=t,f=e,1===p&&(x.test(t)||m.test(t))){(f=H.test(t)&&U(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute("id"))?s=ce.escapeSelector(s):e.setAttribute("id",s=S)),o=(l=Y(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+Q(l[o]);c=l.join(",")}try{return k.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return re(t.replace(ve,"$1"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function F(e){return e[S]=!0,e}function $(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function B(t){return function(e){return fe(e,"input")&&e.type===t}}function _(t){return function(e){return(fe(e,"input")||fe(e,"button"))&&e.type===t}}function z(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&R(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function X(a){return F(function(o){return o=+o,F(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function U(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=T&&9===n.nodeType&&n.documentElement&&(r=(T=n).documentElement,C=!ce.isXMLDoc(T),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,r.msMatchesSelector&&ye!=T&&(t=T.defaultView)&&t.top!==t&&t.addEventListener("unload",M),le.getById=$(function(e){return r.appendChild(e).id=ce.expando,!T.getElementsByName||!T.getElementsByName(ce.expando).length}),le.disconnectedMatch=$(function(e){return i.call(e,"*")}),le.scope=$(function(){return T.querySelectorAll(":scope")}),le.cssHas=$(function(){try{return T.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),le.getById?(b.filter.ID=function(e){var t=e.replace(O,P);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(O,P);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},b.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&C)return t.getElementsByClassName(e)},d=[],$(function(e){var t;r.appendChild(e).innerHTML="<a id='"+S+"' href='' disabled='disabled'></a><select id='"+S+"-\r\\' disabled='disabled'><option selected=''></option></select>",e.querySelectorAll("[selected]").length||d.push("\\["+ge+"*(?:value|"+f+")"),e.querySelectorAll("[id~="+S+"-]").length||d.push("~="),e.querySelectorAll("a#"+S+"+*").length||d.push(".#.+[+~]"),e.querySelectorAll(":checked").length||d.push(":checked"),(t=T.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&d.push(":enabled",":disabled"),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||d.push("\\["+ge+"*name"+ge+"*="+ge+"*(?:''|\"\")")}),le.cssHas||d.push(":has"),d=d.length&&new RegExp(d.join("|")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===T||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),T}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),C&&!h[t+" "]&&(!d||!d.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0<I(t,T,null,[e]).length},I.contains=function(e,t){return(e.ownerDocument||e)!=T&&V(e),ce.contains(e,t)},I.attr=function(e,t){(e.ownerDocument||e)!=T&&V(e);var n=b.attrHandle[t.toLowerCase()],r=n&&ue.call(b.attrHandle,t.toLowerCase())?n(e,t,!C):void 0;return void 0!==r?r:e.getAttribute(t)},I.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},ce.uniqueSort=function(e){var t,n=[],r=0,i=0;if(a=!le.sortStable,o=!le.sortStable&&ae.call(e,0),de.call(e,l),a){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)he.call(e,n[r],1)}return o=null,e},ce.fn.uniqueSort=function(){return this.pushStack(ce.uniqueSort(ae.apply(this)))},(b=ce.expr={cacheLength:50,createPseudo:F,match:D,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(O,P),e[3]=(e[3]||e[4]||e[5]||"").replace(O,P),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return D.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&j.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(O,P).toLowerCase();return"*"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+" "];return t||(t=new RegExp("(^|"+ge+")"+e+"("+ge+"|$)"))&&s(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(v," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(d,e,t,h,g){var v="nth"!==d.slice(0,3),y="last"!==d.slice(-4),m="of-type"===e;return 1===h&&0===g?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u=v!==y?"nextSibling":"previousSibling",l=e.parentNode,c=m&&e.nodeName.toLowerCase(),f=!n&&!m,p=!1;if(l){if(v){while(u){o=e;while(o=o[u])if(m?fe(o,c):1===o.nodeType)return!1;s=u="only"===d&&!s&&"nextSibling"}return!0}if(s=[y?l.firstChild:l.lastChild],y&&f){p=(a=(r=(i=l[S]||(l[S]={}))[d]||[])[0]===E&&r[1])&&r[2],o=a&&l.childNodes[a];while(o=++a&&o&&o[u]||(p=a=0)||s.pop())if(1===o.nodeType&&++p&&o===e){i[d]=[E,a,p];break}}else if(f&&(p=a=(r=(i=e[S]||(e[S]={}))[d]||[])[0]===E&&r[1]),!1===p)while(o=++a&&o&&o[u]||(p=a=0)||s.pop())if((m?fe(o,c):1===o.nodeType)&&++p&&(f&&((i=o[S]||(o[S]={}))[d]=[E,p]),o===e))break;return(p-=g)===h||p%h==0&&0<=p/h}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||I.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?F(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=se.call(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:F(function(e){var r=[],i=[],s=ne(e.replace(ve,"$1"));return s[S]?F(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:F(function(t){return function(e){return 0<I(t,e).length}}),contains:F(function(t){return t=t.replace(O,P),function(e){return-1<(e.textContent||ce.text(e)).indexOf(t)}}),lang:F(function(n){return A.test(n||"")||I.error("unsupported lang: "+n),n=n.replace(O,P).toLowerCase(),function(e){var t;do{if(t=C?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=ie.location&&ie.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===r},focus:function(e){return e===function(){try{return T.activeElement}catch(e){}}()&&T.hasFocus()&&!!(e.type||e.href||~e.tabIndex)},enabled:z(!1),disabled:z(!0),checked:function(e){return fe(e,"input")&&!!e.checked||fe(e,"option")&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return q.test(e.nodeName)},input:function(e){return N.test(e.nodeName)},button:function(e){return fe(e,"input")&&"button"===e.type||fe(e,"button")},text:function(e){var t;return fe(e,"input")&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:X(function(){return[0]}),last:X(function(e,t){return[t-1]}),eq:X(function(e,t,n){return[n<0?n+t:n]}),even:X(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:X(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:X(function(e,t,n){var r;for(r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:X(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=B(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=_(e);function G(){}function Y(e,t){var n,r,i,o,a,s,u,l=c[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=y.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=m.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(ve," ")}),a=a.slice(n.length)),b.filter)!(r=D[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?I.error(e):c(e,s).slice(0)}function Q(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function J(a,e,t){var s=e.dir,u=e.next,l=u||s,c=t&&"parentNode"===l,f=n++;return e.first?function(e,t,n){while(e=e[s])if(1===e.nodeType||c)return a(e,t,n);return!1}:function(e,t,n){var r,i,o=[E,f];if(n){while(e=e[s])if((1===e.nodeType||c)&&a(e,t,n))return!0}else while(e=e[s])if(1===e.nodeType||c)if(i=e[S]||(e[S]={}),u&&fe(e,u))e=e[s]||e;else{if((r=i[l])&&r[0]===E&&r[1]===f)return o[2]=r[2];if((i[l]=o)[2]=a(e,t,n))return!0}return!1}}function K(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Z(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function ee(d,h,g,v,y,e){return v&&!v[S]&&(v=ee(v)),y&&!y[S]&&(y=ee(y,e)),F(function(e,t,n,r){var i,o,a,s,u=[],l=[],c=t.length,f=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)I(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),p=!d||!e&&h?f:Z(f,u,d,n,r);if(g?g(p,s=y||(e?d:c||v)?[]:t,n,r):s=p,v){i=Z(s,l),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(s[l[o]]=!(p[l[o]]=a))}if(e){if(y||d){if(y){i=[],o=s.length;while(o--)(a=s[o])&&i.push(p[o]=a);y(null,s=[],i,r)}o=s.length;while(o--)(a=s[o])&&-1<(i=y?se.call(e,a):u[o])&&(e[i]=!(t[i]=a))}}else s=Z(s===t?s.splice(c,s.length):s),y?y(null,t,s,r):k.apply(t,s)})}function te(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=J(function(e){return e===i},a,!0),l=J(function(e){return-1<se.call(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!=w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[J(K(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return ee(1<s&&K(c),1<s&&Q(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(ve,"$1"),t,s<n&&te(e.slice(s,n)),n<r&&te(e=e.slice(n)),n<r&&Q(e))}c.push(t)}return K(c)}function ne(e,t){var n,v,y,m,x,r,i=[],o=[],a=u[e+" "];if(!a){t||(t=Y(e)),n=t.length;while(n--)(a=te(t[n]))[S]?i.push(a):o.push(a);(a=u(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=E+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==T||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==T||(V(o),n=!C);while(s=v[a++])if(s(o,t||T,n)){k.call(r,o);break}i&&(E=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=pe.call(r));f=Z(f)}k.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&ce.uniqueSort(r)}return i&&(E=h,w=p),c},m?F(r):r))).selector=e}return a}function re(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&Y(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&C&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(O,P),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=D.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(O,P),H.test(o[0].type)&&U(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&Q(o)))return k.apply(n,r),n;break}}}return(l||ne(e,c))(r,t,!C,n,!t||H.test(e)&&U(t.parentNode)||t),n}G.prototype=b.filters=b.pseudos,b.setFilters=new G,le.sortStable=S.split("").sort(l).join("")===S,V(),le.sortDetached=$(function(e){return 1&e.compareDocumentPosition(T.createElement("fieldset"))}),ce.find=I,ce.expr[":"]=ce.expr.pseudos,ce.unique=ce.uniqueSort,I.compile=ne,I.select=re,I.setDocument=V,I.tokenize=Y,I.escape=ce.escapeSelector,I.getText=ce.text,I.isXML=ce.isXMLDoc,I.selectors=ce.expr,I.support=ce.support,I.uniqueSort=ce.uniqueSort}();var d=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&ce(e).is(n))break;r.push(e)}return r},h=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},b=ce.expr.match.needsContext,w=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):"string"!=typeof n?ce.grep(e,function(e){return-1<se.call(n,e)!==r}):ce.filter(n,e,r)}ce.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?ce.find.matchesSelector(r,e)?[r]:[]:ce.find.matches(e,ce.grep(t,function(e){return 1===e.nodeType}))},ce.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(ce(e).filter(function(){for(t=0;t<r;t++)if(ce.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)ce.find(e,i[t],n);return 1<r?ce.uniqueSort(n):n},filter:function(e){return this.pushStack(T(this,e||[],!1))},not:function(e){return this.pushStack(T(this,e||[],!0))},is:function(e){return!!T(this,"string"==typeof e&&b.test(e)?ce(e):e||[],!1).length}});var k,S=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||k,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:S.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),w.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=C.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,k=ce(C);var E=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function A(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(ce.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&ce(e);if(!b.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&ce.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?ce.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?se.call(ce(e),this[0]):se.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(ce.uniqueSort(ce.merge(this.get(),ce(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),ce.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return d(e,"parentNode")},parentsUntil:function(e,t,n){return d(e,"parentNode",n)},next:function(e){return A(e,"nextSibling")},prev:function(e){return A(e,"previousSibling")},nextAll:function(e){return d(e,"nextSibling")},prevAll:function(e){return d(e,"previousSibling")},nextUntil:function(e,t,n){return d(e,"nextSibling",n)},prevUntil:function(e,t,n){return d(e,"previousSibling",n)},siblings:function(e){return h((e.parentNode||{}).firstChild,e)},children:function(e){return h(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(fe(e,"template")&&(e=e.content||e),ce.merge([],e.childNodes))}},function(r,i){ce.fn[r]=function(e,t){var n=ce.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=ce.filter(t,n)),1<this.length&&(j[r]||ce.uniqueSort(n),E.test(r)&&n.reverse()),this.pushStack(n)}});var D=/[^\x20\t\r\n\f]+/g;function N(e){return e}function q(e){throw e}function L(e,t,n,r){var i;try{e&&v(i=e.promise)?i.call(e).done(t).fail(n):e&&v(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}ce.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},ce.each(e.match(D)||[],function(e,t){n[t]=!0}),n):ce.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){ce.each(e,function(e,t){v(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==x(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return ce.each(arguments,function(e,t){var n;while(-1<(n=ce.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<ce.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},ce.extend({Deferred:function(e){var o=[["notify","progress",ce.Callbacks("memory"),ce.Callbacks("memory"),2],["resolve","done",ce.Callbacks("once memory"),ce.Callbacks("once memory"),0,"resolved"],["reject","fail",ce.Callbacks("once memory"),ce.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return ce.Deferred(function(r){ce.each(o,function(e,t){var n=v(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&v(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,v(t)?s?t.call(e,l(u,o,N,s),l(u,o,q,s)):(u++,t.call(e,l(u,o,N,s),l(u,o,q,s),l(u,o,N,o.notifyWith))):(a!==N&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){ce.Deferred.exceptionHook&&ce.Deferred.exceptionHook(e,t.error),u<=i+1&&(a!==q&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(ce.Deferred.getErrorHook?t.error=ce.Deferred.getErrorHook():ce.Deferred.getStackHook&&(t.error=ce.Deferred.getStackHook()),ie.setTimeout(t))}}return ce.Deferred(function(e){o[0][3].add(l(0,e,v(r)?r:N,e.notifyWith)),o[1][3].add(l(0,e,v(t)?t:N)),o[2][3].add(l(0,e,v(n)?n:q))}).promise()},promise:function(e){return null!=e?ce.extend(e,a):a}},s={};return ce.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=ae.call(arguments),o=ce.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?ae.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(L(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||v(i[t]&&i[t].then)))return o.then();while(t--)L(i[t],a(t),o.reject);return o.promise()}});var H=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;ce.Deferred.exceptionHook=function(e,t){ie.console&&ie.console.warn&&e&&H.test(e.name)&&ie.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},ce.readyException=function(e){ie.setTimeout(function(){throw e})};var O=ce.Deferred();function P(){C.removeEventListener("DOMContentLoaded",P),ie.removeEventListener("load",P),ce.ready()}ce.fn.ready=function(e){return O.then(e)["catch"](function(e){ce.readyException(e)}),this},ce.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--ce.readyWait:ce.isReady)||(ce.isReady=!0)!==e&&0<--ce.readyWait||O.resolveWith(C,[ce])}}),ce.ready.then=O.then,"complete"===C.readyState||"loading"!==C.readyState&&!C.documentElement.doScroll?ie.setTimeout(ce.ready):(C.addEventListener("DOMContentLoaded",P),ie.addEventListener("load",P));var M=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n))for(s in i=!0,n)M(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,v(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(ce(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},R=/^-ms-/,I=/-([a-z])/g;function W(e,t){return t.toUpperCase()}function F(e){return e.replace(R,"ms-").replace(I,W)}var $=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function B(){this.expando=ce.expando+B.uid++}B.uid=1,B.prototype={cache:function(e){var t=e[this.expando];return t||(t={},$(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[F(t)]=n;else for(r in t)i[F(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][F(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(F):(t=F(t))in r?[t]:t.match(D)||[]).length;while(n--)delete r[t[n]]}(void 0===t||ce.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!ce.isEmptyObject(t)}};var _=new B,z=new B,X=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,U=/[A-Z]/g;function V(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(U,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:X.test(i)?JSON.parse(i):i)}catch(e){}z.set(e,t,n)}else n=void 0;return n}ce.extend({hasData:function(e){return z.hasData(e)||_.hasData(e)},data:function(e,t,n){return z.access(e,t,n)},removeData:function(e,t){z.remove(e,t)},_data:function(e,t,n){return _.access(e,t,n)},_removeData:function(e,t){_.remove(e,t)}}),ce.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=z.get(o),1===o.nodeType&&!_.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=F(r.slice(5)),V(o,r,i[r]));_.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){z.set(this,n)}):M(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=z.get(o,n))?t:void 0!==(t=V(o,n))?t:void 0;this.each(function(){z.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){z.remove(this,e)})}}),ce.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=_.get(e,t),n&&(!r||Array.isArray(n)?r=_.access(e,t,ce.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=ce.queue(e,t),r=n.length,i=n.shift(),o=ce._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){ce.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return _.get(e,n)||_.access(e,n,{empty:ce.Callbacks("once memory").add(function(){_.remove(e,[t+"queue",n])})})}}),ce.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?ce.queue(this[0],t):void 0===n?this:this.each(function(){var e=ce.queue(this,t,n);ce._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&ce.dequeue(this,t)})},dequeue:function(e){return this.each(function(){ce.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=ce.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=_.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var G=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Y=new RegExp("^(?:([+-])=|)("+G+")([a-z%]*)$","i"),Q=["Top","Right","Bottom","Left"],J=C.documentElement,K=function(e){return ce.contains(e.ownerDocument,e)},Z={composed:!0};J.getRootNode&&(K=function(e){return ce.contains(e.ownerDocument,e)||e.getRootNode(Z)===e.ownerDocument});var ee=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&K(e)&&"none"===ce.css(e,"display")};function te(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return ce.css(e,t,"")},u=s(),l=n&&n[3]||(ce.cssNumber[t]?"":"px"),c=e.nodeType&&(ce.cssNumber[t]||"px"!==l&&+u)&&Y.exec(ce.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)ce.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,ce.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ne={};function re(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=_.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ee(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ne[s])||(o=a.body.appendChild(a.createElement(s)),u=ce.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ne[s]=u)))):"none"!==n&&(l[c]="none",_.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}ce.fn.extend({show:function(){return re(this,!0)},hide:function(){return re(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ee(this)?ce(this).show():ce(this).hide()})}});var xe,be,we=/^(?:checkbox|radio)$/i,Te=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,Ce=/^$|^module$|\/(?:java|ecma)script/i;xe=C.createDocumentFragment().appendChild(C.createElement("div")),(be=C.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),xe.appendChild(be),le.checkClone=xe.cloneNode(!0).cloneNode(!0).lastChild.checked,xe.innerHTML="<textarea>x</textarea>",le.noCloneChecked=!!xe.cloneNode(!0).lastChild.defaultValue,xe.innerHTML="<option></option>",le.option=!!xe.lastChild;var ke={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function Se(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function Ee(e,t){for(var n=0,r=e.length;n<r;n++)_.set(e[n],"globalEval",!t||_.get(t[n],"globalEval"))}ke.tbody=ke.tfoot=ke.colgroup=ke.caption=ke.thead,ke.th=ke.td,le.option||(ke.optgroup=ke.option=[1,"<select multiple='multiple'>","</select>"]);var je=/<|&#?\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===x(o))ce.merge(p,o.nodeType?[o]:o);else if(je.test(o)){a=a||f.appendChild(t.createElement("div")),s=(Te.exec(o)||["",""])[1].toLowerCase(),u=ke[s]||ke._default,a.innerHTML=u[1]+ce.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;ce.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<ce.inArray(o,r))i&&i.push(o);else if(l=K(o),a=Se(f.appendChild(o),"script"),l&&Ee(a),n){c=0;while(o=a[c++])Ce.test(o.type||"")&&n.push(o)}return f}var De=/^([^.]*)(?:\.(.+)|)/;function Ne(){return!0}function qe(){return!1}function Le(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Le(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=qe;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return ce().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=ce.guid++)),e.each(function(){ce.event.add(this,t,i,r,n)})}function He(e,r,t){t?(_.set(e,r,!1),ce.event.add(e,r,{namespace:!1,handler:function(e){var t,n=_.get(this,r);if(1&e.isTrigger&&this[r]){if(n)(ce.event.special[r]||{}).delegateType&&e.stopPropagation();else if(n=ae.call(arguments),_.set(this,r,n),this[r](),t=_.get(this,r),_.set(this,r,!1),n!==t)return e.stopImmediatePropagation(),e.preventDefault(),t}else n&&(_.set(this,r,ce.event.trigger(n[0],n.slice(1),this)),e.stopPropagation(),e.isImmediatePropagationStopped=Ne)}})):void 0===_.get(e,r)&&ce.event.add(e,r,Ne)}ce.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=_.get(t);if($(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&ce.find.matchesSelector(J,i),n.guid||(n.guid=ce.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof ce&&ce.event.triggered!==e.type?ce.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(D)||[""]).length;while(l--)d=g=(s=De.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=ce.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=ce.event.special[d]||{},c=ce.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&ce.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),ce.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=_.hasData(e)&&_.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(D)||[""]).length;while(l--)if(d=g=(s=De.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=ce.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||ce.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)ce.event.remove(e,d+t[l],n,r,!0);ce.isEmptyObject(u)&&_.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=ce.event.fix(e),l=(_.get(this,"events")||Object.create(null))[u.type]||[],c=ce.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=ce.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((ce.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<ce(i,this).index(l):ce.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(ce.Event.prototype,t,{enumerable:!0,configurable:!0,get:v(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[ce.expando]?e:new ce.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return we.test(t.type)&&t.click&&fe(t,"input")&&He(t,"click",!0),!1},trigger:function(e){var t=this||e;return we.test(t.type)&&t.click&&fe(t,"input")&&He(t,"click"),!0},_default:function(e){var t=e.target;return we.test(t.type)&&t.click&&fe(t,"input")&&_.get(t,"click")||fe(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},ce.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},ce.Event=function(e,t){if(!(this instanceof ce.Event))return new ce.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ne:qe,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&ce.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[ce.expando]=!0},ce.Event.prototype={constructor:ce.Event,isDefaultPrevented:qe,isPropagationStopped:qe,isImmediatePropagationStopped:qe,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ne,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ne,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ne,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},ce.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},ce.event.addProp),ce.each({focus:"focusin",blur:"focusout"},function(r,i){function o(e){if(C.documentMode){var t=_.get(this,"handle"),n=ce.event.fix(e);n.type="focusin"===e.type?"focus":"blur",n.isSimulated=!0,t(e),n.target===n.currentTarget&&t(n)}else ce.event.simulate(i,e.target,ce.event.fix(e))}ce.event.special[r]={setup:function(){var e;if(He(this,r,!0),!C.documentMode)return!1;(e=_.get(this,i))||this.addEventListener(i,o),_.set(this,i,(e||0)+1)},trigger:function(){return He(this,r),!0},teardown:function(){var e;if(!C.documentMode)return!1;(e=_.get(this,i)-1)?_.set(this,i,e):(this.removeEventListener(i,o),_.remove(this,i))},_default:function(e){return _.get(e.target,r)},delegateType:i},ce.event.special[i]={setup:function(){var e=this.ownerDocument||this.document||this,t=C.documentMode?this:e,n=_.get(t,i);n||(C.documentMode?this.addEventListener(i,o):e.addEventListener(r,o,!0)),_.set(t,i,(n||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=C.documentMode?this:e,n=_.get(t,i)-1;n?_.set(t,i,n):(C.documentMode?this.removeEventListener(i,o):e.removeEventListener(r,o,!0),_.remove(t,i))}}}),ce.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){ce.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||ce.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),ce.fn.extend({on:function(e,t,n,r){return Le(this,e,t,n,r)},one:function(e,t,n,r){return Le(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,ce(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=qe),this.each(function(){ce.event.remove(this,e,n,t)})}});var Oe=/<script|<style|<link/i,Pe=/checked\s*(?:[^=]|=\s*.checked.)/i,Me=/^\s*<!\[CDATA\[|\]\]>\s*$/g;function Re(e,t){return fe(e,"table")&&fe(11!==t.nodeType?t:t.firstChild,"tr")&&ce(e).children("tbody")[0]||e}function Ie(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function We(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Fe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)ce.event.add(t,i,s[i][n]);z.hasData(e)&&(o=z.access(e),a=ce.extend({},o),z.set(t,a))}}function $e(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=v(d);if(h||1<f&&"string"==typeof d&&!le.checkClone&&Pe.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),$e(t,r,i,o)});if(f&&(t=(e=Ae(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=ce.map(Se(e,"script"),Ie)).length;c<f;c++)u=e,c!==p&&(u=ce.clone(u,!0,!0),s&&ce.merge(a,Se(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,ce.map(a,We),c=0;c<s;c++)u=a[c],Ce.test(u.type||"")&&!_.access(u,"globalEval")&&ce.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?ce._evalUrl&&!u.noModule&&ce._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):m(u.textContent.replace(Me,""),u,l))}return n}function Be(e,t,n){for(var r,i=t?ce.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||ce.cleanData(Se(r)),r.parentNode&&(n&&K(r)&&Ee(Se(r,"script")),r.parentNode.removeChild(r));return e}ce.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=K(e);if(!(le.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||ce.isXMLDoc(e)))for(a=Se(c),r=0,i=(o=Se(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&we.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||Se(e),a=a||Se(c),r=0,i=o.length;r<i;r++)Fe(o[r],a[r]);else Fe(e,c);return 0<(a=Se(c,"script")).length&&Ee(a,!f&&Se(e,"script")),c},cleanData:function(e){for(var t,n,r,i=ce.event.special,o=0;void 0!==(n=e[o]);o++)if($(n)){if(t=n[_.expando]){if(t.events)for(r in t.events)i[r]?ce.event.remove(n,r):ce.removeEvent(n,r,t.handle);n[_.expando]=void 0}n[z.expando]&&(n[z.expando]=void 0)}}}),ce.fn.extend({detach:function(e){return Be(this,e,!0)},remove:function(e){return Be(this,e)},text:function(e){return M(this,function(e){return void 0===e?ce.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return $e(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Re(this,e).appendChild(e)})},prepend:function(){return $e(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Re(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return $e(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return $e(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(ce.cleanData(Se(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return ce.clone(this,e,t)})},html:function(e){return M(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Oe.test(e)&&!ke[(Te.exec(e)||["",""])[1].toLowerCase()]){e=ce.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(ce.cleanData(Se(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return $e(this,arguments,function(e){var t=this.parentNode;ce.inArray(this,n)<0&&(ce.cleanData(Se(this)),t&&t.replaceChild(e,this))},n)}}),ce.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){ce.fn[e]=function(e){for(var t,n=[],r=ce(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),ce(r[o])[a](t),s.apply(n,t.get());return this.pushStack(n)}});var _e=new RegExp("^("+G+")(?!px)[a-z%]+$","i"),ze=/^--/,Xe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=ie),t.getComputedStyle(e)},Ue=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Ve=new RegExp(Q.join("|"),"i");function Ge(e,t,n){var r,i,o,a,s=ze.test(t),u=e.style;return(n=n||Xe(e))&&(a=n.getPropertyValue(t)||n[t],s&&a&&(a=a.replace(ve,"$1")||void 0),""!==a||K(e)||(a=ce.style(e,t)),!le.pixelBoxStyles()&&_e.test(a)&&Ve.test(t)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=n.width,u.width=r,u.minWidth=i,u.maxWidth=o)),void 0!==a?a+"":a}function Ye(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",J.appendChild(u).appendChild(l);var e=ie.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),J.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=C.createElement("div"),l=C.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",le.clearCloneStyle="content-box"===l.style.backgroundClip,ce.extend(le,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=C.createElement("table"),t=C.createElement("tr"),n=C.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="box-sizing:content-box;border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",J.appendChild(e).appendChild(t).appendChild(n),r=ie.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,J.removeChild(e)),a}}))}();var Qe=["Webkit","Moz","ms"],Je=C.createElement("div").style,Ke={};function Ze(e){var t=ce.cssProps[e]||Ke[e];return t||(e in Je?e:Ke[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Qe.length;while(n--)if((e=Qe[n]+t)in Je)return e}(e)||e)}var et=/^(none|table(?!-c[ea]).+)/,tt={position:"absolute",visibility:"hidden",display:"block"},nt={letterSpacing:"0",fontWeight:"400"};function rt(e,t,n){var r=Y.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function it(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0,l=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(l+=ce.css(e,n+Q[a],!0,i)),r?("content"===n&&(u-=ce.css(e,"padding"+Q[a],!0,i)),"margin"!==n&&(u-=ce.css(e,"border"+Q[a]+"Width",!0,i))):(u+=ce.css(e,"padding"+Q[a],!0,i),"padding"!==n?u+=ce.css(e,"border"+Q[a]+"Width",!0,i):s+=ce.css(e,"border"+Q[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u+l}function ot(e,t,n){var r=Xe(e),i=(!le.boxSizingReliable()||n)&&"border-box"===ce.css(e,"boxSizing",!1,r),o=i,a=Ge(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(_e.test(a)){if(!n)return a;a="auto"}return(!le.boxSizingReliable()&&i||!le.reliableTrDimensions()&&fe(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===ce.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===ce.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+it(e,t,n||(i?"border":"content"),o,r,a)+"px"}function at(e,t,n,r,i){return new at.prototype.init(e,t,n,r,i)}ce.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Ge(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,aspectRatio:!0,borderImageSlice:!0,columnCount:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,scale:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeMiterlimit:!0,strokeOpacity:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=F(t),u=ze.test(t),l=e.style;if(u||(t=Ze(s)),a=ce.cssHooks[t]||ce.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=Y.exec(n))&&i[1]&&(n=te(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(ce.cssNumber[s]?"":"px")),le.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=F(t);return ze.test(t)||(t=Ze(s)),(a=ce.cssHooks[t]||ce.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Ge(e,t,r)),"normal"===i&&t in nt&&(i=nt[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),ce.each(["height","width"],function(e,u){ce.cssHooks[u]={get:function(e,t,n){if(t)return!et.test(ce.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?ot(e,u,n):Ue(e,tt,function(){return ot(e,u,n)})},set:function(e,t,n){var r,i=Xe(e),o=!le.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===ce.css(e,"boxSizing",!1,i),s=n?it(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-it(e,u,"border",!1,i)-.5)),s&&(r=Y.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=ce.css(e,u)),rt(0,t,s)}}}),ce.cssHooks.marginLeft=Ye(le.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Ge(e,"marginLeft"))||e.getBoundingClientRect().left-Ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),ce.each({margin:"",padding:"",border:"Width"},function(i,o){ce.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+Q[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(ce.cssHooks[i+o].set=rt)}),ce.fn.extend({css:function(e,t){return M(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Xe(e),i=t.length;a<i;a++)o[t[a]]=ce.css(e,t[a],!1,r);return o}return void 0!==n?ce.style(e,t,n):ce.css(e,t)},e,t,1<arguments.length)}}),((ce.Tween=at).prototype={constructor:at,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||ce.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(ce.cssNumber[n]?"":"px")},cur:function(){var e=at.propHooks[this.prop];return e&&e.get?e.get(this):at.propHooks._default.get(this)},run:function(e){var t,n=at.propHooks[this.prop];return this.options.duration?this.pos=t=ce.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):at.propHooks._default.set(this),this}}).init.prototype=at.prototype,(at.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=ce.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){ce.fx.step[e.prop]?ce.fx.step[e.prop](e):1!==e.elem.nodeType||!ce.cssHooks[e.prop]&&null==e.elem.style[Ze(e.prop)]?e.elem[e.prop]=e.now:ce.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=at.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},ce.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},ce.fx=at.prototype.init,ce.fx.step={};var st,ut,lt,ct,ft=/^(?:toggle|show|hide)$/,pt=/queueHooks$/;function dt(){ut&&(!1===C.hidden&&ie.requestAnimationFrame?ie.requestAnimationFrame(dt):ie.setTimeout(dt,ce.fx.interval),ce.fx.tick())}function ht(){return ie.setTimeout(function(){st=void 0}),st=Date.now()}function gt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=Q[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function vt(e,t,n){for(var r,i=(yt.tweeners[t]||[]).concat(yt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function yt(o,e,t){var n,a,r=0,i=yt.prefilters.length,s=ce.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=st||ht(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:ce.extend({},e),opts:ce.extend(!0,{specialEasing:{},easing:ce.easing._default},t),originalProperties:e,originalOptions:t,startTime:st||ht(),duration:t.duration,tweens:[],createTween:function(e,t){var n=ce.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=F(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=ce.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=yt.prefilters[r].call(l,o,c,l.opts))return v(n.stop)&&(ce._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return ce.map(c,vt,l),v(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),ce.fx.timer(ce.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}ce.Animation=ce.extend(yt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return te(n.elem,e,Y.exec(t),n),n}]},tweener:function(e,t){v(e)?(t=e,e=["*"]):e=e.match(D);for(var n,r=0,i=e.length;r<i;r++)n=e[r],yt.tweeners[n]=yt.tweeners[n]||[],yt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ee(e),v=_.get(e,"fxshow");for(r in n.queue||(null==(a=ce._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,ce.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],ft.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||ce.style(e,r)}if((u=!ce.isEmptyObject(t))||!ce.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=_.get(e,"display")),"none"===(c=ce.css(e,"display"))&&(l?c=l:(re([e],!0),l=e.style.display||l,c=ce.css(e,"display"),re([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===ce.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=_.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&re([e],!0),p.done(function(){for(r in g||re([e]),_.remove(e,"fxshow"),d)ce.style(e,r,d[r])})),u=vt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?yt.prefilters.unshift(e):yt.prefilters.push(e)}}),ce.speed=function(e,t,n){var r=e&&"object"==typeof e?ce.extend({},e):{complete:n||!n&&t||v(e)&&e,duration:e,easing:n&&t||t&&!v(t)&&t};return ce.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in ce.fx.speeds?r.duration=ce.fx.speeds[r.duration]:r.duration=ce.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){v(r.old)&&r.old.call(this),r.queue&&ce.dequeue(this,r.queue)},r},ce.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ee).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=ce.isEmptyObject(t),o=ce.speed(e,n,r),a=function(){var e=yt(this,ce.extend({},t),o);(i||_.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=ce.timers,r=_.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&pt.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||ce.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=_.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=ce.timers,o=n?n.length:0;for(t.finish=!0,ce.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),ce.each(["toggle","show","hide"],function(e,r){var i=ce.fn[r];ce.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(gt(r,!0),e,t,n)}}),ce.each({slideDown:gt("show"),slideUp:gt("hide"),slideToggle:gt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){ce.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),ce.timers=[],ce.fx.tick=function(){var e,t=0,n=ce.timers;for(st=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||ce.fx.stop(),st=void 0},ce.fx.timer=function(e){ce.timers.push(e),ce.fx.start()},ce.fx.interval=13,ce.fx.start=function(){ut||(ut=!0,dt())},ce.fx.stop=function(){ut=null},ce.fx.speeds={slow:600,fast:200,_default:400},ce.fn.delay=function(r,e){return r=ce.fx&&ce.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=ie.setTimeout(e,r);t.stop=function(){ie.clearTimeout(n)}})},lt=C.createElement("input"),ct=C.createElement("select").appendChild(C.createElement("option")),lt.type="checkbox",le.checkOn=""!==lt.value,le.optSelected=ct.selected,(lt=C.createElement("input")).value="t",lt.type="radio",le.radioValue="t"===lt.value;var mt,xt=ce.expr.attrHandle;ce.fn.extend({attr:function(e,t){return M(this,ce.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){ce.removeAttr(this,e)})}}),ce.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?ce.prop(e,t,n):(1===o&&ce.isXMLDoc(e)||(i=ce.attrHooks[t.toLowerCase()]||(ce.expr.match.bool.test(t)?mt:void 0)),void 0!==n?null===n?void ce.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=ce.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!le.radioValue&&"radio"===t&&fe(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(D);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),mt={set:function(e,t,n){return!1===t?ce.removeAttr(e,n):e.setAttribute(n,n),n}},ce.each(ce.expr.match.bool.source.match(/\w+/g),function(e,t){var a=xt[t]||ce.find.attr;xt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=xt[o],xt[o]=r,r=null!=a(e,t,n)?o:null,xt[o]=i),r}});var bt=/^(?:input|select|textarea|button)$/i,wt=/^(?:a|area)$/i;function Tt(e){return(e.match(D)||[]).join(" ")}function Ct(e){return e.getAttribute&&e.getAttribute("class")||""}function kt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(D)||[]}ce.fn.extend({prop:function(e,t){return M(this,ce.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[ce.propFix[e]||e]})}}),ce.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&ce.isXMLDoc(e)||(t=ce.propFix[t]||t,i=ce.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=ce.find.attr(e,"tabindex");return t?parseInt(t,10):bt.test(e.nodeName)||wt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),le.optSelected||(ce.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),ce.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ce.propFix[this.toLowerCase()]=this}),ce.fn.extend({addClass:function(t){var e,n,r,i,o,a;return v(t)?this.each(function(e){ce(this).addClass(t.call(this,e,Ct(this)))}):(e=kt(t)).length?this.each(function(){if(r=Ct(this),n=1===this.nodeType&&" "+Tt(r)+" "){for(o=0;o<e.length;o++)i=e[o],n.indexOf(" "+i+" ")<0&&(n+=i+" ");a=Tt(n),r!==a&&this.setAttribute("class",a)}}):this},removeClass:function(t){var e,n,r,i,o,a;return v(t)?this.each(function(e){ce(this).removeClass(t.call(this,e,Ct(this)))}):arguments.length?(e=kt(t)).length?this.each(function(){if(r=Ct(this),n=1===this.nodeType&&" "+Tt(r)+" "){for(o=0;o<e.length;o++){i=e[o];while(-1<n.indexOf(" "+i+" "))n=n.replace(" "+i+" "," ")}a=Tt(n),r!==a&&this.setAttribute("class",a)}}):this:this.attr("class","")},toggleClass:function(t,n){var e,r,i,o,a=typeof t,s="string"===a||Array.isArray(t);return v(t)?this.each(function(e){ce(this).toggleClass(t.call(this,e,Ct(this),n),n)}):"boolean"==typeof n&&s?n?this.addClass(t):this.removeClass(t):(e=kt(t),this.each(function(){if(s)for(o=ce(this),i=0;i<e.length;i++)r=e[i],o.hasClass(r)?o.removeClass(r):o.addClass(r);else void 0!==t&&"boolean"!==a||((r=Ct(this))&&_.set(this,"__className__",r),this.setAttribute&&this.setAttribute("class",r||!1===t?"":_.get(this,"__className__")||""))}))},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+Tt(Ct(n))+" ").indexOf(t))return!0;return!1}});var St=/\r/g;ce.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=v(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,ce(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=ce.map(t,function(e){return null==e?"":e+""})),(r=ce.valHooks[this.type]||ce.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=ce.valHooks[t.type]||ce.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(St,""):null==e?"":e:void 0}}),ce.extend({valHooks:{option:{get:function(e){var t=ce.find.attr(e,"value");return null!=t?t:Tt(ce.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!fe(n.parentNode,"optgroup"))){if(t=ce(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=ce.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<ce.inArray(ce.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),ce.each(["radio","checkbox"],function(){ce.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<ce.inArray(ce(e).val(),t)}},le.checkOn||(ce.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Et=ie.location,jt={guid:Date.now()},At=/\?/;ce.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new ie.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||ce.error("Invalid XML: "+(n?ce.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var Dt=/^(?:focusinfocus|focusoutblur)$/,Nt=function(e){e.stopPropagation()};ce.extend(ce.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||C],d=ue.call(e,"type")?e.type:e,h=ue.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||C,3!==n.nodeType&&8!==n.nodeType&&!Dt.test(d+ce.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[ce.expando]?e:new ce.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:ce.makeArray(t,[e]),c=ce.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!y(n)){for(s=c.delegateType||d,Dt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||C)&&p.push(a.defaultView||a.parentWindow||ie)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(_.get(o,"events")||Object.create(null))[e.type]&&_.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&$(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!$(n)||u&&v(n[d])&&!y(n)&&((a=n[u])&&(n[u]=null),ce.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Nt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Nt),ce.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=ce.extend(new ce.Event,n,{type:e,isSimulated:!0});ce.event.trigger(r,null,t)}}),ce.fn.extend({trigger:function(e,t){return this.each(function(){ce.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return ce.event.trigger(e,t,n,!0)}});var qt=/\[\]$/,Lt=/\r?\n/g,Ht=/^(?:submit|button|image|reset|file)$/i,Ot=/^(?:input|select|textarea|keygen)/i;function Pt(n,e,r,i){var t;if(Array.isArray(e))ce.each(e,function(e,t){r||qt.test(n)?i(n,t):Pt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==x(e))i(n,e);else for(t in e)Pt(n+"["+t+"]",e[t],r,i)}ce.param=function(e,t){var n,r=[],i=function(e,t){var n=v(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!ce.isPlainObject(e))ce.each(e,function(){i(this.name,this.value)});else for(n in e)Pt(n,e[n],t,i);return r.join("&")},ce.fn.extend({serialize:function(){return ce.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=ce.prop(this,"elements");return e?ce.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!ce(this).is(":disabled")&&Ot.test(this.nodeName)&&!Ht.test(e)&&(this.checked||!we.test(e))}).map(function(e,t){var n=ce(this).val();return null==n?null:Array.isArray(n)?ce.map(n,function(e){return{name:t.name,value:e.replace(Lt,"\r\n")}}):{name:t.name,value:n.replace(Lt,"\r\n")}}).get()}});var Mt=/%20/g,Rt=/#.*$/,It=/([?&])_=[^&]*/,Wt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ft=/^(?:GET|HEAD)$/,$t=/^\/\//,Bt={},_t={},zt="*/".concat("*"),Xt=C.createElement("a");function Ut(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(D)||[];if(v(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Vt(t,i,o,a){var s={},u=t===_t;function l(e){var r;return s[e]=!0,ce.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Gt(e,t){var n,r,i=ce.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&ce.extend(!0,e,r),e}Xt.href=Et.href,ce.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":zt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":ce.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Gt(Gt(e,ce.ajaxSettings),t):Gt(ce.ajaxSettings,e)},ajaxPrefilter:Ut(Bt),ajaxTransport:Ut(_t),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=ce.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?ce(y):ce.event,x=ce.Deferred(),b=ce.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Wt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace($t,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(D)||[""],null==v.crossDomain){r=C.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Xt.protocol+"//"+Xt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=ce.param(v.data,v.traditional)),Vt(Bt,v,t,T),h)return T;for(i in(g=ce.event&&v.global)&&0==ce.active++&&ce.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Ft.test(v.type),f=v.url.replace(Rt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Mt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(At.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(It,"$1"),o=(At.test(f)?"&":"?")+"_="+jt.guid+++o),v.url=f+o),v.ifModified&&(ce.lastModified[f]&&T.setRequestHeader("If-Modified-Since",ce.lastModified[f]),ce.etag[f]&&T.setRequestHeader("If-None-Match",ce.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+zt+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Vt(_t,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=ie.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&ie.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<ce.inArray("script",v.dataTypes)&&ce.inArray("json",v.dataTypes)<0&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(ce.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(ce.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--ce.active||ce.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return ce.get(e,t,n,"json")},getScript:function(e,t){return ce.get(e,void 0,t,"script")}}),ce.each(["get","post"],function(e,i){ce[i]=function(e,t,n,r){return v(t)&&(r=r||n,n=t,t=void 0),ce.ajax(ce.extend({url:e,type:i,dataType:r,data:t,success:n},ce.isPlainObject(e)&&e))}}),ce.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),ce._evalUrl=function(e,t,n){return ce.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){ce.globalEval(e,t,n)}})},ce.fn.extend({wrapAll:function(e){var t;return this[0]&&(v(e)&&(e=e.call(this[0])),t=ce(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return v(n)?this.each(function(e){ce(this).wrapInner(n.call(this,e))}):this.each(function(){var e=ce(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=v(t);return this.each(function(e){ce(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){ce(this).replaceWith(this.childNodes)}),this}}),ce.expr.pseudos.hidden=function(e){return!ce.expr.pseudos.visible(e)},ce.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},ce.ajaxSettings.xhr=function(){try{return new ie.XMLHttpRequest}catch(e){}};var Yt={0:200,1223:204},Qt=ce.ajaxSettings.xhr();le.cors=!!Qt&&"withCredentials"in Qt,le.ajax=Qt=!!Qt,ce.ajaxTransport(function(i){var o,a;if(le.cors||Qt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Yt[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&ie.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),ce.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),ce.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return ce.globalEval(e),e}}}),ce.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),ce.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=ce("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}});var Jt,Kt=[],Zt=/(=)\?(?=&|$)|\?\?/;ce.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||ce.expando+"_"+jt.guid++;return this[e]=!0,e}}),ce.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Zt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Zt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Zt,"$1"+r):!1!==e.jsonp&&(e.url+=(At.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||ce.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=ie[r],ie[r]=function(){o=arguments},n.always(function(){void 0===i?ce(ie).removeProp(r):ie[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),"script"}),le.createHTMLDocument=((Jt=C.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Jt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(r)):t=C),o=!n&&[],(i=w.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=Tt(e.slice(s)),e=e.slice(0,s)),v(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&ce.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?ce("<div>").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return M(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return M(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var en=/^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;ce.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),v(e))return r=ae.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(ae.call(arguments)))}).guid=e.guid=e.guid||ce.guid++,i},ce.holdReady=function(e){e?ce.readyWait++:ce.ready(!0)},ce.isArray=Array.isArray,ce.parseJSON=JSON.parse,ce.nodeName=fe,ce.isFunction=v,ce.isWindow=y,ce.camelCase=F,ce.type=x,ce.now=Date.now,ce.isNumeric=function(e){var t=ce.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},ce.trim=function(e){return null==e?"":(e+"").replace(en,"$1")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return ce});var tn=ie.jQuery,nn=ie.$;return ce.noConflict=function(e){return ie.$===ce&&(ie.$=nn),e&&ie.jQuery===ce&&(ie.jQuery=tn),ce},"undefined"==typeof e&&(ie.jQuery=ie.$=ce),ce}); diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/LICENSE.md b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/LICENSE.md new file mode 100644 index 0000000..8cb8a2b --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/LICENSE.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2012-2017 Kevin Brown, Igor Vaynberg, and Select2 contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/af.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/af.js new file mode 100644 index 0000000..32e5ac7 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/af.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/af",[],function(){return{errorLoading:function(){return"Die resultate kon nie gelaai word nie."},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Verwyders asseblief "+n+" character";return 1!=n&&(r+="s"),r},inputTooShort:function(e){return"Voer asseblief "+(e.minimum-e.input.length)+" of meer karakters"},loadingMore:function(){return"Meer resultate word gelaai…"},maximumSelected:function(e){var n="Kies asseblief net "+e.maximum+" item";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"Geen resultate gevind"},searching:function(){return"Besig…"},removeAllItems:function(){return"Verwyder alle items"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ar.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ar.js new file mode 100644 index 0000000..64e1caa --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ar.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ar",[],function(){return{errorLoading:function(){return"لا يمكن تحميل النتائج"},inputTooLong:function(n){return"الرجاء حذف "+(n.input.length-n.maximum)+" عناصر"},inputTooShort:function(n){return"الرجاء إضافة "+(n.minimum-n.input.length)+" عناصر"},loadingMore:function(){return"جاري تحميل نتائج إضافية..."},maximumSelected:function(n){return"تستطيع إختيار "+n.maximum+" بنود فقط"},noResults:function(){return"لم يتم العثور على أي نتائج"},searching:function(){return"جاري البحث…"},removeAllItems:function(){return"قم بإزالة كل العناصر"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/az.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/az.js new file mode 100644 index 0000000..1d52c26 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/az.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/az",[],function(){return{inputTooLong:function(n){return n.input.length-n.maximum+" simvol silin"},inputTooShort:function(n){return n.minimum-n.input.length+" simvol daxil edin"},loadingMore:function(){return"Daha çox nəticə yüklənir…"},maximumSelected:function(n){return"Sadəcə "+n.maximum+" element seçə bilərsiniz"},noResults:function(){return"Nəticə tapılmadı"},searching:function(){return"Axtarılır…"},removeAllItems:function(){return"Bütün elementləri sil"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/bg.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/bg.js new file mode 100644 index 0000000..73b730a --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/bg.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/bg",[],function(){return{inputTooLong:function(n){var e=n.input.length-n.maximum,u="Моля въведете с "+e+" по-малко символ";return e>1&&(u+="a"),u},inputTooShort:function(n){var e=n.minimum-n.input.length,u="Моля въведете още "+e+" символ";return e>1&&(u+="a"),u},loadingMore:function(){return"Зареждат се още…"},maximumSelected:function(n){var e="Можете да направите до "+n.maximum+" ";return n.maximum>1?e+="избора":e+="избор",e},noResults:function(){return"Няма намерени съвпадения"},searching:function(){return"Търсене…"},removeAllItems:function(){return"Премахнете всички елементи"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/bn.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/bn.js new file mode 100644 index 0000000..2d17b9d --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/bn.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/bn",[],function(){return{errorLoading:function(){return"ফলাফলগুলি লোড করা যায়নি।"},inputTooLong:function(n){var e=n.input.length-n.maximum,u="অনুগ্রহ করে "+e+" টি অক্ষর মুছে দিন।";return 1!=e&&(u="অনুগ্রহ করে "+e+" টি অক্ষর মুছে দিন।"),u},inputTooShort:function(n){return n.minimum-n.input.length+" টি অক্ষর অথবা অধিক অক্ষর লিখুন।"},loadingMore:function(){return"আরো ফলাফল লোড হচ্ছে ..."},maximumSelected:function(n){var e=n.maximum+" টি আইটেম নির্বাচন করতে পারবেন।";return 1!=n.maximum&&(e=n.maximum+" টি আইটেম নির্বাচন করতে পারবেন।"),e},noResults:function(){return"কোন ফলাফল পাওয়া যায়নি।"},searching:function(){return"অনুসন্ধান করা হচ্ছে ..."}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/bs.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/bs.js new file mode 100644 index 0000000..46b084d --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/bs.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/bs",[],function(){function e(e,n,r,t){return e%10==1&&e%100!=11?n:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?r:t}return{errorLoading:function(){return"Preuzimanje nije uspijelo."},inputTooLong:function(n){var r=n.input.length-n.maximum,t="Obrišite "+r+" simbol";return t+=e(r,"","a","a")},inputTooShort:function(n){var r=n.minimum-n.input.length,t="Ukucajte bar još "+r+" simbol";return t+=e(r,"","a","a")},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(n){var r="Možete izabrati samo "+n.maximum+" stavk";return r+=e(n.maximum,"u","e","i")},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Uklonite sve stavke"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ca.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ca.js new file mode 100644 index 0000000..82dbbb7 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ca.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/ca",[],function(){return{errorLoading:function(){return"La càrrega ha fallat"},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Si us plau, elimina "+n+" car";return r+=1==n?"àcter":"àcters"},inputTooShort:function(e){var n=e.minimum-e.input.length,r="Si us plau, introdueix "+n+" car";return r+=1==n?"àcter":"àcters"},loadingMore:function(){return"Carregant més resultats…"},maximumSelected:function(e){var n="Només es pot seleccionar "+e.maximum+" element";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"No s'han trobat resultats"},searching:function(){return"Cercant…"},removeAllItems:function(){return"Treu tots els elements"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/cs.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/cs.js new file mode 100644 index 0000000..7116d6c --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/cs.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/cs",[],function(){function e(e,n){switch(e){case 2:return n?"dva":"dvě";case 3:return"tři";case 4:return"čtyři"}return""}return{errorLoading:function(){return"Výsledky nemohly být načteny."},inputTooLong:function(n){var t=n.input.length-n.maximum;return 1==t?"Prosím, zadejte o jeden znak méně.":t<=4?"Prosím, zadejte o "+e(t,!0)+" znaky méně.":"Prosím, zadejte o "+t+" znaků méně."},inputTooShort:function(n){var t=n.minimum-n.input.length;return 1==t?"Prosím, zadejte ještě jeden znak.":t<=4?"Prosím, zadejte ještě další "+e(t,!0)+" znaky.":"Prosím, zadejte ještě dalších "+t+" znaků."},loadingMore:function(){return"Načítají se další výsledky…"},maximumSelected:function(n){var t=n.maximum;return 1==t?"Můžete zvolit jen jednu položku.":t<=4?"Můžete zvolit maximálně "+e(t,!1)+" položky.":"Můžete zvolit maximálně "+t+" položek."},noResults:function(){return"Nenalezeny žádné položky."},searching:function(){return"Vyhledávání…"},removeAllItems:function(){return"Odstraňte všechny položky"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/da.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/da.js new file mode 100644 index 0000000..cda32c3 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/da.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/da",[],function(){return{errorLoading:function(){return"Resultaterne kunne ikke indlæses."},inputTooLong:function(e){return"Angiv venligst "+(e.input.length-e.maximum)+" tegn mindre"},inputTooShort:function(e){return"Angiv venligst "+(e.minimum-e.input.length)+" tegn mere"},loadingMore:function(){return"Indlæser flere resultater…"},maximumSelected:function(e){var n="Du kan kun vælge "+e.maximum+" emne";return 1!=e.maximum&&(n+="r"),n},noResults:function(){return"Ingen resultater fundet"},searching:function(){return"Søger…"},removeAllItems:function(){return"Fjern alle elementer"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/de.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/de.js new file mode 100644 index 0000000..c2e61e5 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/de.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/de",[],function(){return{errorLoading:function(){return"Die Ergebnisse konnten nicht geladen werden."},inputTooLong:function(e){return"Bitte "+(e.input.length-e.maximum)+" Zeichen weniger eingeben"},inputTooShort:function(e){return"Bitte "+(e.minimum-e.input.length)+" Zeichen mehr eingeben"},loadingMore:function(){return"Lade mehr Ergebnisse…"},maximumSelected:function(e){var n="Sie können nur "+e.maximum+" Element";return 1!=e.maximum&&(n+="e"),n+=" auswählen"},noResults:function(){return"Keine Übereinstimmungen gefunden"},searching:function(){return"Suche…"},removeAllItems:function(){return"Entferne alle Elemente"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/dsb.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/dsb.js new file mode 100644 index 0000000..02f283a --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/dsb.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/dsb",[],function(){var n=["znamuško","znamušce","znamuška","znamuškow"],e=["zapisk","zapiska","zapiski","zapiskow"],u=function(n,e){return 1===n?e[0]:2===n?e[1]:n>2&&n<=4?e[2]:n>=5?e[3]:void 0};return{errorLoading:function(){return"Wuslědki njejsu se dali zacytaś."},inputTooLong:function(e){var a=e.input.length-e.maximum;return"Pšosym lašuj "+a+" "+u(a,n)},inputTooShort:function(e){var a=e.minimum-e.input.length;return"Pšosym zapódaj nanejmjenjej "+a+" "+u(a,n)},loadingMore:function(){return"Dalšne wuslědki se zacytaju…"},maximumSelected:function(n){return"Móžoš jano "+n.maximum+" "+u(n.maximum,e)+"wubraś."},noResults:function(){return"Žedne wuslědki namakane"},searching:function(){return"Pyta se…"},removeAllItems:function(){return"Remove all items"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/el.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/el.js new file mode 100644 index 0000000..d4922a1 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/el.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/el",[],function(){return{errorLoading:function(){return"Τα αποτελέσματα δεν μπόρεσαν να φορτώσουν."},inputTooLong:function(n){var e=n.input.length-n.maximum,u="Παρακαλώ διαγράψτε "+e+" χαρακτήρ";return 1==e&&(u+="α"),1!=e&&(u+="ες"),u},inputTooShort:function(n){return"Παρακαλώ συμπληρώστε "+(n.minimum-n.input.length)+" ή περισσότερους χαρακτήρες"},loadingMore:function(){return"Φόρτωση περισσότερων αποτελεσμάτων…"},maximumSelected:function(n){var e="Μπορείτε να επιλέξετε μόνο "+n.maximum+" επιλογ";return 1==n.maximum&&(e+="ή"),1!=n.maximum&&(e+="ές"),e},noResults:function(){return"Δεν βρέθηκαν αποτελέσματα"},searching:function(){return"Αναζήτηση…"},removeAllItems:function(){return"Καταργήστε όλα τα στοιχεία"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/en.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/en.js new file mode 100644 index 0000000..3b19285 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/en.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Please delete "+n+" character";return 1!=n&&(r+="s"),r},inputTooShort:function(e){return"Please enter "+(e.minimum-e.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var n="You can only select "+e.maximum+" item";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"No results found"},searching:function(){return"Searching…"},removeAllItems:function(){return"Remove all items"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/es.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/es.js new file mode 100644 index 0000000..68afd6d --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/es.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/es",[],function(){return{errorLoading:function(){return"No se pudieron cargar los resultados"},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Por favor, elimine "+n+" car";return r+=1==n?"ácter":"acteres"},inputTooShort:function(e){var n=e.minimum-e.input.length,r="Por favor, introduzca "+n+" car";return r+=1==n?"ácter":"acteres"},loadingMore:function(){return"Cargando más resultados…"},maximumSelected:function(e){var n="Sólo puede seleccionar "+e.maximum+" elemento";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"No se encontraron resultados"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Eliminar todos los elementos"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/et.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/et.js new file mode 100644 index 0000000..070b61a --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/et.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/et",[],function(){return{inputTooLong:function(e){var n=e.input.length-e.maximum,t="Sisesta "+n+" täht";return 1!=n&&(t+="e"),t+=" vähem"},inputTooShort:function(e){var n=e.minimum-e.input.length,t="Sisesta "+n+" täht";return 1!=n&&(t+="e"),t+=" rohkem"},loadingMore:function(){return"Laen tulemusi…"},maximumSelected:function(e){var n="Saad vaid "+e.maximum+" tulemus";return 1==e.maximum?n+="e":n+="t",n+=" valida"},noResults:function(){return"Tulemused puuduvad"},searching:function(){return"Otsin…"},removeAllItems:function(){return"Eemalda kõik esemed"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/eu.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/eu.js new file mode 100644 index 0000000..90d5e73 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/eu.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/eu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Idatzi ";return n+=1==t?"karaktere bat":t+" karaktere",n+=" gutxiago"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Idatzi ";return n+=1==t?"karaktere bat":t+" karaktere",n+=" gehiago"},loadingMore:function(){return"Emaitza gehiago kargatzen…"},maximumSelected:function(e){return 1===e.maximum?"Elementu bakarra hauta dezakezu":e.maximum+" elementu hauta ditzakezu soilik"},noResults:function(){return"Ez da bat datorrenik aurkitu"},searching:function(){return"Bilatzen…"},removeAllItems:function(){return"Kendu elementu guztiak"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/fa.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/fa.js new file mode 100644 index 0000000..e1ffdbe --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/fa.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/fa",[],function(){return{errorLoading:function(){return"امکان بارگذاری نتایج وجود ندارد."},inputTooLong:function(n){return"لطفاً "+(n.input.length-n.maximum)+" کاراکتر را حذف نمایید"},inputTooShort:function(n){return"لطفاً تعداد "+(n.minimum-n.input.length)+" کاراکتر یا بیشتر وارد نمایید"},loadingMore:function(){return"در حال بارگذاری نتایج بیشتر..."},maximumSelected:function(n){return"شما تنها می‌توانید "+n.maximum+" آیتم را انتخاب نمایید"},noResults:function(){return"هیچ نتیجه‌ای یافت نشد"},searching:function(){return"در حال جستجو..."},removeAllItems:function(){return"همه موارد را حذف کنید"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/fi.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/fi.js new file mode 100644 index 0000000..ffed124 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/fi.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/fi",[],function(){return{errorLoading:function(){return"Tuloksia ei saatu ladattua."},inputTooLong:function(n){return"Ole hyvä ja anna "+(n.input.length-n.maximum)+" merkkiä vähemmän"},inputTooShort:function(n){return"Ole hyvä ja anna "+(n.minimum-n.input.length)+" merkkiä lisää"},loadingMore:function(){return"Ladataan lisää tuloksia…"},maximumSelected:function(n){return"Voit valita ainoastaan "+n.maximum+" kpl"},noResults:function(){return"Ei tuloksia"},searching:function(){return"Haetaan…"},removeAllItems:function(){return"Poista kaikki kohteet"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/fr.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/fr.js new file mode 100644 index 0000000..dd02f97 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/fr.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/fr",[],function(){return{errorLoading:function(){return"Les résultats ne peuvent pas être chargés."},inputTooLong:function(e){var n=e.input.length-e.maximum;return"Supprimez "+n+" caractère"+(n>1?"s":"")},inputTooShort:function(e){var n=e.minimum-e.input.length;return"Saisissez au moins "+n+" caractère"+(n>1?"s":"")},loadingMore:function(){return"Chargement de résultats supplémentaires…"},maximumSelected:function(e){return"Vous pouvez seulement sélectionner "+e.maximum+" élément"+(e.maximum>1?"s":"")},noResults:function(){return"Aucun résultat trouvé"},searching:function(){return"Recherche en cours…"},removeAllItems:function(){return"Supprimer tous les éléments"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/gl.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/gl.js new file mode 100644 index 0000000..208a005 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/gl.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/gl",[],function(){return{errorLoading:function(){return"Non foi posíbel cargar os resultados."},inputTooLong:function(e){var n=e.input.length-e.maximum;return 1===n?"Elimine un carácter":"Elimine "+n+" caracteres"},inputTooShort:function(e){var n=e.minimum-e.input.length;return 1===n?"Engada un carácter":"Engada "+n+" caracteres"},loadingMore:function(){return"Cargando máis resultados…"},maximumSelected:function(e){return 1===e.maximum?"Só pode seleccionar un elemento":"Só pode seleccionar "+e.maximum+" elementos"},noResults:function(){return"Non se atoparon resultados"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Elimina todos os elementos"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/he.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/he.js new file mode 100644 index 0000000..25a8805 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/he.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/he",[],function(){return{errorLoading:function(){return"שגיאה בטעינת התוצאות"},inputTooLong:function(n){var e=n.input.length-n.maximum,r="נא למחוק ";return r+=1===e?"תו אחד":e+" תווים"},inputTooShort:function(n){var e=n.minimum-n.input.length,r="נא להכניס ";return r+=1===e?"תו אחד":e+" תווים",r+=" או יותר"},loadingMore:function(){return"טוען תוצאות נוספות…"},maximumSelected:function(n){var e="באפשרותך לבחור עד ";return 1===n.maximum?e+="פריט אחד":e+=n.maximum+" פריטים",e},noResults:function(){return"לא נמצאו תוצאות"},searching:function(){return"מחפש…"},removeAllItems:function(){return"הסר את כל הפריטים"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/hi.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/hi.js new file mode 100644 index 0000000..f3ed798 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/hi.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hi",[],function(){return{errorLoading:function(){return"परिणामों को लोड नहीं किया जा सका।"},inputTooLong:function(n){var e=n.input.length-n.maximum,r=e+" अक्षर को हटा दें";return e>1&&(r=e+" अक्षरों को हटा दें "),r},inputTooShort:function(n){return"कृपया "+(n.minimum-n.input.length)+" या अधिक अक्षर दर्ज करें"},loadingMore:function(){return"अधिक परिणाम लोड हो रहे है..."},maximumSelected:function(n){return"आप केवल "+n.maximum+" आइटम का चयन कर सकते हैं"},noResults:function(){return"कोई परिणाम नहीं मिला"},searching:function(){return"खोज रहा है..."},removeAllItems:function(){return"सभी वस्तुओं को हटा दें"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/hr.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/hr.js new file mode 100644 index 0000000..cb3268d --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/hr.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hr",[],function(){function n(n){var e=" "+n+" znak";return n%10<5&&n%10>0&&(n%100<5||n%100>19)?n%10>1&&(e+="a"):e+="ova",e}return{errorLoading:function(){return"Preuzimanje nije uspjelo."},inputTooLong:function(e){return"Unesite "+n(e.input.length-e.maximum)},inputTooShort:function(e){return"Unesite još "+n(e.minimum-e.input.length)},loadingMore:function(){return"Učitavanje rezultata…"},maximumSelected:function(n){return"Maksimalan broj odabranih stavki je "+n.maximum},noResults:function(){return"Nema rezultata"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Ukloni sve stavke"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/hsb.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/hsb.js new file mode 100644 index 0000000..3d5bf09 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/hsb.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hsb",[],function(){var n=["znamješko","znamješce","znamješka","znamješkow"],e=["zapisk","zapiskaj","zapiski","zapiskow"],u=function(n,e){return 1===n?e[0]:2===n?e[1]:n>2&&n<=4?e[2]:n>=5?e[3]:void 0};return{errorLoading:function(){return"Wuslědki njedachu so začitać."},inputTooLong:function(e){var a=e.input.length-e.maximum;return"Prošu zhašej "+a+" "+u(a,n)},inputTooShort:function(e){var a=e.minimum-e.input.length;return"Prošu zapodaj znajmjeńša "+a+" "+u(a,n)},loadingMore:function(){return"Dalše wuslědki so začitaja…"},maximumSelected:function(n){return"Móžeš jenož "+n.maximum+" "+u(n.maximum,e)+"wubrać"},noResults:function(){return"Žane wuslědki namakane"},searching:function(){return"Pyta so…"},removeAllItems:function(){return"Remove all items"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/hu.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/hu.js new file mode 100644 index 0000000..4893aa2 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/hu.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/hu",[],function(){return{errorLoading:function(){return"Az eredmények betöltése nem sikerült."},inputTooLong:function(e){return"Túl hosszú. "+(e.input.length-e.maximum)+" karakterrel több, mint kellene."},inputTooShort:function(e){return"Túl rövid. Még "+(e.minimum-e.input.length)+" karakter hiányzik."},loadingMore:function(){return"Töltés…"},maximumSelected:function(e){return"Csak "+e.maximum+" elemet lehet kiválasztani."},noResults:function(){return"Nincs találat."},searching:function(){return"Keresés…"},removeAllItems:function(){return"Távolítson el minden elemet"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/hy.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/hy.js new file mode 100644 index 0000000..8230007 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/hy.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hy",[],function(){return{errorLoading:function(){return"Արդյունքները հնարավոր չէ բեռնել։"},inputTooLong:function(n){return"Խնդրում ենք հեռացնել "+(n.input.length-n.maximum)+" նշան"},inputTooShort:function(n){return"Խնդրում ենք մուտքագրել "+(n.minimum-n.input.length)+" կամ ավել նշաններ"},loadingMore:function(){return"Բեռնվում են նոր արդյունքներ․․․"},maximumSelected:function(n){return"Դուք կարող եք ընտրել առավելագույնը "+n.maximum+" կետ"},noResults:function(){return"Արդյունքներ չեն գտնվել"},searching:function(){return"Որոնում․․․"},removeAllItems:function(){return"Հեռացնել բոլոր տարրերը"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/id.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/id.js new file mode 100644 index 0000000..4a0b3bf --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/id.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(n){return"Hapuskan "+(n.input.length-n.maximum)+" huruf"},inputTooShort:function(n){return"Masukkan "+(n.minimum-n.input.length)+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(n){return"Anda hanya dapat memilih "+n.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"},removeAllItems:function(){return"Hapus semua item"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/is.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/is.js new file mode 100644 index 0000000..cca5bbe --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/is.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/is",[],function(){return{inputTooLong:function(n){var t=n.input.length-n.maximum,e="Vinsamlegast styttið texta um "+t+" staf";return t<=1?e:e+"i"},inputTooShort:function(n){var t=n.minimum-n.input.length,e="Vinsamlegast skrifið "+t+" staf";return t>1&&(e+="i"),e+=" í viðbót"},loadingMore:function(){return"Sæki fleiri niðurstöður…"},maximumSelected:function(n){return"Þú getur aðeins valið "+n.maximum+" atriði"},noResults:function(){return"Ekkert fannst"},searching:function(){return"Leita…"},removeAllItems:function(){return"Fjarlægðu öll atriði"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/it.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/it.js new file mode 100644 index 0000000..507c7d9 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/it.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/it",[],function(){return{errorLoading:function(){return"I risultati non possono essere caricati."},inputTooLong:function(e){var n=e.input.length-e.maximum,t="Per favore cancella "+n+" caratter";return t+=1!==n?"i":"e"},inputTooShort:function(e){return"Per favore inserisci "+(e.minimum-e.input.length)+" o più caratteri"},loadingMore:function(){return"Caricando più risultati…"},maximumSelected:function(e){var n="Puoi selezionare solo "+e.maximum+" element";return 1!==e.maximum?n+="i":n+="o",n},noResults:function(){return"Nessun risultato trovato"},searching:function(){return"Sto cercando…"},removeAllItems:function(){return"Rimuovi tutti gli oggetti"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ja.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ja.js new file mode 100644 index 0000000..451025e --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ja.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ja",[],function(){return{errorLoading:function(){return"結果が読み込まれませんでした"},inputTooLong:function(n){return n.input.length-n.maximum+" 文字を削除してください"},inputTooShort:function(n){return"少なくとも "+(n.minimum-n.input.length)+" 文字を入力してください"},loadingMore:function(){return"読み込み中…"},maximumSelected:function(n){return n.maximum+" 件しか選択できません"},noResults:function(){return"対象が見つかりません"},searching:function(){return"検索しています…"},removeAllItems:function(){return"すべてのアイテムを削除"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ka.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ka.js new file mode 100644 index 0000000..60c593b --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ka.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ka",[],function(){return{errorLoading:function(){return"მონაცემების ჩატვირთვა შეუძლებელია."},inputTooLong:function(n){return"გთხოვთ აკრიფეთ "+(n.input.length-n.maximum)+" სიმბოლოთი ნაკლები"},inputTooShort:function(n){return"გთხოვთ აკრიფეთ "+(n.minimum-n.input.length)+" სიმბოლო ან მეტი"},loadingMore:function(){return"მონაცემების ჩატვირთვა…"},maximumSelected:function(n){return"თქვენ შეგიძლიათ აირჩიოთ არაუმეტეს "+n.maximum+" ელემენტი"},noResults:function(){return"რეზულტატი არ მოიძებნა"},searching:function(){return"ძიება…"},removeAllItems:function(){return"ამოიღე ყველა ელემენტი"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/km.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/km.js new file mode 100644 index 0000000..4dca94f --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/km.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/km",[],function(){return{errorLoading:function(){return"មិនអាចទាញយកទិន្នន័យ"},inputTooLong:function(n){return"សូមលុបចេញ "+(n.input.length-n.maximum)+" អក្សរ"},inputTooShort:function(n){return"សូមបញ្ចូល"+(n.minimum-n.input.length)+" អក្សរ រឺ ច្រើនជាងនេះ"},loadingMore:function(){return"កំពុងទាញយកទិន្នន័យបន្ថែម..."},maximumSelected:function(n){return"អ្នកអាចជ្រើសរើសបានតែ "+n.maximum+" ជម្រើសប៉ុណ្ណោះ"},noResults:function(){return"មិនមានលទ្ធផល"},searching:function(){return"កំពុងស្វែងរក..."},removeAllItems:function(){return"លុបធាតុទាំងអស់"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ko.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ko.js new file mode 100644 index 0000000..f2880fb --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ko.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ko",[],function(){return{errorLoading:function(){return"결과를 불러올 수 없습니다."},inputTooLong:function(n){return"너무 깁니다. "+(n.input.length-n.maximum)+" 글자 지워주세요."},inputTooShort:function(n){return"너무 짧습니다. "+(n.minimum-n.input.length)+" 글자 더 입력해주세요."},loadingMore:function(){return"불러오는 중…"},maximumSelected:function(n){return"최대 "+n.maximum+"개까지만 선택 가능합니다."},noResults:function(){return"결과가 없습니다."},searching:function(){return"검색 중…"},removeAllItems:function(){return"모든 항목 삭제"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/lt.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/lt.js new file mode 100644 index 0000000..f6a4215 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/lt.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/lt",[],function(){function n(n,e,i,t){return n%10==1&&(n%100<11||n%100>19)?e:n%10>=2&&n%10<=9&&(n%100<11||n%100>19)?i:t}return{inputTooLong:function(e){var i=e.input.length-e.maximum,t="Pašalinkite "+i+" simbol";return t+=n(i,"į","ius","ių")},inputTooShort:function(e){var i=e.minimum-e.input.length,t="Įrašykite dar "+i+" simbol";return t+=n(i,"į","ius","ių")},loadingMore:function(){return"Kraunama daugiau rezultatų…"},maximumSelected:function(e){var i="Jūs galite pasirinkti tik "+e.maximum+" element";return i+=n(e.maximum,"ą","us","ų")},noResults:function(){return"Atitikmenų nerasta"},searching:function(){return"Ieškoma…"},removeAllItems:function(){return"Pašalinti visus elementus"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/lv.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/lv.js new file mode 100644 index 0000000..806dc5c --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/lv.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/lv",[],function(){function e(e,n,u,i){return 11===e?n:e%10==1?u:i}return{inputTooLong:function(n){var u=n.input.length-n.maximum,i="Lūdzu ievadiet par "+u;return(i+=" simbol"+e(u,"iem","u","iem"))+" mazāk"},inputTooShort:function(n){var u=n.minimum-n.input.length,i="Lūdzu ievadiet vēl "+u;return i+=" simbol"+e(u,"us","u","us")},loadingMore:function(){return"Datu ielāde…"},maximumSelected:function(n){var u="Jūs varat izvēlēties ne vairāk kā "+n.maximum;return u+=" element"+e(n.maximum,"us","u","us")},noResults:function(){return"Sakritību nav"},searching:function(){return"Meklēšana…"},removeAllItems:function(){return"Noņemt visus vienumus"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/mk.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/mk.js new file mode 100644 index 0000000..cb7b84a --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/mk.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/mk",[],function(){return{inputTooLong:function(n){var e=(n.input.length,n.maximum,"Ве молиме внесете "+n.maximum+" помалку карактер");return 1!==n.maximum&&(e+="и"),e},inputTooShort:function(n){var e=(n.minimum,n.input.length,"Ве молиме внесете уште "+n.maximum+" карактер");return 1!==n.maximum&&(e+="и"),e},loadingMore:function(){return"Вчитување резултати…"},maximumSelected:function(n){var e="Можете да изберете само "+n.maximum+" ставк";return 1===n.maximum?e+="а":e+="и",e},noResults:function(){return"Нема пронајдено совпаѓања"},searching:function(){return"Пребарување…"},removeAllItems:function(){return"Отстрани ги сите предмети"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ms.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ms.js new file mode 100644 index 0000000..6bd7eaa --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ms.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ms",[],function(){return{errorLoading:function(){return"Keputusan tidak berjaya dimuatkan."},inputTooLong:function(n){return"Sila hapuskan "+(n.input.length-n.maximum)+" aksara"},inputTooShort:function(n){return"Sila masukkan "+(n.minimum-n.input.length)+" atau lebih aksara"},loadingMore:function(){return"Sedang memuatkan keputusan…"},maximumSelected:function(n){return"Anda hanya boleh memilih "+n.maximum+" pilihan"},noResults:function(){return"Tiada padanan yang ditemui"},searching:function(){return"Mencari…"},removeAllItems:function(){return"Keluarkan semua item"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/nb.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/nb.js new file mode 100644 index 0000000..25d89c6 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/nb.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/nb",[],function(){return{errorLoading:function(){return"Kunne ikke hente resultater."},inputTooLong:function(e){return"Vennligst fjern "+(e.input.length-e.maximum)+" tegn"},inputTooShort:function(e){return"Vennligst skriv inn "+(e.minimum-e.input.length)+" tegn til"},loadingMore:function(){return"Laster flere resultater…"},maximumSelected:function(e){return"Du kan velge maks "+e.maximum+" elementer"},noResults:function(){return"Ingen treff"},searching:function(){return"Søker…"},removeAllItems:function(){return"Fjern alle elementer"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ne.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ne.js new file mode 100644 index 0000000..1c39f67 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ne.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ne",[],function(){return{errorLoading:function(){return"नतिजाहरु देखाउन सकिएन।"},inputTooLong:function(n){var e=n.input.length-n.maximum,u="कृपया "+e+" अक्षर मेटाउनुहोस्।";return 1!=e&&(u+="कृपया "+e+" अक्षरहरु मेटाउनुहोस्।"),u},inputTooShort:function(n){return"कृपया बाँकी रहेका "+(n.minimum-n.input.length)+" वा अरु धेरै अक्षरहरु भर्नुहोस्।"},loadingMore:function(){return"अरु नतिजाहरु भरिँदैछन् …"},maximumSelected:function(n){var e="तँपाई "+n.maximum+" वस्तु मात्र छान्न पाउँनुहुन्छ।";return 1!=n.maximum&&(e="तँपाई "+n.maximum+" वस्तुहरु मात्र छान्न पाउँनुहुन्छ।"),e},noResults:function(){return"कुनै पनि नतिजा भेटिएन।"},searching:function(){return"खोजि हुँदैछ…"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/nl.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/nl.js new file mode 100644 index 0000000..2b74058 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/nl.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/nl",[],function(){return{errorLoading:function(){return"De resultaten konden niet worden geladen."},inputTooLong:function(e){return"Gelieve "+(e.input.length-e.maximum)+" karakters te verwijderen"},inputTooShort:function(e){return"Gelieve "+(e.minimum-e.input.length)+" of meer karakters in te voeren"},loadingMore:function(){return"Meer resultaten laden…"},maximumSelected:function(e){var n=1==e.maximum?"kan":"kunnen",r="Er "+n+" maar "+e.maximum+" item";return 1!=e.maximum&&(r+="s"),r+=" worden geselecteerd"},noResults:function(){return"Geen resultaten gevonden…"},searching:function(){return"Zoeken…"},removeAllItems:function(){return"Verwijder alle items"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/pl.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/pl.js new file mode 100644 index 0000000..4ca5748 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/pl.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/pl",[],function(){var n=["znak","znaki","znaków"],e=["element","elementy","elementów"],r=function(n,e){return 1===n?e[0]:n>1&&n<=4?e[1]:n>=5?e[2]:void 0};return{errorLoading:function(){return"Nie można załadować wyników."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Usuń "+t+" "+r(t,n)},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Podaj przynajmniej "+t+" "+r(t,n)},loadingMore:function(){return"Trwa ładowanie…"},maximumSelected:function(n){return"Możesz zaznaczyć tylko "+n.maximum+" "+r(n.maximum,e)},noResults:function(){return"Brak wyników"},searching:function(){return"Trwa wyszukiwanie…"},removeAllItems:function(){return"Usuń wszystkie przedmioty"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ps.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ps.js new file mode 100644 index 0000000..9b008e4 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ps.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ps",[],function(){return{errorLoading:function(){return"پايلي نه سي ترلاسه کېدای"},inputTooLong:function(n){var e=n.input.length-n.maximum,r="د مهربانۍ لمخي "+e+" توری ړنګ کړئ";return 1!=e&&(r=r.replace("توری","توري")),r},inputTooShort:function(n){return"لږ تر لږه "+(n.minimum-n.input.length)+" يا ډېر توري وليکئ"},loadingMore:function(){return"نوري پايلي ترلاسه کيږي..."},maximumSelected:function(n){var e="تاسو يوازي "+n.maximum+" قلم په نښه کولای سی";return 1!=n.maximum&&(e=e.replace("قلم","قلمونه")),e},noResults:function(){return"پايلي و نه موندل سوې"},searching:function(){return"لټول کيږي..."},removeAllItems:function(){return"ټول توکي لرې کړئ"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt-BR.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt-BR.js new file mode 100644 index 0000000..c991e25 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt-BR.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/pt-BR",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Apague "+n+" caracter";return 1!=n&&(r+="es"),r},inputTooShort:function(e){return"Digite "+(e.minimum-e.input.length)+" ou mais caracteres"},loadingMore:function(){return"Carregando mais resultados…"},maximumSelected:function(e){var n="Você só pode selecionar "+e.maximum+" ite";return 1==e.maximum?n+="m":n+="ns",n},noResults:function(){return"Nenhum resultado encontrado"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Remover todos os itens"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt.js new file mode 100644 index 0000000..b5da1a6 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/pt",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var r=e.input.length-e.maximum,n="Por favor apague "+r+" ";return n+=1!=r?"caracteres":"caractere"},inputTooShort:function(e){return"Introduza "+(e.minimum-e.input.length)+" ou mais caracteres"},loadingMore:function(){return"A carregar mais resultados…"},maximumSelected:function(e){var r="Apenas pode seleccionar "+e.maximum+" ";return r+=1!=e.maximum?"itens":"item"},noResults:function(){return"Sem resultados"},searching:function(){return"A procurar…"},removeAllItems:function(){return"Remover todos os itens"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ro.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ro.js new file mode 100644 index 0000000..1ba7b40 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ro.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/ro",[],function(){return{errorLoading:function(){return"Rezultatele nu au putut fi incărcate."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vă rugăm să ștergeți"+t+" caracter";return 1!==t&&(n+="e"),n},inputTooShort:function(e){return"Vă rugăm să introduceți "+(e.minimum-e.input.length)+" sau mai multe caractere"},loadingMore:function(){return"Se încarcă mai multe rezultate…"},maximumSelected:function(e){var t="Aveți voie să selectați cel mult "+e.maximum;return t+=" element",1!==e.maximum&&(t+="e"),t},noResults:function(){return"Nu au fost găsite rezultate"},searching:function(){return"Căutare…"},removeAllItems:function(){return"Eliminați toate elementele"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ru.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ru.js new file mode 100644 index 0000000..63a7d66 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/ru.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ru",[],function(){function n(n,e,r,u){return n%10<5&&n%10>0&&n%100<5||n%100>20?n%10>1?r:e:u}return{errorLoading:function(){return"Невозможно загрузить результаты"},inputTooLong:function(e){var r=e.input.length-e.maximum,u="Пожалуйста, введите на "+r+" символ";return u+=n(r,"","a","ов"),u+=" меньше"},inputTooShort:function(e){var r=e.minimum-e.input.length,u="Пожалуйста, введите ещё хотя бы "+r+" символ";return u+=n(r,"","a","ов")},loadingMore:function(){return"Загрузка данных…"},maximumSelected:function(e){var r="Вы можете выбрать не более "+e.maximum+" элемент";return r+=n(e.maximum,"","a","ов")},noResults:function(){return"Совпадений не найдено"},searching:function(){return"Поиск…"},removeAllItems:function(){return"Удалить все элементы"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/sk.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/sk.js new file mode 100644 index 0000000..5049528 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/sk.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/sk",[],function(){var e={2:function(e){return e?"dva":"dve"},3:function(){return"tri"},4:function(){return"štyri"}};return{errorLoading:function(){return"Výsledky sa nepodarilo načítať."},inputTooLong:function(n){var t=n.input.length-n.maximum;return 1==t?"Prosím, zadajte o jeden znak menej":t>=2&&t<=4?"Prosím, zadajte o "+e[t](!0)+" znaky menej":"Prosím, zadajte o "+t+" znakov menej"},inputTooShort:function(n){var t=n.minimum-n.input.length;return 1==t?"Prosím, zadajte ešte jeden znak":t<=4?"Prosím, zadajte ešte ďalšie "+e[t](!0)+" znaky":"Prosím, zadajte ešte ďalších "+t+" znakov"},loadingMore:function(){return"Načítanie ďalších výsledkov…"},maximumSelected:function(n){return 1==n.maximum?"Môžete zvoliť len jednu položku":n.maximum>=2&&n.maximum<=4?"Môžete zvoliť najviac "+e[n.maximum](!1)+" položky":"Môžete zvoliť najviac "+n.maximum+" položiek"},noResults:function(){return"Nenašli sa žiadne položky"},searching:function(){return"Vyhľadávanie…"},removeAllItems:function(){return"Odstráňte všetky položky"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/sl.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/sl.js new file mode 100644 index 0000000..4d0b7d3 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/sl.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/sl",[],function(){return{errorLoading:function(){return"Zadetkov iskanja ni bilo mogoče naložiti."},inputTooLong:function(e){var n=e.input.length-e.maximum,t="Prosim zbrišite "+n+" znak";return 2==n?t+="a":1!=n&&(t+="e"),t},inputTooShort:function(e){var n=e.minimum-e.input.length,t="Prosim vpišite še "+n+" znak";return 2==n?t+="a":1!=n&&(t+="e"),t},loadingMore:function(){return"Nalagam več zadetkov…"},maximumSelected:function(e){var n="Označite lahko največ "+e.maximum+" predmet";return 2==e.maximum?n+="a":1!=e.maximum&&(n+="e"),n},noResults:function(){return"Ni zadetkov."},searching:function(){return"Iščem…"},removeAllItems:function(){return"Odstranite vse elemente"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/sq.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/sq.js new file mode 100644 index 0000000..5916202 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/sq.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/sq",[],function(){return{errorLoading:function(){return"Rezultatet nuk mund të ngarkoheshin."},inputTooLong:function(e){var n=e.input.length-e.maximum,t="Të lutem fshi "+n+" karakter";return 1!=n&&(t+="e"),t},inputTooShort:function(e){return"Të lutem shkruaj "+(e.minimum-e.input.length)+" ose më shumë karaktere"},loadingMore:function(){return"Duke ngarkuar më shumë rezultate…"},maximumSelected:function(e){var n="Mund të zgjedhësh vetëm "+e.maximum+" element";return 1!=e.maximum&&(n+="e"),n},noResults:function(){return"Nuk u gjet asnjë rezultat"},searching:function(){return"Duke kërkuar…"},removeAllItems:function(){return"Hiq të gjitha sendet"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr-Cyrl.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr-Cyrl.js new file mode 100644 index 0000000..ce13ce8 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr-Cyrl.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/sr-Cyrl",[],function(){function n(n,e,r,u){return n%10==1&&n%100!=11?e:n%10>=2&&n%10<=4&&(n%100<12||n%100>14)?r:u}return{errorLoading:function(){return"Преузимање није успело."},inputTooLong:function(e){var r=e.input.length-e.maximum,u="Обришите "+r+" симбол";return u+=n(r,"","а","а")},inputTooShort:function(e){var r=e.minimum-e.input.length,u="Укуцајте бар још "+r+" симбол";return u+=n(r,"","а","а")},loadingMore:function(){return"Преузимање још резултата…"},maximumSelected:function(e){var r="Можете изабрати само "+e.maximum+" ставк";return r+=n(e.maximum,"у","е","и")},noResults:function(){return"Ништа није пронађено"},searching:function(){return"Претрага…"},removeAllItems:function(){return"Уклоните све ставке"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr.js new file mode 100644 index 0000000..dd407a0 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/sr",[],function(){function n(n,e,r,t){return n%10==1&&n%100!=11?e:n%10>=2&&n%10<=4&&(n%100<12||n%100>14)?r:t}return{errorLoading:function(){return"Preuzimanje nije uspelo."},inputTooLong:function(e){var r=e.input.length-e.maximum,t="Obrišite "+r+" simbol";return t+=n(r,"","a","a")},inputTooShort:function(e){var r=e.minimum-e.input.length,t="Ukucajte bar još "+r+" simbol";return t+=n(r,"","a","a")},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(e){var r="Možete izabrati samo "+e.maximum+" stavk";return r+=n(e.maximum,"u","e","i")},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Уклоните све ставке"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/sv.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/sv.js new file mode 100644 index 0000000..1bc8724 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/sv.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/sv",[],function(){return{errorLoading:function(){return"Resultat kunde inte laddas."},inputTooLong:function(n){return"Vänligen sudda ut "+(n.input.length-n.maximum)+" tecken"},inputTooShort:function(n){return"Vänligen skriv in "+(n.minimum-n.input.length)+" eller fler tecken"},loadingMore:function(){return"Laddar fler resultat…"},maximumSelected:function(n){return"Du kan max välja "+n.maximum+" element"},noResults:function(){return"Inga träffar"},searching:function(){return"Söker…"},removeAllItems:function(){return"Ta bort alla objekt"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/th.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/th.js new file mode 100644 index 0000000..63eab71 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/th.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/th",[],function(){return{errorLoading:function(){return"ไม่สามารถค้นข้อมูลได้"},inputTooLong:function(n){return"โปรดลบออก "+(n.input.length-n.maximum)+" ตัวอักษร"},inputTooShort:function(n){return"โปรดพิมพ์เพิ่มอีก "+(n.minimum-n.input.length)+" ตัวอักษร"},loadingMore:function(){return"กำลังค้นข้อมูลเพิ่ม…"},maximumSelected:function(n){return"คุณสามารถเลือกได้ไม่เกิน "+n.maximum+" รายการ"},noResults:function(){return"ไม่พบข้อมูล"},searching:function(){return"กำลังค้นข้อมูล…"},removeAllItems:function(){return"ลบรายการทั้งหมด"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/tk.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/tk.js new file mode 100644 index 0000000..30255ff --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/tk.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/tk",[],function(){return{errorLoading:function(){return"Netije ýüklenmedi."},inputTooLong:function(e){return e.input.length-e.maximum+" harp bozuň."},inputTooShort:function(e){return"Ýene-de iň az "+(e.minimum-e.input.length)+" harp ýazyň."},loadingMore:function(){return"Köpräk netije görkezilýär…"},maximumSelected:function(e){return"Diňe "+e.maximum+" sanysyny saýlaň."},noResults:function(){return"Netije tapylmady."},searching:function(){return"Gözlenýär…"},removeAllItems:function(){return"Remove all items"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/tr.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/tr.js new file mode 100644 index 0000000..fc4c0bf --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/tr.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/tr",[],function(){return{errorLoading:function(){return"Sonuç yüklenemedi"},inputTooLong:function(n){return n.input.length-n.maximum+" karakter daha girmelisiniz"},inputTooShort:function(n){return"En az "+(n.minimum-n.input.length)+" karakter daha girmelisiniz"},loadingMore:function(){return"Daha fazla…"},maximumSelected:function(n){return"Sadece "+n.maximum+" seçim yapabilirsiniz"},noResults:function(){return"Sonuç bulunamadı"},searching:function(){return"Aranıyor…"},removeAllItems:function(){return"Tüm öğeleri kaldır"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/uk.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/uk.js new file mode 100644 index 0000000..63697e3 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/uk.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/uk",[],function(){function n(n,e,u,r){return n%100>10&&n%100<15?r:n%10==1?e:n%10>1&&n%10<5?u:r}return{errorLoading:function(){return"Неможливо завантажити результати"},inputTooLong:function(e){return"Будь ласка, видаліть "+(e.input.length-e.maximum)+" "+n(e.maximum,"літеру","літери","літер")},inputTooShort:function(n){return"Будь ласка, введіть "+(n.minimum-n.input.length)+" або більше літер"},loadingMore:function(){return"Завантаження інших результатів…"},maximumSelected:function(e){return"Ви можете вибрати лише "+e.maximum+" "+n(e.maximum,"пункт","пункти","пунктів")},noResults:function(){return"Нічого не знайдено"},searching:function(){return"Пошук…"},removeAllItems:function(){return"Видалити всі елементи"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/vi.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/vi.js new file mode 100644 index 0000000..24f3bc2 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/vi.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/vi",[],function(){return{inputTooLong:function(n){return"Vui lòng xóa bớt "+(n.input.length-n.maximum)+" ký tự"},inputTooShort:function(n){return"Vui lòng nhập thêm từ "+(n.minimum-n.input.length)+" ký tự trở lên"},loadingMore:function(){return"Đang lấy thêm kết quả…"},maximumSelected:function(n){return"Chỉ có thể chọn được "+n.maximum+" lựa chọn"},noResults:function(){return"Không tìm thấy kết quả"},searching:function(){return"Đang tìm…"},removeAllItems:function(){return"Xóa tất cả các mục"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-CN.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-CN.js new file mode 100644 index 0000000..2c5649d --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-CN.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结果。"},inputTooLong:function(n){return"请删除"+(n.input.length-n.maximum)+"个字符"},inputTooShort:function(n){return"请再输入至少"+(n.minimum-n.input.length)+"个字符"},loadingMore:function(){return"载入更多结果…"},maximumSelected:function(n){return"最多只能选择"+n.maximum+"个项目"},noResults:function(){return"未找到结果"},searching:function(){return"搜索中…"},removeAllItems:function(){return"删除所有项目"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-TW.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-TW.js new file mode 100644 index 0000000..570a566 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-TW.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/zh-TW",[],function(){return{inputTooLong:function(n){return"請刪掉"+(n.input.length-n.maximum)+"個字元"},inputTooShort:function(n){return"請再輸入"+(n.minimum-n.input.length)+"個字元"},loadingMore:function(){return"載入中…"},maximumSelected:function(n){return"你只能選擇最多"+n.maximum+"項"},noResults:function(){return"沒有找到相符的項目"},searching:function(){return"搜尋中…"},removeAllItems:function(){return"刪除所有項目"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/select2.full.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/select2.full.js new file mode 100644 index 0000000..358572a --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/select2.full.js @@ -0,0 +1,6820 @@ +/*! + * Select2 4.0.13 + * https://select2.github.io + * + * Released under the MIT license + * https://github.com/select2/select2/blob/master/LICENSE.md + */ +;(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function (root, jQuery) { + if (jQuery === undefined) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if (typeof window !== 'undefined') { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + factory(jQuery); + return jQuery; + }; + } else { + // Browser globals + factory(jQuery); + } +} (function (jQuery) { + // This is needed so we can catch the AMD loader configuration and use it + // The inner file should be wrapped (by `banner.start.js`) in a function that + // returns the AMD loader references. + var S2 =(function () { + // Restore the Select2 AMD loader so it can be used + // Needed mostly in the language files, where the loader is not inserted + if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) { + var S2 = jQuery.fn.select2.amd; + } +var S2;(function () { if (!S2 || !S2.requirejs) { +if (!S2) { S2 = {}; } else { require = S2; } +/** + * @license almond 0.3.3 Copyright jQuery Foundation and other contributors. + * Released under MIT license, http://github.com/requirejs/almond/LICENSE + */ +//Going sloppy to avoid 'use strict' string cost, but strict practices should +//be followed. +/*global setTimeout: false */ + +var requirejs, require, define; +(function (undef) { + var main, req, makeMap, handlers, + defined = {}, + waiting = {}, + config = {}, + defining = {}, + hasOwn = Object.prototype.hasOwnProperty, + aps = [].slice, + jsSuffixRegExp = /\.js$/; + + function hasProp(obj, prop) { + return hasOwn.call(obj, prop); + } + + /** + * Given a relative module name, like ./something, normalize it to + * a real name that can be mapped to a path. + * @param {String} name the relative name + * @param {String} baseName a real name that the name arg is relative + * to. + * @returns {String} normalized name + */ + function normalize(name, baseName) { + var nameParts, nameSegment, mapValue, foundMap, lastIndex, + foundI, foundStarMap, starI, i, j, part, normalizedBaseParts, + baseParts = baseName && baseName.split("/"), + map = config.map, + starMap = (map && map['*']) || {}; + + //Adjust any relative paths. + if (name) { + name = name.split('/'); + lastIndex = name.length - 1; + + // If wanting node ID compatibility, strip .js from end + // of IDs. Have to do this here, and not in nameToUrl + // because node allows either .js or non .js to map + // to same file. + if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) { + name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, ''); + } + + // Starts with a '.' so need the baseName + if (name[0].charAt(0) === '.' && baseParts) { + //Convert baseName to array, and lop off the last part, + //so that . matches that 'directory' and not name of the baseName's + //module. For instance, baseName of 'one/two/three', maps to + //'one/two/three.js', but we want the directory, 'one/two' for + //this normalization. + normalizedBaseParts = baseParts.slice(0, baseParts.length - 1); + name = normalizedBaseParts.concat(name); + } + + //start trimDots + for (i = 0; i < name.length; i++) { + part = name[i]; + if (part === '.') { + name.splice(i, 1); + i -= 1; + } else if (part === '..') { + // If at the start, or previous value is still .., + // keep them so that when converted to a path it may + // still work when converted to a path, even though + // as an ID it is less than ideal. In larger point + // releases, may be better to just kick out an error. + if (i === 0 || (i === 1 && name[2] === '..') || name[i - 1] === '..') { + continue; + } else if (i > 0) { + name.splice(i - 1, 2); + i -= 2; + } + } + } + //end trimDots + + name = name.join('/'); + } + + //Apply map config if available. + if ((baseParts || starMap) && map) { + nameParts = name.split('/'); + + for (i = nameParts.length; i > 0; i -= 1) { + nameSegment = nameParts.slice(0, i).join("/"); + + if (baseParts) { + //Find the longest baseName segment match in the config. + //So, do joins on the biggest to smallest lengths of baseParts. + for (j = baseParts.length; j > 0; j -= 1) { + mapValue = map[baseParts.slice(0, j).join('/')]; + + //baseName segment has config, find if it has one for + //this name. + if (mapValue) { + mapValue = mapValue[nameSegment]; + if (mapValue) { + //Match, update name to the new value. + foundMap = mapValue; + foundI = i; + break; + } + } + } + } + + if (foundMap) { + break; + } + + //Check for a star map match, but just hold on to it, + //if there is a shorter segment match later in a matching + //config, then favor over this star map. + if (!foundStarMap && starMap && starMap[nameSegment]) { + foundStarMap = starMap[nameSegment]; + starI = i; + } + } + + if (!foundMap && foundStarMap) { + foundMap = foundStarMap; + foundI = starI; + } + + if (foundMap) { + nameParts.splice(0, foundI, foundMap); + name = nameParts.join('/'); + } + } + + return name; + } + + function makeRequire(relName, forceSync) { + return function () { + //A version of a require function that passes a moduleName + //value for items that may need to + //look up paths relative to the moduleName + var args = aps.call(arguments, 0); + + //If first arg is not require('string'), and there is only + //one arg, it is the array form without a callback. Insert + //a null so that the following concat is correct. + if (typeof args[0] !== 'string' && args.length === 1) { + args.push(null); + } + return req.apply(undef, args.concat([relName, forceSync])); + }; + } + + function makeNormalize(relName) { + return function (name) { + return normalize(name, relName); + }; + } + + function makeLoad(depName) { + return function (value) { + defined[depName] = value; + }; + } + + function callDep(name) { + if (hasProp(waiting, name)) { + var args = waiting[name]; + delete waiting[name]; + defining[name] = true; + main.apply(undef, args); + } + + if (!hasProp(defined, name) && !hasProp(defining, name)) { + throw new Error('No ' + name); + } + return defined[name]; + } + + //Turns a plugin!resource to [plugin, resource] + //with the plugin being undefined if the name + //did not have a plugin prefix. + function splitPrefix(name) { + var prefix, + index = name ? name.indexOf('!') : -1; + if (index > -1) { + prefix = name.substring(0, index); + name = name.substring(index + 1, name.length); + } + return [prefix, name]; + } + + //Creates a parts array for a relName where first part is plugin ID, + //second part is resource ID. Assumes relName has already been normalized. + function makeRelParts(relName) { + return relName ? splitPrefix(relName) : []; + } + + /** + * Makes a name map, normalizing the name, and using a plugin + * for normalization if necessary. Grabs a ref to plugin + * too, as an optimization. + */ + makeMap = function (name, relParts) { + var plugin, + parts = splitPrefix(name), + prefix = parts[0], + relResourceName = relParts[1]; + + name = parts[1]; + + if (prefix) { + prefix = normalize(prefix, relResourceName); + plugin = callDep(prefix); + } + + //Normalize according + if (prefix) { + if (plugin && plugin.normalize) { + name = plugin.normalize(name, makeNormalize(relResourceName)); + } else { + name = normalize(name, relResourceName); + } + } else { + name = normalize(name, relResourceName); + parts = splitPrefix(name); + prefix = parts[0]; + name = parts[1]; + if (prefix) { + plugin = callDep(prefix); + } + } + + //Using ridiculous property names for space reasons + return { + f: prefix ? prefix + '!' + name : name, //fullName + n: name, + pr: prefix, + p: plugin + }; + }; + + function makeConfig(name) { + return function () { + return (config && config.config && config.config[name]) || {}; + }; + } + + handlers = { + require: function (name) { + return makeRequire(name); + }, + exports: function (name) { + var e = defined[name]; + if (typeof e !== 'undefined') { + return e; + } else { + return (defined[name] = {}); + } + }, + module: function (name) { + return { + id: name, + uri: '', + exports: defined[name], + config: makeConfig(name) + }; + } + }; + + main = function (name, deps, callback, relName) { + var cjsModule, depName, ret, map, i, relParts, + args = [], + callbackType = typeof callback, + usingExports; + + //Use name if no relName + relName = relName || name; + relParts = makeRelParts(relName); + + //Call the callback to define the module, if necessary. + if (callbackType === 'undefined' || callbackType === 'function') { + //Pull out the defined dependencies and pass the ordered + //values to the callback. + //Default to [require, exports, module] if no deps + deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps; + for (i = 0; i < deps.length; i += 1) { + map = makeMap(deps[i], relParts); + depName = map.f; + + //Fast path CommonJS standard dependencies. + if (depName === "require") { + args[i] = handlers.require(name); + } else if (depName === "exports") { + //CommonJS module spec 1.1 + args[i] = handlers.exports(name); + usingExports = true; + } else if (depName === "module") { + //CommonJS module spec 1.1 + cjsModule = args[i] = handlers.module(name); + } else if (hasProp(defined, depName) || + hasProp(waiting, depName) || + hasProp(defining, depName)) { + args[i] = callDep(depName); + } else if (map.p) { + map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {}); + args[i] = defined[depName]; + } else { + throw new Error(name + ' missing ' + depName); + } + } + + ret = callback ? callback.apply(defined[name], args) : undefined; + + if (name) { + //If setting exports via "module" is in play, + //favor that over return value and exports. After that, + //favor a non-undefined return value over exports use. + if (cjsModule && cjsModule.exports !== undef && + cjsModule.exports !== defined[name]) { + defined[name] = cjsModule.exports; + } else if (ret !== undef || !usingExports) { + //Use the return value from the function. + defined[name] = ret; + } + } + } else if (name) { + //May just be an object definition for the module. Only + //worry about defining if have a module name. + defined[name] = callback; + } + }; + + requirejs = require = req = function (deps, callback, relName, forceSync, alt) { + if (typeof deps === "string") { + if (handlers[deps]) { + //callback in this case is really relName + return handlers[deps](callback); + } + //Just return the module wanted. In this scenario, the + //deps arg is the module name, and second arg (if passed) + //is just the relName. + //Normalize module name, if it contains . or .. + return callDep(makeMap(deps, makeRelParts(callback)).f); + } else if (!deps.splice) { + //deps is a config object, not an array. + config = deps; + if (config.deps) { + req(config.deps, config.callback); + } + if (!callback) { + return; + } + + if (callback.splice) { + //callback is an array, which means it is a dependency list. + //Adjust args if there are dependencies + deps = callback; + callback = relName; + relName = null; + } else { + deps = undef; + } + } + + //Support require(['a']) + callback = callback || function () {}; + + //If relName is a function, it is an errback handler, + //so remove it. + if (typeof relName === 'function') { + relName = forceSync; + forceSync = alt; + } + + //Simulate async callback; + if (forceSync) { + main(undef, deps, callback, relName); + } else { + //Using a non-zero value because of concern for what old browsers + //do, and latest browsers "upgrade" to 4 if lower value is used: + //http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout: + //If want a value immediately, use require('id') instead -- something + //that works in almond on the global level, but not guaranteed and + //unlikely to work in other AMD implementations. + setTimeout(function () { + main(undef, deps, callback, relName); + }, 4); + } + + return req; + }; + + /** + * Just drops the config on the floor, but returns req in case + * the config return value is used. + */ + req.config = function (cfg) { + return req(cfg); + }; + + /** + * Expose module registry for debugging and tooling + */ + requirejs._defined = defined; + + define = function (name, deps, callback) { + if (typeof name !== 'string') { + throw new Error('See almond README: incorrect module build, no module name'); + } + + //This module may not have dependencies + if (!deps.splice) { + //deps is not an array, so probably means + //an object literal or factory function for + //the value. Adjust args. + callback = deps; + deps = []; + } + + if (!hasProp(defined, name) && !hasProp(waiting, name)) { + waiting[name] = [name, deps, callback]; + } + }; + + define.amd = { + jQuery: true + }; +}()); + +S2.requirejs = requirejs;S2.require = require;S2.define = define; +} +}()); +S2.define("almond", function(){}); + +/* global jQuery:false, $:false */ +S2.define('jquery',[],function () { + var _$ = jQuery || $; + + if (_$ == null && console && console.error) { + console.error( + 'Select2: An instance of jQuery or a jQuery-compatible library was not ' + + 'found. Make sure that you are including jQuery before Select2 on your ' + + 'web page.' + ); + } + + return _$; +}); + +S2.define('select2/utils',[ + 'jquery' +], function ($) { + var Utils = {}; + + Utils.Extend = function (ChildClass, SuperClass) { + var __hasProp = {}.hasOwnProperty; + + function BaseConstructor () { + this.constructor = ChildClass; + } + + for (var key in SuperClass) { + if (__hasProp.call(SuperClass, key)) { + ChildClass[key] = SuperClass[key]; + } + } + + BaseConstructor.prototype = SuperClass.prototype; + ChildClass.prototype = new BaseConstructor(); + ChildClass.__super__ = SuperClass.prototype; + + return ChildClass; + }; + + function getMethods (theClass) { + var proto = theClass.prototype; + + var methods = []; + + for (var methodName in proto) { + var m = proto[methodName]; + + if (typeof m !== 'function') { + continue; + } + + if (methodName === 'constructor') { + continue; + } + + methods.push(methodName); + } + + return methods; + } + + Utils.Decorate = function (SuperClass, DecoratorClass) { + var decoratedMethods = getMethods(DecoratorClass); + var superMethods = getMethods(SuperClass); + + function DecoratedClass () { + var unshift = Array.prototype.unshift; + + var argCount = DecoratorClass.prototype.constructor.length; + + var calledConstructor = SuperClass.prototype.constructor; + + if (argCount > 0) { + unshift.call(arguments, SuperClass.prototype.constructor); + + calledConstructor = DecoratorClass.prototype.constructor; + } + + calledConstructor.apply(this, arguments); + } + + DecoratorClass.displayName = SuperClass.displayName; + + function ctr () { + this.constructor = DecoratedClass; + } + + DecoratedClass.prototype = new ctr(); + + for (var m = 0; m < superMethods.length; m++) { + var superMethod = superMethods[m]; + + DecoratedClass.prototype[superMethod] = + SuperClass.prototype[superMethod]; + } + + var calledMethod = function (methodName) { + // Stub out the original method if it's not decorating an actual method + var originalMethod = function () {}; + + if (methodName in DecoratedClass.prototype) { + originalMethod = DecoratedClass.prototype[methodName]; + } + + var decoratedMethod = DecoratorClass.prototype[methodName]; + + return function () { + var unshift = Array.prototype.unshift; + + unshift.call(arguments, originalMethod); + + return decoratedMethod.apply(this, arguments); + }; + }; + + for (var d = 0; d < decoratedMethods.length; d++) { + var decoratedMethod = decoratedMethods[d]; + + DecoratedClass.prototype[decoratedMethod] = calledMethod(decoratedMethod); + } + + return DecoratedClass; + }; + + var Observable = function () { + this.listeners = {}; + }; + + Observable.prototype.on = function (event, callback) { + this.listeners = this.listeners || {}; + + if (event in this.listeners) { + this.listeners[event].push(callback); + } else { + this.listeners[event] = [callback]; + } + }; + + Observable.prototype.trigger = function (event) { + var slice = Array.prototype.slice; + var params = slice.call(arguments, 1); + + this.listeners = this.listeners || {}; + + // Params should always come in as an array + if (params == null) { + params = []; + } + + // If there are no arguments to the event, use a temporary object + if (params.length === 0) { + params.push({}); + } + + // Set the `_type` of the first object to the event + params[0]._type = event; + + if (event in this.listeners) { + this.invoke(this.listeners[event], slice.call(arguments, 1)); + } + + if ('*' in this.listeners) { + this.invoke(this.listeners['*'], arguments); + } + }; + + Observable.prototype.invoke = function (listeners, params) { + for (var i = 0, len = listeners.length; i < len; i++) { + listeners[i].apply(this, params); + } + }; + + Utils.Observable = Observable; + + Utils.generateChars = function (length) { + var chars = ''; + + for (var i = 0; i < length; i++) { + var randomChar = Math.floor(Math.random() * 36); + chars += randomChar.toString(36); + } + + return chars; + }; + + Utils.bind = function (func, context) { + return function () { + func.apply(context, arguments); + }; + }; + + Utils._convertData = function (data) { + for (var originalKey in data) { + var keys = originalKey.split('-'); + + var dataLevel = data; + + if (keys.length === 1) { + continue; + } + + for (var k = 0; k < keys.length; k++) { + var key = keys[k]; + + // Lowercase the first letter + // By default, dash-separated becomes camelCase + key = key.substring(0, 1).toLowerCase() + key.substring(1); + + if (!(key in dataLevel)) { + dataLevel[key] = {}; + } + + if (k == keys.length - 1) { + dataLevel[key] = data[originalKey]; + } + + dataLevel = dataLevel[key]; + } + + delete data[originalKey]; + } + + return data; + }; + + Utils.hasScroll = function (index, el) { + // Adapted from the function created by @ShadowScripter + // and adapted by @BillBarry on the Stack Exchange Code Review website. + // The original code can be found at + // http://codereview.stackexchange.com/q/13338 + // and was designed to be used with the Sizzle selector engine. + + var $el = $(el); + var overflowX = el.style.overflowX; + var overflowY = el.style.overflowY; + + //Check both x and y declarations + if (overflowX === overflowY && + (overflowY === 'hidden' || overflowY === 'visible')) { + return false; + } + + if (overflowX === 'scroll' || overflowY === 'scroll') { + return true; + } + + return ($el.innerHeight() < el.scrollHeight || + $el.innerWidth() < el.scrollWidth); + }; + + Utils.escapeMarkup = function (markup) { + var replaceMap = { + '\\': '\', + '&': '&', + '<': '<', + '>': '>', + '"': '"', + '\'': ''', + '/': '/' + }; + + // Do not try to escape the markup if it's not a string + if (typeof markup !== 'string') { + return markup; + } + + return String(markup).replace(/[&<>"'\/\\]/g, function (match) { + return replaceMap[match]; + }); + }; + + // Append an array of jQuery nodes to a given element. + Utils.appendMany = function ($element, $nodes) { + // jQuery 1.7.x does not support $.fn.append() with an array + // Fall back to a jQuery object collection using $.fn.add() + if ($.fn.jquery.substr(0, 3) === '1.7') { + var $jqNodes = $(); + + $.map($nodes, function (node) { + $jqNodes = $jqNodes.add(node); + }); + + $nodes = $jqNodes; + } + + $element.append($nodes); + }; + + // Cache objects in Utils.__cache instead of $.data (see #4346) + Utils.__cache = {}; + + var id = 0; + Utils.GetUniqueElementId = function (element) { + // Get a unique element Id. If element has no id, + // creates a new unique number, stores it in the id + // attribute and returns the new id. + // If an id already exists, it simply returns it. + + var select2Id = element.getAttribute('data-select2-id'); + if (select2Id == null) { + // If element has id, use it. + if (element.id) { + select2Id = element.id; + element.setAttribute('data-select2-id', select2Id); + } else { + element.setAttribute('data-select2-id', ++id); + select2Id = id.toString(); + } + } + return select2Id; + }; + + Utils.StoreData = function (element, name, value) { + // Stores an item in the cache for a specified element. + // name is the cache key. + var id = Utils.GetUniqueElementId(element); + if (!Utils.__cache[id]) { + Utils.__cache[id] = {}; + } + + Utils.__cache[id][name] = value; + }; + + Utils.GetData = function (element, name) { + // Retrieves a value from the cache by its key (name) + // name is optional. If no name specified, return + // all cache items for the specified element. + // and for a specified element. + var id = Utils.GetUniqueElementId(element); + if (name) { + if (Utils.__cache[id]) { + if (Utils.__cache[id][name] != null) { + return Utils.__cache[id][name]; + } + return $(element).data(name); // Fallback to HTML5 data attribs. + } + return $(element).data(name); // Fallback to HTML5 data attribs. + } else { + return Utils.__cache[id]; + } + }; + + Utils.RemoveData = function (element) { + // Removes all cached items for a specified element. + var id = Utils.GetUniqueElementId(element); + if (Utils.__cache[id] != null) { + delete Utils.__cache[id]; + } + + element.removeAttribute('data-select2-id'); + }; + + return Utils; +}); + +S2.define('select2/results',[ + 'jquery', + './utils' +], function ($, Utils) { + function Results ($element, options, dataAdapter) { + this.$element = $element; + this.data = dataAdapter; + this.options = options; + + Results.__super__.constructor.call(this); + } + + Utils.Extend(Results, Utils.Observable); + + Results.prototype.render = function () { + var $results = $( + '<ul class="select2-results__options" role="listbox"></ul>' + ); + + if (this.options.get('multiple')) { + $results.attr('aria-multiselectable', 'true'); + } + + this.$results = $results; + + return $results; + }; + + Results.prototype.clear = function () { + this.$results.empty(); + }; + + Results.prototype.displayMessage = function (params) { + var escapeMarkup = this.options.get('escapeMarkup'); + + this.clear(); + this.hideLoading(); + + var $message = $( + '<li role="alert" aria-live="assertive"' + + ' class="select2-results__option"></li>' + ); + + var message = this.options.get('translations').get(params.message); + + $message.append( + escapeMarkup( + message(params.args) + ) + ); + + $message[0].className += ' select2-results__message'; + + this.$results.append($message); + }; + + Results.prototype.hideMessages = function () { + this.$results.find('.select2-results__message').remove(); + }; + + Results.prototype.append = function (data) { + this.hideLoading(); + + var $options = []; + + if (data.results == null || data.results.length === 0) { + if (this.$results.children().length === 0) { + this.trigger('results:message', { + message: 'noResults' + }); + } + + return; + } + + data.results = this.sort(data.results); + + for (var d = 0; d < data.results.length; d++) { + var item = data.results[d]; + + var $option = this.option(item); + + $options.push($option); + } + + this.$results.append($options); + }; + + Results.prototype.position = function ($results, $dropdown) { + var $resultsContainer = $dropdown.find('.select2-results'); + $resultsContainer.append($results); + }; + + Results.prototype.sort = function (data) { + var sorter = this.options.get('sorter'); + + return sorter(data); + }; + + Results.prototype.highlightFirstItem = function () { + var $options = this.$results + .find('.select2-results__option[aria-selected]'); + + var $selected = $options.filter('[aria-selected=true]'); + + // Check if there are any selected options + if ($selected.length > 0) { + // If there are selected options, highlight the first + $selected.first().trigger('mouseenter'); + } else { + // If there are no selected options, highlight the first option + // in the dropdown + $options.first().trigger('mouseenter'); + } + + this.ensureHighlightVisible(); + }; + + Results.prototype.setClasses = function () { + var self = this; + + this.data.current(function (selected) { + var selectedIds = $.map(selected, function (s) { + return s.id.toString(); + }); + + var $options = self.$results + .find('.select2-results__option[aria-selected]'); + + $options.each(function () { + var $option = $(this); + + var item = Utils.GetData(this, 'data'); + + // id needs to be converted to a string when comparing + var id = '' + item.id; + + if ((item.element != null && item.element.selected) || + (item.element == null && $.inArray(id, selectedIds) > -1)) { + $option.attr('aria-selected', 'true'); + } else { + $option.attr('aria-selected', 'false'); + } + }); + + }); + }; + + Results.prototype.showLoading = function (params) { + this.hideLoading(); + + var loadingMore = this.options.get('translations').get('searching'); + + var loading = { + disabled: true, + loading: true, + text: loadingMore(params) + }; + var $loading = this.option(loading); + $loading.className += ' loading-results'; + + this.$results.prepend($loading); + }; + + Results.prototype.hideLoading = function () { + this.$results.find('.loading-results').remove(); + }; + + Results.prototype.option = function (data) { + var option = document.createElement('li'); + option.className = 'select2-results__option'; + + var attrs = { + 'role': 'option', + 'aria-selected': 'false' + }; + + var matches = window.Element.prototype.matches || + window.Element.prototype.msMatchesSelector || + window.Element.prototype.webkitMatchesSelector; + + if ((data.element != null && matches.call(data.element, ':disabled')) || + (data.element == null && data.disabled)) { + delete attrs['aria-selected']; + attrs['aria-disabled'] = 'true'; + } + + if (data.id == null) { + delete attrs['aria-selected']; + } + + if (data._resultId != null) { + option.id = data._resultId; + } + + if (data.title) { + option.title = data.title; + } + + if (data.children) { + attrs.role = 'group'; + attrs['aria-label'] = data.text; + delete attrs['aria-selected']; + } + + for (var attr in attrs) { + var val = attrs[attr]; + + option.setAttribute(attr, val); + } + + if (data.children) { + var $option = $(option); + + var label = document.createElement('strong'); + label.className = 'select2-results__group'; + + var $label = $(label); + this.template(data, label); + + var $children = []; + + for (var c = 0; c < data.children.length; c++) { + var child = data.children[c]; + + var $child = this.option(child); + + $children.push($child); + } + + var $childrenContainer = $('<ul></ul>', { + 'class': 'select2-results__options select2-results__options--nested' + }); + + $childrenContainer.append($children); + + $option.append(label); + $option.append($childrenContainer); + } else { + this.template(data, option); + } + + Utils.StoreData(option, 'data', data); + + return option; + }; + + Results.prototype.bind = function (container, $container) { + var self = this; + + var id = container.id + '-results'; + + this.$results.attr('id', id); + + container.on('results:all', function (params) { + self.clear(); + self.append(params.data); + + if (container.isOpen()) { + self.setClasses(); + self.highlightFirstItem(); + } + }); + + container.on('results:append', function (params) { + self.append(params.data); + + if (container.isOpen()) { + self.setClasses(); + } + }); + + container.on('query', function (params) { + self.hideMessages(); + self.showLoading(params); + }); + + container.on('select', function () { + if (!container.isOpen()) { + return; + } + + self.setClasses(); + + if (self.options.get('scrollAfterSelect')) { + self.highlightFirstItem(); + } + }); + + container.on('unselect', function () { + if (!container.isOpen()) { + return; + } + + self.setClasses(); + + if (self.options.get('scrollAfterSelect')) { + self.highlightFirstItem(); + } + }); + + container.on('open', function () { + // When the dropdown is open, aria-expended="true" + self.$results.attr('aria-expanded', 'true'); + self.$results.attr('aria-hidden', 'false'); + + self.setClasses(); + self.ensureHighlightVisible(); + }); + + container.on('close', function () { + // When the dropdown is closed, aria-expended="false" + self.$results.attr('aria-expanded', 'false'); + self.$results.attr('aria-hidden', 'true'); + self.$results.removeAttr('aria-activedescendant'); + }); + + container.on('results:toggle', function () { + var $highlighted = self.getHighlightedResults(); + + if ($highlighted.length === 0) { + return; + } + + $highlighted.trigger('mouseup'); + }); + + container.on('results:select', function () { + var $highlighted = self.getHighlightedResults(); + + if ($highlighted.length === 0) { + return; + } + + var data = Utils.GetData($highlighted[0], 'data'); + + if ($highlighted.attr('aria-selected') == 'true') { + self.trigger('close', {}); + } else { + self.trigger('select', { + data: data + }); + } + }); + + container.on('results:previous', function () { + var $highlighted = self.getHighlightedResults(); + + var $options = self.$results.find('[aria-selected]'); + + var currentIndex = $options.index($highlighted); + + // If we are already at the top, don't move further + // If no options, currentIndex will be -1 + if (currentIndex <= 0) { + return; + } + + var nextIndex = currentIndex - 1; + + // If none are highlighted, highlight the first + if ($highlighted.length === 0) { + nextIndex = 0; + } + + var $next = $options.eq(nextIndex); + + $next.trigger('mouseenter'); + + var currentOffset = self.$results.offset().top; + var nextTop = $next.offset().top; + var nextOffset = self.$results.scrollTop() + (nextTop - currentOffset); + + if (nextIndex === 0) { + self.$results.scrollTop(0); + } else if (nextTop - currentOffset < 0) { + self.$results.scrollTop(nextOffset); + } + }); + + container.on('results:next', function () { + var $highlighted = self.getHighlightedResults(); + + var $options = self.$results.find('[aria-selected]'); + + var currentIndex = $options.index($highlighted); + + var nextIndex = currentIndex + 1; + + // If we are at the last option, stay there + if (nextIndex >= $options.length) { + return; + } + + var $next = $options.eq(nextIndex); + + $next.trigger('mouseenter'); + + var currentOffset = self.$results.offset().top + + self.$results.outerHeight(false); + var nextBottom = $next.offset().top + $next.outerHeight(false); + var nextOffset = self.$results.scrollTop() + nextBottom - currentOffset; + + if (nextIndex === 0) { + self.$results.scrollTop(0); + } else if (nextBottom > currentOffset) { + self.$results.scrollTop(nextOffset); + } + }); + + container.on('results:focus', function (params) { + params.element.addClass('select2-results__option--highlighted'); + }); + + container.on('results:message', function (params) { + self.displayMessage(params); + }); + + if ($.fn.mousewheel) { + this.$results.on('mousewheel', function (e) { + var top = self.$results.scrollTop(); + + var bottom = self.$results.get(0).scrollHeight - top + e.deltaY; + + var isAtTop = e.deltaY > 0 && top - e.deltaY <= 0; + var isAtBottom = e.deltaY < 0 && bottom <= self.$results.height(); + + if (isAtTop) { + self.$results.scrollTop(0); + + e.preventDefault(); + e.stopPropagation(); + } else if (isAtBottom) { + self.$results.scrollTop( + self.$results.get(0).scrollHeight - self.$results.height() + ); + + e.preventDefault(); + e.stopPropagation(); + } + }); + } + + this.$results.on('mouseup', '.select2-results__option[aria-selected]', + function (evt) { + var $this = $(this); + + var data = Utils.GetData(this, 'data'); + + if ($this.attr('aria-selected') === 'true') { + if (self.options.get('multiple')) { + self.trigger('unselect', { + originalEvent: evt, + data: data + }); + } else { + self.trigger('close', {}); + } + + return; + } + + self.trigger('select', { + originalEvent: evt, + data: data + }); + }); + + this.$results.on('mouseenter', '.select2-results__option[aria-selected]', + function (evt) { + var data = Utils.GetData(this, 'data'); + + self.getHighlightedResults() + .removeClass('select2-results__option--highlighted'); + + self.trigger('results:focus', { + data: data, + element: $(this) + }); + }); + }; + + Results.prototype.getHighlightedResults = function () { + var $highlighted = this.$results + .find('.select2-results__option--highlighted'); + + return $highlighted; + }; + + Results.prototype.destroy = function () { + this.$results.remove(); + }; + + Results.prototype.ensureHighlightVisible = function () { + var $highlighted = this.getHighlightedResults(); + + if ($highlighted.length === 0) { + return; + } + + var $options = this.$results.find('[aria-selected]'); + + var currentIndex = $options.index($highlighted); + + var currentOffset = this.$results.offset().top; + var nextTop = $highlighted.offset().top; + var nextOffset = this.$results.scrollTop() + (nextTop - currentOffset); + + var offsetDelta = nextTop - currentOffset; + nextOffset -= $highlighted.outerHeight(false) * 2; + + if (currentIndex <= 2) { + this.$results.scrollTop(0); + } else if (offsetDelta > this.$results.outerHeight() || offsetDelta < 0) { + this.$results.scrollTop(nextOffset); + } + }; + + Results.prototype.template = function (result, container) { + var template = this.options.get('templateResult'); + var escapeMarkup = this.options.get('escapeMarkup'); + + var content = template(result, container); + + if (content == null) { + container.style.display = 'none'; + } else if (typeof content === 'string') { + container.innerHTML = escapeMarkup(content); + } else { + $(container).append(content); + } + }; + + return Results; +}); + +S2.define('select2/keys',[ + +], function () { + var KEYS = { + BACKSPACE: 8, + TAB: 9, + ENTER: 13, + SHIFT: 16, + CTRL: 17, + ALT: 18, + ESC: 27, + SPACE: 32, + PAGE_UP: 33, + PAGE_DOWN: 34, + END: 35, + HOME: 36, + LEFT: 37, + UP: 38, + RIGHT: 39, + DOWN: 40, + DELETE: 46 + }; + + return KEYS; +}); + +S2.define('select2/selection/base',[ + 'jquery', + '../utils', + '../keys' +], function ($, Utils, KEYS) { + function BaseSelection ($element, options) { + this.$element = $element; + this.options = options; + + BaseSelection.__super__.constructor.call(this); + } + + Utils.Extend(BaseSelection, Utils.Observable); + + BaseSelection.prototype.render = function () { + var $selection = $( + '<span class="select2-selection" role="combobox" ' + + ' aria-haspopup="true" aria-expanded="false">' + + '</span>' + ); + + this._tabindex = 0; + + if (Utils.GetData(this.$element[0], 'old-tabindex') != null) { + this._tabindex = Utils.GetData(this.$element[0], 'old-tabindex'); + } else if (this.$element.attr('tabindex') != null) { + this._tabindex = this.$element.attr('tabindex'); + } + + $selection.attr('title', this.$element.attr('title')); + $selection.attr('tabindex', this._tabindex); + $selection.attr('aria-disabled', 'false'); + + this.$selection = $selection; + + return $selection; + }; + + BaseSelection.prototype.bind = function (container, $container) { + var self = this; + + var resultsId = container.id + '-results'; + + this.container = container; + + this.$selection.on('focus', function (evt) { + self.trigger('focus', evt); + }); + + this.$selection.on('blur', function (evt) { + self._handleBlur(evt); + }); + + this.$selection.on('keydown', function (evt) { + self.trigger('keypress', evt); + + if (evt.which === KEYS.SPACE) { + evt.preventDefault(); + } + }); + + container.on('results:focus', function (params) { + self.$selection.attr('aria-activedescendant', params.data._resultId); + }); + + container.on('selection:update', function (params) { + self.update(params.data); + }); + + container.on('open', function () { + // When the dropdown is open, aria-expanded="true" + self.$selection.attr('aria-expanded', 'true'); + self.$selection.attr('aria-owns', resultsId); + + self._attachCloseHandler(container); + }); + + container.on('close', function () { + // When the dropdown is closed, aria-expanded="false" + self.$selection.attr('aria-expanded', 'false'); + self.$selection.removeAttr('aria-activedescendant'); + self.$selection.removeAttr('aria-owns'); + + self.$selection.trigger('focus'); + + self._detachCloseHandler(container); + }); + + container.on('enable', function () { + self.$selection.attr('tabindex', self._tabindex); + self.$selection.attr('aria-disabled', 'false'); + }); + + container.on('disable', function () { + self.$selection.attr('tabindex', '-1'); + self.$selection.attr('aria-disabled', 'true'); + }); + }; + + BaseSelection.prototype._handleBlur = function (evt) { + var self = this; + + // This needs to be delayed as the active element is the body when the tab + // key is pressed, possibly along with others. + window.setTimeout(function () { + // Don't trigger `blur` if the focus is still in the selection + if ( + (document.activeElement == self.$selection[0]) || + ($.contains(self.$selection[0], document.activeElement)) + ) { + return; + } + + self.trigger('blur', evt); + }, 1); + }; + + BaseSelection.prototype._attachCloseHandler = function (container) { + + $(document.body).on('mousedown.select2.' + container.id, function (e) { + var $target = $(e.target); + + var $select = $target.closest('.select2'); + + var $all = $('.select2.select2-container--open'); + + $all.each(function () { + if (this == $select[0]) { + return; + } + + var $element = Utils.GetData(this, 'element'); + + $element.select2('close'); + }); + }); + }; + + BaseSelection.prototype._detachCloseHandler = function (container) { + $(document.body).off('mousedown.select2.' + container.id); + }; + + BaseSelection.prototype.position = function ($selection, $container) { + var $selectionContainer = $container.find('.selection'); + $selectionContainer.append($selection); + }; + + BaseSelection.prototype.destroy = function () { + this._detachCloseHandler(this.container); + }; + + BaseSelection.prototype.update = function (data) { + throw new Error('The `update` method must be defined in child classes.'); + }; + + /** + * Helper method to abstract the "enabled" (not "disabled") state of this + * object. + * + * @return {true} if the instance is not disabled. + * @return {false} if the instance is disabled. + */ + BaseSelection.prototype.isEnabled = function () { + return !this.isDisabled(); + }; + + /** + * Helper method to abstract the "disabled" state of this object. + * + * @return {true} if the disabled option is true. + * @return {false} if the disabled option is false. + */ + BaseSelection.prototype.isDisabled = function () { + return this.options.get('disabled'); + }; + + return BaseSelection; +}); + +S2.define('select2/selection/single',[ + 'jquery', + './base', + '../utils', + '../keys' +], function ($, BaseSelection, Utils, KEYS) { + function SingleSelection () { + SingleSelection.__super__.constructor.apply(this, arguments); + } + + Utils.Extend(SingleSelection, BaseSelection); + + SingleSelection.prototype.render = function () { + var $selection = SingleSelection.__super__.render.call(this); + + $selection.addClass('select2-selection--single'); + + $selection.html( + '<span class="select2-selection__rendered"></span>' + + '<span class="select2-selection__arrow" role="presentation">' + + '<b role="presentation"></b>' + + '</span>' + ); + + return $selection; + }; + + SingleSelection.prototype.bind = function (container, $container) { + var self = this; + + SingleSelection.__super__.bind.apply(this, arguments); + + var id = container.id + '-container'; + + this.$selection.find('.select2-selection__rendered') + .attr('id', id) + .attr('role', 'textbox') + .attr('aria-readonly', 'true'); + this.$selection.attr('aria-labelledby', id); + + this.$selection.on('mousedown', function (evt) { + // Only respond to left clicks + if (evt.which !== 1) { + return; + } + + self.trigger('toggle', { + originalEvent: evt + }); + }); + + this.$selection.on('focus', function (evt) { + // User focuses on the container + }); + + this.$selection.on('blur', function (evt) { + // User exits the container + }); + + container.on('focus', function (evt) { + if (!container.isOpen()) { + self.$selection.trigger('focus'); + } + }); + }; + + SingleSelection.prototype.clear = function () { + var $rendered = this.$selection.find('.select2-selection__rendered'); + $rendered.empty(); + $rendered.removeAttr('title'); // clear tooltip on empty + }; + + SingleSelection.prototype.display = function (data, container) { + var template = this.options.get('templateSelection'); + var escapeMarkup = this.options.get('escapeMarkup'); + + return escapeMarkup(template(data, container)); + }; + + SingleSelection.prototype.selectionContainer = function () { + return $('<span></span>'); + }; + + SingleSelection.prototype.update = function (data) { + if (data.length === 0) { + this.clear(); + return; + } + + var selection = data[0]; + + var $rendered = this.$selection.find('.select2-selection__rendered'); + var formatted = this.display(selection, $rendered); + + $rendered.empty().append(formatted); + + var title = selection.title || selection.text; + + if (title) { + $rendered.attr('title', title); + } else { + $rendered.removeAttr('title'); + } + }; + + return SingleSelection; +}); + +S2.define('select2/selection/multiple',[ + 'jquery', + './base', + '../utils' +], function ($, BaseSelection, Utils) { + function MultipleSelection ($element, options) { + MultipleSelection.__super__.constructor.apply(this, arguments); + } + + Utils.Extend(MultipleSelection, BaseSelection); + + MultipleSelection.prototype.render = function () { + var $selection = MultipleSelection.__super__.render.call(this); + + $selection.addClass('select2-selection--multiple'); + + $selection.html( + '<ul class="select2-selection__rendered"></ul>' + ); + + return $selection; + }; + + MultipleSelection.prototype.bind = function (container, $container) { + var self = this; + + MultipleSelection.__super__.bind.apply(this, arguments); + + this.$selection.on('click', function (evt) { + self.trigger('toggle', { + originalEvent: evt + }); + }); + + this.$selection.on( + 'click', + '.select2-selection__choice__remove', + function (evt) { + // Ignore the event if it is disabled + if (self.isDisabled()) { + return; + } + + var $remove = $(this); + var $selection = $remove.parent(); + + var data = Utils.GetData($selection[0], 'data'); + + self.trigger('unselect', { + originalEvent: evt, + data: data + }); + } + ); + }; + + MultipleSelection.prototype.clear = function () { + var $rendered = this.$selection.find('.select2-selection__rendered'); + $rendered.empty(); + $rendered.removeAttr('title'); + }; + + MultipleSelection.prototype.display = function (data, container) { + var template = this.options.get('templateSelection'); + var escapeMarkup = this.options.get('escapeMarkup'); + + return escapeMarkup(template(data, container)); + }; + + MultipleSelection.prototype.selectionContainer = function () { + var $container = $( + '<li class="select2-selection__choice">' + + '<span class="select2-selection__choice__remove" role="presentation">' + + '×' + + '</span>' + + '</li>' + ); + + return $container; + }; + + MultipleSelection.prototype.update = function (data) { + this.clear(); + + if (data.length === 0) { + return; + } + + var $selections = []; + + for (var d = 0; d < data.length; d++) { + var selection = data[d]; + + var $selection = this.selectionContainer(); + var formatted = this.display(selection, $selection); + + $selection.append(formatted); + + var title = selection.title || selection.text; + + if (title) { + $selection.attr('title', title); + } + + Utils.StoreData($selection[0], 'data', selection); + + $selections.push($selection); + } + + var $rendered = this.$selection.find('.select2-selection__rendered'); + + Utils.appendMany($rendered, $selections); + }; + + return MultipleSelection; +}); + +S2.define('select2/selection/placeholder',[ + '../utils' +], function (Utils) { + function Placeholder (decorated, $element, options) { + this.placeholder = this.normalizePlaceholder(options.get('placeholder')); + + decorated.call(this, $element, options); + } + + Placeholder.prototype.normalizePlaceholder = function (_, placeholder) { + if (typeof placeholder === 'string') { + placeholder = { + id: '', + text: placeholder + }; + } + + return placeholder; + }; + + Placeholder.prototype.createPlaceholder = function (decorated, placeholder) { + var $placeholder = this.selectionContainer(); + + $placeholder.html(this.display(placeholder)); + $placeholder.addClass('select2-selection__placeholder') + .removeClass('select2-selection__choice'); + + return $placeholder; + }; + + Placeholder.prototype.update = function (decorated, data) { + var singlePlaceholder = ( + data.length == 1 && data[0].id != this.placeholder.id + ); + var multipleSelections = data.length > 1; + + if (multipleSelections || singlePlaceholder) { + return decorated.call(this, data); + } + + this.clear(); + + var $placeholder = this.createPlaceholder(this.placeholder); + + this.$selection.find('.select2-selection__rendered').append($placeholder); + }; + + return Placeholder; +}); + +S2.define('select2/selection/allowClear',[ + 'jquery', + '../keys', + '../utils' +], function ($, KEYS, Utils) { + function AllowClear () { } + + AllowClear.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + if (this.placeholder == null) { + if (this.options.get('debug') && window.console && console.error) { + console.error( + 'Select2: The `allowClear` option should be used in combination ' + + 'with the `placeholder` option.' + ); + } + } + + this.$selection.on('mousedown', '.select2-selection__clear', + function (evt) { + self._handleClear(evt); + }); + + container.on('keypress', function (evt) { + self._handleKeyboardClear(evt, container); + }); + }; + + AllowClear.prototype._handleClear = function (_, evt) { + // Ignore the event if it is disabled + if (this.isDisabled()) { + return; + } + + var $clear = this.$selection.find('.select2-selection__clear'); + + // Ignore the event if nothing has been selected + if ($clear.length === 0) { + return; + } + + evt.stopPropagation(); + + var data = Utils.GetData($clear[0], 'data'); + + var previousVal = this.$element.val(); + this.$element.val(this.placeholder.id); + + var unselectData = { + data: data + }; + this.trigger('clear', unselectData); + if (unselectData.prevented) { + this.$element.val(previousVal); + return; + } + + for (var d = 0; d < data.length; d++) { + unselectData = { + data: data[d] + }; + + // Trigger the `unselect` event, so people can prevent it from being + // cleared. + this.trigger('unselect', unselectData); + + // If the event was prevented, don't clear it out. + if (unselectData.prevented) { + this.$element.val(previousVal); + return; + } + } + + this.$element.trigger('input').trigger('change'); + + this.trigger('toggle', {}); + }; + + AllowClear.prototype._handleKeyboardClear = function (_, evt, container) { + if (container.isOpen()) { + return; + } + + if (evt.which == KEYS.DELETE || evt.which == KEYS.BACKSPACE) { + this._handleClear(evt); + } + }; + + AllowClear.prototype.update = function (decorated, data) { + decorated.call(this, data); + + if (this.$selection.find('.select2-selection__placeholder').length > 0 || + data.length === 0) { + return; + } + + var removeAll = this.options.get('translations').get('removeAllItems'); + + var $remove = $( + '<span class="select2-selection__clear" title="' + removeAll() +'">' + + '×' + + '</span>' + ); + Utils.StoreData($remove[0], 'data', data); + + this.$selection.find('.select2-selection__rendered').prepend($remove); + }; + + return AllowClear; +}); + +S2.define('select2/selection/search',[ + 'jquery', + '../utils', + '../keys' +], function ($, Utils, KEYS) { + function Search (decorated, $element, options) { + decorated.call(this, $element, options); + } + + Search.prototype.render = function (decorated) { + var $search = $( + '<li class="select2-search select2-search--inline">' + + '<input class="select2-search__field" type="search" tabindex="-1"' + + ' autocomplete="off" autocorrect="off" autocapitalize="none"' + + ' spellcheck="false" role="searchbox" aria-autocomplete="list" />' + + '</li>' + ); + + this.$searchContainer = $search; + this.$search = $search.find('input'); + + var $rendered = decorated.call(this); + + this._transferTabIndex(); + + return $rendered; + }; + + Search.prototype.bind = function (decorated, container, $container) { + var self = this; + + var resultsId = container.id + '-results'; + + decorated.call(this, container, $container); + + container.on('open', function () { + self.$search.attr('aria-controls', resultsId); + self.$search.trigger('focus'); + }); + + container.on('close', function () { + self.$search.val(''); + self.$search.removeAttr('aria-controls'); + self.$search.removeAttr('aria-activedescendant'); + self.$search.trigger('focus'); + }); + + container.on('enable', function () { + self.$search.prop('disabled', false); + + self._transferTabIndex(); + }); + + container.on('disable', function () { + self.$search.prop('disabled', true); + }); + + container.on('focus', function (evt) { + self.$search.trigger('focus'); + }); + + container.on('results:focus', function (params) { + if (params.data._resultId) { + self.$search.attr('aria-activedescendant', params.data._resultId); + } else { + self.$search.removeAttr('aria-activedescendant'); + } + }); + + this.$selection.on('focusin', '.select2-search--inline', function (evt) { + self.trigger('focus', evt); + }); + + this.$selection.on('focusout', '.select2-search--inline', function (evt) { + self._handleBlur(evt); + }); + + this.$selection.on('keydown', '.select2-search--inline', function (evt) { + evt.stopPropagation(); + + self.trigger('keypress', evt); + + self._keyUpPrevented = evt.isDefaultPrevented(); + + var key = evt.which; + + if (key === KEYS.BACKSPACE && self.$search.val() === '') { + var $previousChoice = self.$searchContainer + .prev('.select2-selection__choice'); + + if ($previousChoice.length > 0) { + var item = Utils.GetData($previousChoice[0], 'data'); + + self.searchRemoveChoice(item); + + evt.preventDefault(); + } + } + }); + + this.$selection.on('click', '.select2-search--inline', function (evt) { + if (self.$search.val()) { + evt.stopPropagation(); + } + }); + + // Try to detect the IE version should the `documentMode` property that + // is stored on the document. This is only implemented in IE and is + // slightly cleaner than doing a user agent check. + // This property is not available in Edge, but Edge also doesn't have + // this bug. + var msie = document.documentMode; + var disableInputEvents = msie && msie <= 11; + + // Workaround for browsers which do not support the `input` event + // This will prevent double-triggering of events for browsers which support + // both the `keyup` and `input` events. + this.$selection.on( + 'input.searchcheck', + '.select2-search--inline', + function (evt) { + // IE will trigger the `input` event when a placeholder is used on a + // search box. To get around this issue, we are forced to ignore all + // `input` events in IE and keep using `keyup`. + if (disableInputEvents) { + self.$selection.off('input.search input.searchcheck'); + return; + } + + // Unbind the duplicated `keyup` event + self.$selection.off('keyup.search'); + } + ); + + this.$selection.on( + 'keyup.search input.search', + '.select2-search--inline', + function (evt) { + // IE will trigger the `input` event when a placeholder is used on a + // search box. To get around this issue, we are forced to ignore all + // `input` events in IE and keep using `keyup`. + if (disableInputEvents && evt.type === 'input') { + self.$selection.off('input.search input.searchcheck'); + return; + } + + var key = evt.which; + + // We can freely ignore events from modifier keys + if (key == KEYS.SHIFT || key == KEYS.CTRL || key == KEYS.ALT) { + return; + } + + // Tabbing will be handled during the `keydown` phase + if (key == KEYS.TAB) { + return; + } + + self.handleSearch(evt); + } + ); + }; + + /** + * This method will transfer the tabindex attribute from the rendered + * selection to the search box. This allows for the search box to be used as + * the primary focus instead of the selection container. + * + * @private + */ + Search.prototype._transferTabIndex = function (decorated) { + this.$search.attr('tabindex', this.$selection.attr('tabindex')); + this.$selection.attr('tabindex', '-1'); + }; + + Search.prototype.createPlaceholder = function (decorated, placeholder) { + this.$search.attr('placeholder', placeholder.text); + }; + + Search.prototype.update = function (decorated, data) { + var searchHadFocus = this.$search[0] == document.activeElement; + + this.$search.attr('placeholder', ''); + + decorated.call(this, data); + + this.$selection.find('.select2-selection__rendered') + .append(this.$searchContainer); + + this.resizeSearch(); + if (searchHadFocus) { + this.$search.trigger('focus'); + } + }; + + Search.prototype.handleSearch = function () { + this.resizeSearch(); + + if (!this._keyUpPrevented) { + var input = this.$search.val(); + + this.trigger('query', { + term: input + }); + } + + this._keyUpPrevented = false; + }; + + Search.prototype.searchRemoveChoice = function (decorated, item) { + this.trigger('unselect', { + data: item + }); + + this.$search.val(item.text); + this.handleSearch(); + }; + + Search.prototype.resizeSearch = function () { + this.$search.css('width', '25px'); + + var width = ''; + + if (this.$search.attr('placeholder') !== '') { + width = this.$selection.find('.select2-selection__rendered').width(); + } else { + var minimumWidth = this.$search.val().length + 1; + + width = (minimumWidth * 0.75) + 'em'; + } + + this.$search.css('width', width); + }; + + return Search; +}); + +S2.define('select2/selection/eventRelay',[ + 'jquery' +], function ($) { + function EventRelay () { } + + EventRelay.prototype.bind = function (decorated, container, $container) { + var self = this; + var relayEvents = [ + 'open', 'opening', + 'close', 'closing', + 'select', 'selecting', + 'unselect', 'unselecting', + 'clear', 'clearing' + ]; + + var preventableEvents = [ + 'opening', 'closing', 'selecting', 'unselecting', 'clearing' + ]; + + decorated.call(this, container, $container); + + container.on('*', function (name, params) { + // Ignore events that should not be relayed + if ($.inArray(name, relayEvents) === -1) { + return; + } + + // The parameters should always be an object + params = params || {}; + + // Generate the jQuery event for the Select2 event + var evt = $.Event('select2:' + name, { + params: params + }); + + self.$element.trigger(evt); + + // Only handle preventable events if it was one + if ($.inArray(name, preventableEvents) === -1) { + return; + } + + params.prevented = evt.isDefaultPrevented(); + }); + }; + + return EventRelay; +}); + +S2.define('select2/translation',[ + 'jquery', + 'require' +], function ($, require) { + function Translation (dict) { + this.dict = dict || {}; + } + + Translation.prototype.all = function () { + return this.dict; + }; + + Translation.prototype.get = function (key) { + return this.dict[key]; + }; + + Translation.prototype.extend = function (translation) { + this.dict = $.extend({}, translation.all(), this.dict); + }; + + // Static functions + + Translation._cache = {}; + + Translation.loadPath = function (path) { + if (!(path in Translation._cache)) { + var translations = require(path); + + Translation._cache[path] = translations; + } + + return new Translation(Translation._cache[path]); + }; + + return Translation; +}); + +S2.define('select2/diacritics',[ + +], function () { + var diacritics = { + '\u24B6': 'A', + '\uFF21': 'A', + '\u00C0': 'A', + '\u00C1': 'A', + '\u00C2': 'A', + '\u1EA6': 'A', + '\u1EA4': 'A', + '\u1EAA': 'A', + '\u1EA8': 'A', + '\u00C3': 'A', + '\u0100': 'A', + '\u0102': 'A', + '\u1EB0': 'A', + '\u1EAE': 'A', + '\u1EB4': 'A', + '\u1EB2': 'A', + '\u0226': 'A', + '\u01E0': 'A', + '\u00C4': 'A', + '\u01DE': 'A', + '\u1EA2': 'A', + '\u00C5': 'A', + '\u01FA': 'A', + '\u01CD': 'A', + '\u0200': 'A', + '\u0202': 'A', + '\u1EA0': 'A', + '\u1EAC': 'A', + '\u1EB6': 'A', + '\u1E00': 'A', + '\u0104': 'A', + '\u023A': 'A', + '\u2C6F': 'A', + '\uA732': 'AA', + '\u00C6': 'AE', + '\u01FC': 'AE', + '\u01E2': 'AE', + '\uA734': 'AO', + '\uA736': 'AU', + '\uA738': 'AV', + '\uA73A': 'AV', + '\uA73C': 'AY', + '\u24B7': 'B', + '\uFF22': 'B', + '\u1E02': 'B', + '\u1E04': 'B', + '\u1E06': 'B', + '\u0243': 'B', + '\u0182': 'B', + '\u0181': 'B', + '\u24B8': 'C', + '\uFF23': 'C', + '\u0106': 'C', + '\u0108': 'C', + '\u010A': 'C', + '\u010C': 'C', + '\u00C7': 'C', + '\u1E08': 'C', + '\u0187': 'C', + '\u023B': 'C', + '\uA73E': 'C', + '\u24B9': 'D', + '\uFF24': 'D', + '\u1E0A': 'D', + '\u010E': 'D', + '\u1E0C': 'D', + '\u1E10': 'D', + '\u1E12': 'D', + '\u1E0E': 'D', + '\u0110': 'D', + '\u018B': 'D', + '\u018A': 'D', + '\u0189': 'D', + '\uA779': 'D', + '\u01F1': 'DZ', + '\u01C4': 'DZ', + '\u01F2': 'Dz', + '\u01C5': 'Dz', + '\u24BA': 'E', + '\uFF25': 'E', + '\u00C8': 'E', + '\u00C9': 'E', + '\u00CA': 'E', + '\u1EC0': 'E', + '\u1EBE': 'E', + '\u1EC4': 'E', + '\u1EC2': 'E', + '\u1EBC': 'E', + '\u0112': 'E', + '\u1E14': 'E', + '\u1E16': 'E', + '\u0114': 'E', + '\u0116': 'E', + '\u00CB': 'E', + '\u1EBA': 'E', + '\u011A': 'E', + '\u0204': 'E', + '\u0206': 'E', + '\u1EB8': 'E', + '\u1EC6': 'E', + '\u0228': 'E', + '\u1E1C': 'E', + '\u0118': 'E', + '\u1E18': 'E', + '\u1E1A': 'E', + '\u0190': 'E', + '\u018E': 'E', + '\u24BB': 'F', + '\uFF26': 'F', + '\u1E1E': 'F', + '\u0191': 'F', + '\uA77B': 'F', + '\u24BC': 'G', + '\uFF27': 'G', + '\u01F4': 'G', + '\u011C': 'G', + '\u1E20': 'G', + '\u011E': 'G', + '\u0120': 'G', + '\u01E6': 'G', + '\u0122': 'G', + '\u01E4': 'G', + '\u0193': 'G', + '\uA7A0': 'G', + '\uA77D': 'G', + '\uA77E': 'G', + '\u24BD': 'H', + '\uFF28': 'H', + '\u0124': 'H', + '\u1E22': 'H', + '\u1E26': 'H', + '\u021E': 'H', + '\u1E24': 'H', + '\u1E28': 'H', + '\u1E2A': 'H', + '\u0126': 'H', + '\u2C67': 'H', + '\u2C75': 'H', + '\uA78D': 'H', + '\u24BE': 'I', + '\uFF29': 'I', + '\u00CC': 'I', + '\u00CD': 'I', + '\u00CE': 'I', + '\u0128': 'I', + '\u012A': 'I', + '\u012C': 'I', + '\u0130': 'I', + '\u00CF': 'I', + '\u1E2E': 'I', + '\u1EC8': 'I', + '\u01CF': 'I', + '\u0208': 'I', + '\u020A': 'I', + '\u1ECA': 'I', + '\u012E': 'I', + '\u1E2C': 'I', + '\u0197': 'I', + '\u24BF': 'J', + '\uFF2A': 'J', + '\u0134': 'J', + '\u0248': 'J', + '\u24C0': 'K', + '\uFF2B': 'K', + '\u1E30': 'K', + '\u01E8': 'K', + '\u1E32': 'K', + '\u0136': 'K', + '\u1E34': 'K', + '\u0198': 'K', + '\u2C69': 'K', + '\uA740': 'K', + '\uA742': 'K', + '\uA744': 'K', + '\uA7A2': 'K', + '\u24C1': 'L', + '\uFF2C': 'L', + '\u013F': 'L', + '\u0139': 'L', + '\u013D': 'L', + '\u1E36': 'L', + '\u1E38': 'L', + '\u013B': 'L', + '\u1E3C': 'L', + '\u1E3A': 'L', + '\u0141': 'L', + '\u023D': 'L', + '\u2C62': 'L', + '\u2C60': 'L', + '\uA748': 'L', + '\uA746': 'L', + '\uA780': 'L', + '\u01C7': 'LJ', + '\u01C8': 'Lj', + '\u24C2': 'M', + '\uFF2D': 'M', + '\u1E3E': 'M', + '\u1E40': 'M', + '\u1E42': 'M', + '\u2C6E': 'M', + '\u019C': 'M', + '\u24C3': 'N', + '\uFF2E': 'N', + '\u01F8': 'N', + '\u0143': 'N', + '\u00D1': 'N', + '\u1E44': 'N', + '\u0147': 'N', + '\u1E46': 'N', + '\u0145': 'N', + '\u1E4A': 'N', + '\u1E48': 'N', + '\u0220': 'N', + '\u019D': 'N', + '\uA790': 'N', + '\uA7A4': 'N', + '\u01CA': 'NJ', + '\u01CB': 'Nj', + '\u24C4': 'O', + '\uFF2F': 'O', + '\u00D2': 'O', + '\u00D3': 'O', + '\u00D4': 'O', + '\u1ED2': 'O', + '\u1ED0': 'O', + '\u1ED6': 'O', + '\u1ED4': 'O', + '\u00D5': 'O', + '\u1E4C': 'O', + '\u022C': 'O', + '\u1E4E': 'O', + '\u014C': 'O', + '\u1E50': 'O', + '\u1E52': 'O', + '\u014E': 'O', + '\u022E': 'O', + '\u0230': 'O', + '\u00D6': 'O', + '\u022A': 'O', + '\u1ECE': 'O', + '\u0150': 'O', + '\u01D1': 'O', + '\u020C': 'O', + '\u020E': 'O', + '\u01A0': 'O', + '\u1EDC': 'O', + '\u1EDA': 'O', + '\u1EE0': 'O', + '\u1EDE': 'O', + '\u1EE2': 'O', + '\u1ECC': 'O', + '\u1ED8': 'O', + '\u01EA': 'O', + '\u01EC': 'O', + '\u00D8': 'O', + '\u01FE': 'O', + '\u0186': 'O', + '\u019F': 'O', + '\uA74A': 'O', + '\uA74C': 'O', + '\u0152': 'OE', + '\u01A2': 'OI', + '\uA74E': 'OO', + '\u0222': 'OU', + '\u24C5': 'P', + '\uFF30': 'P', + '\u1E54': 'P', + '\u1E56': 'P', + '\u01A4': 'P', + '\u2C63': 'P', + '\uA750': 'P', + '\uA752': 'P', + '\uA754': 'P', + '\u24C6': 'Q', + '\uFF31': 'Q', + '\uA756': 'Q', + '\uA758': 'Q', + '\u024A': 'Q', + '\u24C7': 'R', + '\uFF32': 'R', + '\u0154': 'R', + '\u1E58': 'R', + '\u0158': 'R', + '\u0210': 'R', + '\u0212': 'R', + '\u1E5A': 'R', + '\u1E5C': 'R', + '\u0156': 'R', + '\u1E5E': 'R', + '\u024C': 'R', + '\u2C64': 'R', + '\uA75A': 'R', + '\uA7A6': 'R', + '\uA782': 'R', + '\u24C8': 'S', + '\uFF33': 'S', + '\u1E9E': 'S', + '\u015A': 'S', + '\u1E64': 'S', + '\u015C': 'S', + '\u1E60': 'S', + '\u0160': 'S', + '\u1E66': 'S', + '\u1E62': 'S', + '\u1E68': 'S', + '\u0218': 'S', + '\u015E': 'S', + '\u2C7E': 'S', + '\uA7A8': 'S', + '\uA784': 'S', + '\u24C9': 'T', + '\uFF34': 'T', + '\u1E6A': 'T', + '\u0164': 'T', + '\u1E6C': 'T', + '\u021A': 'T', + '\u0162': 'T', + '\u1E70': 'T', + '\u1E6E': 'T', + '\u0166': 'T', + '\u01AC': 'T', + '\u01AE': 'T', + '\u023E': 'T', + '\uA786': 'T', + '\uA728': 'TZ', + '\u24CA': 'U', + '\uFF35': 'U', + '\u00D9': 'U', + '\u00DA': 'U', + '\u00DB': 'U', + '\u0168': 'U', + '\u1E78': 'U', + '\u016A': 'U', + '\u1E7A': 'U', + '\u016C': 'U', + '\u00DC': 'U', + '\u01DB': 'U', + '\u01D7': 'U', + '\u01D5': 'U', + '\u01D9': 'U', + '\u1EE6': 'U', + '\u016E': 'U', + '\u0170': 'U', + '\u01D3': 'U', + '\u0214': 'U', + '\u0216': 'U', + '\u01AF': 'U', + '\u1EEA': 'U', + '\u1EE8': 'U', + '\u1EEE': 'U', + '\u1EEC': 'U', + '\u1EF0': 'U', + '\u1EE4': 'U', + '\u1E72': 'U', + '\u0172': 'U', + '\u1E76': 'U', + '\u1E74': 'U', + '\u0244': 'U', + '\u24CB': 'V', + '\uFF36': 'V', + '\u1E7C': 'V', + '\u1E7E': 'V', + '\u01B2': 'V', + '\uA75E': 'V', + '\u0245': 'V', + '\uA760': 'VY', + '\u24CC': 'W', + '\uFF37': 'W', + '\u1E80': 'W', + '\u1E82': 'W', + '\u0174': 'W', + '\u1E86': 'W', + '\u1E84': 'W', + '\u1E88': 'W', + '\u2C72': 'W', + '\u24CD': 'X', + '\uFF38': 'X', + '\u1E8A': 'X', + '\u1E8C': 'X', + '\u24CE': 'Y', + '\uFF39': 'Y', + '\u1EF2': 'Y', + '\u00DD': 'Y', + '\u0176': 'Y', + '\u1EF8': 'Y', + '\u0232': 'Y', + '\u1E8E': 'Y', + '\u0178': 'Y', + '\u1EF6': 'Y', + '\u1EF4': 'Y', + '\u01B3': 'Y', + '\u024E': 'Y', + '\u1EFE': 'Y', + '\u24CF': 'Z', + '\uFF3A': 'Z', + '\u0179': 'Z', + '\u1E90': 'Z', + '\u017B': 'Z', + '\u017D': 'Z', + '\u1E92': 'Z', + '\u1E94': 'Z', + '\u01B5': 'Z', + '\u0224': 'Z', + '\u2C7F': 'Z', + '\u2C6B': 'Z', + '\uA762': 'Z', + '\u24D0': 'a', + '\uFF41': 'a', + '\u1E9A': 'a', + '\u00E0': 'a', + '\u00E1': 'a', + '\u00E2': 'a', + '\u1EA7': 'a', + '\u1EA5': 'a', + '\u1EAB': 'a', + '\u1EA9': 'a', + '\u00E3': 'a', + '\u0101': 'a', + '\u0103': 'a', + '\u1EB1': 'a', + '\u1EAF': 'a', + '\u1EB5': 'a', + '\u1EB3': 'a', + '\u0227': 'a', + '\u01E1': 'a', + '\u00E4': 'a', + '\u01DF': 'a', + '\u1EA3': 'a', + '\u00E5': 'a', + '\u01FB': 'a', + '\u01CE': 'a', + '\u0201': 'a', + '\u0203': 'a', + '\u1EA1': 'a', + '\u1EAD': 'a', + '\u1EB7': 'a', + '\u1E01': 'a', + '\u0105': 'a', + '\u2C65': 'a', + '\u0250': 'a', + '\uA733': 'aa', + '\u00E6': 'ae', + '\u01FD': 'ae', + '\u01E3': 'ae', + '\uA735': 'ao', + '\uA737': 'au', + '\uA739': 'av', + '\uA73B': 'av', + '\uA73D': 'ay', + '\u24D1': 'b', + '\uFF42': 'b', + '\u1E03': 'b', + '\u1E05': 'b', + '\u1E07': 'b', + '\u0180': 'b', + '\u0183': 'b', + '\u0253': 'b', + '\u24D2': 'c', + '\uFF43': 'c', + '\u0107': 'c', + '\u0109': 'c', + '\u010B': 'c', + '\u010D': 'c', + '\u00E7': 'c', + '\u1E09': 'c', + '\u0188': 'c', + '\u023C': 'c', + '\uA73F': 'c', + '\u2184': 'c', + '\u24D3': 'd', + '\uFF44': 'd', + '\u1E0B': 'd', + '\u010F': 'd', + '\u1E0D': 'd', + '\u1E11': 'd', + '\u1E13': 'd', + '\u1E0F': 'd', + '\u0111': 'd', + '\u018C': 'd', + '\u0256': 'd', + '\u0257': 'd', + '\uA77A': 'd', + '\u01F3': 'dz', + '\u01C6': 'dz', + '\u24D4': 'e', + '\uFF45': 'e', + '\u00E8': 'e', + '\u00E9': 'e', + '\u00EA': 'e', + '\u1EC1': 'e', + '\u1EBF': 'e', + '\u1EC5': 'e', + '\u1EC3': 'e', + '\u1EBD': 'e', + '\u0113': 'e', + '\u1E15': 'e', + '\u1E17': 'e', + '\u0115': 'e', + '\u0117': 'e', + '\u00EB': 'e', + '\u1EBB': 'e', + '\u011B': 'e', + '\u0205': 'e', + '\u0207': 'e', + '\u1EB9': 'e', + '\u1EC7': 'e', + '\u0229': 'e', + '\u1E1D': 'e', + '\u0119': 'e', + '\u1E19': 'e', + '\u1E1B': 'e', + '\u0247': 'e', + '\u025B': 'e', + '\u01DD': 'e', + '\u24D5': 'f', + '\uFF46': 'f', + '\u1E1F': 'f', + '\u0192': 'f', + '\uA77C': 'f', + '\u24D6': 'g', + '\uFF47': 'g', + '\u01F5': 'g', + '\u011D': 'g', + '\u1E21': 'g', + '\u011F': 'g', + '\u0121': 'g', + '\u01E7': 'g', + '\u0123': 'g', + '\u01E5': 'g', + '\u0260': 'g', + '\uA7A1': 'g', + '\u1D79': 'g', + '\uA77F': 'g', + '\u24D7': 'h', + '\uFF48': 'h', + '\u0125': 'h', + '\u1E23': 'h', + '\u1E27': 'h', + '\u021F': 'h', + '\u1E25': 'h', + '\u1E29': 'h', + '\u1E2B': 'h', + '\u1E96': 'h', + '\u0127': 'h', + '\u2C68': 'h', + '\u2C76': 'h', + '\u0265': 'h', + '\u0195': 'hv', + '\u24D8': 'i', + '\uFF49': 'i', + '\u00EC': 'i', + '\u00ED': 'i', + '\u00EE': 'i', + '\u0129': 'i', + '\u012B': 'i', + '\u012D': 'i', + '\u00EF': 'i', + '\u1E2F': 'i', + '\u1EC9': 'i', + '\u01D0': 'i', + '\u0209': 'i', + '\u020B': 'i', + '\u1ECB': 'i', + '\u012F': 'i', + '\u1E2D': 'i', + '\u0268': 'i', + '\u0131': 'i', + '\u24D9': 'j', + '\uFF4A': 'j', + '\u0135': 'j', + '\u01F0': 'j', + '\u0249': 'j', + '\u24DA': 'k', + '\uFF4B': 'k', + '\u1E31': 'k', + '\u01E9': 'k', + '\u1E33': 'k', + '\u0137': 'k', + '\u1E35': 'k', + '\u0199': 'k', + '\u2C6A': 'k', + '\uA741': 'k', + '\uA743': 'k', + '\uA745': 'k', + '\uA7A3': 'k', + '\u24DB': 'l', + '\uFF4C': 'l', + '\u0140': 'l', + '\u013A': 'l', + '\u013E': 'l', + '\u1E37': 'l', + '\u1E39': 'l', + '\u013C': 'l', + '\u1E3D': 'l', + '\u1E3B': 'l', + '\u017F': 'l', + '\u0142': 'l', + '\u019A': 'l', + '\u026B': 'l', + '\u2C61': 'l', + '\uA749': 'l', + '\uA781': 'l', + '\uA747': 'l', + '\u01C9': 'lj', + '\u24DC': 'm', + '\uFF4D': 'm', + '\u1E3F': 'm', + '\u1E41': 'm', + '\u1E43': 'm', + '\u0271': 'm', + '\u026F': 'm', + '\u24DD': 'n', + '\uFF4E': 'n', + '\u01F9': 'n', + '\u0144': 'n', + '\u00F1': 'n', + '\u1E45': 'n', + '\u0148': 'n', + '\u1E47': 'n', + '\u0146': 'n', + '\u1E4B': 'n', + '\u1E49': 'n', + '\u019E': 'n', + '\u0272': 'n', + '\u0149': 'n', + '\uA791': 'n', + '\uA7A5': 'n', + '\u01CC': 'nj', + '\u24DE': 'o', + '\uFF4F': 'o', + '\u00F2': 'o', + '\u00F3': 'o', + '\u00F4': 'o', + '\u1ED3': 'o', + '\u1ED1': 'o', + '\u1ED7': 'o', + '\u1ED5': 'o', + '\u00F5': 'o', + '\u1E4D': 'o', + '\u022D': 'o', + '\u1E4F': 'o', + '\u014D': 'o', + '\u1E51': 'o', + '\u1E53': 'o', + '\u014F': 'o', + '\u022F': 'o', + '\u0231': 'o', + '\u00F6': 'o', + '\u022B': 'o', + '\u1ECF': 'o', + '\u0151': 'o', + '\u01D2': 'o', + '\u020D': 'o', + '\u020F': 'o', + '\u01A1': 'o', + '\u1EDD': 'o', + '\u1EDB': 'o', + '\u1EE1': 'o', + '\u1EDF': 'o', + '\u1EE3': 'o', + '\u1ECD': 'o', + '\u1ED9': 'o', + '\u01EB': 'o', + '\u01ED': 'o', + '\u00F8': 'o', + '\u01FF': 'o', + '\u0254': 'o', + '\uA74B': 'o', + '\uA74D': 'o', + '\u0275': 'o', + '\u0153': 'oe', + '\u01A3': 'oi', + '\u0223': 'ou', + '\uA74F': 'oo', + '\u24DF': 'p', + '\uFF50': 'p', + '\u1E55': 'p', + '\u1E57': 'p', + '\u01A5': 'p', + '\u1D7D': 'p', + '\uA751': 'p', + '\uA753': 'p', + '\uA755': 'p', + '\u24E0': 'q', + '\uFF51': 'q', + '\u024B': 'q', + '\uA757': 'q', + '\uA759': 'q', + '\u24E1': 'r', + '\uFF52': 'r', + '\u0155': 'r', + '\u1E59': 'r', + '\u0159': 'r', + '\u0211': 'r', + '\u0213': 'r', + '\u1E5B': 'r', + '\u1E5D': 'r', + '\u0157': 'r', + '\u1E5F': 'r', + '\u024D': 'r', + '\u027D': 'r', + '\uA75B': 'r', + '\uA7A7': 'r', + '\uA783': 'r', + '\u24E2': 's', + '\uFF53': 's', + '\u00DF': 's', + '\u015B': 's', + '\u1E65': 's', + '\u015D': 's', + '\u1E61': 's', + '\u0161': 's', + '\u1E67': 's', + '\u1E63': 's', + '\u1E69': 's', + '\u0219': 's', + '\u015F': 's', + '\u023F': 's', + '\uA7A9': 's', + '\uA785': 's', + '\u1E9B': 's', + '\u24E3': 't', + '\uFF54': 't', + '\u1E6B': 't', + '\u1E97': 't', + '\u0165': 't', + '\u1E6D': 't', + '\u021B': 't', + '\u0163': 't', + '\u1E71': 't', + '\u1E6F': 't', + '\u0167': 't', + '\u01AD': 't', + '\u0288': 't', + '\u2C66': 't', + '\uA787': 't', + '\uA729': 'tz', + '\u24E4': 'u', + '\uFF55': 'u', + '\u00F9': 'u', + '\u00FA': 'u', + '\u00FB': 'u', + '\u0169': 'u', + '\u1E79': 'u', + '\u016B': 'u', + '\u1E7B': 'u', + '\u016D': 'u', + '\u00FC': 'u', + '\u01DC': 'u', + '\u01D8': 'u', + '\u01D6': 'u', + '\u01DA': 'u', + '\u1EE7': 'u', + '\u016F': 'u', + '\u0171': 'u', + '\u01D4': 'u', + '\u0215': 'u', + '\u0217': 'u', + '\u01B0': 'u', + '\u1EEB': 'u', + '\u1EE9': 'u', + '\u1EEF': 'u', + '\u1EED': 'u', + '\u1EF1': 'u', + '\u1EE5': 'u', + '\u1E73': 'u', + '\u0173': 'u', + '\u1E77': 'u', + '\u1E75': 'u', + '\u0289': 'u', + '\u24E5': 'v', + '\uFF56': 'v', + '\u1E7D': 'v', + '\u1E7F': 'v', + '\u028B': 'v', + '\uA75F': 'v', + '\u028C': 'v', + '\uA761': 'vy', + '\u24E6': 'w', + '\uFF57': 'w', + '\u1E81': 'w', + '\u1E83': 'w', + '\u0175': 'w', + '\u1E87': 'w', + '\u1E85': 'w', + '\u1E98': 'w', + '\u1E89': 'w', + '\u2C73': 'w', + '\u24E7': 'x', + '\uFF58': 'x', + '\u1E8B': 'x', + '\u1E8D': 'x', + '\u24E8': 'y', + '\uFF59': 'y', + '\u1EF3': 'y', + '\u00FD': 'y', + '\u0177': 'y', + '\u1EF9': 'y', + '\u0233': 'y', + '\u1E8F': 'y', + '\u00FF': 'y', + '\u1EF7': 'y', + '\u1E99': 'y', + '\u1EF5': 'y', + '\u01B4': 'y', + '\u024F': 'y', + '\u1EFF': 'y', + '\u24E9': 'z', + '\uFF5A': 'z', + '\u017A': 'z', + '\u1E91': 'z', + '\u017C': 'z', + '\u017E': 'z', + '\u1E93': 'z', + '\u1E95': 'z', + '\u01B6': 'z', + '\u0225': 'z', + '\u0240': 'z', + '\u2C6C': 'z', + '\uA763': 'z', + '\u0386': '\u0391', + '\u0388': '\u0395', + '\u0389': '\u0397', + '\u038A': '\u0399', + '\u03AA': '\u0399', + '\u038C': '\u039F', + '\u038E': '\u03A5', + '\u03AB': '\u03A5', + '\u038F': '\u03A9', + '\u03AC': '\u03B1', + '\u03AD': '\u03B5', + '\u03AE': '\u03B7', + '\u03AF': '\u03B9', + '\u03CA': '\u03B9', + '\u0390': '\u03B9', + '\u03CC': '\u03BF', + '\u03CD': '\u03C5', + '\u03CB': '\u03C5', + '\u03B0': '\u03C5', + '\u03CE': '\u03C9', + '\u03C2': '\u03C3', + '\u2019': '\'' + }; + + return diacritics; +}); + +S2.define('select2/data/base',[ + '../utils' +], function (Utils) { + function BaseAdapter ($element, options) { + BaseAdapter.__super__.constructor.call(this); + } + + Utils.Extend(BaseAdapter, Utils.Observable); + + BaseAdapter.prototype.current = function (callback) { + throw new Error('The `current` method must be defined in child classes.'); + }; + + BaseAdapter.prototype.query = function (params, callback) { + throw new Error('The `query` method must be defined in child classes.'); + }; + + BaseAdapter.prototype.bind = function (container, $container) { + // Can be implemented in subclasses + }; + + BaseAdapter.prototype.destroy = function () { + // Can be implemented in subclasses + }; + + BaseAdapter.prototype.generateResultId = function (container, data) { + var id = container.id + '-result-'; + + id += Utils.generateChars(4); + + if (data.id != null) { + id += '-' + data.id.toString(); + } else { + id += '-' + Utils.generateChars(4); + } + return id; + }; + + return BaseAdapter; +}); + +S2.define('select2/data/select',[ + './base', + '../utils', + 'jquery' +], function (BaseAdapter, Utils, $) { + function SelectAdapter ($element, options) { + this.$element = $element; + this.options = options; + + SelectAdapter.__super__.constructor.call(this); + } + + Utils.Extend(SelectAdapter, BaseAdapter); + + SelectAdapter.prototype.current = function (callback) { + var data = []; + var self = this; + + this.$element.find(':selected').each(function () { + var $option = $(this); + + var option = self.item($option); + + data.push(option); + }); + + callback(data); + }; + + SelectAdapter.prototype.select = function (data) { + var self = this; + + data.selected = true; + + // If data.element is a DOM node, use it instead + if ($(data.element).is('option')) { + data.element.selected = true; + + this.$element.trigger('input').trigger('change'); + + return; + } + + if (this.$element.prop('multiple')) { + this.current(function (currentData) { + var val = []; + + data = [data]; + data.push.apply(data, currentData); + + for (var d = 0; d < data.length; d++) { + var id = data[d].id; + + if ($.inArray(id, val) === -1) { + val.push(id); + } + } + + self.$element.val(val); + self.$element.trigger('input').trigger('change'); + }); + } else { + var val = data.id; + + this.$element.val(val); + this.$element.trigger('input').trigger('change'); + } + }; + + SelectAdapter.prototype.unselect = function (data) { + var self = this; + + if (!this.$element.prop('multiple')) { + return; + } + + data.selected = false; + + if ($(data.element).is('option')) { + data.element.selected = false; + + this.$element.trigger('input').trigger('change'); + + return; + } + + this.current(function (currentData) { + var val = []; + + for (var d = 0; d < currentData.length; d++) { + var id = currentData[d].id; + + if (id !== data.id && $.inArray(id, val) === -1) { + val.push(id); + } + } + + self.$element.val(val); + + self.$element.trigger('input').trigger('change'); + }); + }; + + SelectAdapter.prototype.bind = function (container, $container) { + var self = this; + + this.container = container; + + container.on('select', function (params) { + self.select(params.data); + }); + + container.on('unselect', function (params) { + self.unselect(params.data); + }); + }; + + SelectAdapter.prototype.destroy = function () { + // Remove anything added to child elements + this.$element.find('*').each(function () { + // Remove any custom data set by Select2 + Utils.RemoveData(this); + }); + }; + + SelectAdapter.prototype.query = function (params, callback) { + var data = []; + var self = this; + + var $options = this.$element.children(); + + $options.each(function () { + var $option = $(this); + + if (!$option.is('option') && !$option.is('optgroup')) { + return; + } + + var option = self.item($option); + + var matches = self.matches(params, option); + + if (matches !== null) { + data.push(matches); + } + }); + + callback({ + results: data + }); + }; + + SelectAdapter.prototype.addOptions = function ($options) { + Utils.appendMany(this.$element, $options); + }; + + SelectAdapter.prototype.option = function (data) { + var option; + + if (data.children) { + option = document.createElement('optgroup'); + option.label = data.text; + } else { + option = document.createElement('option'); + + if (option.textContent !== undefined) { + option.textContent = data.text; + } else { + option.innerText = data.text; + } + } + + if (data.id !== undefined) { + option.value = data.id; + } + + if (data.disabled) { + option.disabled = true; + } + + if (data.selected) { + option.selected = true; + } + + if (data.title) { + option.title = data.title; + } + + var $option = $(option); + + var normalizedData = this._normalizeItem(data); + normalizedData.element = option; + + // Override the option's data with the combined data + Utils.StoreData(option, 'data', normalizedData); + + return $option; + }; + + SelectAdapter.prototype.item = function ($option) { + var data = {}; + + data = Utils.GetData($option[0], 'data'); + + if (data != null) { + return data; + } + + if ($option.is('option')) { + data = { + id: $option.val(), + text: $option.text(), + disabled: $option.prop('disabled'), + selected: $option.prop('selected'), + title: $option.prop('title') + }; + } else if ($option.is('optgroup')) { + data = { + text: $option.prop('label'), + children: [], + title: $option.prop('title') + }; + + var $children = $option.children('option'); + var children = []; + + for (var c = 0; c < $children.length; c++) { + var $child = $($children[c]); + + var child = this.item($child); + + children.push(child); + } + + data.children = children; + } + + data = this._normalizeItem(data); + data.element = $option[0]; + + Utils.StoreData($option[0], 'data', data); + + return data; + }; + + SelectAdapter.prototype._normalizeItem = function (item) { + if (item !== Object(item)) { + item = { + id: item, + text: item + }; + } + + item = $.extend({}, { + text: '' + }, item); + + var defaults = { + selected: false, + disabled: false + }; + + if (item.id != null) { + item.id = item.id.toString(); + } + + if (item.text != null) { + item.text = item.text.toString(); + } + + if (item._resultId == null && item.id && this.container != null) { + item._resultId = this.generateResultId(this.container, item); + } + + return $.extend({}, defaults, item); + }; + + SelectAdapter.prototype.matches = function (params, data) { + var matcher = this.options.get('matcher'); + + return matcher(params, data); + }; + + return SelectAdapter; +}); + +S2.define('select2/data/array',[ + './select', + '../utils', + 'jquery' +], function (SelectAdapter, Utils, $) { + function ArrayAdapter ($element, options) { + this._dataToConvert = options.get('data') || []; + + ArrayAdapter.__super__.constructor.call(this, $element, options); + } + + Utils.Extend(ArrayAdapter, SelectAdapter); + + ArrayAdapter.prototype.bind = function (container, $container) { + ArrayAdapter.__super__.bind.call(this, container, $container); + + this.addOptions(this.convertToOptions(this._dataToConvert)); + }; + + ArrayAdapter.prototype.select = function (data) { + var $option = this.$element.find('option').filter(function (i, elm) { + return elm.value == data.id.toString(); + }); + + if ($option.length === 0) { + $option = this.option(data); + + this.addOptions($option); + } + + ArrayAdapter.__super__.select.call(this, data); + }; + + ArrayAdapter.prototype.convertToOptions = function (data) { + var self = this; + + var $existing = this.$element.find('option'); + var existingIds = $existing.map(function () { + return self.item($(this)).id; + }).get(); + + var $options = []; + + // Filter out all items except for the one passed in the argument + function onlyItem (item) { + return function () { + return $(this).val() == item.id; + }; + } + + for (var d = 0; d < data.length; d++) { + var item = this._normalizeItem(data[d]); + + // Skip items which were pre-loaded, only merge the data + if ($.inArray(item.id, existingIds) >= 0) { + var $existingOption = $existing.filter(onlyItem(item)); + + var existingData = this.item($existingOption); + var newData = $.extend(true, {}, item, existingData); + + var $newOption = this.option(newData); + + $existingOption.replaceWith($newOption); + + continue; + } + + var $option = this.option(item); + + if (item.children) { + var $children = this.convertToOptions(item.children); + + Utils.appendMany($option, $children); + } + + $options.push($option); + } + + return $options; + }; + + return ArrayAdapter; +}); + +S2.define('select2/data/ajax',[ + './array', + '../utils', + 'jquery' +], function (ArrayAdapter, Utils, $) { + function AjaxAdapter ($element, options) { + this.ajaxOptions = this._applyDefaults(options.get('ajax')); + + if (this.ajaxOptions.processResults != null) { + this.processResults = this.ajaxOptions.processResults; + } + + AjaxAdapter.__super__.constructor.call(this, $element, options); + } + + Utils.Extend(AjaxAdapter, ArrayAdapter); + + AjaxAdapter.prototype._applyDefaults = function (options) { + var defaults = { + data: function (params) { + return $.extend({}, params, { + q: params.term + }); + }, + transport: function (params, success, failure) { + var $request = $.ajax(params); + + $request.then(success); + $request.fail(failure); + + return $request; + } + }; + + return $.extend({}, defaults, options, true); + }; + + AjaxAdapter.prototype.processResults = function (results) { + return results; + }; + + AjaxAdapter.prototype.query = function (params, callback) { + var matches = []; + var self = this; + + if (this._request != null) { + // JSONP requests cannot always be aborted + if ($.isFunction(this._request.abort)) { + this._request.abort(); + } + + this._request = null; + } + + var options = $.extend({ + type: 'GET' + }, this.ajaxOptions); + + if (typeof options.url === 'function') { + options.url = options.url.call(this.$element, params); + } + + if (typeof options.data === 'function') { + options.data = options.data.call(this.$element, params); + } + + function request () { + var $request = options.transport(options, function (data) { + var results = self.processResults(data, params); + + if (self.options.get('debug') && window.console && console.error) { + // Check to make sure that the response included a `results` key. + if (!results || !results.results || !$.isArray(results.results)) { + console.error( + 'Select2: The AJAX results did not return an array in the ' + + '`results` key of the response.' + ); + } + } + + callback(results); + }, function () { + // Attempt to detect if a request was aborted + // Only works if the transport exposes a status property + if ('status' in $request && + ($request.status === 0 || $request.status === '0')) { + return; + } + + self.trigger('results:message', { + message: 'errorLoading' + }); + }); + + self._request = $request; + } + + if (this.ajaxOptions.delay && params.term != null) { + if (this._queryTimeout) { + window.clearTimeout(this._queryTimeout); + } + + this._queryTimeout = window.setTimeout(request, this.ajaxOptions.delay); + } else { + request(); + } + }; + + return AjaxAdapter; +}); + +S2.define('select2/data/tags',[ + 'jquery' +], function ($) { + function Tags (decorated, $element, options) { + var tags = options.get('tags'); + + var createTag = options.get('createTag'); + + if (createTag !== undefined) { + this.createTag = createTag; + } + + var insertTag = options.get('insertTag'); + + if (insertTag !== undefined) { + this.insertTag = insertTag; + } + + decorated.call(this, $element, options); + + if ($.isArray(tags)) { + for (var t = 0; t < tags.length; t++) { + var tag = tags[t]; + var item = this._normalizeItem(tag); + + var $option = this.option(item); + + this.$element.append($option); + } + } + } + + Tags.prototype.query = function (decorated, params, callback) { + var self = this; + + this._removeOldTags(); + + if (params.term == null || params.page != null) { + decorated.call(this, params, callback); + return; + } + + function wrapper (obj, child) { + var data = obj.results; + + for (var i = 0; i < data.length; i++) { + var option = data[i]; + + var checkChildren = ( + option.children != null && + !wrapper({ + results: option.children + }, true) + ); + + var optionText = (option.text || '').toUpperCase(); + var paramsTerm = (params.term || '').toUpperCase(); + + var checkText = optionText === paramsTerm; + + if (checkText || checkChildren) { + if (child) { + return false; + } + + obj.data = data; + callback(obj); + + return; + } + } + + if (child) { + return true; + } + + var tag = self.createTag(params); + + if (tag != null) { + var $option = self.option(tag); + $option.attr('data-select2-tag', true); + + self.addOptions([$option]); + + self.insertTag(data, tag); + } + + obj.results = data; + + callback(obj); + } + + decorated.call(this, params, wrapper); + }; + + Tags.prototype.createTag = function (decorated, params) { + var term = $.trim(params.term); + + if (term === '') { + return null; + } + + return { + id: term, + text: term + }; + }; + + Tags.prototype.insertTag = function (_, data, tag) { + data.unshift(tag); + }; + + Tags.prototype._removeOldTags = function (_) { + var $options = this.$element.find('option[data-select2-tag]'); + + $options.each(function () { + if (this.selected) { + return; + } + + $(this).remove(); + }); + }; + + return Tags; +}); + +S2.define('select2/data/tokenizer',[ + 'jquery' +], function ($) { + function Tokenizer (decorated, $element, options) { + var tokenizer = options.get('tokenizer'); + + if (tokenizer !== undefined) { + this.tokenizer = tokenizer; + } + + decorated.call(this, $element, options); + } + + Tokenizer.prototype.bind = function (decorated, container, $container) { + decorated.call(this, container, $container); + + this.$search = container.dropdown.$search || container.selection.$search || + $container.find('.select2-search__field'); + }; + + Tokenizer.prototype.query = function (decorated, params, callback) { + var self = this; + + function createAndSelect (data) { + // Normalize the data object so we can use it for checks + var item = self._normalizeItem(data); + + // Check if the data object already exists as a tag + // Select it if it doesn't + var $existingOptions = self.$element.find('option').filter(function () { + return $(this).val() === item.id; + }); + + // If an existing option wasn't found for it, create the option + if (!$existingOptions.length) { + var $option = self.option(item); + $option.attr('data-select2-tag', true); + + self._removeOldTags(); + self.addOptions([$option]); + } + + // Select the item, now that we know there is an option for it + select(item); + } + + function select (data) { + self.trigger('select', { + data: data + }); + } + + params.term = params.term || ''; + + var tokenData = this.tokenizer(params, this.options, createAndSelect); + + if (tokenData.term !== params.term) { + // Replace the search term if we have the search box + if (this.$search.length) { + this.$search.val(tokenData.term); + this.$search.trigger('focus'); + } + + params.term = tokenData.term; + } + + decorated.call(this, params, callback); + }; + + Tokenizer.prototype.tokenizer = function (_, params, options, callback) { + var separators = options.get('tokenSeparators') || []; + var term = params.term; + var i = 0; + + var createTag = this.createTag || function (params) { + return { + id: params.term, + text: params.term + }; + }; + + while (i < term.length) { + var termChar = term[i]; + + if ($.inArray(termChar, separators) === -1) { + i++; + + continue; + } + + var part = term.substr(0, i); + var partParams = $.extend({}, params, { + term: part + }); + + var data = createTag(partParams); + + if (data == null) { + i++; + continue; + } + + callback(data); + + // Reset the term to not include the tokenized portion + term = term.substr(i + 1) || ''; + i = 0; + } + + return { + term: term + }; + }; + + return Tokenizer; +}); + +S2.define('select2/data/minimumInputLength',[ + +], function () { + function MinimumInputLength (decorated, $e, options) { + this.minimumInputLength = options.get('minimumInputLength'); + + decorated.call(this, $e, options); + } + + MinimumInputLength.prototype.query = function (decorated, params, callback) { + params.term = params.term || ''; + + if (params.term.length < this.minimumInputLength) { + this.trigger('results:message', { + message: 'inputTooShort', + args: { + minimum: this.minimumInputLength, + input: params.term, + params: params + } + }); + + return; + } + + decorated.call(this, params, callback); + }; + + return MinimumInputLength; +}); + +S2.define('select2/data/maximumInputLength',[ + +], function () { + function MaximumInputLength (decorated, $e, options) { + this.maximumInputLength = options.get('maximumInputLength'); + + decorated.call(this, $e, options); + } + + MaximumInputLength.prototype.query = function (decorated, params, callback) { + params.term = params.term || ''; + + if (this.maximumInputLength > 0 && + params.term.length > this.maximumInputLength) { + this.trigger('results:message', { + message: 'inputTooLong', + args: { + maximum: this.maximumInputLength, + input: params.term, + params: params + } + }); + + return; + } + + decorated.call(this, params, callback); + }; + + return MaximumInputLength; +}); + +S2.define('select2/data/maximumSelectionLength',[ + +], function (){ + function MaximumSelectionLength (decorated, $e, options) { + this.maximumSelectionLength = options.get('maximumSelectionLength'); + + decorated.call(this, $e, options); + } + + MaximumSelectionLength.prototype.bind = + function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('select', function () { + self._checkIfMaximumSelected(); + }); + }; + + MaximumSelectionLength.prototype.query = + function (decorated, params, callback) { + var self = this; + + this._checkIfMaximumSelected(function () { + decorated.call(self, params, callback); + }); + }; + + MaximumSelectionLength.prototype._checkIfMaximumSelected = + function (_, successCallback) { + var self = this; + + this.current(function (currentData) { + var count = currentData != null ? currentData.length : 0; + if (self.maximumSelectionLength > 0 && + count >= self.maximumSelectionLength) { + self.trigger('results:message', { + message: 'maximumSelected', + args: { + maximum: self.maximumSelectionLength + } + }); + return; + } + + if (successCallback) { + successCallback(); + } + }); + }; + + return MaximumSelectionLength; +}); + +S2.define('select2/dropdown',[ + 'jquery', + './utils' +], function ($, Utils) { + function Dropdown ($element, options) { + this.$element = $element; + this.options = options; + + Dropdown.__super__.constructor.call(this); + } + + Utils.Extend(Dropdown, Utils.Observable); + + Dropdown.prototype.render = function () { + var $dropdown = $( + '<span class="select2-dropdown">' + + '<span class="select2-results"></span>' + + '</span>' + ); + + $dropdown.attr('dir', this.options.get('dir')); + + this.$dropdown = $dropdown; + + return $dropdown; + }; + + Dropdown.prototype.bind = function () { + // Should be implemented in subclasses + }; + + Dropdown.prototype.position = function ($dropdown, $container) { + // Should be implemented in subclasses + }; + + Dropdown.prototype.destroy = function () { + // Remove the dropdown from the DOM + this.$dropdown.remove(); + }; + + return Dropdown; +}); + +S2.define('select2/dropdown/search',[ + 'jquery', + '../utils' +], function ($, Utils) { + function Search () { } + + Search.prototype.render = function (decorated) { + var $rendered = decorated.call(this); + + var $search = $( + '<span class="select2-search select2-search--dropdown">' + + '<input class="select2-search__field" type="search" tabindex="-1"' + + ' autocomplete="off" autocorrect="off" autocapitalize="none"' + + ' spellcheck="false" role="searchbox" aria-autocomplete="list" />' + + '</span>' + ); + + this.$searchContainer = $search; + this.$search = $search.find('input'); + + $rendered.prepend($search); + + return $rendered; + }; + + Search.prototype.bind = function (decorated, container, $container) { + var self = this; + + var resultsId = container.id + '-results'; + + decorated.call(this, container, $container); + + this.$search.on('keydown', function (evt) { + self.trigger('keypress', evt); + + self._keyUpPrevented = evt.isDefaultPrevented(); + }); + + // Workaround for browsers which do not support the `input` event + // This will prevent double-triggering of events for browsers which support + // both the `keyup` and `input` events. + this.$search.on('input', function (evt) { + // Unbind the duplicated `keyup` event + $(this).off('keyup'); + }); + + this.$search.on('keyup input', function (evt) { + self.handleSearch(evt); + }); + + container.on('open', function () { + self.$search.attr('tabindex', 0); + self.$search.attr('aria-controls', resultsId); + + self.$search.trigger('focus'); + + window.setTimeout(function () { + self.$search.trigger('focus'); + }, 0); + }); + + container.on('close', function () { + self.$search.attr('tabindex', -1); + self.$search.removeAttr('aria-controls'); + self.$search.removeAttr('aria-activedescendant'); + + self.$search.val(''); + self.$search.trigger('blur'); + }); + + container.on('focus', function () { + if (!container.isOpen()) { + self.$search.trigger('focus'); + } + }); + + container.on('results:all', function (params) { + if (params.query.term == null || params.query.term === '') { + var showSearch = self.showSearch(params); + + if (showSearch) { + self.$searchContainer.removeClass('select2-search--hide'); + } else { + self.$searchContainer.addClass('select2-search--hide'); + } + } + }); + + container.on('results:focus', function (params) { + if (params.data._resultId) { + self.$search.attr('aria-activedescendant', params.data._resultId); + } else { + self.$search.removeAttr('aria-activedescendant'); + } + }); + }; + + Search.prototype.handleSearch = function (evt) { + if (!this._keyUpPrevented) { + var input = this.$search.val(); + + this.trigger('query', { + term: input + }); + } + + this._keyUpPrevented = false; + }; + + Search.prototype.showSearch = function (_, params) { + return true; + }; + + return Search; +}); + +S2.define('select2/dropdown/hidePlaceholder',[ + +], function () { + function HidePlaceholder (decorated, $element, options, dataAdapter) { + this.placeholder = this.normalizePlaceholder(options.get('placeholder')); + + decorated.call(this, $element, options, dataAdapter); + } + + HidePlaceholder.prototype.append = function (decorated, data) { + data.results = this.removePlaceholder(data.results); + + decorated.call(this, data); + }; + + HidePlaceholder.prototype.normalizePlaceholder = function (_, placeholder) { + if (typeof placeholder === 'string') { + placeholder = { + id: '', + text: placeholder + }; + } + + return placeholder; + }; + + HidePlaceholder.prototype.removePlaceholder = function (_, data) { + var modifiedData = data.slice(0); + + for (var d = data.length - 1; d >= 0; d--) { + var item = data[d]; + + if (this.placeholder.id === item.id) { + modifiedData.splice(d, 1); + } + } + + return modifiedData; + }; + + return HidePlaceholder; +}); + +S2.define('select2/dropdown/infiniteScroll',[ + 'jquery' +], function ($) { + function InfiniteScroll (decorated, $element, options, dataAdapter) { + this.lastParams = {}; + + decorated.call(this, $element, options, dataAdapter); + + this.$loadingMore = this.createLoadingMore(); + this.loading = false; + } + + InfiniteScroll.prototype.append = function (decorated, data) { + this.$loadingMore.remove(); + this.loading = false; + + decorated.call(this, data); + + if (this.showLoadingMore(data)) { + this.$results.append(this.$loadingMore); + this.loadMoreIfNeeded(); + } + }; + + InfiniteScroll.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('query', function (params) { + self.lastParams = params; + self.loading = true; + }); + + container.on('query:append', function (params) { + self.lastParams = params; + self.loading = true; + }); + + this.$results.on('scroll', this.loadMoreIfNeeded.bind(this)); + }; + + InfiniteScroll.prototype.loadMoreIfNeeded = function () { + var isLoadMoreVisible = $.contains( + document.documentElement, + this.$loadingMore[0] + ); + + if (this.loading || !isLoadMoreVisible) { + return; + } + + var currentOffset = this.$results.offset().top + + this.$results.outerHeight(false); + var loadingMoreOffset = this.$loadingMore.offset().top + + this.$loadingMore.outerHeight(false); + + if (currentOffset + 50 >= loadingMoreOffset) { + this.loadMore(); + } + }; + + InfiniteScroll.prototype.loadMore = function () { + this.loading = true; + + var params = $.extend({}, {page: 1}, this.lastParams); + + params.page++; + + this.trigger('query:append', params); + }; + + InfiniteScroll.prototype.showLoadingMore = function (_, data) { + return data.pagination && data.pagination.more; + }; + + InfiniteScroll.prototype.createLoadingMore = function () { + var $option = $( + '<li ' + + 'class="select2-results__option select2-results__option--load-more"' + + 'role="option" aria-disabled="true"></li>' + ); + + var message = this.options.get('translations').get('loadingMore'); + + $option.html(message(this.lastParams)); + + return $option; + }; + + return InfiniteScroll; +}); + +S2.define('select2/dropdown/attachBody',[ + 'jquery', + '../utils' +], function ($, Utils) { + function AttachBody (decorated, $element, options) { + this.$dropdownParent = $(options.get('dropdownParent') || document.body); + + decorated.call(this, $element, options); + } + + AttachBody.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('open', function () { + self._showDropdown(); + self._attachPositioningHandler(container); + + // Must bind after the results handlers to ensure correct sizing + self._bindContainerResultHandlers(container); + }); + + container.on('close', function () { + self._hideDropdown(); + self._detachPositioningHandler(container); + }); + + this.$dropdownContainer.on('mousedown', function (evt) { + evt.stopPropagation(); + }); + }; + + AttachBody.prototype.destroy = function (decorated) { + decorated.call(this); + + this.$dropdownContainer.remove(); + }; + + AttachBody.prototype.position = function (decorated, $dropdown, $container) { + // Clone all of the container classes + $dropdown.attr('class', $container.attr('class')); + + $dropdown.removeClass('select2'); + $dropdown.addClass('select2-container--open'); + + $dropdown.css({ + position: 'absolute', + top: -999999 + }); + + this.$container = $container; + }; + + AttachBody.prototype.render = function (decorated) { + var $container = $('<span></span>'); + + var $dropdown = decorated.call(this); + $container.append($dropdown); + + this.$dropdownContainer = $container; + + return $container; + }; + + AttachBody.prototype._hideDropdown = function (decorated) { + this.$dropdownContainer.detach(); + }; + + AttachBody.prototype._bindContainerResultHandlers = + function (decorated, container) { + + // These should only be bound once + if (this._containerResultsHandlersBound) { + return; + } + + var self = this; + + container.on('results:all', function () { + self._positionDropdown(); + self._resizeDropdown(); + }); + + container.on('results:append', function () { + self._positionDropdown(); + self._resizeDropdown(); + }); + + container.on('results:message', function () { + self._positionDropdown(); + self._resizeDropdown(); + }); + + container.on('select', function () { + self._positionDropdown(); + self._resizeDropdown(); + }); + + container.on('unselect', function () { + self._positionDropdown(); + self._resizeDropdown(); + }); + + this._containerResultsHandlersBound = true; + }; + + AttachBody.prototype._attachPositioningHandler = + function (decorated, container) { + var self = this; + + var scrollEvent = 'scroll.select2.' + container.id; + var resizeEvent = 'resize.select2.' + container.id; + var orientationEvent = 'orientationchange.select2.' + container.id; + + var $watchers = this.$container.parents().filter(Utils.hasScroll); + $watchers.each(function () { + Utils.StoreData(this, 'select2-scroll-position', { + x: $(this).scrollLeft(), + y: $(this).scrollTop() + }); + }); + + $watchers.on(scrollEvent, function (ev) { + var position = Utils.GetData(this, 'select2-scroll-position'); + $(this).scrollTop(position.y); + }); + + $(window).on(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent, + function (e) { + self._positionDropdown(); + self._resizeDropdown(); + }); + }; + + AttachBody.prototype._detachPositioningHandler = + function (decorated, container) { + var scrollEvent = 'scroll.select2.' + container.id; + var resizeEvent = 'resize.select2.' + container.id; + var orientationEvent = 'orientationchange.select2.' + container.id; + + var $watchers = this.$container.parents().filter(Utils.hasScroll); + $watchers.off(scrollEvent); + + $(window).off(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent); + }; + + AttachBody.prototype._positionDropdown = function () { + var $window = $(window); + + var isCurrentlyAbove = this.$dropdown.hasClass('select2-dropdown--above'); + var isCurrentlyBelow = this.$dropdown.hasClass('select2-dropdown--below'); + + var newDirection = null; + + var offset = this.$container.offset(); + + offset.bottom = offset.top + this.$container.outerHeight(false); + + var container = { + height: this.$container.outerHeight(false) + }; + + container.top = offset.top; + container.bottom = offset.top + container.height; + + var dropdown = { + height: this.$dropdown.outerHeight(false) + }; + + var viewport = { + top: $window.scrollTop(), + bottom: $window.scrollTop() + $window.height() + }; + + var enoughRoomAbove = viewport.top < (offset.top - dropdown.height); + var enoughRoomBelow = viewport.bottom > (offset.bottom + dropdown.height); + + var css = { + left: offset.left, + top: container.bottom + }; + + // Determine what the parent element is to use for calculating the offset + var $offsetParent = this.$dropdownParent; + + // For statically positioned elements, we need to get the element + // that is determining the offset + if ($offsetParent.css('position') === 'static') { + $offsetParent = $offsetParent.offsetParent(); + } + + var parentOffset = { + top: 0, + left: 0 + }; + + if ( + $.contains(document.body, $offsetParent[0]) || + $offsetParent[0].isConnected + ) { + parentOffset = $offsetParent.offset(); + } + + css.top -= parentOffset.top; + css.left -= parentOffset.left; + + if (!isCurrentlyAbove && !isCurrentlyBelow) { + newDirection = 'below'; + } + + if (!enoughRoomBelow && enoughRoomAbove && !isCurrentlyAbove) { + newDirection = 'above'; + } else if (!enoughRoomAbove && enoughRoomBelow && isCurrentlyAbove) { + newDirection = 'below'; + } + + if (newDirection == 'above' || + (isCurrentlyAbove && newDirection !== 'below')) { + css.top = container.top - parentOffset.top - dropdown.height; + } + + if (newDirection != null) { + this.$dropdown + .removeClass('select2-dropdown--below select2-dropdown--above') + .addClass('select2-dropdown--' + newDirection); + this.$container + .removeClass('select2-container--below select2-container--above') + .addClass('select2-container--' + newDirection); + } + + this.$dropdownContainer.css(css); + }; + + AttachBody.prototype._resizeDropdown = function () { + var css = { + width: this.$container.outerWidth(false) + 'px' + }; + + if (this.options.get('dropdownAutoWidth')) { + css.minWidth = css.width; + css.position = 'relative'; + css.width = 'auto'; + } + + this.$dropdown.css(css); + }; + + AttachBody.prototype._showDropdown = function (decorated) { + this.$dropdownContainer.appendTo(this.$dropdownParent); + + this._positionDropdown(); + this._resizeDropdown(); + }; + + return AttachBody; +}); + +S2.define('select2/dropdown/minimumResultsForSearch',[ + +], function () { + function countResults (data) { + var count = 0; + + for (var d = 0; d < data.length; d++) { + var item = data[d]; + + if (item.children) { + count += countResults(item.children); + } else { + count++; + } + } + + return count; + } + + function MinimumResultsForSearch (decorated, $element, options, dataAdapter) { + this.minimumResultsForSearch = options.get('minimumResultsForSearch'); + + if (this.minimumResultsForSearch < 0) { + this.minimumResultsForSearch = Infinity; + } + + decorated.call(this, $element, options, dataAdapter); + } + + MinimumResultsForSearch.prototype.showSearch = function (decorated, params) { + if (countResults(params.data.results) < this.minimumResultsForSearch) { + return false; + } + + return decorated.call(this, params); + }; + + return MinimumResultsForSearch; +}); + +S2.define('select2/dropdown/selectOnClose',[ + '../utils' +], function (Utils) { + function SelectOnClose () { } + + SelectOnClose.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('close', function (params) { + self._handleSelectOnClose(params); + }); + }; + + SelectOnClose.prototype._handleSelectOnClose = function (_, params) { + if (params && params.originalSelect2Event != null) { + var event = params.originalSelect2Event; + + // Don't select an item if the close event was triggered from a select or + // unselect event + if (event._type === 'select' || event._type === 'unselect') { + return; + } + } + + var $highlightedResults = this.getHighlightedResults(); + + // Only select highlighted results + if ($highlightedResults.length < 1) { + return; + } + + var data = Utils.GetData($highlightedResults[0], 'data'); + + // Don't re-select already selected resulte + if ( + (data.element != null && data.element.selected) || + (data.element == null && data.selected) + ) { + return; + } + + this.trigger('select', { + data: data + }); + }; + + return SelectOnClose; +}); + +S2.define('select2/dropdown/closeOnSelect',[ + +], function () { + function CloseOnSelect () { } + + CloseOnSelect.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('select', function (evt) { + self._selectTriggered(evt); + }); + + container.on('unselect', function (evt) { + self._selectTriggered(evt); + }); + }; + + CloseOnSelect.prototype._selectTriggered = function (_, evt) { + var originalEvent = evt.originalEvent; + + // Don't close if the control key is being held + if (originalEvent && (originalEvent.ctrlKey || originalEvent.metaKey)) { + return; + } + + this.trigger('close', { + originalEvent: originalEvent, + originalSelect2Event: evt + }); + }; + + return CloseOnSelect; +}); + +S2.define('select2/i18n/en',[],function () { + // English + return { + errorLoading: function () { + return 'The results could not be loaded.'; + }, + inputTooLong: function (args) { + var overChars = args.input.length - args.maximum; + + var message = 'Please delete ' + overChars + ' character'; + + if (overChars != 1) { + message += 's'; + } + + return message; + }, + inputTooShort: function (args) { + var remainingChars = args.minimum - args.input.length; + + var message = 'Please enter ' + remainingChars + ' or more characters'; + + return message; + }, + loadingMore: function () { + return 'Loading more results…'; + }, + maximumSelected: function (args) { + var message = 'You can only select ' + args.maximum + ' item'; + + if (args.maximum != 1) { + message += 's'; + } + + return message; + }, + noResults: function () { + return 'No results found'; + }, + searching: function () { + return 'Searching…'; + }, + removeAllItems: function () { + return 'Remove all items'; + } + }; +}); + +S2.define('select2/defaults',[ + 'jquery', + 'require', + + './results', + + './selection/single', + './selection/multiple', + './selection/placeholder', + './selection/allowClear', + './selection/search', + './selection/eventRelay', + + './utils', + './translation', + './diacritics', + + './data/select', + './data/array', + './data/ajax', + './data/tags', + './data/tokenizer', + './data/minimumInputLength', + './data/maximumInputLength', + './data/maximumSelectionLength', + + './dropdown', + './dropdown/search', + './dropdown/hidePlaceholder', + './dropdown/infiniteScroll', + './dropdown/attachBody', + './dropdown/minimumResultsForSearch', + './dropdown/selectOnClose', + './dropdown/closeOnSelect', + + './i18n/en' +], function ($, require, + + ResultsList, + + SingleSelection, MultipleSelection, Placeholder, AllowClear, + SelectionSearch, EventRelay, + + Utils, Translation, DIACRITICS, + + SelectData, ArrayData, AjaxData, Tags, Tokenizer, + MinimumInputLength, MaximumInputLength, MaximumSelectionLength, + + Dropdown, DropdownSearch, HidePlaceholder, InfiniteScroll, + AttachBody, MinimumResultsForSearch, SelectOnClose, CloseOnSelect, + + EnglishTranslation) { + function Defaults () { + this.reset(); + } + + Defaults.prototype.apply = function (options) { + options = $.extend(true, {}, this.defaults, options); + + if (options.dataAdapter == null) { + if (options.ajax != null) { + options.dataAdapter = AjaxData; + } else if (options.data != null) { + options.dataAdapter = ArrayData; + } else { + options.dataAdapter = SelectData; + } + + if (options.minimumInputLength > 0) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + MinimumInputLength + ); + } + + if (options.maximumInputLength > 0) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + MaximumInputLength + ); + } + + if (options.maximumSelectionLength > 0) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + MaximumSelectionLength + ); + } + + if (options.tags) { + options.dataAdapter = Utils.Decorate(options.dataAdapter, Tags); + } + + if (options.tokenSeparators != null || options.tokenizer != null) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + Tokenizer + ); + } + + if (options.query != null) { + var Query = require(options.amdBase + 'compat/query'); + + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + Query + ); + } + + if (options.initSelection != null) { + var InitSelection = require(options.amdBase + 'compat/initSelection'); + + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + InitSelection + ); + } + } + + if (options.resultsAdapter == null) { + options.resultsAdapter = ResultsList; + + if (options.ajax != null) { + options.resultsAdapter = Utils.Decorate( + options.resultsAdapter, + InfiniteScroll + ); + } + + if (options.placeholder != null) { + options.resultsAdapter = Utils.Decorate( + options.resultsAdapter, + HidePlaceholder + ); + } + + if (options.selectOnClose) { + options.resultsAdapter = Utils.Decorate( + options.resultsAdapter, + SelectOnClose + ); + } + } + + if (options.dropdownAdapter == null) { + if (options.multiple) { + options.dropdownAdapter = Dropdown; + } else { + var SearchableDropdown = Utils.Decorate(Dropdown, DropdownSearch); + + options.dropdownAdapter = SearchableDropdown; + } + + if (options.minimumResultsForSearch !== 0) { + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + MinimumResultsForSearch + ); + } + + if (options.closeOnSelect) { + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + CloseOnSelect + ); + } + + if ( + options.dropdownCssClass != null || + options.dropdownCss != null || + options.adaptDropdownCssClass != null + ) { + var DropdownCSS = require(options.amdBase + 'compat/dropdownCss'); + + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + DropdownCSS + ); + } + + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + AttachBody + ); + } + + if (options.selectionAdapter == null) { + if (options.multiple) { + options.selectionAdapter = MultipleSelection; + } else { + options.selectionAdapter = SingleSelection; + } + + // Add the placeholder mixin if a placeholder was specified + if (options.placeholder != null) { + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + Placeholder + ); + } + + if (options.allowClear) { + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + AllowClear + ); + } + + if (options.multiple) { + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + SelectionSearch + ); + } + + if ( + options.containerCssClass != null || + options.containerCss != null || + options.adaptContainerCssClass != null + ) { + var ContainerCSS = require(options.amdBase + 'compat/containerCss'); + + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + ContainerCSS + ); + } + + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + EventRelay + ); + } + + // If the defaults were not previously applied from an element, it is + // possible for the language option to have not been resolved + options.language = this._resolveLanguage(options.language); + + // Always fall back to English since it will always be complete + options.language.push('en'); + + var uniqueLanguages = []; + + for (var l = 0; l < options.language.length; l++) { + var language = options.language[l]; + + if (uniqueLanguages.indexOf(language) === -1) { + uniqueLanguages.push(language); + } + } + + options.language = uniqueLanguages; + + options.translations = this._processTranslations( + options.language, + options.debug + ); + + return options; + }; + + Defaults.prototype.reset = function () { + function stripDiacritics (text) { + // Used 'uni range + named function' from http://jsperf.com/diacritics/18 + function match(a) { + return DIACRITICS[a] || a; + } + + return text.replace(/[^\u0000-\u007E]/g, match); + } + + function matcher (params, data) { + // Always return the object if there is nothing to compare + if ($.trim(params.term) === '') { + return data; + } + + // Do a recursive check for options with children + if (data.children && data.children.length > 0) { + // Clone the data object if there are children + // This is required as we modify the object to remove any non-matches + var match = $.extend(true, {}, data); + + // Check each child of the option + for (var c = data.children.length - 1; c >= 0; c--) { + var child = data.children[c]; + + var matches = matcher(params, child); + + // If there wasn't a match, remove the object in the array + if (matches == null) { + match.children.splice(c, 1); + } + } + + // If any children matched, return the new object + if (match.children.length > 0) { + return match; + } + + // If there were no matching children, check just the plain object + return matcher(params, match); + } + + var original = stripDiacritics(data.text).toUpperCase(); + var term = stripDiacritics(params.term).toUpperCase(); + + // Check if the text contains the term + if (original.indexOf(term) > -1) { + return data; + } + + // If it doesn't contain the term, don't return anything + return null; + } + + this.defaults = { + amdBase: './', + amdLanguageBase: './i18n/', + closeOnSelect: true, + debug: false, + dropdownAutoWidth: false, + escapeMarkup: Utils.escapeMarkup, + language: {}, + matcher: matcher, + minimumInputLength: 0, + maximumInputLength: 0, + maximumSelectionLength: 0, + minimumResultsForSearch: 0, + selectOnClose: false, + scrollAfterSelect: false, + sorter: function (data) { + return data; + }, + templateResult: function (result) { + return result.text; + }, + templateSelection: function (selection) { + return selection.text; + }, + theme: 'default', + width: 'resolve' + }; + }; + + Defaults.prototype.applyFromElement = function (options, $element) { + var optionLanguage = options.language; + var defaultLanguage = this.defaults.language; + var elementLanguage = $element.prop('lang'); + var parentLanguage = $element.closest('[lang]').prop('lang'); + + var languages = Array.prototype.concat.call( + this._resolveLanguage(elementLanguage), + this._resolveLanguage(optionLanguage), + this._resolveLanguage(defaultLanguage), + this._resolveLanguage(parentLanguage) + ); + + options.language = languages; + + return options; + }; + + Defaults.prototype._resolveLanguage = function (language) { + if (!language) { + return []; + } + + if ($.isEmptyObject(language)) { + return []; + } + + if ($.isPlainObject(language)) { + return [language]; + } + + var languages; + + if (!$.isArray(language)) { + languages = [language]; + } else { + languages = language; + } + + var resolvedLanguages = []; + + for (var l = 0; l < languages.length; l++) { + resolvedLanguages.push(languages[l]); + + if (typeof languages[l] === 'string' && languages[l].indexOf('-') > 0) { + // Extract the region information if it is included + var languageParts = languages[l].split('-'); + var baseLanguage = languageParts[0]; + + resolvedLanguages.push(baseLanguage); + } + } + + return resolvedLanguages; + }; + + Defaults.prototype._processTranslations = function (languages, debug) { + var translations = new Translation(); + + for (var l = 0; l < languages.length; l++) { + var languageData = new Translation(); + + var language = languages[l]; + + if (typeof language === 'string') { + try { + // Try to load it with the original name + languageData = Translation.loadPath(language); + } catch (e) { + try { + // If we couldn't load it, check if it wasn't the full path + language = this.defaults.amdLanguageBase + language; + languageData = Translation.loadPath(language); + } catch (ex) { + // The translation could not be loaded at all. Sometimes this is + // because of a configuration problem, other times this can be + // because of how Select2 helps load all possible translation files + if (debug && window.console && console.warn) { + console.warn( + 'Select2: The language file for "' + language + '" could ' + + 'not be automatically loaded. A fallback will be used instead.' + ); + } + } + } + } else if ($.isPlainObject(language)) { + languageData = new Translation(language); + } else { + languageData = language; + } + + translations.extend(languageData); + } + + return translations; + }; + + Defaults.prototype.set = function (key, value) { + var camelKey = $.camelCase(key); + + var data = {}; + data[camelKey] = value; + + var convertedData = Utils._convertData(data); + + $.extend(true, this.defaults, convertedData); + }; + + var defaults = new Defaults(); + + return defaults; +}); + +S2.define('select2/options',[ + 'require', + 'jquery', + './defaults', + './utils' +], function (require, $, Defaults, Utils) { + function Options (options, $element) { + this.options = options; + + if ($element != null) { + this.fromElement($element); + } + + if ($element != null) { + this.options = Defaults.applyFromElement(this.options, $element); + } + + this.options = Defaults.apply(this.options); + + if ($element && $element.is('input')) { + var InputCompat = require(this.get('amdBase') + 'compat/inputData'); + + this.options.dataAdapter = Utils.Decorate( + this.options.dataAdapter, + InputCompat + ); + } + } + + Options.prototype.fromElement = function ($e) { + var excludedData = ['select2']; + + if (this.options.multiple == null) { + this.options.multiple = $e.prop('multiple'); + } + + if (this.options.disabled == null) { + this.options.disabled = $e.prop('disabled'); + } + + if (this.options.dir == null) { + if ($e.prop('dir')) { + this.options.dir = $e.prop('dir'); + } else if ($e.closest('[dir]').prop('dir')) { + this.options.dir = $e.closest('[dir]').prop('dir'); + } else { + this.options.dir = 'ltr'; + } + } + + $e.prop('disabled', this.options.disabled); + $e.prop('multiple', this.options.multiple); + + if (Utils.GetData($e[0], 'select2Tags')) { + if (this.options.debug && window.console && console.warn) { + console.warn( + 'Select2: The `data-select2-tags` attribute has been changed to ' + + 'use the `data-data` and `data-tags="true"` attributes and will be ' + + 'removed in future versions of Select2.' + ); + } + + Utils.StoreData($e[0], 'data', Utils.GetData($e[0], 'select2Tags')); + Utils.StoreData($e[0], 'tags', true); + } + + if (Utils.GetData($e[0], 'ajaxUrl')) { + if (this.options.debug && window.console && console.warn) { + console.warn( + 'Select2: The `data-ajax-url` attribute has been changed to ' + + '`data-ajax--url` and support for the old attribute will be removed' + + ' in future versions of Select2.' + ); + } + + $e.attr('ajax--url', Utils.GetData($e[0], 'ajaxUrl')); + Utils.StoreData($e[0], 'ajax-Url', Utils.GetData($e[0], 'ajaxUrl')); + } + + var dataset = {}; + + function upperCaseLetter(_, letter) { + return letter.toUpperCase(); + } + + // Pre-load all of the attributes which are prefixed with `data-` + for (var attr = 0; attr < $e[0].attributes.length; attr++) { + var attributeName = $e[0].attributes[attr].name; + var prefix = 'data-'; + + if (attributeName.substr(0, prefix.length) == prefix) { + // Get the contents of the attribute after `data-` + var dataName = attributeName.substring(prefix.length); + + // Get the data contents from the consistent source + // This is more than likely the jQuery data helper + var dataValue = Utils.GetData($e[0], dataName); + + // camelCase the attribute name to match the spec + var camelDataName = dataName.replace(/-([a-z])/g, upperCaseLetter); + + // Store the data attribute contents into the dataset since + dataset[camelDataName] = dataValue; + } + } + + // Prefer the element's `dataset` attribute if it exists + // jQuery 1.x does not correctly handle data attributes with multiple dashes + if ($.fn.jquery && $.fn.jquery.substr(0, 2) == '1.' && $e[0].dataset) { + dataset = $.extend(true, {}, $e[0].dataset, dataset); + } + + // Prefer our internal data cache if it exists + var data = $.extend(true, {}, Utils.GetData($e[0]), dataset); + + data = Utils._convertData(data); + + for (var key in data) { + if ($.inArray(key, excludedData) > -1) { + continue; + } + + if ($.isPlainObject(this.options[key])) { + $.extend(this.options[key], data[key]); + } else { + this.options[key] = data[key]; + } + } + + return this; + }; + + Options.prototype.get = function (key) { + return this.options[key]; + }; + + Options.prototype.set = function (key, val) { + this.options[key] = val; + }; + + return Options; +}); + +S2.define('select2/core',[ + 'jquery', + './options', + './utils', + './keys' +], function ($, Options, Utils, KEYS) { + var Select2 = function ($element, options) { + if (Utils.GetData($element[0], 'select2') != null) { + Utils.GetData($element[0], 'select2').destroy(); + } + + this.$element = $element; + + this.id = this._generateId($element); + + options = options || {}; + + this.options = new Options(options, $element); + + Select2.__super__.constructor.call(this); + + // Set up the tabindex + + var tabindex = $element.attr('tabindex') || 0; + Utils.StoreData($element[0], 'old-tabindex', tabindex); + $element.attr('tabindex', '-1'); + + // Set up containers and adapters + + var DataAdapter = this.options.get('dataAdapter'); + this.dataAdapter = new DataAdapter($element, this.options); + + var $container = this.render(); + + this._placeContainer($container); + + var SelectionAdapter = this.options.get('selectionAdapter'); + this.selection = new SelectionAdapter($element, this.options); + this.$selection = this.selection.render(); + + this.selection.position(this.$selection, $container); + + var DropdownAdapter = this.options.get('dropdownAdapter'); + this.dropdown = new DropdownAdapter($element, this.options); + this.$dropdown = this.dropdown.render(); + + this.dropdown.position(this.$dropdown, $container); + + var ResultsAdapter = this.options.get('resultsAdapter'); + this.results = new ResultsAdapter($element, this.options, this.dataAdapter); + this.$results = this.results.render(); + + this.results.position(this.$results, this.$dropdown); + + // Bind events + + var self = this; + + // Bind the container to all of the adapters + this._bindAdapters(); + + // Register any DOM event handlers + this._registerDomEvents(); + + // Register any internal event handlers + this._registerDataEvents(); + this._registerSelectionEvents(); + this._registerDropdownEvents(); + this._registerResultsEvents(); + this._registerEvents(); + + // Set the initial state + this.dataAdapter.current(function (initialData) { + self.trigger('selection:update', { + data: initialData + }); + }); + + // Hide the original select + $element.addClass('select2-hidden-accessible'); + $element.attr('aria-hidden', 'true'); + + // Synchronize any monitored attributes + this._syncAttributes(); + + Utils.StoreData($element[0], 'select2', this); + + // Ensure backwards compatibility with $element.data('select2'). + $element.data('select2', this); + }; + + Utils.Extend(Select2, Utils.Observable); + + Select2.prototype._generateId = function ($element) { + var id = ''; + + if ($element.attr('id') != null) { + id = $element.attr('id'); + } else if ($element.attr('name') != null) { + id = $element.attr('name') + '-' + Utils.generateChars(2); + } else { + id = Utils.generateChars(4); + } + + id = id.replace(/(:|\.|\[|\]|,)/g, ''); + id = 'select2-' + id; + + return id; + }; + + Select2.prototype._placeContainer = function ($container) { + $container.insertAfter(this.$element); + + var width = this._resolveWidth(this.$element, this.options.get('width')); + + if (width != null) { + $container.css('width', width); + } + }; + + Select2.prototype._resolveWidth = function ($element, method) { + var WIDTH = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i; + + if (method == 'resolve') { + var styleWidth = this._resolveWidth($element, 'style'); + + if (styleWidth != null) { + return styleWidth; + } + + return this._resolveWidth($element, 'element'); + } + + if (method == 'element') { + var elementWidth = $element.outerWidth(false); + + if (elementWidth <= 0) { + return 'auto'; + } + + return elementWidth + 'px'; + } + + if (method == 'style') { + var style = $element.attr('style'); + + if (typeof(style) !== 'string') { + return null; + } + + var attrs = style.split(';'); + + for (var i = 0, l = attrs.length; i < l; i = i + 1) { + var attr = attrs[i].replace(/\s/g, ''); + var matches = attr.match(WIDTH); + + if (matches !== null && matches.length >= 1) { + return matches[1]; + } + } + + return null; + } + + if (method == 'computedstyle') { + var computedStyle = window.getComputedStyle($element[0]); + + return computedStyle.width; + } + + return method; + }; + + Select2.prototype._bindAdapters = function () { + this.dataAdapter.bind(this, this.$container); + this.selection.bind(this, this.$container); + + this.dropdown.bind(this, this.$container); + this.results.bind(this, this.$container); + }; + + Select2.prototype._registerDomEvents = function () { + var self = this; + + this.$element.on('change.select2', function () { + self.dataAdapter.current(function (data) { + self.trigger('selection:update', { + data: data + }); + }); + }); + + this.$element.on('focus.select2', function (evt) { + self.trigger('focus', evt); + }); + + this._syncA = Utils.bind(this._syncAttributes, this); + this._syncS = Utils.bind(this._syncSubtree, this); + + if (this.$element[0].attachEvent) { + this.$element[0].attachEvent('onpropertychange', this._syncA); + } + + var observer = window.MutationObserver || + window.WebKitMutationObserver || + window.MozMutationObserver + ; + + if (observer != null) { + this._observer = new observer(function (mutations) { + self._syncA(); + self._syncS(null, mutations); + }); + this._observer.observe(this.$element[0], { + attributes: true, + childList: true, + subtree: false + }); + } else if (this.$element[0].addEventListener) { + this.$element[0].addEventListener( + 'DOMAttrModified', + self._syncA, + false + ); + this.$element[0].addEventListener( + 'DOMNodeInserted', + self._syncS, + false + ); + this.$element[0].addEventListener( + 'DOMNodeRemoved', + self._syncS, + false + ); + } + }; + + Select2.prototype._registerDataEvents = function () { + var self = this; + + this.dataAdapter.on('*', function (name, params) { + self.trigger(name, params); + }); + }; + + Select2.prototype._registerSelectionEvents = function () { + var self = this; + var nonRelayEvents = ['toggle', 'focus']; + + this.selection.on('toggle', function () { + self.toggleDropdown(); + }); + + this.selection.on('focus', function (params) { + self.focus(params); + }); + + this.selection.on('*', function (name, params) { + if ($.inArray(name, nonRelayEvents) !== -1) { + return; + } + + self.trigger(name, params); + }); + }; + + Select2.prototype._registerDropdownEvents = function () { + var self = this; + + this.dropdown.on('*', function (name, params) { + self.trigger(name, params); + }); + }; + + Select2.prototype._registerResultsEvents = function () { + var self = this; + + this.results.on('*', function (name, params) { + self.trigger(name, params); + }); + }; + + Select2.prototype._registerEvents = function () { + var self = this; + + this.on('open', function () { + self.$container.addClass('select2-container--open'); + }); + + this.on('close', function () { + self.$container.removeClass('select2-container--open'); + }); + + this.on('enable', function () { + self.$container.removeClass('select2-container--disabled'); + }); + + this.on('disable', function () { + self.$container.addClass('select2-container--disabled'); + }); + + this.on('blur', function () { + self.$container.removeClass('select2-container--focus'); + }); + + this.on('query', function (params) { + if (!self.isOpen()) { + self.trigger('open', {}); + } + + this.dataAdapter.query(params, function (data) { + self.trigger('results:all', { + data: data, + query: params + }); + }); + }); + + this.on('query:append', function (params) { + this.dataAdapter.query(params, function (data) { + self.trigger('results:append', { + data: data, + query: params + }); + }); + }); + + this.on('keypress', function (evt) { + var key = evt.which; + + if (self.isOpen()) { + if (key === KEYS.ESC || key === KEYS.TAB || + (key === KEYS.UP && evt.altKey)) { + self.close(evt); + + evt.preventDefault(); + } else if (key === KEYS.ENTER) { + self.trigger('results:select', {}); + + evt.preventDefault(); + } else if ((key === KEYS.SPACE && evt.ctrlKey)) { + self.trigger('results:toggle', {}); + + evt.preventDefault(); + } else if (key === KEYS.UP) { + self.trigger('results:previous', {}); + + evt.preventDefault(); + } else if (key === KEYS.DOWN) { + self.trigger('results:next', {}); + + evt.preventDefault(); + } + } else { + if (key === KEYS.ENTER || key === KEYS.SPACE || + (key === KEYS.DOWN && evt.altKey)) { + self.open(); + + evt.preventDefault(); + } + } + }); + }; + + Select2.prototype._syncAttributes = function () { + this.options.set('disabled', this.$element.prop('disabled')); + + if (this.isDisabled()) { + if (this.isOpen()) { + this.close(); + } + + this.trigger('disable', {}); + } else { + this.trigger('enable', {}); + } + }; + + Select2.prototype._isChangeMutation = function (evt, mutations) { + var changed = false; + var self = this; + + // Ignore any mutation events raised for elements that aren't options or + // optgroups. This handles the case when the select element is destroyed + if ( + evt && evt.target && ( + evt.target.nodeName !== 'OPTION' && evt.target.nodeName !== 'OPTGROUP' + ) + ) { + return; + } + + if (!mutations) { + // If mutation events aren't supported, then we can only assume that the + // change affected the selections + changed = true; + } else if (mutations.addedNodes && mutations.addedNodes.length > 0) { + for (var n = 0; n < mutations.addedNodes.length; n++) { + var node = mutations.addedNodes[n]; + + if (node.selected) { + changed = true; + } + } + } else if (mutations.removedNodes && mutations.removedNodes.length > 0) { + changed = true; + } else if ($.isArray(mutations)) { + $.each(mutations, function(evt, mutation) { + if (self._isChangeMutation(evt, mutation)) { + // We've found a change mutation. + // Let's escape from the loop and continue + changed = true; + return false; + } + }); + } + return changed; + }; + + Select2.prototype._syncSubtree = function (evt, mutations) { + var changed = this._isChangeMutation(evt, mutations); + var self = this; + + // Only re-pull the data if we think there is a change + if (changed) { + this.dataAdapter.current(function (currentData) { + self.trigger('selection:update', { + data: currentData + }); + }); + } + }; + + /** + * Override the trigger method to automatically trigger pre-events when + * there are events that can be prevented. + */ + Select2.prototype.trigger = function (name, args) { + var actualTrigger = Select2.__super__.trigger; + var preTriggerMap = { + 'open': 'opening', + 'close': 'closing', + 'select': 'selecting', + 'unselect': 'unselecting', + 'clear': 'clearing' + }; + + if (args === undefined) { + args = {}; + } + + if (name in preTriggerMap) { + var preTriggerName = preTriggerMap[name]; + var preTriggerArgs = { + prevented: false, + name: name, + args: args + }; + + actualTrigger.call(this, preTriggerName, preTriggerArgs); + + if (preTriggerArgs.prevented) { + args.prevented = true; + + return; + } + } + + actualTrigger.call(this, name, args); + }; + + Select2.prototype.toggleDropdown = function () { + if (this.isDisabled()) { + return; + } + + if (this.isOpen()) { + this.close(); + } else { + this.open(); + } + }; + + Select2.prototype.open = function () { + if (this.isOpen()) { + return; + } + + if (this.isDisabled()) { + return; + } + + this.trigger('query', {}); + }; + + Select2.prototype.close = function (evt) { + if (!this.isOpen()) { + return; + } + + this.trigger('close', { originalEvent : evt }); + }; + + /** + * Helper method to abstract the "enabled" (not "disabled") state of this + * object. + * + * @return {true} if the instance is not disabled. + * @return {false} if the instance is disabled. + */ + Select2.prototype.isEnabled = function () { + return !this.isDisabled(); + }; + + /** + * Helper method to abstract the "disabled" state of this object. + * + * @return {true} if the disabled option is true. + * @return {false} if the disabled option is false. + */ + Select2.prototype.isDisabled = function () { + return this.options.get('disabled'); + }; + + Select2.prototype.isOpen = function () { + return this.$container.hasClass('select2-container--open'); + }; + + Select2.prototype.hasFocus = function () { + return this.$container.hasClass('select2-container--focus'); + }; + + Select2.prototype.focus = function (data) { + // No need to re-trigger focus events if we are already focused + if (this.hasFocus()) { + return; + } + + this.$container.addClass('select2-container--focus'); + this.trigger('focus', {}); + }; + + Select2.prototype.enable = function (args) { + if (this.options.get('debug') && window.console && console.warn) { + console.warn( + 'Select2: The `select2("enable")` method has been deprecated and will' + + ' be removed in later Select2 versions. Use $element.prop("disabled")' + + ' instead.' + ); + } + + if (args == null || args.length === 0) { + args = [true]; + } + + var disabled = !args[0]; + + this.$element.prop('disabled', disabled); + }; + + Select2.prototype.data = function () { + if (this.options.get('debug') && + arguments.length > 0 && window.console && console.warn) { + console.warn( + 'Select2: Data can no longer be set using `select2("data")`. You ' + + 'should consider setting the value instead using `$element.val()`.' + ); + } + + var data = []; + + this.dataAdapter.current(function (currentData) { + data = currentData; + }); + + return data; + }; + + Select2.prototype.val = function (args) { + if (this.options.get('debug') && window.console && console.warn) { + console.warn( + 'Select2: The `select2("val")` method has been deprecated and will be' + + ' removed in later Select2 versions. Use $element.val() instead.' + ); + } + + if (args == null || args.length === 0) { + return this.$element.val(); + } + + var newVal = args[0]; + + if ($.isArray(newVal)) { + newVal = $.map(newVal, function (obj) { + return obj.toString(); + }); + } + + this.$element.val(newVal).trigger('input').trigger('change'); + }; + + Select2.prototype.destroy = function () { + this.$container.remove(); + + if (this.$element[0].detachEvent) { + this.$element[0].detachEvent('onpropertychange', this._syncA); + } + + if (this._observer != null) { + this._observer.disconnect(); + this._observer = null; + } else if (this.$element[0].removeEventListener) { + this.$element[0] + .removeEventListener('DOMAttrModified', this._syncA, false); + this.$element[0] + .removeEventListener('DOMNodeInserted', this._syncS, false); + this.$element[0] + .removeEventListener('DOMNodeRemoved', this._syncS, false); + } + + this._syncA = null; + this._syncS = null; + + this.$element.off('.select2'); + this.$element.attr('tabindex', + Utils.GetData(this.$element[0], 'old-tabindex')); + + this.$element.removeClass('select2-hidden-accessible'); + this.$element.attr('aria-hidden', 'false'); + Utils.RemoveData(this.$element[0]); + this.$element.removeData('select2'); + + this.dataAdapter.destroy(); + this.selection.destroy(); + this.dropdown.destroy(); + this.results.destroy(); + + this.dataAdapter = null; + this.selection = null; + this.dropdown = null; + this.results = null; + }; + + Select2.prototype.render = function () { + var $container = $( + '<span class="select2 select2-container">' + + '<span class="selection"></span>' + + '<span class="dropdown-wrapper" aria-hidden="true"></span>' + + '</span>' + ); + + $container.attr('dir', this.options.get('dir')); + + this.$container = $container; + + this.$container.addClass('select2-container--' + this.options.get('theme')); + + Utils.StoreData($container[0], 'element', this.$element); + + return $container; + }; + + return Select2; +}); + +S2.define('select2/compat/utils',[ + 'jquery' +], function ($) { + function syncCssClasses ($dest, $src, adapter) { + var classes, replacements = [], adapted; + + classes = $.trim($dest.attr('class')); + + if (classes) { + classes = '' + classes; // for IE which returns object + + $(classes.split(/\s+/)).each(function () { + // Save all Select2 classes + if (this.indexOf('select2-') === 0) { + replacements.push(this); + } + }); + } + + classes = $.trim($src.attr('class')); + + if (classes) { + classes = '' + classes; // for IE which returns object + + $(classes.split(/\s+/)).each(function () { + // Only adapt non-Select2 classes + if (this.indexOf('select2-') !== 0) { + adapted = adapter(this); + + if (adapted != null) { + replacements.push(adapted); + } + } + }); + } + + $dest.attr('class', replacements.join(' ')); + } + + return { + syncCssClasses: syncCssClasses + }; +}); + +S2.define('select2/compat/containerCss',[ + 'jquery', + './utils' +], function ($, CompatUtils) { + // No-op CSS adapter that discards all classes by default + function _containerAdapter (clazz) { + return null; + } + + function ContainerCSS () { } + + ContainerCSS.prototype.render = function (decorated) { + var $container = decorated.call(this); + + var containerCssClass = this.options.get('containerCssClass') || ''; + + if ($.isFunction(containerCssClass)) { + containerCssClass = containerCssClass(this.$element); + } + + var containerCssAdapter = this.options.get('adaptContainerCssClass'); + containerCssAdapter = containerCssAdapter || _containerAdapter; + + if (containerCssClass.indexOf(':all:') !== -1) { + containerCssClass = containerCssClass.replace(':all:', ''); + + var _cssAdapter = containerCssAdapter; + + containerCssAdapter = function (clazz) { + var adapted = _cssAdapter(clazz); + + if (adapted != null) { + // Append the old one along with the adapted one + return adapted + ' ' + clazz; + } + + return clazz; + }; + } + + var containerCss = this.options.get('containerCss') || {}; + + if ($.isFunction(containerCss)) { + containerCss = containerCss(this.$element); + } + + CompatUtils.syncCssClasses($container, this.$element, containerCssAdapter); + + $container.css(containerCss); + $container.addClass(containerCssClass); + + return $container; + }; + + return ContainerCSS; +}); + +S2.define('select2/compat/dropdownCss',[ + 'jquery', + './utils' +], function ($, CompatUtils) { + // No-op CSS adapter that discards all classes by default + function _dropdownAdapter (clazz) { + return null; + } + + function DropdownCSS () { } + + DropdownCSS.prototype.render = function (decorated) { + var $dropdown = decorated.call(this); + + var dropdownCssClass = this.options.get('dropdownCssClass') || ''; + + if ($.isFunction(dropdownCssClass)) { + dropdownCssClass = dropdownCssClass(this.$element); + } + + var dropdownCssAdapter = this.options.get('adaptDropdownCssClass'); + dropdownCssAdapter = dropdownCssAdapter || _dropdownAdapter; + + if (dropdownCssClass.indexOf(':all:') !== -1) { + dropdownCssClass = dropdownCssClass.replace(':all:', ''); + + var _cssAdapter = dropdownCssAdapter; + + dropdownCssAdapter = function (clazz) { + var adapted = _cssAdapter(clazz); + + if (adapted != null) { + // Append the old one along with the adapted one + return adapted + ' ' + clazz; + } + + return clazz; + }; + } + + var dropdownCss = this.options.get('dropdownCss') || {}; + + if ($.isFunction(dropdownCss)) { + dropdownCss = dropdownCss(this.$element); + } + + CompatUtils.syncCssClasses($dropdown, this.$element, dropdownCssAdapter); + + $dropdown.css(dropdownCss); + $dropdown.addClass(dropdownCssClass); + + return $dropdown; + }; + + return DropdownCSS; +}); + +S2.define('select2/compat/initSelection',[ + 'jquery' +], function ($) { + function InitSelection (decorated, $element, options) { + if (options.get('debug') && window.console && console.warn) { + console.warn( + 'Select2: The `initSelection` option has been deprecated in favor' + + ' of a custom data adapter that overrides the `current` method. ' + + 'This method is now called multiple times instead of a single ' + + 'time when the instance is initialized. Support will be removed ' + + 'for the `initSelection` option in future versions of Select2' + ); + } + + this.initSelection = options.get('initSelection'); + this._isInitialized = false; + + decorated.call(this, $element, options); + } + + InitSelection.prototype.current = function (decorated, callback) { + var self = this; + + if (this._isInitialized) { + decorated.call(this, callback); + + return; + } + + this.initSelection.call(null, this.$element, function (data) { + self._isInitialized = true; + + if (!$.isArray(data)) { + data = [data]; + } + + callback(data); + }); + }; + + return InitSelection; +}); + +S2.define('select2/compat/inputData',[ + 'jquery', + '../utils' +], function ($, Utils) { + function InputData (decorated, $element, options) { + this._currentData = []; + this._valueSeparator = options.get('valueSeparator') || ','; + + if ($element.prop('type') === 'hidden') { + if (options.get('debug') && console && console.warn) { + console.warn( + 'Select2: Using a hidden input with Select2 is no longer ' + + 'supported and may stop working in the future. It is recommended ' + + 'to use a `<select>` element instead.' + ); + } + } + + decorated.call(this, $element, options); + } + + InputData.prototype.current = function (_, callback) { + function getSelected (data, selectedIds) { + var selected = []; + + if (data.selected || $.inArray(data.id, selectedIds) !== -1) { + data.selected = true; + selected.push(data); + } else { + data.selected = false; + } + + if (data.children) { + selected.push.apply(selected, getSelected(data.children, selectedIds)); + } + + return selected; + } + + var selected = []; + + for (var d = 0; d < this._currentData.length; d++) { + var data = this._currentData[d]; + + selected.push.apply( + selected, + getSelected( + data, + this.$element.val().split( + this._valueSeparator + ) + ) + ); + } + + callback(selected); + }; + + InputData.prototype.select = function (_, data) { + if (!this.options.get('multiple')) { + this.current(function (allData) { + $.map(allData, function (data) { + data.selected = false; + }); + }); + + this.$element.val(data.id); + this.$element.trigger('input').trigger('change'); + } else { + var value = this.$element.val(); + value += this._valueSeparator + data.id; + + this.$element.val(value); + this.$element.trigger('input').trigger('change'); + } + }; + + InputData.prototype.unselect = function (_, data) { + var self = this; + + data.selected = false; + + this.current(function (allData) { + var values = []; + + for (var d = 0; d < allData.length; d++) { + var item = allData[d]; + + if (data.id == item.id) { + continue; + } + + values.push(item.id); + } + + self.$element.val(values.join(self._valueSeparator)); + self.$element.trigger('input').trigger('change'); + }); + }; + + InputData.prototype.query = function (_, params, callback) { + var results = []; + + for (var d = 0; d < this._currentData.length; d++) { + var data = this._currentData[d]; + + var matches = this.matches(params, data); + + if (matches !== null) { + results.push(matches); + } + } + + callback({ + results: results + }); + }; + + InputData.prototype.addOptions = function (_, $options) { + var options = $.map($options, function ($option) { + return Utils.GetData($option[0], 'data'); + }); + + this._currentData.push.apply(this._currentData, options); + }; + + return InputData; +}); + +S2.define('select2/compat/matcher',[ + 'jquery' +], function ($) { + function oldMatcher (matcher) { + function wrappedMatcher (params, data) { + var match = $.extend(true, {}, data); + + if (params.term == null || $.trim(params.term) === '') { + return match; + } + + if (data.children) { + for (var c = data.children.length - 1; c >= 0; c--) { + var child = data.children[c]; + + // Check if the child object matches + // The old matcher returned a boolean true or false + var doesMatch = matcher(params.term, child.text, child); + + // If the child didn't match, pop it off + if (!doesMatch) { + match.children.splice(c, 1); + } + } + + if (match.children.length > 0) { + return match; + } + } + + if (matcher(params.term, data.text, data)) { + return match; + } + + return null; + } + + return wrappedMatcher; + } + + return oldMatcher; +}); + +S2.define('select2/compat/query',[ + +], function () { + function Query (decorated, $element, options) { + if (options.get('debug') && window.console && console.warn) { + console.warn( + 'Select2: The `query` option has been deprecated in favor of a ' + + 'custom data adapter that overrides the `query` method. Support ' + + 'will be removed for the `query` option in future versions of ' + + 'Select2.' + ); + } + + decorated.call(this, $element, options); + } + + Query.prototype.query = function (_, params, callback) { + params.callback = callback; + + var query = this.options.get('query'); + + query.call(null, params); + }; + + return Query; +}); + +S2.define('select2/dropdown/attachContainer',[ + +], function () { + function AttachContainer (decorated, $element, options) { + decorated.call(this, $element, options); + } + + AttachContainer.prototype.position = + function (decorated, $dropdown, $container) { + var $dropdownContainer = $container.find('.dropdown-wrapper'); + $dropdownContainer.append($dropdown); + + $dropdown.addClass('select2-dropdown--below'); + $container.addClass('select2-container--below'); + }; + + return AttachContainer; +}); + +S2.define('select2/dropdown/stopPropagation',[ + +], function () { + function StopPropagation () { } + + StopPropagation.prototype.bind = function (decorated, container, $container) { + decorated.call(this, container, $container); + + var stoppedEvents = [ + 'blur', + 'change', + 'click', + 'dblclick', + 'focus', + 'focusin', + 'focusout', + 'input', + 'keydown', + 'keyup', + 'keypress', + 'mousedown', + 'mouseenter', + 'mouseleave', + 'mousemove', + 'mouseover', + 'mouseup', + 'search', + 'touchend', + 'touchstart' + ]; + + this.$dropdown.on(stoppedEvents.join(' '), function (evt) { + evt.stopPropagation(); + }); + }; + + return StopPropagation; +}); + +S2.define('select2/selection/stopPropagation',[ + +], function () { + function StopPropagation () { } + + StopPropagation.prototype.bind = function (decorated, container, $container) { + decorated.call(this, container, $container); + + var stoppedEvents = [ + 'blur', + 'change', + 'click', + 'dblclick', + 'focus', + 'focusin', + 'focusout', + 'input', + 'keydown', + 'keyup', + 'keypress', + 'mousedown', + 'mouseenter', + 'mouseleave', + 'mousemove', + 'mouseover', + 'mouseup', + 'search', + 'touchend', + 'touchstart' + ]; + + this.$selection.on(stoppedEvents.join(' '), function (evt) { + evt.stopPropagation(); + }); + }; + + return StopPropagation; +}); + +/*! + * jQuery Mousewheel 3.1.13 + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + */ + +(function (factory) { + if ( typeof S2.define === 'function' && S2.define.amd ) { + // AMD. Register as an anonymous module. + S2.define('jquery-mousewheel',['jquery'], factory); + } else if (typeof exports === 'object') { + // Node/CommonJS style for Browserify + module.exports = factory; + } else { + // Browser globals + factory(jQuery); + } +}(function ($) { + + var toFix = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll'], + toBind = ( 'onwheel' in document || document.documentMode >= 9 ) ? + ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'], + slice = Array.prototype.slice, + nullLowestDeltaTimeout, lowestDelta; + + if ( $.event.fixHooks ) { + for ( var i = toFix.length; i; ) { + $.event.fixHooks[ toFix[--i] ] = $.event.mouseHooks; + } + } + + var special = $.event.special.mousewheel = { + version: '3.1.12', + + setup: function() { + if ( this.addEventListener ) { + for ( var i = toBind.length; i; ) { + this.addEventListener( toBind[--i], handler, false ); + } + } else { + this.onmousewheel = handler; + } + // Store the line height and page height for this particular element + $.data(this, 'mousewheel-line-height', special.getLineHeight(this)); + $.data(this, 'mousewheel-page-height', special.getPageHeight(this)); + }, + + teardown: function() { + if ( this.removeEventListener ) { + for ( var i = toBind.length; i; ) { + this.removeEventListener( toBind[--i], handler, false ); + } + } else { + this.onmousewheel = null; + } + // Clean up the data we added to the element + $.removeData(this, 'mousewheel-line-height'); + $.removeData(this, 'mousewheel-page-height'); + }, + + getLineHeight: function(elem) { + var $elem = $(elem), + $parent = $elem['offsetParent' in $.fn ? 'offsetParent' : 'parent'](); + if (!$parent.length) { + $parent = $('body'); + } + return parseInt($parent.css('fontSize'), 10) || parseInt($elem.css('fontSize'), 10) || 16; + }, + + getPageHeight: function(elem) { + return $(elem).height(); + }, + + settings: { + adjustOldDeltas: true, // see shouldAdjustOldDeltas() below + normalizeOffset: true // calls getBoundingClientRect for each event + } + }; + + $.fn.extend({ + mousewheel: function(fn) { + return fn ? this.bind('mousewheel', fn) : this.trigger('mousewheel'); + }, + + unmousewheel: function(fn) { + return this.unbind('mousewheel', fn); + } + }); + + + function handler(event) { + var orgEvent = event || window.event, + args = slice.call(arguments, 1), + delta = 0, + deltaX = 0, + deltaY = 0, + absDelta = 0, + offsetX = 0, + offsetY = 0; + event = $.event.fix(orgEvent); + event.type = 'mousewheel'; + + // Old school scrollwheel delta + if ( 'detail' in orgEvent ) { deltaY = orgEvent.detail * -1; } + if ( 'wheelDelta' in orgEvent ) { deltaY = orgEvent.wheelDelta; } + if ( 'wheelDeltaY' in orgEvent ) { deltaY = orgEvent.wheelDeltaY; } + if ( 'wheelDeltaX' in orgEvent ) { deltaX = orgEvent.wheelDeltaX * -1; } + + // Firefox < 17 horizontal scrolling related to DOMMouseScroll event + if ( 'axis' in orgEvent && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) { + deltaX = deltaY * -1; + deltaY = 0; + } + + // Set delta to be deltaY or deltaX if deltaY is 0 for backwards compatabilitiy + delta = deltaY === 0 ? deltaX : deltaY; + + // New school wheel delta (wheel event) + if ( 'deltaY' in orgEvent ) { + deltaY = orgEvent.deltaY * -1; + delta = deltaY; + } + if ( 'deltaX' in orgEvent ) { + deltaX = orgEvent.deltaX; + if ( deltaY === 0 ) { delta = deltaX * -1; } + } + + // No change actually happened, no reason to go any further + if ( deltaY === 0 && deltaX === 0 ) { return; } + + // Need to convert lines and pages to pixels if we aren't already in pixels + // There are three delta modes: + // * deltaMode 0 is by pixels, nothing to do + // * deltaMode 1 is by lines + // * deltaMode 2 is by pages + if ( orgEvent.deltaMode === 1 ) { + var lineHeight = $.data(this, 'mousewheel-line-height'); + delta *= lineHeight; + deltaY *= lineHeight; + deltaX *= lineHeight; + } else if ( orgEvent.deltaMode === 2 ) { + var pageHeight = $.data(this, 'mousewheel-page-height'); + delta *= pageHeight; + deltaY *= pageHeight; + deltaX *= pageHeight; + } + + // Store lowest absolute delta to normalize the delta values + absDelta = Math.max( Math.abs(deltaY), Math.abs(deltaX) ); + + if ( !lowestDelta || absDelta < lowestDelta ) { + lowestDelta = absDelta; + + // Adjust older deltas if necessary + if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) { + lowestDelta /= 40; + } + } + + // Adjust older deltas if necessary + if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) { + // Divide all the things by 40! + delta /= 40; + deltaX /= 40; + deltaY /= 40; + } + + // Get a whole, normalized value for the deltas + delta = Math[ delta >= 1 ? 'floor' : 'ceil' ](delta / lowestDelta); + deltaX = Math[ deltaX >= 1 ? 'floor' : 'ceil' ](deltaX / lowestDelta); + deltaY = Math[ deltaY >= 1 ? 'floor' : 'ceil' ](deltaY / lowestDelta); + + // Normalise offsetX and offsetY properties + if ( special.settings.normalizeOffset && this.getBoundingClientRect ) { + var boundingRect = this.getBoundingClientRect(); + offsetX = event.clientX - boundingRect.left; + offsetY = event.clientY - boundingRect.top; + } + + // Add information to the event object + event.deltaX = deltaX; + event.deltaY = deltaY; + event.deltaFactor = lowestDelta; + event.offsetX = offsetX; + event.offsetY = offsetY; + // Go ahead and set deltaMode to 0 since we converted to pixels + // Although this is a little odd since we overwrite the deltaX/Y + // properties with normalized deltas. + event.deltaMode = 0; + + // Add event and delta to the front of the arguments + args.unshift(event, delta, deltaX, deltaY); + + // Clearout lowestDelta after sometime to better + // handle multiple device types that give different + // a different lowestDelta + // Ex: trackpad = 3 and mouse wheel = 120 + if (nullLowestDeltaTimeout) { clearTimeout(nullLowestDeltaTimeout); } + nullLowestDeltaTimeout = setTimeout(nullLowestDelta, 200); + + return ($.event.dispatch || $.event.handle).apply(this, args); + } + + function nullLowestDelta() { + lowestDelta = null; + } + + function shouldAdjustOldDeltas(orgEvent, absDelta) { + // If this is an older event and the delta is divisable by 120, + // then we are assuming that the browser is treating this as an + // older mouse wheel event and that we should divide the deltas + // by 40 to try and get a more usable deltaFactor. + // Side note, this actually impacts the reported scroll distance + // in older browsers and can cause scrolling to be slower than native. + // Turn this off by setting $.event.special.mousewheel.settings.adjustOldDeltas to false. + return special.settings.adjustOldDeltas && orgEvent.type === 'mousewheel' && absDelta % 120 === 0; + } + +})); + +S2.define('jquery.select2',[ + 'jquery', + 'jquery-mousewheel', + + './select2/core', + './select2/defaults', + './select2/utils' +], function ($, _, Select2, Defaults, Utils) { + if ($.fn.select2 == null) { + // All methods that should return the element + var thisMethods = ['open', 'close', 'destroy']; + + $.fn.select2 = function (options) { + options = options || {}; + + if (typeof options === 'object') { + this.each(function () { + var instanceOptions = $.extend(true, {}, options); + + var instance = new Select2($(this), instanceOptions); + }); + + return this; + } else if (typeof options === 'string') { + var ret; + var args = Array.prototype.slice.call(arguments, 1); + + this.each(function () { + var instance = Utils.GetData(this, 'select2'); + + if (instance == null && window.console && console.error) { + console.error( + 'The select2(\'' + options + '\') method was called on an ' + + 'element that is not using Select2.' + ); + } + + ret = instance[options].apply(instance, args); + }); + + // Check if we should be returning `this` + if ($.inArray(options, thisMethods) > -1) { + return this; + } + + return ret; + } else { + throw new Error('Invalid arguments for Select2: ' + options); + } + }; + } + + if ($.fn.select2.defaults == null) { + $.fn.select2.defaults = Defaults; + } + + return Select2; +}); + + // Return the AMD loader configuration so it can be used outside of this file + return { + define: S2.define, + require: S2.require + }; +}()); + + // Autoload the jQuery bindings + // We know that all of the modules exist above this, so we're safe + var select2 = S2.require('jquery.select2'); + + // Hold the AMD module references on the jQuery function that was just loaded + // This allows Select2 to use the internal loader outside of this file, such + // as in the language files. + jQuery.fn.select2.amd = S2; + + // Return the Select2 instance for anyone who is importing it. + return select2; +})); diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/select2.full.min.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/select2.full.min.js new file mode 100644 index 0000000..fa78191 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/select2/select2.full.min.js @@ -0,0 +1,2 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ +!function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=function(e,t){return void 0===t&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t),t}:n(jQuery)}(function(d){var e=function(){if(d&&d.fn&&d.fn.select2&&d.fn.select2.amd)var e=d.fn.select2.amd;var t,n,i,h,o,s,f,g,m,v,y,_,r,a,w,l;function b(e,t){return r.call(e,t)}function c(e,t){var n,i,r,o,s,a,l,c,u,d,p,h=t&&t.split("/"),f=y.map,g=f&&f["*"]||{};if(e){for(s=(e=e.split("/")).length-1,y.nodeIdCompat&&w.test(e[s])&&(e[s]=e[s].replace(w,"")),"."===e[0].charAt(0)&&h&&(e=h.slice(0,h.length-1).concat(e)),u=0;u<e.length;u++)if("."===(p=e[u]))e.splice(u,1),u-=1;else if(".."===p){if(0===u||1===u&&".."===e[2]||".."===e[u-1])continue;0<u&&(e.splice(u-1,2),u-=2)}e=e.join("/")}if((h||g)&&f){for(u=(n=e.split("/")).length;0<u;u-=1){if(i=n.slice(0,u).join("/"),h)for(d=h.length;0<d;d-=1)if(r=(r=f[h.slice(0,d).join("/")])&&r[i]){o=r,a=u;break}if(o)break;!l&&g&&g[i]&&(l=g[i],c=u)}!o&&l&&(o=l,a=c),o&&(n.splice(0,a,o),e=n.join("/"))}return e}function A(t,n){return function(){var e=a.call(arguments,0);return"string"!=typeof e[0]&&1===e.length&&e.push(null),s.apply(h,e.concat([t,n]))}}function x(t){return function(e){m[t]=e}}function D(e){if(b(v,e)){var t=v[e];delete v[e],_[e]=!0,o.apply(h,t)}if(!b(m,e)&&!b(_,e))throw new Error("No "+e);return m[e]}function u(e){var t,n=e?e.indexOf("!"):-1;return-1<n&&(t=e.substring(0,n),e=e.substring(n+1,e.length)),[t,e]}function S(e){return e?u(e):[]}return e&&e.requirejs||(e?n=e:e={},m={},v={},y={},_={},r=Object.prototype.hasOwnProperty,a=[].slice,w=/\.js$/,f=function(e,t){var n,i=u(e),r=i[0],o=t[1];return e=i[1],r&&(n=D(r=c(r,o))),r?e=n&&n.normalize?n.normalize(e,function(t){return function(e){return c(e,t)}}(o)):c(e,o):(r=(i=u(e=c(e,o)))[0],e=i[1],r&&(n=D(r))),{f:r?r+"!"+e:e,n:e,pr:r,p:n}},g={require:function(e){return A(e)},exports:function(e){var t=m[e];return void 0!==t?t:m[e]={}},module:function(e){return{id:e,uri:"",exports:m[e],config:function(e){return function(){return y&&y.config&&y.config[e]||{}}}(e)}}},o=function(e,t,n,i){var r,o,s,a,l,c,u,d=[],p=typeof n;if(c=S(i=i||e),"undefined"==p||"function"==p){for(t=!t.length&&n.length?["require","exports","module"]:t,l=0;l<t.length;l+=1)if("require"===(o=(a=f(t[l],c)).f))d[l]=g.require(e);else if("exports"===o)d[l]=g.exports(e),u=!0;else if("module"===o)r=d[l]=g.module(e);else if(b(m,o)||b(v,o)||b(_,o))d[l]=D(o);else{if(!a.p)throw new Error(e+" missing "+o);a.p.load(a.n,A(i,!0),x(o),{}),d[l]=m[o]}s=n?n.apply(m[e],d):void 0,e&&(r&&r.exports!==h&&r.exports!==m[e]?m[e]=r.exports:s===h&&u||(m[e]=s))}else e&&(m[e]=n)},t=n=s=function(e,t,n,i,r){if("string"==typeof e)return g[e]?g[e](t):D(f(e,S(t)).f);if(!e.splice){if((y=e).deps&&s(y.deps,y.callback),!t)return;t.splice?(e=t,t=n,n=null):e=h}return t=t||function(){},"function"==typeof n&&(n=i,i=r),i?o(h,e,t,n):setTimeout(function(){o(h,e,t,n)},4),s},s.config=function(e){return s(e)},t._defined=m,(i=function(e,t,n){if("string"!=typeof e)throw new Error("See almond README: incorrect module build, no module name");t.splice||(n=t,t=[]),b(m,e)||b(v,e)||(v[e]=[e,t,n])}).amd={jQuery:!0},e.requirejs=t,e.require=n,e.define=i),e.define("almond",function(){}),e.define("jquery",[],function(){var e=d||$;return null==e&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),e}),e.define("select2/utils",["jquery"],function(o){var r={};function u(e){var t=e.prototype,n=[];for(var i in t){"function"==typeof t[i]&&"constructor"!==i&&n.push(i)}return n}r.Extend=function(e,t){var n={}.hasOwnProperty;function i(){this.constructor=e}for(var r in t)n.call(t,r)&&(e[r]=t[r]);return i.prototype=t.prototype,e.prototype=new i,e.__super__=t.prototype,e},r.Decorate=function(i,r){var e=u(r),t=u(i);function o(){var e=Array.prototype.unshift,t=r.prototype.constructor.length,n=i.prototype.constructor;0<t&&(e.call(arguments,i.prototype.constructor),n=r.prototype.constructor),n.apply(this,arguments)}r.displayName=i.displayName,o.prototype=new function(){this.constructor=o};for(var n=0;n<t.length;n++){var s=t[n];o.prototype[s]=i.prototype[s]}function a(e){var t=function(){};e in o.prototype&&(t=o.prototype[e]);var n=r.prototype[e];return function(){return Array.prototype.unshift.call(arguments,t),n.apply(this,arguments)}}for(var l=0;l<e.length;l++){var c=e[l];o.prototype[c]=a(c)}return o};function e(){this.listeners={}}e.prototype.on=function(e,t){this.listeners=this.listeners||{},e in this.listeners?this.listeners[e].push(t):this.listeners[e]=[t]},e.prototype.trigger=function(e){var t=Array.prototype.slice,n=t.call(arguments,1);this.listeners=this.listeners||{},null==n&&(n=[]),0===n.length&&n.push({}),(n[0]._type=e)in this.listeners&&this.invoke(this.listeners[e],t.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},e.prototype.invoke=function(e,t){for(var n=0,i=e.length;n<i;n++)e[n].apply(this,t)},r.Observable=e,r.generateChars=function(e){for(var t="",n=0;n<e;n++){t+=Math.floor(36*Math.random()).toString(36)}return t},r.bind=function(e,t){return function(){e.apply(t,arguments)}},r._convertData=function(e){for(var t in e){var n=t.split("-"),i=e;if(1!==n.length){for(var r=0;r<n.length;r++){var o=n[r];(o=o.substring(0,1).toLowerCase()+o.substring(1))in i||(i[o]={}),r==n.length-1&&(i[o]=e[t]),i=i[o]}delete e[t]}}return e},r.hasScroll=function(e,t){var n=o(t),i=t.style.overflowX,r=t.style.overflowY;return(i!==r||"hidden"!==r&&"visible"!==r)&&("scroll"===i||"scroll"===r||(n.innerHeight()<t.scrollHeight||n.innerWidth()<t.scrollWidth))},r.escapeMarkup=function(e){var t={"\\":"\","&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return"string"!=typeof e?e:String(e).replace(/[&<>"'\/\\]/g,function(e){return t[e]})},r.appendMany=function(e,t){if("1.7"===o.fn.jquery.substr(0,3)){var n=o();o.map(t,function(e){n=n.add(e)}),t=n}e.append(t)},r.__cache={};var n=0;return r.GetUniqueElementId=function(e){var t=e.getAttribute("data-select2-id");return null==t&&(e.id?(t=e.id,e.setAttribute("data-select2-id",t)):(e.setAttribute("data-select2-id",++n),t=n.toString())),t},r.StoreData=function(e,t,n){var i=r.GetUniqueElementId(e);r.__cache[i]||(r.__cache[i]={}),r.__cache[i][t]=n},r.GetData=function(e,t){var n=r.GetUniqueElementId(e);return t?r.__cache[n]&&null!=r.__cache[n][t]?r.__cache[n][t]:o(e).data(t):r.__cache[n]},r.RemoveData=function(e){var t=r.GetUniqueElementId(e);null!=r.__cache[t]&&delete r.__cache[t],e.removeAttribute("data-select2-id")},r}),e.define("select2/results",["jquery","./utils"],function(h,f){function i(e,t,n){this.$element=e,this.data=n,this.options=t,i.__super__.constructor.call(this)}return f.Extend(i,f.Observable),i.prototype.render=function(){var e=h('<ul class="select2-results__options" role="listbox"></ul>');return this.options.get("multiple")&&e.attr("aria-multiselectable","true"),this.$results=e},i.prototype.clear=function(){this.$results.empty()},i.prototype.displayMessage=function(e){var t=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var n=h('<li role="alert" aria-live="assertive" class="select2-results__option"></li>'),i=this.options.get("translations").get(e.message);n.append(t(i(e.args))),n[0].className+=" select2-results__message",this.$results.append(n)},i.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},i.prototype.append=function(e){this.hideLoading();var t=[];if(null!=e.results&&0!==e.results.length){e.results=this.sort(e.results);for(var n=0;n<e.results.length;n++){var i=e.results[n],r=this.option(i);t.push(r)}this.$results.append(t)}else 0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"})},i.prototype.position=function(e,t){t.find(".select2-results").append(e)},i.prototype.sort=function(e){return this.options.get("sorter")(e)},i.prototype.highlightFirstItem=function(){var e=this.$results.find(".select2-results__option[aria-selected]"),t=e.filter("[aria-selected=true]");0<t.length?t.first().trigger("mouseenter"):e.first().trigger("mouseenter"),this.ensureHighlightVisible()},i.prototype.setClasses=function(){var t=this;this.data.current(function(e){var i=h.map(e,function(e){return e.id.toString()});t.$results.find(".select2-results__option[aria-selected]").each(function(){var e=h(this),t=f.GetData(this,"data"),n=""+t.id;null!=t.element&&t.element.selected||null==t.element&&-1<h.inArray(n,i)?e.attr("aria-selected","true"):e.attr("aria-selected","false")})})},i.prototype.showLoading=function(e){this.hideLoading();var t={disabled:!0,loading:!0,text:this.options.get("translations").get("searching")(e)},n=this.option(t);n.className+=" loading-results",this.$results.prepend(n)},i.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},i.prototype.option=function(e){var t=document.createElement("li");t.className="select2-results__option";var n={role:"option","aria-selected":"false"},i=window.Element.prototype.matches||window.Element.prototype.msMatchesSelector||window.Element.prototype.webkitMatchesSelector;for(var r in(null!=e.element&&i.call(e.element,":disabled")||null==e.element&&e.disabled)&&(delete n["aria-selected"],n["aria-disabled"]="true"),null==e.id&&delete n["aria-selected"],null!=e._resultId&&(t.id=e._resultId),e.title&&(t.title=e.title),e.children&&(n.role="group",n["aria-label"]=e.text,delete n["aria-selected"]),n){var o=n[r];t.setAttribute(r,o)}if(e.children){var s=h(t),a=document.createElement("strong");a.className="select2-results__group";h(a);this.template(e,a);for(var l=[],c=0;c<e.children.length;c++){var u=e.children[c],d=this.option(u);l.push(d)}var p=h("<ul></ul>",{class:"select2-results__options select2-results__options--nested"});p.append(l),s.append(a),s.append(p)}else this.template(e,t);return f.StoreData(t,"data",e),t},i.prototype.bind=function(t,e){var l=this,n=t.id+"-results";this.$results.attr("id",n),t.on("results:all",function(e){l.clear(),l.append(e.data),t.isOpen()&&(l.setClasses(),l.highlightFirstItem())}),t.on("results:append",function(e){l.append(e.data),t.isOpen()&&l.setClasses()}),t.on("query",function(e){l.hideMessages(),l.showLoading(e)}),t.on("select",function(){t.isOpen()&&(l.setClasses(),l.options.get("scrollAfterSelect")&&l.highlightFirstItem())}),t.on("unselect",function(){t.isOpen()&&(l.setClasses(),l.options.get("scrollAfterSelect")&&l.highlightFirstItem())}),t.on("open",function(){l.$results.attr("aria-expanded","true"),l.$results.attr("aria-hidden","false"),l.setClasses(),l.ensureHighlightVisible()}),t.on("close",function(){l.$results.attr("aria-expanded","false"),l.$results.attr("aria-hidden","true"),l.$results.removeAttr("aria-activedescendant")}),t.on("results:toggle",function(){var e=l.getHighlightedResults();0!==e.length&&e.trigger("mouseup")}),t.on("results:select",function(){var e=l.getHighlightedResults();if(0!==e.length){var t=f.GetData(e[0],"data");"true"==e.attr("aria-selected")?l.trigger("close",{}):l.trigger("select",{data:t})}}),t.on("results:previous",function(){var e=l.getHighlightedResults(),t=l.$results.find("[aria-selected]"),n=t.index(e);if(!(n<=0)){var i=n-1;0===e.length&&(i=0);var r=t.eq(i);r.trigger("mouseenter");var o=l.$results.offset().top,s=r.offset().top,a=l.$results.scrollTop()+(s-o);0===i?l.$results.scrollTop(0):s-o<0&&l.$results.scrollTop(a)}}),t.on("results:next",function(){var e=l.getHighlightedResults(),t=l.$results.find("[aria-selected]"),n=t.index(e)+1;if(!(n>=t.length)){var i=t.eq(n);i.trigger("mouseenter");var r=l.$results.offset().top+l.$results.outerHeight(!1),o=i.offset().top+i.outerHeight(!1),s=l.$results.scrollTop()+o-r;0===n?l.$results.scrollTop(0):r<o&&l.$results.scrollTop(s)}}),t.on("results:focus",function(e){e.element.addClass("select2-results__option--highlighted")}),t.on("results:message",function(e){l.displayMessage(e)}),h.fn.mousewheel&&this.$results.on("mousewheel",function(e){var t=l.$results.scrollTop(),n=l.$results.get(0).scrollHeight-t+e.deltaY,i=0<e.deltaY&&t-e.deltaY<=0,r=e.deltaY<0&&n<=l.$results.height();i?(l.$results.scrollTop(0),e.preventDefault(),e.stopPropagation()):r&&(l.$results.scrollTop(l.$results.get(0).scrollHeight-l.$results.height()),e.preventDefault(),e.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(e){var t=h(this),n=f.GetData(this,"data");"true"!==t.attr("aria-selected")?l.trigger("select",{originalEvent:e,data:n}):l.options.get("multiple")?l.trigger("unselect",{originalEvent:e,data:n}):l.trigger("close",{})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(e){var t=f.GetData(this,"data");l.getHighlightedResults().removeClass("select2-results__option--highlighted"),l.trigger("results:focus",{data:t,element:h(this)})})},i.prototype.getHighlightedResults=function(){return this.$results.find(".select2-results__option--highlighted")},i.prototype.destroy=function(){this.$results.remove()},i.prototype.ensureHighlightVisible=function(){var e=this.getHighlightedResults();if(0!==e.length){var t=this.$results.find("[aria-selected]").index(e),n=this.$results.offset().top,i=e.offset().top,r=this.$results.scrollTop()+(i-n),o=i-n;r-=2*e.outerHeight(!1),t<=2?this.$results.scrollTop(0):(o>this.$results.outerHeight()||o<0)&&this.$results.scrollTop(r)}},i.prototype.template=function(e,t){var n=this.options.get("templateResult"),i=this.options.get("escapeMarkup"),r=n(e,t);null==r?t.style.display="none":"string"==typeof r?t.innerHTML=i(r):h(t).append(r)},i}),e.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),e.define("select2/selection/base",["jquery","../utils","../keys"],function(n,i,r){function o(e,t){this.$element=e,this.options=t,o.__super__.constructor.call(this)}return i.Extend(o,i.Observable),o.prototype.render=function(){var e=n('<span class="select2-selection" role="combobox" aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=i.GetData(this.$element[0],"old-tabindex")?this._tabindex=i.GetData(this.$element[0],"old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),e.attr("title",this.$element.attr("title")),e.attr("tabindex",this._tabindex),e.attr("aria-disabled","false"),this.$selection=e},o.prototype.bind=function(e,t){var n=this,i=e.id+"-results";this.container=e,this.$selection.on("focus",function(e){n.trigger("focus",e)}),this.$selection.on("blur",function(e){n._handleBlur(e)}),this.$selection.on("keydown",function(e){n.trigger("keypress",e),e.which===r.SPACE&&e.preventDefault()}),e.on("results:focus",function(e){n.$selection.attr("aria-activedescendant",e.data._resultId)}),e.on("selection:update",function(e){n.update(e.data)}),e.on("open",function(){n.$selection.attr("aria-expanded","true"),n.$selection.attr("aria-owns",i),n._attachCloseHandler(e)}),e.on("close",function(){n.$selection.attr("aria-expanded","false"),n.$selection.removeAttr("aria-activedescendant"),n.$selection.removeAttr("aria-owns"),n.$selection.trigger("focus"),n._detachCloseHandler(e)}),e.on("enable",function(){n.$selection.attr("tabindex",n._tabindex),n.$selection.attr("aria-disabled","false")}),e.on("disable",function(){n.$selection.attr("tabindex","-1"),n.$selection.attr("aria-disabled","true")})},o.prototype._handleBlur=function(e){var t=this;window.setTimeout(function(){document.activeElement==t.$selection[0]||n.contains(t.$selection[0],document.activeElement)||t.trigger("blur",e)},1)},o.prototype._attachCloseHandler=function(e){n(document.body).on("mousedown.select2."+e.id,function(e){var t=n(e.target).closest(".select2");n(".select2.select2-container--open").each(function(){this!=t[0]&&i.GetData(this,"element").select2("close")})})},o.prototype._detachCloseHandler=function(e){n(document.body).off("mousedown.select2."+e.id)},o.prototype.position=function(e,t){t.find(".selection").append(e)},o.prototype.destroy=function(){this._detachCloseHandler(this.container)},o.prototype.update=function(e){throw new Error("The `update` method must be defined in child classes.")},o.prototype.isEnabled=function(){return!this.isDisabled()},o.prototype.isDisabled=function(){return this.options.get("disabled")},o}),e.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(e,t,n,i){function r(){r.__super__.constructor.apply(this,arguments)}return n.Extend(r,t),r.prototype.render=function(){var e=r.__super__.render.call(this);return e.addClass("select2-selection--single"),e.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),e},r.prototype.bind=function(t,e){var n=this;r.__super__.bind.apply(this,arguments);var i=t.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",i).attr("role","textbox").attr("aria-readonly","true"),this.$selection.attr("aria-labelledby",i),this.$selection.on("mousedown",function(e){1===e.which&&n.trigger("toggle",{originalEvent:e})}),this.$selection.on("focus",function(e){}),this.$selection.on("blur",function(e){}),t.on("focus",function(e){t.isOpen()||n.$selection.trigger("focus")})},r.prototype.clear=function(){var e=this.$selection.find(".select2-selection__rendered");e.empty(),e.removeAttr("title")},r.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},r.prototype.selectionContainer=function(){return e("<span></span>")},r.prototype.update=function(e){if(0!==e.length){var t=e[0],n=this.$selection.find(".select2-selection__rendered"),i=this.display(t,n);n.empty().append(i);var r=t.title||t.text;r?n.attr("title",r):n.removeAttr("title")}else this.clear()},r}),e.define("select2/selection/multiple",["jquery","./base","../utils"],function(r,e,l){function n(e,t){n.__super__.constructor.apply(this,arguments)}return l.Extend(n,e),n.prototype.render=function(){var e=n.__super__.render.call(this);return e.addClass("select2-selection--multiple"),e.html('<ul class="select2-selection__rendered"></ul>'),e},n.prototype.bind=function(e,t){var i=this;n.__super__.bind.apply(this,arguments),this.$selection.on("click",function(e){i.trigger("toggle",{originalEvent:e})}),this.$selection.on("click",".select2-selection__choice__remove",function(e){if(!i.isDisabled()){var t=r(this).parent(),n=l.GetData(t[0],"data");i.trigger("unselect",{originalEvent:e,data:n})}})},n.prototype.clear=function(){var e=this.$selection.find(".select2-selection__rendered");e.empty(),e.removeAttr("title")},n.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},n.prototype.selectionContainer=function(){return r('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">×</span></li>')},n.prototype.update=function(e){if(this.clear(),0!==e.length){for(var t=[],n=0;n<e.length;n++){var i=e[n],r=this.selectionContainer(),o=this.display(i,r);r.append(o);var s=i.title||i.text;s&&r.attr("title",s),l.StoreData(r[0],"data",i),t.push(r)}var a=this.$selection.find(".select2-selection__rendered");l.appendMany(a,t)}},n}),e.define("select2/selection/placeholder",["../utils"],function(e){function t(e,t,n){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n)}return t.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},t.prototype.createPlaceholder=function(e,t){var n=this.selectionContainer();return n.html(this.display(t)),n.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),n},t.prototype.update=function(e,t){var n=1==t.length&&t[0].id!=this.placeholder.id;if(1<t.length||n)return e.call(this,t);this.clear();var i=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(i)},t}),e.define("select2/selection/allowClear",["jquery","../keys","../utils"],function(r,i,a){function e(){}return e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(e){i._handleClear(e)}),t.on("keypress",function(e){i._handleKeyboardClear(e,t)})},e.prototype._handleClear=function(e,t){if(!this.isDisabled()){var n=this.$selection.find(".select2-selection__clear");if(0!==n.length){t.stopPropagation();var i=a.GetData(n[0],"data"),r=this.$element.val();this.$element.val(this.placeholder.id);var o={data:i};if(this.trigger("clear",o),o.prevented)this.$element.val(r);else{for(var s=0;s<i.length;s++)if(o={data:i[s]},this.trigger("unselect",o),o.prevented)return void this.$element.val(r);this.$element.trigger("input").trigger("change"),this.trigger("toggle",{})}}}},e.prototype._handleKeyboardClear=function(e,t,n){n.isOpen()||t.which!=i.DELETE&&t.which!=i.BACKSPACE||this._handleClear(t)},e.prototype.update=function(e,t){if(e.call(this,t),!(0<this.$selection.find(".select2-selection__placeholder").length||0===t.length)){var n=this.options.get("translations").get("removeAllItems"),i=r('<span class="select2-selection__clear" title="'+n()+'">×</span>');a.StoreData(i[0],"data",t),this.$selection.find(".select2-selection__rendered").prepend(i)}},e}),e.define("select2/selection/search",["jquery","../utils","../keys"],function(i,a,l){function e(e,t,n){e.call(this,t,n)}return e.prototype.render=function(e){var t=i('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></li>');this.$searchContainer=t,this.$search=t.find("input");var n=e.call(this);return this._transferTabIndex(),n},e.prototype.bind=function(e,t,n){var i=this,r=t.id+"-results";e.call(this,t,n),t.on("open",function(){i.$search.attr("aria-controls",r),i.$search.trigger("focus")}),t.on("close",function(){i.$search.val(""),i.$search.removeAttr("aria-controls"),i.$search.removeAttr("aria-activedescendant"),i.$search.trigger("focus")}),t.on("enable",function(){i.$search.prop("disabled",!1),i._transferTabIndex()}),t.on("disable",function(){i.$search.prop("disabled",!0)}),t.on("focus",function(e){i.$search.trigger("focus")}),t.on("results:focus",function(e){e.data._resultId?i.$search.attr("aria-activedescendant",e.data._resultId):i.$search.removeAttr("aria-activedescendant")}),this.$selection.on("focusin",".select2-search--inline",function(e){i.trigger("focus",e)}),this.$selection.on("focusout",".select2-search--inline",function(e){i._handleBlur(e)}),this.$selection.on("keydown",".select2-search--inline",function(e){if(e.stopPropagation(),i.trigger("keypress",e),i._keyUpPrevented=e.isDefaultPrevented(),e.which===l.BACKSPACE&&""===i.$search.val()){var t=i.$searchContainer.prev(".select2-selection__choice");if(0<t.length){var n=a.GetData(t[0],"data");i.searchRemoveChoice(n),e.preventDefault()}}}),this.$selection.on("click",".select2-search--inline",function(e){i.$search.val()&&e.stopPropagation()});var o=document.documentMode,s=o&&o<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(e){s?i.$selection.off("input.search input.searchcheck"):i.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(e){if(s&&"input"===e.type)i.$selection.off("input.search input.searchcheck");else{var t=e.which;t!=l.SHIFT&&t!=l.CTRL&&t!=l.ALT&&t!=l.TAB&&i.handleSearch(e)}})},e.prototype._transferTabIndex=function(e){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},e.prototype.createPlaceholder=function(e,t){this.$search.attr("placeholder",t.text)},e.prototype.update=function(e,t){var n=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),e.call(this,t),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),n&&this.$search.trigger("focus")},e.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var e=this.$search.val();this.trigger("query",{term:e})}this._keyUpPrevented=!1},e.prototype.searchRemoveChoice=function(e,t){this.trigger("unselect",{data:t}),this.$search.val(t.text),this.handleSearch()},e.prototype.resizeSearch=function(){this.$search.css("width","25px");var e="";""!==this.$search.attr("placeholder")?e=this.$selection.find(".select2-selection__rendered").width():e=.75*(this.$search.val().length+1)+"em";this.$search.css("width",e)},e}),e.define("select2/selection/eventRelay",["jquery"],function(s){function e(){}return e.prototype.bind=function(e,t,n){var i=this,r=["open","opening","close","closing","select","selecting","unselect","unselecting","clear","clearing"],o=["opening","closing","selecting","unselecting","clearing"];e.call(this,t,n),t.on("*",function(e,t){if(-1!==s.inArray(e,r)){t=t||{};var n=s.Event("select2:"+e,{params:t});i.$element.trigger(n),-1!==s.inArray(e,o)&&(t.prevented=n.isDefaultPrevented())}})},e}),e.define("select2/translation",["jquery","require"],function(t,n){function i(e){this.dict=e||{}}return i.prototype.all=function(){return this.dict},i.prototype.get=function(e){return this.dict[e]},i.prototype.extend=function(e){this.dict=t.extend({},e.all(),this.dict)},i._cache={},i.loadPath=function(e){if(!(e in i._cache)){var t=n(e);i._cache[e]=t}return new i(i._cache[e])},i}),e.define("select2/diacritics",[],function(){return{"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Œ":"OE","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","œ":"oe","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ώ":"ω","ς":"σ","’":"'"}}),e.define("select2/data/base",["../utils"],function(i){function n(e,t){n.__super__.constructor.call(this)}return i.Extend(n,i.Observable),n.prototype.current=function(e){throw new Error("The `current` method must be defined in child classes.")},n.prototype.query=function(e,t){throw new Error("The `query` method must be defined in child classes.")},n.prototype.bind=function(e,t){},n.prototype.destroy=function(){},n.prototype.generateResultId=function(e,t){var n=e.id+"-result-";return n+=i.generateChars(4),null!=t.id?n+="-"+t.id.toString():n+="-"+i.generateChars(4),n},n}),e.define("select2/data/select",["./base","../utils","jquery"],function(e,a,l){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return a.Extend(n,e),n.prototype.current=function(e){var n=[],i=this;this.$element.find(":selected").each(function(){var e=l(this),t=i.item(e);n.push(t)}),e(n)},n.prototype.select=function(r){var o=this;if(r.selected=!0,l(r.element).is("option"))return r.element.selected=!0,void this.$element.trigger("input").trigger("change");if(this.$element.prop("multiple"))this.current(function(e){var t=[];(r=[r]).push.apply(r,e);for(var n=0;n<r.length;n++){var i=r[n].id;-1===l.inArray(i,t)&&t.push(i)}o.$element.val(t),o.$element.trigger("input").trigger("change")});else{var e=r.id;this.$element.val(e),this.$element.trigger("input").trigger("change")}},n.prototype.unselect=function(r){var o=this;if(this.$element.prop("multiple")){if(r.selected=!1,l(r.element).is("option"))return r.element.selected=!1,void this.$element.trigger("input").trigger("change");this.current(function(e){for(var t=[],n=0;n<e.length;n++){var i=e[n].id;i!==r.id&&-1===l.inArray(i,t)&&t.push(i)}o.$element.val(t),o.$element.trigger("input").trigger("change")})}},n.prototype.bind=function(e,t){var n=this;(this.container=e).on("select",function(e){n.select(e.data)}),e.on("unselect",function(e){n.unselect(e.data)})},n.prototype.destroy=function(){this.$element.find("*").each(function(){a.RemoveData(this)})},n.prototype.query=function(i,e){var r=[],o=this;this.$element.children().each(function(){var e=l(this);if(e.is("option")||e.is("optgroup")){var t=o.item(e),n=o.matches(i,t);null!==n&&r.push(n)}}),e({results:r})},n.prototype.addOptions=function(e){a.appendMany(this.$element,e)},n.prototype.option=function(e){var t;e.children?(t=document.createElement("optgroup")).label=e.text:void 0!==(t=document.createElement("option")).textContent?t.textContent=e.text:t.innerText=e.text,void 0!==e.id&&(t.value=e.id),e.disabled&&(t.disabled=!0),e.selected&&(t.selected=!0),e.title&&(t.title=e.title);var n=l(t),i=this._normalizeItem(e);return i.element=t,a.StoreData(t,"data",i),n},n.prototype.item=function(e){var t={};if(null!=(t=a.GetData(e[0],"data")))return t;if(e.is("option"))t={id:e.val(),text:e.text(),disabled:e.prop("disabled"),selected:e.prop("selected"),title:e.prop("title")};else if(e.is("optgroup")){t={text:e.prop("label"),children:[],title:e.prop("title")};for(var n=e.children("option"),i=[],r=0;r<n.length;r++){var o=l(n[r]),s=this.item(o);i.push(s)}t.children=i}return(t=this._normalizeItem(t)).element=e[0],a.StoreData(e[0],"data",t),t},n.prototype._normalizeItem=function(e){e!==Object(e)&&(e={id:e,text:e});return null!=(e=l.extend({},{text:""},e)).id&&(e.id=e.id.toString()),null!=e.text&&(e.text=e.text.toString()),null==e._resultId&&e.id&&null!=this.container&&(e._resultId=this.generateResultId(this.container,e)),l.extend({},{selected:!1,disabled:!1},e)},n.prototype.matches=function(e,t){return this.options.get("matcher")(e,t)},n}),e.define("select2/data/array",["./select","../utils","jquery"],function(e,f,g){function i(e,t){this._dataToConvert=t.get("data")||[],i.__super__.constructor.call(this,e,t)}return f.Extend(i,e),i.prototype.bind=function(e,t){i.__super__.bind.call(this,e,t),this.addOptions(this.convertToOptions(this._dataToConvert))},i.prototype.select=function(n){var e=this.$element.find("option").filter(function(e,t){return t.value==n.id.toString()});0===e.length&&(e=this.option(n),this.addOptions(e)),i.__super__.select.call(this,n)},i.prototype.convertToOptions=function(e){var t=this,n=this.$element.find("option"),i=n.map(function(){return t.item(g(this)).id}).get(),r=[];function o(e){return function(){return g(this).val()==e.id}}for(var s=0;s<e.length;s++){var a=this._normalizeItem(e[s]);if(0<=g.inArray(a.id,i)){var l=n.filter(o(a)),c=this.item(l),u=g.extend(!0,{},a,c),d=this.option(u);l.replaceWith(d)}else{var p=this.option(a);if(a.children){var h=this.convertToOptions(a.children);f.appendMany(p,h)}r.push(p)}}return r},i}),e.define("select2/data/ajax",["./array","../utils","jquery"],function(e,t,o){function n(e,t){this.ajaxOptions=this._applyDefaults(t.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),n.__super__.constructor.call(this,e,t)}return t.Extend(n,e),n.prototype._applyDefaults=function(e){var t={data:function(e){return o.extend({},e,{q:e.term})},transport:function(e,t,n){var i=o.ajax(e);return i.then(t),i.fail(n),i}};return o.extend({},t,e,!0)},n.prototype.processResults=function(e){return e},n.prototype.query=function(n,i){var r=this;null!=this._request&&(o.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var t=o.extend({type:"GET"},this.ajaxOptions);function e(){var e=t.transport(t,function(e){var t=r.processResults(e,n);r.options.get("debug")&&window.console&&console.error&&(t&&t.results&&o.isArray(t.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),i(t)},function(){"status"in e&&(0===e.status||"0"===e.status)||r.trigger("results:message",{message:"errorLoading"})});r._request=e}"function"==typeof t.url&&(t.url=t.url.call(this.$element,n)),"function"==typeof t.data&&(t.data=t.data.call(this.$element,n)),this.ajaxOptions.delay&&null!=n.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(e,this.ajaxOptions.delay)):e()},n}),e.define("select2/data/tags",["jquery"],function(u){function e(e,t,n){var i=n.get("tags"),r=n.get("createTag");void 0!==r&&(this.createTag=r);var o=n.get("insertTag");if(void 0!==o&&(this.insertTag=o),e.call(this,t,n),u.isArray(i))for(var s=0;s<i.length;s++){var a=i[s],l=this._normalizeItem(a),c=this.option(l);this.$element.append(c)}}return e.prototype.query=function(e,c,u){var d=this;this._removeOldTags(),null!=c.term&&null==c.page?e.call(this,c,function e(t,n){for(var i=t.results,r=0;r<i.length;r++){var o=i[r],s=null!=o.children&&!e({results:o.children},!0);if((o.text||"").toUpperCase()===(c.term||"").toUpperCase()||s)return!n&&(t.data=i,void u(t))}if(n)return!0;var a=d.createTag(c);if(null!=a){var l=d.option(a);l.attr("data-select2-tag",!0),d.addOptions([l]),d.insertTag(i,a)}t.results=i,u(t)}):e.call(this,c,u)},e.prototype.createTag=function(e,t){var n=u.trim(t.term);return""===n?null:{id:n,text:n}},e.prototype.insertTag=function(e,t,n){t.unshift(n)},e.prototype._removeOldTags=function(e){this.$element.find("option[data-select2-tag]").each(function(){this.selected||u(this).remove()})},e}),e.define("select2/data/tokenizer",["jquery"],function(d){function e(e,t,n){var i=n.get("tokenizer");void 0!==i&&(this.tokenizer=i),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){e.call(this,t,n),this.$search=t.dropdown.$search||t.selection.$search||n.find(".select2-search__field")},e.prototype.query=function(e,t,n){var i=this;t.term=t.term||"";var r=this.tokenizer(t,this.options,function(e){var t=i._normalizeItem(e);if(!i.$element.find("option").filter(function(){return d(this).val()===t.id}).length){var n=i.option(t);n.attr("data-select2-tag",!0),i._removeOldTags(),i.addOptions([n])}!function(e){i.trigger("select",{data:e})}(t)});r.term!==t.term&&(this.$search.length&&(this.$search.val(r.term),this.$search.trigger("focus")),t.term=r.term),e.call(this,t,n)},e.prototype.tokenizer=function(e,t,n,i){for(var r=n.get("tokenSeparators")||[],o=t.term,s=0,a=this.createTag||function(e){return{id:e.term,text:e.term}};s<o.length;){var l=o[s];if(-1!==d.inArray(l,r)){var c=o.substr(0,s),u=a(d.extend({},t,{term:c}));null!=u?(i(u),o=o.substr(s+1)||"",s=0):s++}else s++}return{term:o}},e}),e.define("select2/data/minimumInputLength",[],function(){function e(e,t,n){this.minimumInputLength=n.get("minimumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.term=t.term||"",t.term.length<this.minimumInputLength?this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),e.define("select2/data/maximumInputLength",[],function(){function e(e,t,n){this.maximumInputLength=n.get("maximumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.term=t.term||"",0<this.maximumInputLength&&t.term.length>this.maximumInputLength?this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),e.define("select2/data/maximumSelectionLength",[],function(){function e(e,t,n){this.maximumSelectionLength=n.get("maximumSelectionLength"),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),t.on("select",function(){i._checkIfMaximumSelected()})},e.prototype.query=function(e,t,n){var i=this;this._checkIfMaximumSelected(function(){e.call(i,t,n)})},e.prototype._checkIfMaximumSelected=function(e,n){var i=this;this.current(function(e){var t=null!=e?e.length:0;0<i.maximumSelectionLength&&t>=i.maximumSelectionLength?i.trigger("results:message",{message:"maximumSelected",args:{maximum:i.maximumSelectionLength}}):n&&n()})},e}),e.define("select2/dropdown",["jquery","./utils"],function(t,e){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return e.Extend(n,e.Observable),n.prototype.render=function(){var e=t('<span class="select2-dropdown"><span class="select2-results"></span></span>');return e.attr("dir",this.options.get("dir")),this.$dropdown=e},n.prototype.bind=function(){},n.prototype.position=function(e,t){},n.prototype.destroy=function(){this.$dropdown.remove()},n}),e.define("select2/dropdown/search",["jquery","../utils"],function(o,e){function t(){}return t.prototype.render=function(e){var t=e.call(this),n=o('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></span>');return this.$searchContainer=n,this.$search=n.find("input"),t.prepend(n),t},t.prototype.bind=function(e,t,n){var i=this,r=t.id+"-results";e.call(this,t,n),this.$search.on("keydown",function(e){i.trigger("keypress",e),i._keyUpPrevented=e.isDefaultPrevented()}),this.$search.on("input",function(e){o(this).off("keyup")}),this.$search.on("keyup input",function(e){i.handleSearch(e)}),t.on("open",function(){i.$search.attr("tabindex",0),i.$search.attr("aria-controls",r),i.$search.trigger("focus"),window.setTimeout(function(){i.$search.trigger("focus")},0)}),t.on("close",function(){i.$search.attr("tabindex",-1),i.$search.removeAttr("aria-controls"),i.$search.removeAttr("aria-activedescendant"),i.$search.val(""),i.$search.trigger("blur")}),t.on("focus",function(){t.isOpen()||i.$search.trigger("focus")}),t.on("results:all",function(e){null!=e.query.term&&""!==e.query.term||(i.showSearch(e)?i.$searchContainer.removeClass("select2-search--hide"):i.$searchContainer.addClass("select2-search--hide"))}),t.on("results:focus",function(e){e.data._resultId?i.$search.attr("aria-activedescendant",e.data._resultId):i.$search.removeAttr("aria-activedescendant")})},t.prototype.handleSearch=function(e){if(!this._keyUpPrevented){var t=this.$search.val();this.trigger("query",{term:t})}this._keyUpPrevented=!1},t.prototype.showSearch=function(e,t){return!0},t}),e.define("select2/dropdown/hidePlaceholder",[],function(){function e(e,t,n,i){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n,i)}return e.prototype.append=function(e,t){t.results=this.removePlaceholder(t.results),e.call(this,t)},e.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},e.prototype.removePlaceholder=function(e,t){for(var n=t.slice(0),i=t.length-1;0<=i;i--){var r=t[i];this.placeholder.id===r.id&&n.splice(i,1)}return n},e}),e.define("select2/dropdown/infiniteScroll",["jquery"],function(n){function e(e,t,n,i){this.lastParams={},e.call(this,t,n,i),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return e.prototype.append=function(e,t){this.$loadingMore.remove(),this.loading=!1,e.call(this,t),this.showLoadingMore(t)&&(this.$results.append(this.$loadingMore),this.loadMoreIfNeeded())},e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),t.on("query",function(e){i.lastParams=e,i.loading=!0}),t.on("query:append",function(e){i.lastParams=e,i.loading=!0}),this.$results.on("scroll",this.loadMoreIfNeeded.bind(this))},e.prototype.loadMoreIfNeeded=function(){var e=n.contains(document.documentElement,this.$loadingMore[0]);if(!this.loading&&e){var t=this.$results.offset().top+this.$results.outerHeight(!1);this.$loadingMore.offset().top+this.$loadingMore.outerHeight(!1)<=t+50&&this.loadMore()}},e.prototype.loadMore=function(){this.loading=!0;var e=n.extend({},{page:1},this.lastParams);e.page++,this.trigger("query:append",e)},e.prototype.showLoadingMore=function(e,t){return t.pagination&&t.pagination.more},e.prototype.createLoadingMore=function(){var e=n('<li class="select2-results__option select2-results__option--load-more"role="option" aria-disabled="true"></li>'),t=this.options.get("translations").get("loadingMore");return e.html(t(this.lastParams)),e},e}),e.define("select2/dropdown/attachBody",["jquery","../utils"],function(f,a){function e(e,t,n){this.$dropdownParent=f(n.get("dropdownParent")||document.body),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),t.on("open",function(){i._showDropdown(),i._attachPositioningHandler(t),i._bindContainerResultHandlers(t)}),t.on("close",function(){i._hideDropdown(),i._detachPositioningHandler(t)}),this.$dropdownContainer.on("mousedown",function(e){e.stopPropagation()})},e.prototype.destroy=function(e){e.call(this),this.$dropdownContainer.remove()},e.prototype.position=function(e,t,n){t.attr("class",n.attr("class")),t.removeClass("select2"),t.addClass("select2-container--open"),t.css({position:"absolute",top:-999999}),this.$container=n},e.prototype.render=function(e){var t=f("<span></span>"),n=e.call(this);return t.append(n),this.$dropdownContainer=t},e.prototype._hideDropdown=function(e){this.$dropdownContainer.detach()},e.prototype._bindContainerResultHandlers=function(e,t){if(!this._containerResultsHandlersBound){var n=this;t.on("results:all",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("results:append",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("results:message",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("select",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("unselect",function(){n._positionDropdown(),n._resizeDropdown()}),this._containerResultsHandlersBound=!0}},e.prototype._attachPositioningHandler=function(e,t){var n=this,i="scroll.select2."+t.id,r="resize.select2."+t.id,o="orientationchange.select2."+t.id,s=this.$container.parents().filter(a.hasScroll);s.each(function(){a.StoreData(this,"select2-scroll-position",{x:f(this).scrollLeft(),y:f(this).scrollTop()})}),s.on(i,function(e){var t=a.GetData(this,"select2-scroll-position");f(this).scrollTop(t.y)}),f(window).on(i+" "+r+" "+o,function(e){n._positionDropdown(),n._resizeDropdown()})},e.prototype._detachPositioningHandler=function(e,t){var n="scroll.select2."+t.id,i="resize.select2."+t.id,r="orientationchange.select2."+t.id;this.$container.parents().filter(a.hasScroll).off(n),f(window).off(n+" "+i+" "+r)},e.prototype._positionDropdown=function(){var e=f(window),t=this.$dropdown.hasClass("select2-dropdown--above"),n=this.$dropdown.hasClass("select2-dropdown--below"),i=null,r=this.$container.offset();r.bottom=r.top+this.$container.outerHeight(!1);var o={height:this.$container.outerHeight(!1)};o.top=r.top,o.bottom=r.top+o.height;var s=this.$dropdown.outerHeight(!1),a=e.scrollTop(),l=e.scrollTop()+e.height(),c=a<r.top-s,u=l>r.bottom+s,d={left:r.left,top:o.bottom},p=this.$dropdownParent;"static"===p.css("position")&&(p=p.offsetParent());var h={top:0,left:0};(f.contains(document.body,p[0])||p[0].isConnected)&&(h=p.offset()),d.top-=h.top,d.left-=h.left,t||n||(i="below"),u||!c||t?!c&&u&&t&&(i="below"):i="above",("above"==i||t&&"below"!==i)&&(d.top=o.top-h.top-s),null!=i&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+i),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+i)),this.$dropdownContainer.css(d)},e.prototype._resizeDropdown=function(){var e={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(e.minWidth=e.width,e.position="relative",e.width="auto"),this.$dropdown.css(e)},e.prototype._showDropdown=function(e){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},e}),e.define("select2/dropdown/minimumResultsForSearch",[],function(){function e(e,t,n,i){this.minimumResultsForSearch=n.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),e.call(this,t,n,i)}return e.prototype.showSearch=function(e,t){return!(function e(t){for(var n=0,i=0;i<t.length;i++){var r=t[i];r.children?n+=e(r.children):n++}return n}(t.data.results)<this.minimumResultsForSearch)&&e.call(this,t)},e}),e.define("select2/dropdown/selectOnClose",["../utils"],function(o){function e(){}return e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),t.on("close",function(e){i._handleSelectOnClose(e)})},e.prototype._handleSelectOnClose=function(e,t){if(t&&null!=t.originalSelect2Event){var n=t.originalSelect2Event;if("select"===n._type||"unselect"===n._type)return}var i=this.getHighlightedResults();if(!(i.length<1)){var r=o.GetData(i[0],"data");null!=r.element&&r.element.selected||null==r.element&&r.selected||this.trigger("select",{data:r})}},e}),e.define("select2/dropdown/closeOnSelect",[],function(){function e(){}return e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),t.on("select",function(e){i._selectTriggered(e)}),t.on("unselect",function(e){i._selectTriggered(e)})},e.prototype._selectTriggered=function(e,t){var n=t.originalEvent;n&&(n.ctrlKey||n.metaKey)||this.trigger("close",{originalEvent:n,originalSelect2Event:t})},e}),e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return 1!=t&&(n+="s"),n},inputTooShort:function(e){return"Please enter "+(e.minimum-e.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return 1!=e.maximum&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"},removeAllItems:function(){return"Remove all items"}}}),e.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(c,u,d,p,h,f,g,m,v,y,s,t,_,w,$,b,A,x,D,S,C,E,O,T,q,j,L,I,e){function n(){this.reset()}return n.prototype.apply=function(e){if(null==(e=c.extend(!0,{},this.defaults,e)).dataAdapter){if(null!=e.ajax?e.dataAdapter=$:null!=e.data?e.dataAdapter=w:e.dataAdapter=_,0<e.minimumInputLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,x)),0<e.maximumInputLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,D)),0<e.maximumSelectionLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,S)),e.tags&&(e.dataAdapter=y.Decorate(e.dataAdapter,b)),null==e.tokenSeparators&&null==e.tokenizer||(e.dataAdapter=y.Decorate(e.dataAdapter,A)),null!=e.query){var t=u(e.amdBase+"compat/query");e.dataAdapter=y.Decorate(e.dataAdapter,t)}if(null!=e.initSelection){var n=u(e.amdBase+"compat/initSelection");e.dataAdapter=y.Decorate(e.dataAdapter,n)}}if(null==e.resultsAdapter&&(e.resultsAdapter=d,null!=e.ajax&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,T)),null!=e.placeholder&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,O)),e.selectOnClose&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,L))),null==e.dropdownAdapter){if(e.multiple)e.dropdownAdapter=C;else{var i=y.Decorate(C,E);e.dropdownAdapter=i}if(0!==e.minimumResultsForSearch&&(e.dropdownAdapter=y.Decorate(e.dropdownAdapter,j)),e.closeOnSelect&&(e.dropdownAdapter=y.Decorate(e.dropdownAdapter,I)),null!=e.dropdownCssClass||null!=e.dropdownCss||null!=e.adaptDropdownCssClass){var r=u(e.amdBase+"compat/dropdownCss");e.dropdownAdapter=y.Decorate(e.dropdownAdapter,r)}e.dropdownAdapter=y.Decorate(e.dropdownAdapter,q)}if(null==e.selectionAdapter){if(e.multiple?e.selectionAdapter=h:e.selectionAdapter=p,null!=e.placeholder&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,f)),e.allowClear&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,g)),e.multiple&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,m)),null!=e.containerCssClass||null!=e.containerCss||null!=e.adaptContainerCssClass){var o=u(e.amdBase+"compat/containerCss");e.selectionAdapter=y.Decorate(e.selectionAdapter,o)}e.selectionAdapter=y.Decorate(e.selectionAdapter,v)}e.language=this._resolveLanguage(e.language),e.language.push("en");for(var s=[],a=0;a<e.language.length;a++){var l=e.language[a];-1===s.indexOf(l)&&s.push(l)}return e.language=s,e.translations=this._processTranslations(e.language,e.debug),e},n.prototype.reset=function(){function a(e){return e.replace(/[^\u0000-\u007E]/g,function(e){return t[e]||e})}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:y.escapeMarkup,language:{},matcher:function e(t,n){if(""===c.trim(t.term))return n;if(n.children&&0<n.children.length){for(var i=c.extend(!0,{},n),r=n.children.length-1;0<=r;r--)null==e(t,n.children[r])&&i.children.splice(r,1);return 0<i.children.length?i:e(t,i)}var o=a(n.text).toUpperCase(),s=a(t.term).toUpperCase();return-1<o.indexOf(s)?n:null},minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,scrollAfterSelect:!1,sorter:function(e){return e},templateResult:function(e){return e.text},templateSelection:function(e){return e.text},theme:"default",width:"resolve"}},n.prototype.applyFromElement=function(e,t){var n=e.language,i=this.defaults.language,r=t.prop("lang"),o=t.closest("[lang]").prop("lang"),s=Array.prototype.concat.call(this._resolveLanguage(r),this._resolveLanguage(n),this._resolveLanguage(i),this._resolveLanguage(o));return e.language=s,e},n.prototype._resolveLanguage=function(e){if(!e)return[];if(c.isEmptyObject(e))return[];if(c.isPlainObject(e))return[e];var t;t=c.isArray(e)?e:[e];for(var n=[],i=0;i<t.length;i++)if(n.push(t[i]),"string"==typeof t[i]&&0<t[i].indexOf("-")){var r=t[i].split("-")[0];n.push(r)}return n},n.prototype._processTranslations=function(e,t){for(var n=new s,i=0;i<e.length;i++){var r=new s,o=e[i];if("string"==typeof o)try{r=s.loadPath(o)}catch(e){try{o=this.defaults.amdLanguageBase+o,r=s.loadPath(o)}catch(e){t&&window.console&&console.warn&&console.warn('Select2: The language file for "'+o+'" could not be automatically loaded. A fallback will be used instead.')}}else r=c.isPlainObject(o)?new s(o):o;n.extend(r)}return n},n.prototype.set=function(e,t){var n={};n[c.camelCase(e)]=t;var i=y._convertData(n);c.extend(!0,this.defaults,i)},new n}),e.define("select2/options",["require","jquery","./defaults","./utils"],function(i,d,r,p){function e(e,t){if(this.options=e,null!=t&&this.fromElement(t),null!=t&&(this.options=r.applyFromElement(this.options,t)),this.options=r.apply(this.options),t&&t.is("input")){var n=i(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=p.Decorate(this.options.dataAdapter,n)}}return e.prototype.fromElement=function(e){var t=["select2"];null==this.options.multiple&&(this.options.multiple=e.prop("multiple")),null==this.options.disabled&&(this.options.disabled=e.prop("disabled")),null==this.options.dir&&(e.prop("dir")?this.options.dir=e.prop("dir"):e.closest("[dir]").prop("dir")?this.options.dir=e.closest("[dir]").prop("dir"):this.options.dir="ltr"),e.prop("disabled",this.options.disabled),e.prop("multiple",this.options.multiple),p.GetData(e[0],"select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),p.StoreData(e[0],"data",p.GetData(e[0],"select2Tags")),p.StoreData(e[0],"tags",!0)),p.GetData(e[0],"ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),e.attr("ajax--url",p.GetData(e[0],"ajaxUrl")),p.StoreData(e[0],"ajax-Url",p.GetData(e[0],"ajaxUrl")));var n={};function i(e,t){return t.toUpperCase()}for(var r=0;r<e[0].attributes.length;r++){var o=e[0].attributes[r].name,s="data-";if(o.substr(0,s.length)==s){var a=o.substring(s.length),l=p.GetData(e[0],a);n[a.replace(/-([a-z])/g,i)]=l}}d.fn.jquery&&"1."==d.fn.jquery.substr(0,2)&&e[0].dataset&&(n=d.extend(!0,{},e[0].dataset,n));var c=d.extend(!0,{},p.GetData(e[0]),n);for(var u in c=p._convertData(c))-1<d.inArray(u,t)||(d.isPlainObject(this.options[u])?d.extend(this.options[u],c[u]):this.options[u]=c[u]);return this},e.prototype.get=function(e){return this.options[e]},e.prototype.set=function(e,t){this.options[e]=t},e}),e.define("select2/core",["jquery","./options","./utils","./keys"],function(o,c,u,i){var d=function(e,t){null!=u.GetData(e[0],"select2")&&u.GetData(e[0],"select2").destroy(),this.$element=e,this.id=this._generateId(e),t=t||{},this.options=new c(t,e),d.__super__.constructor.call(this);var n=e.attr("tabindex")||0;u.StoreData(e[0],"old-tabindex",n),e.attr("tabindex","-1");var i=this.options.get("dataAdapter");this.dataAdapter=new i(e,this.options);var r=this.render();this._placeContainer(r);var o=this.options.get("selectionAdapter");this.selection=new o(e,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,r);var s=this.options.get("dropdownAdapter");this.dropdown=new s(e,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,r);var a=this.options.get("resultsAdapter");this.results=new a(e,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var l=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(e){l.trigger("selection:update",{data:e})}),e.addClass("select2-hidden-accessible"),e.attr("aria-hidden","true"),this._syncAttributes(),u.StoreData(e[0],"select2",this),e.data("select2",this)};return u.Extend(d,u.Observable),d.prototype._generateId=function(e){return"select2-"+(null!=e.attr("id")?e.attr("id"):null!=e.attr("name")?e.attr("name")+"-"+u.generateChars(2):u.generateChars(4)).replace(/(:|\.|\[|\]|,)/g,"")},d.prototype._placeContainer=function(e){e.insertAfter(this.$element);var t=this._resolveWidth(this.$element,this.options.get("width"));null!=t&&e.css("width",t)},d.prototype._resolveWidth=function(e,t){var n=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==t){var i=this._resolveWidth(e,"style");return null!=i?i:this._resolveWidth(e,"element")}if("element"==t){var r=e.outerWidth(!1);return r<=0?"auto":r+"px"}if("style"!=t)return"computedstyle"!=t?t:window.getComputedStyle(e[0]).width;var o=e.attr("style");if("string"!=typeof o)return null;for(var s=o.split(";"),a=0,l=s.length;a<l;a+=1){var c=s[a].replace(/\s/g,"").match(n);if(null!==c&&1<=c.length)return c[1]}return null},d.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},d.prototype._registerDomEvents=function(){var t=this;this.$element.on("change.select2",function(){t.dataAdapter.current(function(e){t.trigger("selection:update",{data:e})})}),this.$element.on("focus.select2",function(e){t.trigger("focus",e)}),this._syncA=u.bind(this._syncAttributes,this),this._syncS=u.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var e=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=e?(this._observer=new e(function(e){t._syncA(),t._syncS(null,e)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",t._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",t._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",t._syncS,!1))},d.prototype._registerDataEvents=function(){var n=this;this.dataAdapter.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerSelectionEvents=function(){var n=this,i=["toggle","focus"];this.selection.on("toggle",function(){n.toggleDropdown()}),this.selection.on("focus",function(e){n.focus(e)}),this.selection.on("*",function(e,t){-1===o.inArray(e,i)&&n.trigger(e,t)})},d.prototype._registerDropdownEvents=function(){var n=this;this.dropdown.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerResultsEvents=function(){var n=this;this.results.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerEvents=function(){var n=this;this.on("open",function(){n.$container.addClass("select2-container--open")}),this.on("close",function(){n.$container.removeClass("select2-container--open")}),this.on("enable",function(){n.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){n.$container.addClass("select2-container--disabled")}),this.on("blur",function(){n.$container.removeClass("select2-container--focus")}),this.on("query",function(t){n.isOpen()||n.trigger("open",{}),this.dataAdapter.query(t,function(e){n.trigger("results:all",{data:e,query:t})})}),this.on("query:append",function(t){this.dataAdapter.query(t,function(e){n.trigger("results:append",{data:e,query:t})})}),this.on("keypress",function(e){var t=e.which;n.isOpen()?t===i.ESC||t===i.TAB||t===i.UP&&e.altKey?(n.close(e),e.preventDefault()):t===i.ENTER?(n.trigger("results:select",{}),e.preventDefault()):t===i.SPACE&&e.ctrlKey?(n.trigger("results:toggle",{}),e.preventDefault()):t===i.UP?(n.trigger("results:previous",{}),e.preventDefault()):t===i.DOWN&&(n.trigger("results:next",{}),e.preventDefault()):(t===i.ENTER||t===i.SPACE||t===i.DOWN&&e.altKey)&&(n.open(),e.preventDefault())})},d.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.isDisabled()?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},d.prototype._isChangeMutation=function(e,t){var n=!1,i=this;if(!e||!e.target||"OPTION"===e.target.nodeName||"OPTGROUP"===e.target.nodeName){if(t)if(t.addedNodes&&0<t.addedNodes.length)for(var r=0;r<t.addedNodes.length;r++){t.addedNodes[r].selected&&(n=!0)}else t.removedNodes&&0<t.removedNodes.length?n=!0:o.isArray(t)&&o.each(t,function(e,t){if(i._isChangeMutation(e,t))return!(n=!0)});else n=!0;return n}},d.prototype._syncSubtree=function(e,t){var n=this._isChangeMutation(e,t),i=this;n&&this.dataAdapter.current(function(e){i.trigger("selection:update",{data:e})})},d.prototype.trigger=function(e,t){var n=d.__super__.trigger,i={open:"opening",close:"closing",select:"selecting",unselect:"unselecting",clear:"clearing"};if(void 0===t&&(t={}),e in i){var r=i[e],o={prevented:!1,name:e,args:t};if(n.call(this,r,o),o.prevented)return void(t.prevented=!0)}n.call(this,e,t)},d.prototype.toggleDropdown=function(){this.isDisabled()||(this.isOpen()?this.close():this.open())},d.prototype.open=function(){this.isOpen()||this.isDisabled()||this.trigger("query",{})},d.prototype.close=function(e){this.isOpen()&&this.trigger("close",{originalEvent:e})},d.prototype.isEnabled=function(){return!this.isDisabled()},d.prototype.isDisabled=function(){return this.options.get("disabled")},d.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},d.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},d.prototype.focus=function(e){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},d.prototype.enable=function(e){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=e&&0!==e.length||(e=[!0]);var t=!e[0];this.$element.prop("disabled",t)},d.prototype.data=function(){this.options.get("debug")&&0<arguments.length&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var t=[];return this.dataAdapter.current(function(e){t=e}),t},d.prototype.val=function(e){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==e||0===e.length)return this.$element.val();var t=e[0];o.isArray(t)&&(t=o.map(t,function(e){return e.toString()})),this.$element.val(t).trigger("input").trigger("change")},d.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",u.GetData(this.$element[0],"old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),u.RemoveData(this.$element[0]),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},d.prototype.render=function(){var e=o('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return e.attr("dir",this.options.get("dir")),this.$container=e,this.$container.addClass("select2-container--"+this.options.get("theme")),u.StoreData(e[0],"element",this.$element),e},d}),e.define("select2/compat/utils",["jquery"],function(s){return{syncCssClasses:function(e,t,n){var i,r,o=[];(i=s.trim(e.attr("class")))&&s((i=""+i).split(/\s+/)).each(function(){0===this.indexOf("select2-")&&o.push(this)}),(i=s.trim(t.attr("class")))&&s((i=""+i).split(/\s+/)).each(function(){0!==this.indexOf("select2-")&&null!=(r=n(this))&&o.push(r)}),e.attr("class",o.join(" "))}}}),e.define("select2/compat/containerCss",["jquery","./utils"],function(s,a){function l(e){return null}function e(){}return e.prototype.render=function(e){var t=e.call(this),n=this.options.get("containerCssClass")||"";s.isFunction(n)&&(n=n(this.$element));var i=this.options.get("adaptContainerCssClass");if(i=i||l,-1!==n.indexOf(":all:")){n=n.replace(":all:","");var r=i;i=function(e){var t=r(e);return null!=t?t+" "+e:e}}var o=this.options.get("containerCss")||{};return s.isFunction(o)&&(o=o(this.$element)),a.syncCssClasses(t,this.$element,i),t.css(o),t.addClass(n),t},e}),e.define("select2/compat/dropdownCss",["jquery","./utils"],function(s,a){function l(e){return null}function e(){}return e.prototype.render=function(e){var t=e.call(this),n=this.options.get("dropdownCssClass")||"";s.isFunction(n)&&(n=n(this.$element));var i=this.options.get("adaptDropdownCssClass");if(i=i||l,-1!==n.indexOf(":all:")){n=n.replace(":all:","");var r=i;i=function(e){var t=r(e);return null!=t?t+" "+e:e}}var o=this.options.get("dropdownCss")||{};return s.isFunction(o)&&(o=o(this.$element)),a.syncCssClasses(t,this.$element,i),t.css(o),t.addClass(n),t},e}),e.define("select2/compat/initSelection",["jquery"],function(i){function e(e,t,n){n.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `initSelection` option has been deprecated in favor of a custom data adapter that overrides the `current` method. This method is now called multiple times instead of a single time when the instance is initialized. Support will be removed for the `initSelection` option in future versions of Select2"),this.initSelection=n.get("initSelection"),this._isInitialized=!1,e.call(this,t,n)}return e.prototype.current=function(e,t){var n=this;this._isInitialized?e.call(this,t):this.initSelection.call(null,this.$element,function(e){n._isInitialized=!0,i.isArray(e)||(e=[e]),t(e)})},e}),e.define("select2/compat/inputData",["jquery","../utils"],function(s,i){function e(e,t,n){this._currentData=[],this._valueSeparator=n.get("valueSeparator")||",","hidden"===t.prop("type")&&n.get("debug")&&console&&console.warn&&console.warn("Select2: Using a hidden input with Select2 is no longer supported and may stop working in the future. It is recommended to use a `<select>` element instead."),e.call(this,t,n)}return e.prototype.current=function(e,t){function i(e,t){var n=[];return e.selected||-1!==s.inArray(e.id,t)?(e.selected=!0,n.push(e)):e.selected=!1,e.children&&n.push.apply(n,i(e.children,t)),n}for(var n=[],r=0;r<this._currentData.length;r++){var o=this._currentData[r];n.push.apply(n,i(o,this.$element.val().split(this._valueSeparator)))}t(n)},e.prototype.select=function(e,t){if(this.options.get("multiple")){var n=this.$element.val();n+=this._valueSeparator+t.id,this.$element.val(n),this.$element.trigger("input").trigger("change")}else this.current(function(e){s.map(e,function(e){e.selected=!1})}),this.$element.val(t.id),this.$element.trigger("input").trigger("change")},e.prototype.unselect=function(e,r){var o=this;r.selected=!1,this.current(function(e){for(var t=[],n=0;n<e.length;n++){var i=e[n];r.id!=i.id&&t.push(i.id)}o.$element.val(t.join(o._valueSeparator)),o.$element.trigger("input").trigger("change")})},e.prototype.query=function(e,t,n){for(var i=[],r=0;r<this._currentData.length;r++){var o=this._currentData[r],s=this.matches(t,o);null!==s&&i.push(s)}n({results:i})},e.prototype.addOptions=function(e,t){var n=s.map(t,function(e){return i.GetData(e[0],"data")});this._currentData.push.apply(this._currentData,n)},e}),e.define("select2/compat/matcher",["jquery"],function(s){return function(o){return function(e,t){var n=s.extend(!0,{},t);if(null==e.term||""===s.trim(e.term))return n;if(t.children){for(var i=t.children.length-1;0<=i;i--){var r=t.children[i];o(e.term,r.text,r)||n.children.splice(i,1)}if(0<n.children.length)return n}return o(e.term,t.text,t)?n:null}}}),e.define("select2/compat/query",[],function(){function e(e,t,n){n.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `query` option has been deprecated in favor of a custom data adapter that overrides the `query` method. Support will be removed for the `query` option in future versions of Select2."),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.callback=n,this.options.get("query").call(null,t)},e}),e.define("select2/dropdown/attachContainer",[],function(){function e(e,t,n){e.call(this,t,n)}return e.prototype.position=function(e,t,n){n.find(".dropdown-wrapper").append(t),t.addClass("select2-dropdown--below"),n.addClass("select2-container--below")},e}),e.define("select2/dropdown/stopPropagation",[],function(){function e(){}return e.prototype.bind=function(e,t,n){e.call(this,t,n);this.$dropdown.on(["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"].join(" "),function(e){e.stopPropagation()})},e}),e.define("select2/selection/stopPropagation",[],function(){function e(){}return e.prototype.bind=function(e,t,n){e.call(this,t,n);this.$selection.on(["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"].join(" "),function(e){e.stopPropagation()})},e}),l=function(p){var h,f,e=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],t="onwheel"in document||9<=document.documentMode?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],g=Array.prototype.slice;if(p.event.fixHooks)for(var n=e.length;n;)p.event.fixHooks[e[--n]]=p.event.mouseHooks;var m=p.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var e=t.length;e;)this.addEventListener(t[--e],i,!1);else this.onmousewheel=i;p.data(this,"mousewheel-line-height",m.getLineHeight(this)),p.data(this,"mousewheel-page-height",m.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var e=t.length;e;)this.removeEventListener(t[--e],i,!1);else this.onmousewheel=null;p.removeData(this,"mousewheel-line-height"),p.removeData(this,"mousewheel-page-height")},getLineHeight:function(e){var t=p(e),n=t["offsetParent"in p.fn?"offsetParent":"parent"]();return n.length||(n=p("body")),parseInt(n.css("fontSize"),10)||parseInt(t.css("fontSize"),10)||16},getPageHeight:function(e){return p(e).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};function i(e){var t,n=e||window.event,i=g.call(arguments,1),r=0,o=0,s=0,a=0,l=0;if((e=p.event.fix(n)).type="mousewheel","detail"in n&&(s=-1*n.detail),"wheelDelta"in n&&(s=n.wheelDelta),"wheelDeltaY"in n&&(s=n.wheelDeltaY),"wheelDeltaX"in n&&(o=-1*n.wheelDeltaX),"axis"in n&&n.axis===n.HORIZONTAL_AXIS&&(o=-1*s,s=0),r=0===s?o:s,"deltaY"in n&&(r=s=-1*n.deltaY),"deltaX"in n&&(o=n.deltaX,0===s&&(r=-1*o)),0!==s||0!==o){if(1===n.deltaMode){var c=p.data(this,"mousewheel-line-height");r*=c,s*=c,o*=c}else if(2===n.deltaMode){var u=p.data(this,"mousewheel-page-height");r*=u,s*=u,o*=u}if(t=Math.max(Math.abs(s),Math.abs(o)),(!f||t<f)&&y(n,f=t)&&(f/=40),y(n,t)&&(r/=40,o/=40,s/=40),r=Math[1<=r?"floor":"ceil"](r/f),o=Math[1<=o?"floor":"ceil"](o/f),s=Math[1<=s?"floor":"ceil"](s/f),m.settings.normalizeOffset&&this.getBoundingClientRect){var d=this.getBoundingClientRect();a=e.clientX-d.left,l=e.clientY-d.top}return e.deltaX=o,e.deltaY=s,e.deltaFactor=f,e.offsetX=a,e.offsetY=l,e.deltaMode=0,i.unshift(e,r,o,s),h&&clearTimeout(h),h=setTimeout(v,200),(p.event.dispatch||p.event.handle).apply(this,i)}}function v(){f=null}function y(e,t){return m.settings.adjustOldDeltas&&"mousewheel"===e.type&&t%120==0}p.fn.extend({mousewheel:function(e){return e?this.bind("mousewheel",e):this.trigger("mousewheel")},unmousewheel:function(e){return this.unbind("mousewheel",e)}})},"function"==typeof e.define&&e.define.amd?e.define("jquery-mousewheel",["jquery"],l):"object"==typeof exports?module.exports=l:l(d),e.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults","./select2/utils"],function(r,e,o,t,s){if(null==r.fn.select2){var a=["open","close","destroy"];r.fn.select2=function(t){if("object"==typeof(t=t||{}))return this.each(function(){var e=r.extend(!0,{},t);new o(r(this),e)}),this;if("string"!=typeof t)throw new Error("Invalid arguments for Select2: "+t);var n,i=Array.prototype.slice.call(arguments,1);return this.each(function(){var e=s.GetData(this,"select2");null==e&&window.console&&console.error&&console.error("The select2('"+t+"') method was called on an element that is not using Select2."),n=e[t].apply(e,i)}),-1<r.inArray(t,a)?this:n}}return null==r.fn.select2.defaults&&(r.fn.select2.defaults=t),o}),{define:e.define,require:e.require}}(),t=e.require("jquery.select2");return d.fn.select2.amd=e,t}); \ No newline at end of file diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE.txt b/external_sources/django/django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE.txt new file mode 100644 index 0000000..4d80338 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2007-present Steven Levithan <http://xregexp.com/> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.js new file mode 100644 index 0000000..215482c --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.js @@ -0,0 +1,6126 @@ +(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.XRegExp = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){ +"use strict"; + +var _sliceInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/slice"); + +var _Array$from = require("@babel/runtime-corejs3/core-js-stable/array/from"); + +var _Symbol = require("@babel/runtime-corejs3/core-js-stable/symbol"); + +var _getIteratorMethod = require("@babel/runtime-corejs3/core-js/get-iterator-method"); + +var _Array$isArray = require("@babel/runtime-corejs3/core-js-stable/array/is-array"); + +var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property"); + +var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault"); + +_Object$defineProperty(exports, "__esModule", { + value: true +}); + +exports["default"] = void 0; + +var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray")); + +var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each")); + +var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat")); + +var _indexOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/index-of")); + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { if (_Array$isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { var _context4; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context4 = Object.prototype.toString.call(o)).call(_context4, 8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +/*! + * XRegExp Unicode Base 5.1.1 + * <xregexp.com> + * Steven Levithan (c) 2008-present MIT License + */ +var _default = function _default(XRegExp) { + /** + * Adds base support for Unicode matching: + * - Adds syntax `\p{..}` for matching Unicode tokens. Tokens can be inverted using `\P{..}` or + * `\p{^..}`. Token names ignore case, spaces, hyphens, and underscores. You can omit the + * braces for token names that are a single letter (e.g. `\pL` or `PL`). + * - Adds flag A (astral), which enables 21-bit Unicode support. + * - Adds the `XRegExp.addUnicodeData` method used by other addons to provide character data. + * + * Unicode Base relies on externally provided Unicode character data. Official addons are + * available to provide data for Unicode categories, scripts, and properties. + * + * @requires XRegExp + */ + // ==--------------------------== + // Private stuff + // ==--------------------------== + // Storage for Unicode data + var unicode = {}; + var unicodeTypes = {}; // Reuse utils + + var dec = XRegExp._dec; + var hex = XRegExp._hex; + var pad4 = XRegExp._pad4; // Generates a token lookup name: lowercase, with hyphens, spaces, and underscores removed + + function normalize(name) { + return name.replace(/[- _]+/g, '').toLowerCase(); + } // Gets the decimal code of a literal code unit, \xHH, \uHHHH, or a backslash-escaped literal + + + function charCode(chr) { + var esc = /^\\[xu](.+)/.exec(chr); + return esc ? dec(esc[1]) : chr.charCodeAt(chr[0] === '\\' ? 1 : 0); + } // Inverts a list of ordered BMP characters and ranges + + + function invertBmp(range) { + var output = ''; + var lastEnd = -1; + (0, _forEach["default"])(XRegExp).call(XRegExp, range, /(\\x..|\\u....|\\?[\s\S])(?:-(\\x..|\\u....|\\?[\s\S]))?/, function (m) { + var start = charCode(m[1]); + + if (start > lastEnd + 1) { + output += "\\u".concat(pad4(hex(lastEnd + 1))); + + if (start > lastEnd + 2) { + output += "-\\u".concat(pad4(hex(start - 1))); + } + } + + lastEnd = charCode(m[2] || m[1]); + }); + + if (lastEnd < 0xFFFF) { + output += "\\u".concat(pad4(hex(lastEnd + 1))); + + if (lastEnd < 0xFFFE) { + output += '-\\uFFFF'; + } + } + + return output; + } // Generates an inverted BMP range on first use + + + function cacheInvertedBmp(slug) { + var prop = 'b!'; + return unicode[slug][prop] || (unicode[slug][prop] = invertBmp(unicode[slug].bmp)); + } // Combines and optionally negates BMP and astral data + + + function buildAstral(slug, isNegated) { + var item = unicode[slug]; + var combined = ''; + + if (item.bmp && !item.isBmpLast) { + var _context; + + combined = (0, _concat["default"])(_context = "[".concat(item.bmp, "]")).call(_context, item.astral ? '|' : ''); + } + + if (item.astral) { + combined += item.astral; + } + + if (item.isBmpLast && item.bmp) { + var _context2; + + combined += (0, _concat["default"])(_context2 = "".concat(item.astral ? '|' : '', "[")).call(_context2, item.bmp, "]"); + } // Astral Unicode tokens always match a code point, never a code unit + + + return isNegated ? "(?:(?!".concat(combined, ")(?:[\uD800-\uDBFF][\uDC00-\uDFFF]|[\0-\uFFFF]))") : "(?:".concat(combined, ")"); + } // Builds a complete astral pattern on first use + + + function cacheAstral(slug, isNegated) { + var prop = isNegated ? 'a!' : 'a='; + return unicode[slug][prop] || (unicode[slug][prop] = buildAstral(slug, isNegated)); + } // ==--------------------------== + // Core functionality + // ==--------------------------== + + /* + * Add astral mode (flag A) and Unicode token syntax: `\p{..}`, `\P{..}`, `\p{^..}`, `\pC`. + */ + + + XRegExp.addToken( // Use `*` instead of `+` to avoid capturing `^` as the token name in `\p{^}` + /\\([pP])(?:{(\^?)(?:(\w+)=)?([^}]*)}|([A-Za-z]))/, function (match, scope, flags) { + var ERR_DOUBLE_NEG = 'Invalid double negation '; + var ERR_UNKNOWN_NAME = 'Unknown Unicode token '; + var ERR_UNKNOWN_REF = 'Unicode token missing data '; + var ERR_ASTRAL_ONLY = 'Astral mode required for Unicode token '; + var ERR_ASTRAL_IN_CLASS = 'Astral mode does not support Unicode tokens within character classes'; + + var _match = (0, _slicedToArray2["default"])(match, 6), + fullToken = _match[0], + pPrefix = _match[1], + caretNegation = _match[2], + typePrefix = _match[3], + tokenName = _match[4], + tokenSingleCharName = _match[5]; // Negated via \P{..} or \p{^..} + + + var isNegated = pPrefix === 'P' || !!caretNegation; // Switch from BMP (0-FFFF) to astral (0-10FFFF) mode via flag A + + var isAstralMode = (0, _indexOf["default"])(flags).call(flags, 'A') !== -1; // Token lookup name. Check `tokenSingleCharName` first to avoid passing `undefined` + // via `\p{}` + + var slug = normalize(tokenSingleCharName || tokenName); // Token data object + + var item = unicode[slug]; + + if (pPrefix === 'P' && caretNegation) { + throw new SyntaxError(ERR_DOUBLE_NEG + fullToken); + } + + if (!unicode.hasOwnProperty(slug)) { + throw new SyntaxError(ERR_UNKNOWN_NAME + fullToken); + } + + if (typePrefix) { + if (!(unicodeTypes[typePrefix] && unicodeTypes[typePrefix][slug])) { + throw new SyntaxError(ERR_UNKNOWN_NAME + fullToken); + } + } // Switch to the negated form of the referenced Unicode token + + + if (item.inverseOf) { + slug = normalize(item.inverseOf); + + if (!unicode.hasOwnProperty(slug)) { + var _context3; + + throw new ReferenceError((0, _concat["default"])(_context3 = "".concat(ERR_UNKNOWN_REF + fullToken, " -> ")).call(_context3, item.inverseOf)); + } + + item = unicode[slug]; + isNegated = !isNegated; + } + + if (!(item.bmp || isAstralMode)) { + throw new SyntaxError(ERR_ASTRAL_ONLY + fullToken); + } + + if (isAstralMode) { + if (scope === 'class') { + throw new SyntaxError(ERR_ASTRAL_IN_CLASS); + } + + return cacheAstral(slug, isNegated); + } + + return scope === 'class' ? isNegated ? cacheInvertedBmp(slug) : item.bmp : "".concat((isNegated ? '[^' : '[') + item.bmp, "]"); + }, { + scope: 'all', + optionalFlags: 'A', + leadChar: '\\' + }); + /** + * Adds to the list of Unicode tokens that XRegExp regexes can match via `\p` or `\P`. + * + * @memberOf XRegExp + * @param {Array} data Objects with named character ranges. Each object may have properties + * `name`, `alias`, `isBmpLast`, `inverseOf`, `bmp`, and `astral`. All but `name` are + * optional, although one of `bmp` or `astral` is required (unless `inverseOf` is set). If + * `astral` is absent, the `bmp` data is used for BMP and astral modes. If `bmp` is absent, + * the name errors in BMP mode but works in astral mode. If both `bmp` and `astral` are + * provided, the `bmp` data only is used in BMP mode, and the combination of `bmp` and + * `astral` data is used in astral mode. `isBmpLast` is needed when a token matches orphan + * high surrogates *and* uses surrogate pairs to match astral code points. The `bmp` and + * `astral` data should be a combination of literal characters and `\xHH` or `\uHHHH` escape + * sequences, with hyphens to create ranges. Any regex metacharacters in the data should be + * escaped, apart from range-creating hyphens. The `astral` data can additionally use + * character classes and alternation, and should use surrogate pairs to represent astral code + * points. `inverseOf` can be used to avoid duplicating character data if a Unicode token is + * defined as the exact inverse of another token. + * @param {String} [typePrefix] Enables optionally using this type as a prefix for all of the + * provided Unicode tokens, e.g. if given `'Type'`, then `\p{TokenName}` can also be written + * as `\p{Type=TokenName}`. + * @example + * + * // Basic use + * XRegExp.addUnicodeData([{ + * name: 'XDigit', + * alias: 'Hexadecimal', + * bmp: '0-9A-Fa-f' + * }]); + * XRegExp('\\p{XDigit}:\\p{Hexadecimal}+').test('0:3D'); // -> true + */ + + XRegExp.addUnicodeData = function (data, typePrefix) { + var ERR_NO_NAME = 'Unicode token requires name'; + var ERR_NO_DATA = 'Unicode token has no character data '; + + if (typePrefix) { + // Case sensitive to match ES2018 + unicodeTypes[typePrefix] = {}; + } + + var _iterator = _createForOfIteratorHelper(data), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var item = _step.value; + + if (!item.name) { + throw new Error(ERR_NO_NAME); + } + + if (!(item.inverseOf || item.bmp || item.astral)) { + throw new Error(ERR_NO_DATA + item.name); + } + + var normalizedName = normalize(item.name); + unicode[normalizedName] = item; + + if (typePrefix) { + unicodeTypes[typePrefix][normalizedName] = true; + } + + if (item.alias) { + var normalizedAlias = normalize(item.alias); + unicode[normalizedAlias] = item; + + if (typePrefix) { + unicodeTypes[typePrefix][normalizedAlias] = true; + } + } + } // Reset the pattern cache used by the `XRegExp` constructor, since the same pattern and + // flags might now produce different results + + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + XRegExp.cache.flush('patterns'); + }; + /** + * @ignore + * + * Return a reference to the internal Unicode definition structure for the given Unicode + * Property if the given name is a legal Unicode Property for use in XRegExp `\p` or `\P` regex + * constructs. + * + * @memberOf XRegExp + * @param {String} name Name by which the Unicode Property may be recognized (case-insensitive), + * e.g. `'N'` or `'Number'`. The given name is matched against all registered Unicode + * Properties and Property Aliases. + * @returns {Object} Reference to definition structure when the name matches a Unicode Property. + * + * @note + * For more info on Unicode Properties, see also http://unicode.org/reports/tr18/#Categories. + * + * @note + * This method is *not* part of the officially documented API and may change or be removed in + * the future. It is meant for userland code that wishes to reuse the (large) internal Unicode + * structures set up by XRegExp. + */ + + + XRegExp._getUnicodeProperty = function (name) { + var slug = normalize(name); + return unicode[slug]; + }; +}; + +exports["default"] = _default; +module.exports = exports.default; +},{"@babel/runtime-corejs3/core-js-stable/array/from":5,"@babel/runtime-corejs3/core-js-stable/array/is-array":6,"@babel/runtime-corejs3/core-js-stable/instance/concat":7,"@babel/runtime-corejs3/core-js-stable/instance/for-each":9,"@babel/runtime-corejs3/core-js-stable/instance/index-of":10,"@babel/runtime-corejs3/core-js-stable/instance/slice":11,"@babel/runtime-corejs3/core-js-stable/object/define-property":14,"@babel/runtime-corejs3/core-js-stable/symbol":16,"@babel/runtime-corejs3/core-js/get-iterator-method":19,"@babel/runtime-corejs3/helpers/interopRequireDefault":24,"@babel/runtime-corejs3/helpers/slicedToArray":27}],2:[function(require,module,exports){ +"use strict"; + +var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property"); + +var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault"); + +_Object$defineProperty(exports, "__esModule", { + value: true +}); + +exports["default"] = void 0; + +var _categories = _interopRequireDefault(require("../../tools/output/categories")); + +/*! + * XRegExp Unicode Categories 5.1.1 + * <xregexp.com> + * Steven Levithan (c) 2010-present MIT License + * Unicode data by Mathias Bynens <mathiasbynens.be> + */ +var _default = function _default(XRegExp) { + /** + * Adds support for Unicode's general categories. E.g., `\p{Lu}` or `\p{Uppercase Letter}`. See + * category descriptions in UAX #44 <http://unicode.org/reports/tr44/#GC_Values_Table>. Token + * names are case insensitive, and any spaces, hyphens, and underscores are ignored. + * + * Uses Unicode 14.0.0. + * + * @requires XRegExp, Unicode Base + */ + if (!XRegExp.addUnicodeData) { + throw new ReferenceError('Unicode Base must be loaded before Unicode Categories'); + } + + XRegExp.addUnicodeData(_categories["default"]); +}; + +exports["default"] = _default; +module.exports = exports.default; +},{"../../tools/output/categories":222,"@babel/runtime-corejs3/core-js-stable/object/define-property":14,"@babel/runtime-corejs3/helpers/interopRequireDefault":24}],3:[function(require,module,exports){ +"use strict"; + +var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property"); + +var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault"); + +_Object$defineProperty(exports, "__esModule", { + value: true +}); + +exports["default"] = void 0; + +var _xregexp = _interopRequireDefault(require("./xregexp")); + +var _unicodeBase = _interopRequireDefault(require("./addons/unicode-base")); + +var _unicodeCategories = _interopRequireDefault(require("./addons/unicode-categories")); + +(0, _unicodeBase["default"])(_xregexp["default"]); +(0, _unicodeCategories["default"])(_xregexp["default"]); +var _default = _xregexp["default"]; +exports["default"] = _default; +module.exports = exports.default; +},{"./addons/unicode-base":1,"./addons/unicode-categories":2,"./xregexp":4,"@babel/runtime-corejs3/core-js-stable/object/define-property":14,"@babel/runtime-corejs3/helpers/interopRequireDefault":24}],4:[function(require,module,exports){ +"use strict"; + +var _sliceInstanceProperty2 = require("@babel/runtime-corejs3/core-js-stable/instance/slice"); + +var _Array$from = require("@babel/runtime-corejs3/core-js-stable/array/from"); + +var _Symbol = require("@babel/runtime-corejs3/core-js-stable/symbol"); + +var _getIteratorMethod = require("@babel/runtime-corejs3/core-js/get-iterator-method"); + +var _Array$isArray = require("@babel/runtime-corejs3/core-js-stable/array/is-array"); + +var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property"); + +var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault"); + +_Object$defineProperty(exports, "__esModule", { + value: true +}); + +exports["default"] = void 0; + +var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray")); + +var _flags = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/flags")); + +var _sort = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/sort")); + +var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice")); + +var _parseInt2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/parse-int")); + +var _indexOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/index-of")); + +var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each")); + +var _create = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/create")); + +var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat")); + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { if (_Array$isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { var _context9; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty2(_context9 = Object.prototype.toString.call(o)).call(_context9, 8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +/*! + * XRegExp 5.1.1 + * <xregexp.com> + * Steven Levithan (c) 2007-present MIT License + */ + +/** + * XRegExp provides augmented, extensible regular expressions. You get additional regex syntax and + * flags, beyond what browsers support natively. XRegExp is also a regex utility belt with tools to + * make your client-side grepping simpler and more powerful, while freeing you from related + * cross-browser inconsistencies. + */ +// ==--------------------------== +// Private stuff +// ==--------------------------== +// Property name used for extended regex instance data +var REGEX_DATA = 'xregexp'; // Optional features that can be installed and uninstalled + +var features = { + astral: false, + namespacing: true +}; // Storage for fixed/extended native methods + +var fixed = {}; // Storage for regexes cached by `XRegExp.cache` + +var regexCache = {}; // Storage for pattern details cached by the `XRegExp` constructor + +var patternCache = {}; // Storage for regex syntax tokens added internally or by `XRegExp.addToken` + +var tokens = []; // Token scopes + +var defaultScope = 'default'; +var classScope = 'class'; // Regexes that match native regex syntax, including octals + +var nativeTokens = { + // Any native multicharacter token in default scope, or any single character + 'default': /\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|\(\?(?:[:=!]|<[=!])|[?*+]\?|{\d+(?:,\d*)?}\??|[\s\S]/, + // Any native multicharacter token in character class scope, or any single character + 'class': /\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|[\s\S]/ +}; // Any backreference or dollar-prefixed character in replacement strings + +var replacementToken = /\$(?:\{([^\}]+)\}|<([^>]+)>|(\d\d?|[\s\S]?))/g; // Check for correct `exec` handling of nonparticipating capturing groups + +var correctExecNpcg = /()??/.exec('')[1] === undefined; // Check for ES6 `flags` prop support + +var hasFlagsProp = (0, _flags["default"])(/x/) !== undefined; + +function hasNativeFlag(flag) { + // Can't check based on the presence of properties/getters since browsers might support such + // properties even when they don't support the corresponding flag in regex construction (tested + // in Chrome 48, where `'unicode' in /x/` is true but trying to construct a regex with flag `u` + // throws an error) + var isSupported = true; + + try { + // Can't use regex literals for testing even in a `try` because regex literals with + // unsupported flags cause a compilation error in IE + new RegExp('', flag); // Work around a broken/incomplete IE11 polyfill for sticky introduced in core-js 3.6.0 + + if (flag === 'y') { + // Using function to avoid babel transform to regex literal + var gy = function () { + return 'gy'; + }(); + + var incompleteY = '.a'.replace(new RegExp('a', gy), '.') === '..'; + + if (incompleteY) { + isSupported = false; + } + } + } catch (exception) { + isSupported = false; + } + + return isSupported; +} // Check for ES2021 `d` flag support + + +var hasNativeD = hasNativeFlag('d'); // Check for ES2018 `s` flag support + +var hasNativeS = hasNativeFlag('s'); // Check for ES6 `u` flag support + +var hasNativeU = hasNativeFlag('u'); // Check for ES6 `y` flag support + +var hasNativeY = hasNativeFlag('y'); // Tracker for known flags, including addon flags + +var registeredFlags = { + d: hasNativeD, + g: true, + i: true, + m: true, + s: hasNativeS, + u: hasNativeU, + y: hasNativeY +}; // Flags to remove when passing to native `RegExp` constructor + +var nonnativeFlags = hasNativeS ? /[^dgimsuy]+/g : /[^dgimuy]+/g; +/** + * Attaches extended data and `XRegExp.prototype` properties to a regex object. + * + * @private + * @param {RegExp} regex Regex to augment. + * @param {Array} captureNames Array with capture names, or `null`. + * @param {String} xSource XRegExp pattern used to generate `regex`, or `null` if N/A. + * @param {String} xFlags XRegExp flags used to generate `regex`, or `null` if N/A. + * @param {Boolean} [isInternalOnly=false] Whether the regex will be used only for internal + * operations, and never exposed to users. For internal-only regexes, we can improve perf by + * skipping some operations like attaching `XRegExp.prototype` properties. + * @returns {!RegExp} Augmented regex. + */ + +function augment(regex, captureNames, xSource, xFlags, isInternalOnly) { + var _context; + + regex[REGEX_DATA] = { + captureNames: captureNames + }; + + if (isInternalOnly) { + return regex; + } // Can't auto-inherit these since the XRegExp constructor returns a nonprimitive value + + + if (regex.__proto__) { + regex.__proto__ = XRegExp.prototype; + } else { + for (var p in XRegExp.prototype) { + // An `XRegExp.prototype.hasOwnProperty(p)` check wouldn't be worth it here, since this + // is performance sensitive, and enumerable `Object.prototype` or `RegExp.prototype` + // extensions exist on `regex.prototype` anyway + regex[p] = XRegExp.prototype[p]; + } + } + + regex[REGEX_DATA].source = xSource; // Emulate the ES6 `flags` prop by ensuring flags are in alphabetical order + + regex[REGEX_DATA].flags = xFlags ? (0, _sort["default"])(_context = xFlags.split('')).call(_context).join('') : xFlags; + return regex; +} +/** + * Removes any duplicate characters from the provided string. + * + * @private + * @param {String} str String to remove duplicate characters from. + * @returns {string} String with any duplicate characters removed. + */ + + +function clipDuplicates(str) { + return str.replace(/([\s\S])(?=[\s\S]*\1)/g, ''); +} +/** + * Copies a regex object while preserving extended data and augmenting with `XRegExp.prototype` + * properties. The copy has a fresh `lastIndex` property (set to zero). Allows adding and removing + * flags g and y while copying the regex. + * + * @private + * @param {RegExp} regex Regex to copy. + * @param {Object} [options] Options object with optional properties: + * - `addG` {Boolean} Add flag g while copying the regex. + * - `addY` {Boolean} Add flag y while copying the regex. + * - `removeG` {Boolean} Remove flag g while copying the regex. + * - `removeY` {Boolean} Remove flag y while copying the regex. + * - `isInternalOnly` {Boolean} Whether the copied regex will be used only for internal + * operations, and never exposed to users. For internal-only regexes, we can improve perf by + * skipping some operations like attaching `XRegExp.prototype` properties. + * - `source` {String} Overrides `<regex>.source`, for special cases. + * @returns {RegExp} Copy of the provided regex, possibly with modified flags. + */ + + +function copyRegex(regex, options) { + var _context2; + + if (!XRegExp.isRegExp(regex)) { + throw new TypeError('Type RegExp expected'); + } + + var xData = regex[REGEX_DATA] || {}; + var flags = getNativeFlags(regex); + var flagsToAdd = ''; + var flagsToRemove = ''; + var xregexpSource = null; + var xregexpFlags = null; + options = options || {}; + + if (options.removeG) { + flagsToRemove += 'g'; + } + + if (options.removeY) { + flagsToRemove += 'y'; + } + + if (flagsToRemove) { + flags = flags.replace(new RegExp("[".concat(flagsToRemove, "]+"), 'g'), ''); + } + + if (options.addG) { + flagsToAdd += 'g'; + } + + if (options.addY) { + flagsToAdd += 'y'; + } + + if (flagsToAdd) { + flags = clipDuplicates(flags + flagsToAdd); + } + + if (!options.isInternalOnly) { + if (xData.source !== undefined) { + xregexpSource = xData.source; + } // null or undefined; don't want to add to `flags` if the previous value was null, since + // that indicates we're not tracking original precompilation flags + + + if ((0, _flags["default"])(xData) != null) { + // Flags are only added for non-internal regexes by `XRegExp.globalize`. Flags are never + // removed for non-internal regexes, so don't need to handle it + xregexpFlags = flagsToAdd ? clipDuplicates((0, _flags["default"])(xData) + flagsToAdd) : (0, _flags["default"])(xData); + } + } // Augment with `XRegExp.prototype` properties, but use the native `RegExp` constructor to avoid + // searching for special tokens. That would be wrong for regexes constructed by `RegExp`, and + // unnecessary for regexes constructed by `XRegExp` because the regex has already undergone the + // translation to native regex syntax + + + regex = augment(new RegExp(options.source || regex.source, flags), hasNamedCapture(regex) ? (0, _slice["default"])(_context2 = xData.captureNames).call(_context2, 0) : null, xregexpSource, xregexpFlags, options.isInternalOnly); + return regex; +} +/** + * Converts hexadecimal to decimal. + * + * @private + * @param {String} hex + * @returns {number} + */ + + +function dec(hex) { + return (0, _parseInt2["default"])(hex, 16); +} +/** + * Returns a pattern that can be used in a native RegExp in place of an ignorable token such as an + * inline comment or whitespace with flag x. This is used directly as a token handler function + * passed to `XRegExp.addToken`. + * + * @private + * @param {String} match Match arg of `XRegExp.addToken` handler + * @param {String} scope Scope arg of `XRegExp.addToken` handler + * @param {String} flags Flags arg of `XRegExp.addToken` handler + * @returns {string} Either '' or '(?:)', depending on which is needed in the context of the match. + */ + + +function getContextualTokenSeparator(match, scope, flags) { + var matchEndPos = match.index + match[0].length; + var precedingChar = match.input[match.index - 1]; + var followingChar = match.input[matchEndPos]; + + if ( // No need to separate tokens if at the beginning or end of a group, before or after a + // group, or before or after a `|` + /^[()|]$/.test(precedingChar) || /^[()|]$/.test(followingChar) || // No need to separate tokens if at the beginning or end of the pattern + match.index === 0 || matchEndPos === match.input.length || // No need to separate tokens if at the beginning of a noncapturing group or lookaround. + // Looks only at the last 4 chars (at most) for perf when constructing long regexes. + /\(\?(?:[:=!]|<[=!])$/.test(match.input.substring(match.index - 4, match.index)) || // Avoid separating tokens when the following token is a quantifier + isQuantifierNext(match.input, matchEndPos, flags)) { + return ''; + } // Keep tokens separated. This avoids e.g. inadvertedly changing `\1 1` or `\1(?#)1` to `\11`. + // This also ensures all tokens remain as discrete atoms, e.g. it prevents converting the + // syntax error `(? :` into `(?:`. + + + return '(?:)'; +} +/** + * Returns native `RegExp` flags used by a regex object. + * + * @private + * @param {RegExp} regex Regex to check. + * @returns {string} Native flags in use. + */ + + +function getNativeFlags(regex) { + return hasFlagsProp ? (0, _flags["default"])(regex) : // Explicitly using `RegExp.prototype.toString` (rather than e.g. `String` or concatenation + // with an empty string) allows this to continue working predictably when + // `XRegExp.proptotype.toString` is overridden + /\/([a-z]*)$/i.exec(RegExp.prototype.toString.call(regex))[1]; +} +/** + * Determines whether a regex has extended instance data used to track capture names. + * + * @private + * @param {RegExp} regex Regex to check. + * @returns {boolean} Whether the regex uses named capture. + */ + + +function hasNamedCapture(regex) { + return !!(regex[REGEX_DATA] && regex[REGEX_DATA].captureNames); +} +/** + * Converts decimal to hexadecimal. + * + * @private + * @param {Number|String} dec + * @returns {string} + */ + + +function hex(dec) { + return (0, _parseInt2["default"])(dec, 10).toString(16); +} +/** + * Checks whether the next nonignorable token after the specified position is a quantifier. + * + * @private + * @param {String} pattern Pattern to search within. + * @param {Number} pos Index in `pattern` to search at. + * @param {String} flags Flags used by the pattern. + * @returns {Boolean} Whether the next nonignorable token is a quantifier. + */ + + +function isQuantifierNext(pattern, pos, flags) { + var inlineCommentPattern = '\\(\\?#[^)]*\\)'; + var lineCommentPattern = '#[^#\\n]*'; + var quantifierPattern = '[?*+]|{\\d+(?:,\\d*)?}'; + var regex = (0, _indexOf["default"])(flags).call(flags, 'x') !== -1 ? // Ignore any leading whitespace, line comments, and inline comments + /^(?:\s|#[^#\n]*|\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/ : // Ignore any leading inline comments + /^(?:\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/; + return regex.test((0, _slice["default"])(pattern).call(pattern, pos)); +} +/** + * Determines whether a value is of the specified type, by resolving its internal [[Class]]. + * + * @private + * @param {*} value Object to check. + * @param {String} type Type to check for, in TitleCase. + * @returns {boolean} Whether the object matches the type. + */ + + +function isType(value, type) { + return Object.prototype.toString.call(value) === "[object ".concat(type, "]"); +} +/** + * Returns the object, or throws an error if it is `null` or `undefined`. This is used to follow + * the ES5 abstract operation `ToObject`. + * + * @private + * @param {*} value Object to check and return. + * @returns {*} The provided object. + */ + + +function nullThrows(value) { + // null or undefined + if (value == null) { + throw new TypeError('Cannot convert null or undefined to object'); + } + + return value; +} +/** + * Adds leading zeros if shorter than four characters. Used for fixed-length hexadecimal values. + * + * @private + * @param {String} str + * @returns {string} + */ + + +function pad4(str) { + while (str.length < 4) { + str = "0".concat(str); + } + + return str; +} +/** + * Checks for flag-related errors, and strips/applies flags in a leading mode modifier. Offloads + * the flag preparation logic from the `XRegExp` constructor. + * + * @private + * @param {String} pattern Regex pattern, possibly with a leading mode modifier. + * @param {String} flags Any combination of flags. + * @returns {!Object} Object with properties `pattern` and `flags`. + */ + + +function prepareFlags(pattern, flags) { + // Recent browsers throw on duplicate flags, so copy this behavior for nonnative flags + if (clipDuplicates(flags) !== flags) { + throw new SyntaxError("Invalid duplicate regex flag ".concat(flags)); + } // Strip and apply a leading mode modifier with any combination of flags except `dgy` + + + pattern = pattern.replace(/^\(\?([\w$]+)\)/, function ($0, $1) { + if (/[dgy]/.test($1)) { + throw new SyntaxError("Cannot use flags dgy in mode modifier ".concat($0)); + } // Allow duplicate flags within the mode modifier + + + flags = clipDuplicates(flags + $1); + return ''; + }); // Throw on unknown native or nonnative flags + + var _iterator = _createForOfIteratorHelper(flags), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var flag = _step.value; + + if (!registeredFlags[flag]) { + throw new SyntaxError("Unknown regex flag ".concat(flag)); + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + return { + pattern: pattern, + flags: flags + }; +} +/** + * Prepares an options object from the given value. + * + * @private + * @param {String|Object} value Value to convert to an options object. + * @returns {Object} Options object. + */ + + +function prepareOptions(value) { + var options = {}; + + if (isType(value, 'String')) { + (0, _forEach["default"])(XRegExp).call(XRegExp, value, /[^\s,]+/, function (match) { + options[match] = true; + }); + return options; + } + + return value; +} +/** + * Registers a flag so it doesn't throw an 'unknown flag' error. + * + * @private + * @param {String} flag Single-character flag to register. + */ + + +function registerFlag(flag) { + if (!/^[\w$]$/.test(flag)) { + throw new Error('Flag must be a single character A-Za-z0-9_$'); + } + + registeredFlags[flag] = true; +} +/** + * Runs built-in and custom regex syntax tokens in reverse insertion order at the specified + * position, until a match is found. + * + * @private + * @param {String} pattern Original pattern from which an XRegExp object is being built. + * @param {String} flags Flags being used to construct the regex. + * @param {Number} pos Position to search for tokens within `pattern`. + * @param {Number} scope Regex scope to apply: 'default' or 'class'. + * @param {Object} context Context object to use for token handler functions. + * @returns {Object} Object with properties `matchLength`, `output`, and `reparse`; or `null`. + */ + + +function runTokens(pattern, flags, pos, scope, context) { + var i = tokens.length; + var leadChar = pattern[pos]; + var result = null; + var match; + var t; // Run in reverse insertion order + + while (i--) { + t = tokens[i]; + + if (t.leadChar && t.leadChar !== leadChar || t.scope !== scope && t.scope !== 'all' || t.flag && !((0, _indexOf["default"])(flags).call(flags, t.flag) !== -1)) { + continue; + } + + match = XRegExp.exec(pattern, t.regex, pos, 'sticky'); + + if (match) { + result = { + matchLength: match[0].length, + output: t.handler.call(context, match, scope, flags), + reparse: t.reparse + }; // Finished with token tests + + break; + } + } + + return result; +} +/** + * Enables or disables implicit astral mode opt-in. When enabled, flag A is automatically added to + * all new regexes created by XRegExp. This causes an error to be thrown when creating regexes if + * the Unicode Base addon is not available, since flag A is registered by that addon. + * + * @private + * @param {Boolean} on `true` to enable; `false` to disable. + */ + + +function setAstral(on) { + features.astral = on; +} +/** + * Adds named capture groups to the `groups` property of match arrays. See here for details: + * https://github.com/tc39/proposal-regexp-named-groups + * + * @private + * @param {Boolean} on `true` to enable; `false` to disable. + */ + + +function setNamespacing(on) { + features.namespacing = on; +} // ==--------------------------== +// Constructor +// ==--------------------------== + +/** + * Creates an extended regular expression object for matching text with a pattern. Differs from a + * native regular expression in that additional syntax and flags are supported. The returned object + * is in fact a native `RegExp` and works with all native methods. + * + * @class XRegExp + * @constructor + * @param {String|RegExp} pattern Regex pattern string, or an existing regex object to copy. + * @param {String} [flags] Any combination of flags. + * Native flags: + * - `d` - indices for capturing groups (ES2021) + * - `g` - global + * - `i` - ignore case + * - `m` - multiline anchors + * - `u` - unicode (ES6) + * - `y` - sticky (Firefox 3+, ES6) + * Additional XRegExp flags: + * - `n` - named capture only + * - `s` - dot matches all (aka singleline) - works even when not natively supported + * - `x` - free-spacing and line comments (aka extended) + * - `A` - 21-bit Unicode properties (aka astral) - requires the Unicode Base addon + * Flags cannot be provided when constructing one `RegExp` from another. + * @returns {RegExp} Extended regular expression object. + * @example + * + * // With named capture and flag x + * XRegExp(`(?<year> [0-9]{4} ) -? # year + * (?<month> [0-9]{2} ) -? # month + * (?<day> [0-9]{2} ) # day`, 'x'); + * + * // Providing a regex object copies it. Native regexes are recompiled using native (not XRegExp) + * // syntax. Copies maintain extended data, are augmented with `XRegExp.prototype` properties, and + * // have fresh `lastIndex` properties (set to zero). + * XRegExp(/regex/); + */ + + +function XRegExp(pattern, flags) { + if (XRegExp.isRegExp(pattern)) { + if (flags !== undefined) { + throw new TypeError('Cannot supply flags when copying a RegExp'); + } + + return copyRegex(pattern); + } // Copy the argument behavior of `RegExp` + + + pattern = pattern === undefined ? '' : String(pattern); + flags = flags === undefined ? '' : String(flags); + + if (XRegExp.isInstalled('astral') && !((0, _indexOf["default"])(flags).call(flags, 'A') !== -1)) { + // This causes an error to be thrown if the Unicode Base addon is not available + flags += 'A'; + } + + if (!patternCache[pattern]) { + patternCache[pattern] = {}; + } + + if (!patternCache[pattern][flags]) { + var context = { + hasNamedCapture: false, + captureNames: [] + }; + var scope = defaultScope; + var output = ''; + var pos = 0; + var result; // Check for flag-related errors, and strip/apply flags in a leading mode modifier + + var applied = prepareFlags(pattern, flags); + var appliedPattern = applied.pattern; + var appliedFlags = (0, _flags["default"])(applied); // Use XRegExp's tokens to translate the pattern to a native regex pattern. + // `appliedPattern.length` may change on each iteration if tokens use `reparse` + + while (pos < appliedPattern.length) { + do { + // Check for custom tokens at the current position + result = runTokens(appliedPattern, appliedFlags, pos, scope, context); // If the matched token used the `reparse` option, splice its output into the + // pattern before running tokens again at the same position + + if (result && result.reparse) { + appliedPattern = (0, _slice["default"])(appliedPattern).call(appliedPattern, 0, pos) + result.output + (0, _slice["default"])(appliedPattern).call(appliedPattern, pos + result.matchLength); + } + } while (result && result.reparse); + + if (result) { + output += result.output; + pos += result.matchLength || 1; + } else { + // Get the native token at the current position + var _XRegExp$exec = XRegExp.exec(appliedPattern, nativeTokens[scope], pos, 'sticky'), + _XRegExp$exec2 = (0, _slicedToArray2["default"])(_XRegExp$exec, 1), + token = _XRegExp$exec2[0]; + + output += token; + pos += token.length; + + if (token === '[' && scope === defaultScope) { + scope = classScope; + } else if (token === ']' && scope === classScope) { + scope = defaultScope; + } + } + } + + patternCache[pattern][flags] = { + // Use basic cleanup to collapse repeated empty groups like `(?:)(?:)` to `(?:)`. Empty + // groups are sometimes inserted during regex transpilation in order to keep tokens + // separated. However, more than one empty group in a row is never needed. + pattern: output.replace(/(?:\(\?:\))+/g, '(?:)'), + // Strip all but native flags + flags: appliedFlags.replace(nonnativeFlags, ''), + // `context.captureNames` has an item for each capturing group, even if unnamed + captures: context.hasNamedCapture ? context.captureNames : null + }; + } + + var generated = patternCache[pattern][flags]; + return augment(new RegExp(generated.pattern, (0, _flags["default"])(generated)), generated.captures, pattern, flags); +} // Add `RegExp.prototype` to the prototype chain + + +XRegExp.prototype = /(?:)/; // ==--------------------------== +// Public properties +// ==--------------------------== + +/** + * The XRegExp version number as a string containing three dot-separated parts. For example, + * '2.0.0-beta-3'. + * + * @static + * @memberOf XRegExp + * @type String + */ + +XRegExp.version = '5.1.1'; // ==--------------------------== +// Public methods +// ==--------------------------== +// Intentionally undocumented; used in tests and addons + +XRegExp._clipDuplicates = clipDuplicates; +XRegExp._hasNativeFlag = hasNativeFlag; +XRegExp._dec = dec; +XRegExp._hex = hex; +XRegExp._pad4 = pad4; +/** + * Extends XRegExp syntax and allows custom flags. This is used internally and can be used to + * create XRegExp addons. If more than one token can match the same string, the last added wins. + * + * @memberOf XRegExp + * @param {RegExp} regex Regex object that matches the new token. + * @param {Function} handler Function that returns a new pattern string (using native regex syntax) + * to replace the matched token within all future XRegExp regexes. Has access to persistent + * properties of the regex being built, through `this`. Invoked with three arguments: + * - The match array, with named backreference properties. + * - The regex scope where the match was found: 'default' or 'class'. + * - The flags used by the regex, including any flags in a leading mode modifier. + * The handler function becomes part of the XRegExp construction process, so be careful not to + * construct XRegExps within the function or you will trigger infinite recursion. + * @param {Object} [options] Options object with optional properties: + * - `scope` {String} Scope where the token applies: 'default', 'class', or 'all'. + * - `flag` {String} Single-character flag that triggers the token. This also registers the + * flag, which prevents XRegExp from throwing an 'unknown flag' error when the flag is used. + * - `optionalFlags` {String} Any custom flags checked for within the token `handler` that are + * not required to trigger the token. This registers the flags, to prevent XRegExp from + * throwing an 'unknown flag' error when any of the flags are used. + * - `reparse` {Boolean} Whether the `handler` function's output should not be treated as + * final, and instead be reparseable by other tokens (including the current token). Allows + * token chaining or deferring. + * - `leadChar` {String} Single character that occurs at the beginning of any successful match + * of the token (not always applicable). This doesn't change the behavior of the token unless + * you provide an erroneous value. However, providing it can increase the token's performance + * since the token can be skipped at any positions where this character doesn't appear. + * @example + * + * // Basic usage: Add \a for the ALERT control code + * XRegExp.addToken( + * /\\a/, + * () => '\\x07', + * {scope: 'all'} + * ); + * XRegExp('\\a[\\a-\\n]+').test('\x07\n\x07'); // -> true + * + * // Add the U (ungreedy) flag from PCRE and RE2, which reverses greedy and lazy quantifiers. + * // Since `scope` is not specified, it uses 'default' (i.e., transformations apply outside of + * // character classes only) + * XRegExp.addToken( + * /([?*+]|{\d+(?:,\d*)?})(\??)/, + * (match) => `${match[1]}${match[2] ? '' : '?'}`, + * {flag: 'U'} + * ); + * XRegExp('a+', 'U').exec('aaa')[0]; // -> 'a' + * XRegExp('a+?', 'U').exec('aaa')[0]; // -> 'aaa' + */ + +XRegExp.addToken = function (regex, handler, options) { + options = options || {}; + var _options = options, + optionalFlags = _options.optionalFlags; + + if (options.flag) { + registerFlag(options.flag); + } + + if (optionalFlags) { + optionalFlags = optionalFlags.split(''); + + var _iterator2 = _createForOfIteratorHelper(optionalFlags), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var flag = _step2.value; + registerFlag(flag); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } // Add to the private list of syntax tokens + + + tokens.push({ + regex: copyRegex(regex, { + addG: true, + addY: hasNativeY, + isInternalOnly: true + }), + handler: handler, + scope: options.scope || defaultScope, + flag: options.flag, + reparse: options.reparse, + leadChar: options.leadChar + }); // Reset the pattern cache used by the `XRegExp` constructor, since the same pattern and flags + // might now produce different results + + XRegExp.cache.flush('patterns'); +}; +/** + * Caches and returns the result of calling `XRegExp(pattern, flags)`. On any subsequent call with + * the same pattern and flag combination, the cached copy of the regex is returned. + * + * @memberOf XRegExp + * @param {String} pattern Regex pattern string. + * @param {String} [flags] Any combination of XRegExp flags. + * @returns {RegExp} Cached XRegExp object. + * @example + * + * let match; + * while (match = XRegExp.cache('.', 'gs').exec('abc')) { + * // The regex is compiled once only + * } + */ + + +XRegExp.cache = function (pattern, flags) { + if (!regexCache[pattern]) { + regexCache[pattern] = {}; + } + + return regexCache[pattern][flags] || (regexCache[pattern][flags] = XRegExp(pattern, flags)); +}; // Intentionally undocumented; used in tests + + +XRegExp.cache.flush = function (cacheName) { + if (cacheName === 'patterns') { + // Flush the pattern cache used by the `XRegExp` constructor + patternCache = {}; + } else { + // Flush the regex cache populated by `XRegExp.cache` + regexCache = {}; + } +}; +/** + * Escapes any regular expression metacharacters, for use when matching literal strings. The result + * can safely be used at any position within a regex that uses any flags. + * + * @memberOf XRegExp + * @param {String} str String to escape. + * @returns {string} String with regex metacharacters escaped. + * @example + * + * XRegExp.escape('Escaped? <.>'); + * // -> 'Escaped\?\u0020<\.>' + */ +// Following are the contexts where each metacharacter needs to be escaped because it would +// otherwise have a special meaning, change the meaning of surrounding characters, or cause an +// error. Context 'default' means outside character classes only. +// - `\` - context: all +// - `[()*+?.$|` - context: default +// - `]` - context: default with flag u or if forming the end of a character class +// - `{}` - context: default with flag u or if part of a valid/complete quantifier pattern +// - `,` - context: default if in a position that causes an unescaped `{` to turn into a quantifier. +// Ex: `/^a{1\,2}$/` matches `'a{1,2}'`, but `/^a{1,2}$/` matches `'a'` or `'aa'` +// - `#` and <whitespace> - context: default with flag x +// - `^` - context: default, and context: class if it's the first character in the class +// - `-` - context: class if part of a valid character class range + + +XRegExp.escape = function (str) { + return String(nullThrows(str)). // Escape most special chars with a backslash + replace(/[\\\[\]{}()*+?.^$|]/g, '\\$&'). // Convert to \uNNNN for special chars that can't be escaped when used with ES6 flag `u` + replace(/[\s#\-,]/g, function (match) { + return "\\u".concat(pad4(hex(match.charCodeAt(0)))); + }); +}; +/** + * Executes a regex search in a specified string. Returns a match array or `null`. If the provided + * regex uses named capture, named capture properties are included on the match array's `groups` + * property. Optional `pos` and `sticky` arguments specify the search start position, and whether + * the match must start at the specified position only. The `lastIndex` property of the provided + * regex is not used, but is updated for compatibility. Also fixes browser bugs compared to the + * native `RegExp.prototype.exec` and can be used reliably cross-browser. + * + * @memberOf XRegExp + * @param {String} str String to search. + * @param {RegExp} regex Regex to search with. + * @param {Number} [pos=0] Zero-based index at which to start the search. + * @param {Boolean|String} [sticky=false] Whether the match must start at the specified position + * only. The string `'sticky'` is accepted as an alternative to `true`. + * @returns {Array} Match array with named capture properties on the `groups` object, or `null`. If + * the `namespacing` feature is off, named capture properties are directly on the match array. + * @example + * + * // Basic use, with named capturing group + * let match = XRegExp.exec('U+2620', XRegExp('U\\+(?<hex>[0-9A-F]{4})')); + * match.groups.hex; // -> '2620' + * + * // With pos and sticky, in a loop + * let pos = 3, result = [], match; + * while (match = XRegExp.exec('<1><2><3><4>5<6>', /<(\d)>/, pos, 'sticky')) { + * result.push(match[1]); + * pos = match.index + match[0].length; + * } + * // result -> ['2', '3', '4'] + */ + + +XRegExp.exec = function (str, regex, pos, sticky) { + var cacheKey = 'g'; + var addY = false; + var fakeY = false; + var match; + addY = hasNativeY && !!(sticky || regex.sticky && sticky !== false); + + if (addY) { + cacheKey += 'y'; + } else if (sticky) { + // Simulate sticky matching by appending an empty capture to the original regex. The + // resulting regex will succeed no matter what at the current index (set with `lastIndex`), + // and will not search the rest of the subject string. We'll know that the original regex + // has failed if that last capture is `''` rather than `undefined` (i.e., if that last + // capture participated in the match). + fakeY = true; + cacheKey += 'FakeY'; + } + + regex[REGEX_DATA] = regex[REGEX_DATA] || {}; // Shares cached copies with `XRegExp.match`/`replace` + + var r2 = regex[REGEX_DATA][cacheKey] || (regex[REGEX_DATA][cacheKey] = copyRegex(regex, { + addG: true, + addY: addY, + source: fakeY ? "".concat(regex.source, "|()") : undefined, + removeY: sticky === false, + isInternalOnly: true + })); + pos = pos || 0; + r2.lastIndex = pos; // Fixed `exec` required for `lastIndex` fix, named backreferences, etc. + + match = fixed.exec.call(r2, str); // Get rid of the capture added by the pseudo-sticky matcher if needed. An empty string means + // the original regexp failed (see above). + + if (fakeY && match && match.pop() === '') { + match = null; + } + + if (regex.global) { + regex.lastIndex = match ? r2.lastIndex : 0; + } + + return match; +}; +/** + * Executes a provided function once per regex match. Searches always start at the beginning of the + * string and continue until the end, regardless of the state of the regex's `global` property and + * initial `lastIndex`. + * + * @memberOf XRegExp + * @param {String} str String to search. + * @param {RegExp} regex Regex to search with. + * @param {Function} callback Function to execute for each match. Invoked with four arguments: + * - The match array, with named backreference properties. + * - The zero-based match index. + * - The string being traversed. + * - The regex object being used to traverse the string. + * @example + * + * // Extracts every other digit from a string + * const evens = []; + * XRegExp.forEach('1a2345', /\d/, (match, i) => { + * if (i % 2) evens.push(+match[0]); + * }); + * // evens -> [2, 4] + */ + + +XRegExp.forEach = function (str, regex, callback) { + var pos = 0; + var i = -1; + var match; + + while (match = XRegExp.exec(str, regex, pos)) { + // Because `regex` is provided to `callback`, the function could use the deprecated/ + // nonstandard `RegExp.prototype.compile` to mutate the regex. However, since `XRegExp.exec` + // doesn't use `lastIndex` to set the search position, this can't lead to an infinite loop, + // at least. Actually, because of the way `XRegExp.exec` caches globalized versions of + // regexes, mutating the regex will not have any effect on the iteration or matched strings, + // which is a nice side effect that brings extra safety. + callback(match, ++i, str, regex); + pos = match.index + (match[0].length || 1); + } +}; +/** + * Copies a regex object and adds flag `g`. The copy maintains extended data, is augmented with + * `XRegExp.prototype` properties, and has a fresh `lastIndex` property (set to zero). Native + * regexes are not recompiled using XRegExp syntax. + * + * @memberOf XRegExp + * @param {RegExp} regex Regex to globalize. + * @returns {RegExp} Copy of the provided regex with flag `g` added. + * @example + * + * const globalCopy = XRegExp.globalize(/regex/); + * globalCopy.global; // -> true + */ + + +XRegExp.globalize = function (regex) { + return copyRegex(regex, { + addG: true + }); +}; +/** + * Installs optional features according to the specified options. Can be undone using + * `XRegExp.uninstall`. + * + * @memberOf XRegExp + * @param {Object|String} options Options object or string. + * @example + * + * // With an options object + * XRegExp.install({ + * // Enables support for astral code points in Unicode addons (implicitly sets flag A) + * astral: true, + * + * // Adds named capture groups to the `groups` property of matches + * namespacing: true + * }); + * + * // With an options string + * XRegExp.install('astral namespacing'); + */ + + +XRegExp.install = function (options) { + options = prepareOptions(options); + + if (!features.astral && options.astral) { + setAstral(true); + } + + if (!features.namespacing && options.namespacing) { + setNamespacing(true); + } +}; +/** + * Checks whether an individual optional feature is installed. + * + * @memberOf XRegExp + * @param {String} feature Name of the feature to check. One of: + * - `astral` + * - `namespacing` + * @returns {boolean} Whether the feature is installed. + * @example + * + * XRegExp.isInstalled('astral'); + */ + + +XRegExp.isInstalled = function (feature) { + return !!features[feature]; +}; +/** + * Returns `true` if an object is a regex; `false` if it isn't. This works correctly for regexes + * created in another frame, when `instanceof` and `constructor` checks would fail. + * + * @memberOf XRegExp + * @param {*} value Object to check. + * @returns {boolean} Whether the object is a `RegExp` object. + * @example + * + * XRegExp.isRegExp('string'); // -> false + * XRegExp.isRegExp(/regex/i); // -> true + * XRegExp.isRegExp(RegExp('^', 'm')); // -> true + * XRegExp.isRegExp(XRegExp('(?s).')); // -> true + */ + + +XRegExp.isRegExp = function (value) { + return Object.prototype.toString.call(value) === '[object RegExp]'; +}; // Same as `isType(value, 'RegExp')`, but avoiding that function call here for perf since +// `isRegExp` is used heavily by internals including regex construction + +/** + * Returns the first matched string, or in global mode, an array containing all matched strings. + * This is essentially a more convenient re-implementation of `String.prototype.match` that gives + * the result types you actually want (string instead of `exec`-style array in match-first mode, + * and an empty array instead of `null` when no matches are found in match-all mode). It also lets + * you override flag g and ignore `lastIndex`, and fixes browser bugs. + * + * @memberOf XRegExp + * @param {String} str String to search. + * @param {RegExp} regex Regex to search with. + * @param {String} [scope='one'] Use 'one' to return the first match as a string. Use 'all' to + * return an array of all matched strings. If not explicitly specified and `regex` uses flag g, + * `scope` is 'all'. + * @returns {String|Array} In match-first mode: First match as a string, or `null`. In match-all + * mode: Array of all matched strings, or an empty array. + * @example + * + * // Match first + * XRegExp.match('abc', /\w/); // -> 'a' + * XRegExp.match('abc', /\w/g, 'one'); // -> 'a' + * XRegExp.match('abc', /x/g, 'one'); // -> null + * + * // Match all + * XRegExp.match('abc', /\w/g); // -> ['a', 'b', 'c'] + * XRegExp.match('abc', /\w/, 'all'); // -> ['a', 'b', 'c'] + * XRegExp.match('abc', /x/, 'all'); // -> [] + */ + + +XRegExp.match = function (str, regex, scope) { + var global = regex.global && scope !== 'one' || scope === 'all'; + var cacheKey = (global ? 'g' : '') + (regex.sticky ? 'y' : '') || 'noGY'; + regex[REGEX_DATA] = regex[REGEX_DATA] || {}; // Shares cached copies with `XRegExp.exec`/`replace` + + var r2 = regex[REGEX_DATA][cacheKey] || (regex[REGEX_DATA][cacheKey] = copyRegex(regex, { + addG: !!global, + removeG: scope === 'one', + isInternalOnly: true + })); + var result = String(nullThrows(str)).match(r2); + + if (regex.global) { + regex.lastIndex = scope === 'one' && result ? // Can't use `r2.lastIndex` since `r2` is nonglobal in this case + result.index + result[0].length : 0; + } + + return global ? result || [] : result && result[0]; +}; +/** + * Retrieves the matches from searching a string using a chain of regexes that successively search + * within previous matches. The provided `chain` array can contain regexes and or objects with + * `regex` and `backref` properties. When a backreference is specified, the named or numbered + * backreference is passed forward to the next regex or returned. + * + * @memberOf XRegExp + * @param {String} str String to search. + * @param {Array} chain Regexes that each search for matches within preceding results. + * @returns {Array} Matches by the last regex in the chain, or an empty array. + * @example + * + * // Basic usage; matches numbers within <b> tags + * XRegExp.matchChain('1 <b>2</b> 3 <b>4 a 56</b>', [ + * XRegExp('(?is)<b>.*?</b>'), + * /\d+/ + * ]); + * // -> ['2', '4', '56'] + * + * // Passing forward and returning specific backreferences + * const html = `<a href="http://xregexp.com/api/">XRegExp</a> + * <a href="http://www.google.com/">Google</a>`; + * XRegExp.matchChain(html, [ + * {regex: /<a href="([^"]+)">/i, backref: 1}, + * {regex: XRegExp('(?i)^https?://(?<domain>[^/?#]+)'), backref: 'domain'} + * ]); + * // -> ['xregexp.com', 'www.google.com'] + */ + + +XRegExp.matchChain = function (str, chain) { + return function recurseChain(values, level) { + var item = chain[level].regex ? chain[level] : { + regex: chain[level] + }; + var matches = []; + + function addMatch(match) { + if (item.backref) { + var ERR_UNDEFINED_GROUP = "Backreference to undefined group: ".concat(item.backref); + var isNamedBackref = isNaN(item.backref); + + if (isNamedBackref && XRegExp.isInstalled('namespacing')) { + // `groups` has `null` as prototype, so using `in` instead of `hasOwnProperty` + if (!(match.groups && item.backref in match.groups)) { + throw new ReferenceError(ERR_UNDEFINED_GROUP); + } + } else if (!match.hasOwnProperty(item.backref)) { + throw new ReferenceError(ERR_UNDEFINED_GROUP); + } + + var backrefValue = isNamedBackref && XRegExp.isInstalled('namespacing') ? match.groups[item.backref] : match[item.backref]; + matches.push(backrefValue || ''); + } else { + matches.push(match[0]); + } + } + + var _iterator3 = _createForOfIteratorHelper(values), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var value = _step3.value; + (0, _forEach["default"])(XRegExp).call(XRegExp, value, item.regex, addMatch); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + + return level === chain.length - 1 || !matches.length ? matches : recurseChain(matches, level + 1); + }([str], 0); +}; +/** + * Returns a new string with one or all matches of a pattern replaced. The pattern can be a string + * or regex, and the replacement can be a string or a function to be called for each match. To + * perform a global search and replace, use the optional `scope` argument or include flag g if using + * a regex. Replacement strings can use `$<n>` or `${n}` for named and numbered backreferences. + * Replacement functions can use named backreferences via the last argument. Also fixes browser bugs + * compared to the native `String.prototype.replace` and can be used reliably cross-browser. + * + * @memberOf XRegExp + * @param {String} str String to search. + * @param {RegExp|String} search Search pattern to be replaced. + * @param {String|Function} replacement Replacement string or a function invoked to create it. + * Replacement strings can include special replacement syntax: + * - $$ - Inserts a literal $ character. + * - $&, $0 - Inserts the matched substring. + * - $` - Inserts the string that precedes the matched substring (left context). + * - $' - Inserts the string that follows the matched substring (right context). + * - $n, $nn - Where n/nn are digits referencing an existing capturing group, inserts + * backreference n/nn. + * - $<n>, ${n} - Where n is a name or any number of digits that reference an existing capturing + * group, inserts backreference n. + * Replacement functions are invoked with three or more arguments: + * - args[0] - The matched substring (corresponds to `$&` above). If the `namespacing` feature + * is off, named backreferences are accessible as properties of this argument. + * - args[1..n] - One argument for each backreference (corresponding to `$1`, `$2`, etc. above). + * If the regex has no capturing groups, no arguments appear in this position. + * - args[n+1] - The zero-based index of the match within the entire search string. + * - args[n+2] - The total string being searched. + * - args[n+3] - If the the search pattern is a regex with named capturing groups, the last + * argument is the groups object. Its keys are the backreference names and its values are the + * backreference values. If the `namespacing` feature is off, this argument is not present. + * @param {String} [scope] Use 'one' to replace the first match only, or 'all'. Defaults to 'one'. + * Defaults to 'all' if using a regex with flag g. + * @returns {String} New string with one or all matches replaced. + * @example + * + * // Regex search, using named backreferences in replacement string + * const name = XRegExp('(?<first>\\w+) (?<last>\\w+)'); + * XRegExp.replace('John Smith', name, '$<last>, $<first>'); + * // -> 'Smith, John' + * + * // Regex search, using named backreferences in replacement function + * XRegExp.replace('John Smith', name, (...args) => { + * const groups = args[args.length - 1]; + * return `${groups.last}, ${groups.first}`; + * }); + * // -> 'Smith, John' + * + * // String search, with replace-all + * XRegExp.replace('RegExp builds RegExps', 'RegExp', 'XRegExp', 'all'); + * // -> 'XRegExp builds XRegExps' + */ + + +XRegExp.replace = function (str, search, replacement, scope) { + var isRegex = XRegExp.isRegExp(search); + var global = search.global && scope !== 'one' || scope === 'all'; + var cacheKey = (global ? 'g' : '') + (search.sticky ? 'y' : '') || 'noGY'; + var s2 = search; + + if (isRegex) { + search[REGEX_DATA] = search[REGEX_DATA] || {}; // Shares cached copies with `XRegExp.exec`/`match`. Since a copy is used, `search`'s + // `lastIndex` isn't updated *during* replacement iterations + + s2 = search[REGEX_DATA][cacheKey] || (search[REGEX_DATA][cacheKey] = copyRegex(search, { + addG: !!global, + removeG: scope === 'one', + isInternalOnly: true + })); + } else if (global) { + s2 = new RegExp(XRegExp.escape(String(search)), 'g'); + } // Fixed `replace` required for named backreferences, etc. + + + var result = fixed.replace.call(nullThrows(str), s2, replacement); + + if (isRegex && search.global) { + // Fixes IE, Safari bug (last tested IE 9, Safari 5.1) + search.lastIndex = 0; + } + + return result; +}; +/** + * Performs batch processing of string replacements. Used like `XRegExp.replace`, but accepts an + * array of replacement details. Later replacements operate on the output of earlier replacements. + * Replacement details are accepted as an array with a regex or string to search for, the + * replacement string or function, and an optional scope of 'one' or 'all'. Uses the XRegExp + * replacement text syntax, which supports named backreference properties via `$<name>` or + * `${name}`. + * + * @memberOf XRegExp + * @param {String} str String to search. + * @param {Array} replacements Array of replacement detail arrays. + * @returns {String} New string with all replacements. + * @example + * + * str = XRegExp.replaceEach(str, [ + * [XRegExp('(?<name>a)'), 'z$<name>'], + * [/b/gi, 'y'], + * [/c/g, 'x', 'one'], // scope 'one' overrides /g + * [/d/, 'w', 'all'], // scope 'all' overrides lack of /g + * ['e', 'v', 'all'], // scope 'all' allows replace-all for strings + * [/f/g, (match) => match.toUpperCase()] + * ]); + */ + + +XRegExp.replaceEach = function (str, replacements) { + var _iterator4 = _createForOfIteratorHelper(replacements), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var r = _step4.value; + str = XRegExp.replace(str, r[0], r[1], r[2]); + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + + return str; +}; +/** + * Splits a string into an array of strings using a regex or string separator. Matches of the + * separator are not included in the result array. However, if `separator` is a regex that contains + * capturing groups, backreferences are spliced into the result each time `separator` is matched. + * Fixes browser bugs compared to the native `String.prototype.split` and can be used reliably + * cross-browser. + * + * @memberOf XRegExp + * @param {String} str String to split. + * @param {RegExp|String} separator Regex or string to use for separating the string. + * @param {Number} [limit] Maximum number of items to include in the result array. + * @returns {Array} Array of substrings. + * @example + * + * // Basic use + * XRegExp.split('a b c', ' '); + * // -> ['a', 'b', 'c'] + * + * // With limit + * XRegExp.split('a b c', ' ', 2); + * // -> ['a', 'b'] + * + * // Backreferences in result array + * XRegExp.split('..word1..', /([a-z]+)(\d+)/i); + * // -> ['..', 'word', '1', '..'] + */ + + +XRegExp.split = function (str, separator, limit) { + return fixed.split.call(nullThrows(str), separator, limit); +}; +/** + * Executes a regex search in a specified string. Returns `true` or `false`. Optional `pos` and + * `sticky` arguments specify the search start position, and whether the match must start at the + * specified position only. The `lastIndex` property of the provided regex is not used, but is + * updated for compatibility. Also fixes browser bugs compared to the native + * `RegExp.prototype.test` and can be used reliably cross-browser. + * + * @memberOf XRegExp + * @param {String} str String to search. + * @param {RegExp} regex Regex to search with. + * @param {Number} [pos=0] Zero-based index at which to start the search. + * @param {Boolean|String} [sticky=false] Whether the match must start at the specified position + * only. The string `'sticky'` is accepted as an alternative to `true`. + * @returns {boolean} Whether the regex matched the provided value. + * @example + * + * // Basic use + * XRegExp.test('abc', /c/); // -> true + * + * // With pos and sticky + * XRegExp.test('abc', /c/, 0, 'sticky'); // -> false + * XRegExp.test('abc', /c/, 2, 'sticky'); // -> true + */ +// Do this the easy way :-) + + +XRegExp.test = function (str, regex, pos, sticky) { + return !!XRegExp.exec(str, regex, pos, sticky); +}; +/** + * Uninstalls optional features according to the specified options. Used to undo the actions of + * `XRegExp.install`. + * + * @memberOf XRegExp + * @param {Object|String} options Options object or string. + * @example + * + * // With an options object + * XRegExp.uninstall({ + * // Disables support for astral code points in Unicode addons (unless enabled per regex) + * astral: true, + * + * // Don't add named capture groups to the `groups` property of matches + * namespacing: true + * }); + * + * // With an options string + * XRegExp.uninstall('astral namespacing'); + */ + + +XRegExp.uninstall = function (options) { + options = prepareOptions(options); + + if (features.astral && options.astral) { + setAstral(false); + } + + if (features.namespacing && options.namespacing) { + setNamespacing(false); + } +}; +/** + * Returns an XRegExp object that is the union of the given patterns. Patterns can be provided as + * regex objects or strings. Metacharacters are escaped in patterns provided as strings. + * Backreferences in provided regex objects are automatically renumbered to work correctly within + * the larger combined pattern. Native flags used by provided regexes are ignored in favor of the + * `flags` argument. + * + * @memberOf XRegExp + * @param {Array} patterns Regexes and strings to combine. + * @param {String} [flags] Any combination of XRegExp flags. + * @param {Object} [options] Options object with optional properties: + * - `conjunction` {String} Type of conjunction to use: 'or' (default) or 'none'. + * @returns {RegExp} Union of the provided regexes and strings. + * @example + * + * XRegExp.union(['a+b*c', /(dogs)\1/, /(cats)\1/], 'i'); + * // -> /a\+b\*c|(dogs)\1|(cats)\2/i + * + * XRegExp.union([/man/, /bear/, /pig/], 'i', {conjunction: 'none'}); + * // -> /manbearpig/i + */ + + +XRegExp.union = function (patterns, flags, options) { + options = options || {}; + var conjunction = options.conjunction || 'or'; + var numCaptures = 0; + var numPriorCaptures; + var captureNames; + + function rewrite(match, paren, backref) { + var name = captureNames[numCaptures - numPriorCaptures]; // Capturing group + + if (paren) { + ++numCaptures; // If the current capture has a name, preserve the name + + if (name) { + return "(?<".concat(name, ">"); + } // Backreference + + } else if (backref) { + // Rewrite the backreference + return "\\".concat(+backref + numPriorCaptures); + } + + return match; + } + + if (!(isType(patterns, 'Array') && patterns.length)) { + throw new TypeError('Must provide a nonempty array of patterns to merge'); + } + + var parts = /(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g; + var output = []; + + var _iterator5 = _createForOfIteratorHelper(patterns), + _step5; + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var pattern = _step5.value; + + if (XRegExp.isRegExp(pattern)) { + numPriorCaptures = numCaptures; + captureNames = pattern[REGEX_DATA] && pattern[REGEX_DATA].captureNames || []; // Rewrite backreferences. Passing to XRegExp dies on octals and ensures patterns are + // independently valid; helps keep this simple. Named captures are put back + + output.push(XRegExp(pattern.source).source.replace(parts, rewrite)); + } else { + output.push(XRegExp.escape(pattern)); + } + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + var separator = conjunction === 'none' ? '' : '|'; + return XRegExp(output.join(separator), flags); +}; // ==--------------------------== +// Fixed/extended native methods +// ==--------------------------== + +/** + * Adds named capture support (with backreferences returned as `result.name`), and fixes browser + * bugs in the native `RegExp.prototype.exec`. Use via `XRegExp.exec`. + * + * @memberOf RegExp + * @param {String} str String to search. + * @returns {Array} Match array with named backreference properties, or `null`. + */ + + +fixed.exec = function (str) { + var origLastIndex = this.lastIndex; + var match = RegExp.prototype.exec.apply(this, arguments); + + if (match) { + // Fix browsers whose `exec` methods don't return `undefined` for nonparticipating capturing + // groups. This fixes IE 5.5-8, but not IE 9's quirks mode or emulation of older IEs. IE 9 + // in standards mode follows the spec. + if (!correctExecNpcg && match.length > 1 && (0, _indexOf["default"])(match).call(match, '') !== -1) { + var _context3; + + var r2 = copyRegex(this, { + removeG: true, + isInternalOnly: true + }); // Using `str.slice(match.index)` rather than `match[0]` in case lookahead allowed + // matching due to characters outside the match + + (0, _slice["default"])(_context3 = String(str)).call(_context3, match.index).replace(r2, function () { + var len = arguments.length; // Skip index 0 and the last 2 + + for (var i = 1; i < len - 2; ++i) { + if ((i < 0 || arguments.length <= i ? undefined : arguments[i]) === undefined) { + match[i] = undefined; + } + } + }); + } // Attach named capture properties + + + if (this[REGEX_DATA] && this[REGEX_DATA].captureNames) { + var groupsObject = match; + + if (XRegExp.isInstalled('namespacing')) { + // https://tc39.github.io/proposal-regexp-named-groups/#sec-regexpbuiltinexec + match.groups = (0, _create["default"])(null); + groupsObject = match.groups; + } // Skip index 0 + + + for (var i = 1; i < match.length; ++i) { + var name = this[REGEX_DATA].captureNames[i - 1]; + + if (name) { + groupsObject[name] = match[i]; + } + } // Preserve any existing `groups` obj that came from native ES2018 named capture + + } else if (!match.groups && XRegExp.isInstalled('namespacing')) { + match.groups = undefined; + } // Fix browsers that increment `lastIndex` after zero-length matches + + + if (this.global && !match[0].length && this.lastIndex > match.index) { + this.lastIndex = match.index; + } + } + + if (!this.global) { + // Fixes IE, Opera bug (last tested IE 9, Opera 11.6) + this.lastIndex = origLastIndex; + } + + return match; +}; +/** + * Fixes browser bugs in the native `RegExp.prototype.test`. + * + * @memberOf RegExp + * @param {String} str String to search. + * @returns {boolean} Whether the regex matched the provided value. + */ + + +fixed.test = function (str) { + // Do this the easy way :-) + return !!fixed.exec.call(this, str); +}; +/** + * Adds named capture support (with backreferences returned as `result.name`), and fixes browser + * bugs in the native `String.prototype.match`. + * + * @memberOf String + * @param {RegExp|*} regex Regex to search with. If not a regex object, it is passed to `RegExp`. + * @returns {Array} If `regex` uses flag g, an array of match strings or `null`. Without flag g, + * the result of calling `regex.exec(this)`. + */ + + +fixed.match = function (regex) { + if (!XRegExp.isRegExp(regex)) { + // Use the native `RegExp` rather than `XRegExp` + regex = new RegExp(regex); + } else if (regex.global) { + var result = String.prototype.match.apply(this, arguments); // Fixes IE bug + + regex.lastIndex = 0; + return result; + } + + return fixed.exec.call(regex, nullThrows(this)); +}; +/** + * Adds support for `${n}` (or `$<n>`) tokens for named and numbered backreferences in replacement + * text, and provides named backreferences to replacement functions as `arguments[0].name`. Also + * fixes browser bugs in replacement text syntax when performing a replacement using a nonregex + * search value, and the value of a replacement regex's `lastIndex` property during replacement + * iterations and upon completion. Note that this doesn't support SpiderMonkey's proprietary third + * (`flags`) argument. Use via `XRegExp.replace`. + * + * @memberOf String + * @param {RegExp|String} search Search pattern to be replaced. + * @param {String|Function} replacement Replacement string or a function invoked to create it. + * @returns {string} New string with one or all matches replaced. + */ + + +fixed.replace = function (search, replacement) { + var isRegex = XRegExp.isRegExp(search); + var origLastIndex; + var captureNames; + var result; + + if (isRegex) { + if (search[REGEX_DATA]) { + captureNames = search[REGEX_DATA].captureNames; + } // Only needed if `search` is nonglobal + + + origLastIndex = search.lastIndex; + } else { + search += ''; // Type-convert + } // Don't use `typeof`; some older browsers return 'function' for regex objects + + + if (isType(replacement, 'Function')) { + // Stringifying `this` fixes a bug in IE < 9 where the last argument in replacement + // functions isn't type-converted to a string + result = String(this).replace(search, function () { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + if (captureNames) { + var groupsObject; + + if (XRegExp.isInstalled('namespacing')) { + // https://tc39.github.io/proposal-regexp-named-groups/#sec-regexpbuiltinexec + groupsObject = (0, _create["default"])(null); + args.push(groupsObject); + } else { + // Change the `args[0]` string primitive to a `String` object that can store + // properties. This really does need to use `String` as a constructor + args[0] = new String(args[0]); + groupsObject = args[0]; + } // Store named backreferences + + + for (var i = 0; i < captureNames.length; ++i) { + if (captureNames[i]) { + groupsObject[captureNames[i]] = args[i + 1]; + } + } + } // ES6 specs the context for replacement functions as `undefined` + + + return replacement.apply(void 0, args); + }); + } else { + // Ensure that the last value of `args` will be a string when given nonstring `this`, + // while still throwing on null or undefined context + result = String(nullThrows(this)).replace(search, function () { + for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + + return String(replacement).replace(replacementToken, replacer); + + function replacer($0, bracketed, angled, dollarToken) { + bracketed = bracketed || angled; // ES2018 added a new trailing `groups` arg that's passed to replacement functions + // when the search regex uses native named capture + + var numNonCaptureArgs = isType(args[args.length - 1], 'Object') ? 4 : 3; + var numCaptures = args.length - numNonCaptureArgs; // Handle named or numbered backreference with curly or angled braces: ${n}, $<n> + + if (bracketed) { + // Handle backreference to numbered capture, if `bracketed` is an integer. Use + // `0` for the entire match. Any number of leading zeros may be used. + if (/^\d+$/.test(bracketed)) { + // Type-convert and drop leading zeros + var _n = +bracketed; + + if (_n <= numCaptures) { + return args[_n] || ''; + } + } // Handle backreference to named capture. If the name does not refer to an + // existing capturing group, it's an error. Also handles the error for numbered + // backference that does not refer to an existing group. + // Using `indexOf` since having groups with the same name is already an error, + // otherwise would need `lastIndexOf`. + + + var n = captureNames ? (0, _indexOf["default"])(captureNames).call(captureNames, bracketed) : -1; + + if (n < 0) { + throw new SyntaxError("Backreference to undefined group ".concat($0)); + } + + return args[n + 1] || ''; + } // Handle `$`-prefixed variable + // Handle space/blank first because type conversion with `+` drops space padding + // and converts spaces and empty strings to `0` + + + if (dollarToken === '' || dollarToken === ' ') { + throw new SyntaxError("Invalid token ".concat($0)); + } + + if (dollarToken === '&' || +dollarToken === 0) { + // $&, $0 (not followed by 1-9), $00 + return args[0]; + } + + if (dollarToken === '$') { + // $$ + return '$'; + } + + if (dollarToken === '`') { + var _context4; + + // $` (left context) + return (0, _slice["default"])(_context4 = args[args.length - 1]).call(_context4, 0, args[args.length - 2]); + } + + if (dollarToken === "'") { + var _context5; + + // $' (right context) + return (0, _slice["default"])(_context5 = args[args.length - 1]).call(_context5, args[args.length - 2] + args[0].length); + } // Handle numbered backreference without braces + // Type-convert and drop leading zero + + + dollarToken = +dollarToken; // XRegExp behavior for `$n` and `$nn`: + // - Backrefs end after 1 or 2 digits. Use `${..}` or `$<..>` for more digits. + // - `$1` is an error if no capturing groups. + // - `$10` is an error if less than 10 capturing groups. Use `${1}0` or `$<1>0` + // instead. + // - `$01` is `$1` if at least one capturing group, else it's an error. + // - `$0` (not followed by 1-9) and `$00` are the entire match. + // Native behavior, for comparison: + // - Backrefs end after 1 or 2 digits. Cannot reference capturing group 100+. + // - `$1` is a literal `$1` if no capturing groups. + // - `$10` is `$1` followed by a literal `0` if less than 10 capturing groups. + // - `$01` is `$1` if at least one capturing group, else it's a literal `$01`. + // - `$0` is a literal `$0`. + + if (!isNaN(dollarToken)) { + if (dollarToken > numCaptures) { + throw new SyntaxError("Backreference to undefined group ".concat($0)); + } + + return args[dollarToken] || ''; + } // `$` followed by an unsupported char is an error, unlike native JS + + + throw new SyntaxError("Invalid token ".concat($0)); + } + }); + } + + if (isRegex) { + if (search.global) { + // Fixes IE, Safari bug (last tested IE 9, Safari 5.1) + search.lastIndex = 0; + } else { + // Fixes IE, Opera bug (last tested IE 9, Opera 11.6) + search.lastIndex = origLastIndex; + } + } + + return result; +}; +/** + * Fixes browser bugs in the native `String.prototype.split`. Use via `XRegExp.split`. + * + * @memberOf String + * @param {RegExp|String} separator Regex or string to use for separating the string. + * @param {Number} [limit] Maximum number of items to include in the result array. + * @returns {!Array} Array of substrings. + */ + + +fixed.split = function (separator, limit) { + if (!XRegExp.isRegExp(separator)) { + // Browsers handle nonregex split correctly, so use the faster native method + return String.prototype.split.apply(this, arguments); + } + + var str = String(this); + var output = []; + var origLastIndex = separator.lastIndex; + var lastLastIndex = 0; + var lastLength; // Values for `limit`, per the spec: + // If undefined: pow(2,32) - 1 + // If 0, Infinity, or NaN: 0 + // If positive number: limit = floor(limit); if (limit >= pow(2,32)) limit -= pow(2,32); + // If negative number: pow(2,32) - floor(abs(limit)) + // If other: Type-convert, then use the above rules + // This line fails in very strange ways for some values of `limit` in Opera 10.5-10.63, unless + // Opera Dragonfly is open (go figure). It works in at least Opera 9.5-10.1 and 11+ + + limit = (limit === undefined ? -1 : limit) >>> 0; + (0, _forEach["default"])(XRegExp).call(XRegExp, str, separator, function (match) { + // This condition is not the same as `if (match[0].length)` + if (match.index + match[0].length > lastLastIndex) { + output.push((0, _slice["default"])(str).call(str, lastLastIndex, match.index)); + + if (match.length > 1 && match.index < str.length) { + Array.prototype.push.apply(output, (0, _slice["default"])(match).call(match, 1)); + } + + lastLength = match[0].length; + lastLastIndex = match.index + lastLength; + } + }); + + if (lastLastIndex === str.length) { + if (!separator.test('') || lastLength) { + output.push(''); + } + } else { + output.push((0, _slice["default"])(str).call(str, lastLastIndex)); + } + + separator.lastIndex = origLastIndex; + return output.length > limit ? (0, _slice["default"])(output).call(output, 0, limit) : output; +}; // ==--------------------------== +// Built-in syntax/flag tokens +// ==--------------------------== + +/* + * Letter escapes that natively match literal characters: `\a`, `\A`, etc. These should be + * SyntaxErrors but are allowed in web reality. XRegExp makes them errors for cross-browser + * consistency and to reserve their syntax, but lets them be superseded by addons. + */ + + +XRegExp.addToken(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4}|{[\dA-Fa-f]+})|x(?![\dA-Fa-f]{2}))/, function (match, scope) { + // \B is allowed in default scope only + if (match[1] === 'B' && scope === defaultScope) { + return match[0]; + } + + throw new SyntaxError("Invalid escape ".concat(match[0])); +}, { + scope: 'all', + leadChar: '\\' +}); +/* + * Unicode code point escape with curly braces: `\u{N..}`. `N..` is any one or more digit + * hexadecimal number from 0-10FFFF, and can include leading zeros. Requires the native ES6 `u` flag + * to support code points greater than U+FFFF. Avoids converting code points above U+FFFF to + * surrogate pairs (which could be done without flag `u`), since that could lead to broken behavior + * if you follow a `\u{N..}` token that references a code point above U+FFFF with a quantifier, or + * if you use the same in a character class. + */ + +XRegExp.addToken(/\\u{([\dA-Fa-f]+)}/, function (match, scope, flags) { + var code = dec(match[1]); + + if (code > 0x10FFFF) { + throw new SyntaxError("Invalid Unicode code point ".concat(match[0])); + } + + if (code <= 0xFFFF) { + // Converting to \uNNNN avoids needing to escape the literal character and keep it + // separate from preceding tokens + return "\\u".concat(pad4(hex(code))); + } // If `code` is between 0xFFFF and 0x10FFFF, require and defer to native handling + + + if (hasNativeU && (0, _indexOf["default"])(flags).call(flags, 'u') !== -1) { + return match[0]; + } + + throw new SyntaxError('Cannot use Unicode code point above \\u{FFFF} without flag u'); +}, { + scope: 'all', + leadChar: '\\' +}); +/* + * Comment pattern: `(?# )`. Inline comments are an alternative to the line comments allowed in + * free-spacing mode (flag x). + */ + +XRegExp.addToken(/\(\?#[^)]*\)/, getContextualTokenSeparator, { + leadChar: '(' +}); +/* + * Whitespace and line comments, in free-spacing mode (aka extended mode, flag x) only. + */ + +XRegExp.addToken(/\s+|#[^\n]*\n?/, getContextualTokenSeparator, { + flag: 'x' +}); +/* + * Dot, in dotAll mode (aka singleline mode, flag s) only. + */ + +if (!hasNativeS) { + XRegExp.addToken(/\./, function () { + return '[\\s\\S]'; + }, { + flag: 's', + leadChar: '.' + }); +} +/* + * Named backreference: `\k<name>`. Backreference names can use RegExpIdentifierName characters + * only. Also allows numbered backreferences as `\k<n>`. + */ + + +XRegExp.addToken(/\\k<([^>]+)>/, function (match) { + var _context6, _context7; + + // Groups with the same name is an error, else would need `lastIndexOf` + var index = isNaN(match[1]) ? (0, _indexOf["default"])(_context6 = this.captureNames).call(_context6, match[1]) + 1 : +match[1]; + var endIndex = match.index + match[0].length; + + if (!index || index > this.captureNames.length) { + throw new SyntaxError("Backreference to undefined group ".concat(match[0])); + } // Keep backreferences separate from subsequent literal numbers. This avoids e.g. + // inadvertedly changing `(?<n>)\k<n>1` to `()\11`. + + + return (0, _concat["default"])(_context7 = "\\".concat(index)).call(_context7, endIndex === match.input.length || isNaN(match.input[endIndex]) ? '' : '(?:)'); +}, { + leadChar: '\\' +}); +/* + * Numbered backreference or octal, plus any following digits: `\0`, `\11`, etc. Octals except `\0` + * not followed by 0-9 and backreferences to unopened capture groups throw an error. Other matches + * are returned unaltered. IE < 9 doesn't support backreferences above `\99` in regex syntax. + */ + +XRegExp.addToken(/\\(\d+)/, function (match, scope) { + if (!(scope === defaultScope && /^[1-9]/.test(match[1]) && +match[1] <= this.captureNames.length) && match[1] !== '0') { + throw new SyntaxError("Cannot use octal escape or backreference to undefined group ".concat(match[0])); + } + + return match[0]; +}, { + scope: 'all', + leadChar: '\\' +}); +/* + * Named capturing group; match the opening delimiter only: `(?<name>`. Capture names can use the + * RegExpIdentifierName characters only. Names can't be integers. Supports Python-style + * `(?P<name>` as an alternate syntax to avoid issues in some older versions of Opera which natively + * supported the Python-style syntax. Otherwise, XRegExp might treat numbered backreferences to + * Python-style named capture as octals. + */ + +XRegExp.addToken(/\(\?P?<((?:[\$A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])(?:[\$0-9A-Z_a-z\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05EF-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u07FD\u0800-\u082D\u0840-\u085B\u0860-\u086A\u0870-\u0887\u0889-\u088E\u0898-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u09FE\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3C-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C5D\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDD\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D81-\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1715\u171F-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u1820-\u1878\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B4C\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CD0-\u1CD2\u1CD4-\u1CFA\u1D00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA827\uA82C\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD27\uDD30-\uDD39\uDE80-\uDEA9\uDEAB\uDEAC\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF50\uDF70-\uDF85\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC00-\uDC46\uDC66-\uDC75\uDC7F-\uDCBA\uDCC2\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD44-\uDD47\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDC9-\uDDCC\uDDCE-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3B-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC5E-\uDC61\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF1D-\uDF2B\uDF30-\uDF39\uDF40-\uDF46]|\uD806[\uDC00-\uDC3A\uDCA0-\uDCE9\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD35\uDD37\uDD38\uDD3B-\uDD43\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDE1\uDDE3\uDDE4\uDE00-\uDE3E\uDE47\uDE50-\uDE99\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF6\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F\uDFE0\uDFE1\uDFE3\uDFE4\uDFF0\uDFF1]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD837[\uDF00-\uDF1E]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD00-\uDD2C\uDD30-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAE\uDEC0-\uDEF9]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4B\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]|\uDB40[\uDD00-\uDDEF])*)>/, function (match) { + var _context8; + + if (!XRegExp.isInstalled('namespacing') && (match[1] === 'length' || match[1] === '__proto__')) { + throw new SyntaxError("Cannot use reserved word as capture name ".concat(match[0])); + } + + if ((0, _indexOf["default"])(_context8 = this.captureNames).call(_context8, match[1]) !== -1) { + throw new SyntaxError("Cannot use same name for multiple groups ".concat(match[0])); + } + + this.captureNames.push(match[1]); + this.hasNamedCapture = true; + return '('; +}, { + leadChar: '(' +}); +/* + * Capturing group; match the opening parenthesis only. Required for support of named capturing + * groups. Also adds named capture only mode (flag n). + */ + +XRegExp.addToken(/\((?!\?)/, function (match, scope, flags) { + if ((0, _indexOf["default"])(flags).call(flags, 'n') !== -1) { + return '(?:'; + } + + this.captureNames.push(null); + return '('; +}, { + optionalFlags: 'n', + leadChar: '(' +}); +var _default = XRegExp; +exports["default"] = _default; +module.exports = exports.default; +},{"@babel/runtime-corejs3/core-js-stable/array/from":5,"@babel/runtime-corejs3/core-js-stable/array/is-array":6,"@babel/runtime-corejs3/core-js-stable/instance/concat":7,"@babel/runtime-corejs3/core-js-stable/instance/flags":8,"@babel/runtime-corejs3/core-js-stable/instance/for-each":9,"@babel/runtime-corejs3/core-js-stable/instance/index-of":10,"@babel/runtime-corejs3/core-js-stable/instance/slice":11,"@babel/runtime-corejs3/core-js-stable/instance/sort":12,"@babel/runtime-corejs3/core-js-stable/object/create":13,"@babel/runtime-corejs3/core-js-stable/object/define-property":14,"@babel/runtime-corejs3/core-js-stable/parse-int":15,"@babel/runtime-corejs3/core-js-stable/symbol":16,"@babel/runtime-corejs3/core-js/get-iterator-method":19,"@babel/runtime-corejs3/helpers/interopRequireDefault":24,"@babel/runtime-corejs3/helpers/slicedToArray":27}],5:[function(require,module,exports){ +module.exports = require("core-js-pure/stable/array/from"); +},{"core-js-pure/stable/array/from":208}],6:[function(require,module,exports){ +module.exports = require("core-js-pure/stable/array/is-array"); +},{"core-js-pure/stable/array/is-array":209}],7:[function(require,module,exports){ +module.exports = require("core-js-pure/stable/instance/concat"); +},{"core-js-pure/stable/instance/concat":212}],8:[function(require,module,exports){ +module.exports = require("core-js-pure/stable/instance/flags"); +},{"core-js-pure/stable/instance/flags":213}],9:[function(require,module,exports){ +module.exports = require("core-js-pure/stable/instance/for-each"); +},{"core-js-pure/stable/instance/for-each":214}],10:[function(require,module,exports){ +module.exports = require("core-js-pure/stable/instance/index-of"); +},{"core-js-pure/stable/instance/index-of":215}],11:[function(require,module,exports){ +module.exports = require("core-js-pure/stable/instance/slice"); +},{"core-js-pure/stable/instance/slice":216}],12:[function(require,module,exports){ +module.exports = require("core-js-pure/stable/instance/sort"); +},{"core-js-pure/stable/instance/sort":217}],13:[function(require,module,exports){ +module.exports = require("core-js-pure/stable/object/create"); +},{"core-js-pure/stable/object/create":218}],14:[function(require,module,exports){ +module.exports = require("core-js-pure/stable/object/define-property"); +},{"core-js-pure/stable/object/define-property":219}],15:[function(require,module,exports){ +module.exports = require("core-js-pure/stable/parse-int"); +},{"core-js-pure/stable/parse-int":220}],16:[function(require,module,exports){ +module.exports = require("core-js-pure/stable/symbol"); +},{"core-js-pure/stable/symbol":221}],17:[function(require,module,exports){ +module.exports = require("core-js-pure/features/array/from"); +},{"core-js-pure/features/array/from":52}],18:[function(require,module,exports){ +module.exports = require("core-js-pure/features/array/is-array"); +},{"core-js-pure/features/array/is-array":53}],19:[function(require,module,exports){ +module.exports = require("core-js-pure/features/get-iterator-method"); +},{"core-js-pure/features/get-iterator-method":54}],20:[function(require,module,exports){ +module.exports = require("core-js-pure/features/instance/slice"); +},{"core-js-pure/features/instance/slice":55}],21:[function(require,module,exports){ +module.exports = require("core-js-pure/features/symbol"); +},{"core-js-pure/features/symbol":56}],22:[function(require,module,exports){ +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; + + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } + + return arr2; +} + +module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; +},{}],23:[function(require,module,exports){ +var _Array$isArray = require("@babel/runtime-corejs3/core-js/array/is-array"); + +function _arrayWithHoles(arr) { + if (_Array$isArray(arr)) return arr; +} + +module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports; +},{"@babel/runtime-corejs3/core-js/array/is-array":18}],24:[function(require,module,exports){ +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; +} + +module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports; +},{}],25:[function(require,module,exports){ +var _Symbol = require("@babel/runtime-corejs3/core-js/symbol"); + +var _getIteratorMethod = require("@babel/runtime-corejs3/core-js/get-iterator-method"); + +function _iterableToArrayLimit(arr, i) { + var _i = arr == null ? null : typeof _Symbol !== "undefined" && _getIteratorMethod(arr) || arr["@@iterator"]; + + if (_i == null) return; + var _arr = []; + var _n = true; + var _d = false; + + var _s, _e; + + try { + for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) _i["return"](); + } finally { + if (_d) throw _e; + } + } + + return _arr; +} + +module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports; +},{"@babel/runtime-corejs3/core-js/get-iterator-method":19,"@babel/runtime-corejs3/core-js/symbol":21}],26:[function(require,module,exports){ +function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} + +module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports; +},{}],27:[function(require,module,exports){ +var arrayWithHoles = require("./arrayWithHoles.js"); + +var iterableToArrayLimit = require("./iterableToArrayLimit.js"); + +var unsupportedIterableToArray = require("./unsupportedIterableToArray.js"); + +var nonIterableRest = require("./nonIterableRest.js"); + +function _slicedToArray(arr, i) { + return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest(); +} + +module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; +},{"./arrayWithHoles.js":23,"./iterableToArrayLimit.js":25,"./nonIterableRest.js":26,"./unsupportedIterableToArray.js":28}],28:[function(require,module,exports){ +var _sliceInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/slice"); + +var _Array$from = require("@babel/runtime-corejs3/core-js/array/from"); + +var arrayLikeToArray = require("./arrayLikeToArray.js"); + +function _unsupportedIterableToArray(o, minLen) { + var _context; + + if (!o) return; + if (typeof o === "string") return arrayLikeToArray(o, minLen); + + var n = _sliceInstanceProperty(_context = Object.prototype.toString.call(o)).call(_context, 8, -1); + + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return _Array$from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen); +} + +module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; +},{"./arrayLikeToArray.js":22,"@babel/runtime-corejs3/core-js/array/from":17,"@babel/runtime-corejs3/core-js/instance/slice":20}],29:[function(require,module,exports){ +var parent = require('../../stable/array/from'); + +module.exports = parent; + +},{"../../stable/array/from":208}],30:[function(require,module,exports){ +var parent = require('../../stable/array/is-array'); + +module.exports = parent; + +},{"../../stable/array/is-array":209}],31:[function(require,module,exports){ +var parent = require('../stable/get-iterator-method'); + +module.exports = parent; + +},{"../stable/get-iterator-method":211}],32:[function(require,module,exports){ +var parent = require('../../stable/instance/slice'); + +module.exports = parent; + +},{"../../stable/instance/slice":216}],33:[function(require,module,exports){ +var parent = require('../../stable/symbol'); + +module.exports = parent; + +},{"../../stable/symbol":221}],34:[function(require,module,exports){ +require('../../modules/es.string.iterator'); +require('../../modules/es.array.from'); +var path = require('../../internals/path'); + +module.exports = path.Array.from; + +},{"../../internals/path":142,"../../modules/es.array.from":170,"../../modules/es.string.iterator":184}],35:[function(require,module,exports){ +require('../../modules/es.array.is-array'); +var path = require('../../internals/path'); + +module.exports = path.Array.isArray; + +},{"../../internals/path":142,"../../modules/es.array.is-array":172}],36:[function(require,module,exports){ +require('../../../modules/es.array.concat'); +var entryVirtual = require('../../../internals/entry-virtual'); + +module.exports = entryVirtual('Array').concat; + +},{"../../../internals/entry-virtual":91,"../../../modules/es.array.concat":168}],37:[function(require,module,exports){ +require('../../../modules/es.array.for-each'); +var entryVirtual = require('../../../internals/entry-virtual'); + +module.exports = entryVirtual('Array').forEach; + +},{"../../../internals/entry-virtual":91,"../../../modules/es.array.for-each":169}],38:[function(require,module,exports){ +require('../../../modules/es.array.index-of'); +var entryVirtual = require('../../../internals/entry-virtual'); + +module.exports = entryVirtual('Array').indexOf; + +},{"../../../internals/entry-virtual":91,"../../../modules/es.array.index-of":171}],39:[function(require,module,exports){ +require('../../../modules/es.array.slice'); +var entryVirtual = require('../../../internals/entry-virtual'); + +module.exports = entryVirtual('Array').slice; + +},{"../../../internals/entry-virtual":91,"../../../modules/es.array.slice":174}],40:[function(require,module,exports){ +require('../../../modules/es.array.sort'); +var entryVirtual = require('../../../internals/entry-virtual'); + +module.exports = entryVirtual('Array').sort; + +},{"../../../internals/entry-virtual":91,"../../../modules/es.array.sort":175}],41:[function(require,module,exports){ +require('../modules/es.array.iterator'); +require('../modules/es.string.iterator'); +var getIteratorMethod = require('../internals/get-iterator-method'); + +module.exports = getIteratorMethod; + +},{"../internals/get-iterator-method":101,"../modules/es.array.iterator":173,"../modules/es.string.iterator":184}],42:[function(require,module,exports){ +var isPrototypeOf = require('../../internals/object-is-prototype-of'); +var method = require('../array/virtual/concat'); + +var ArrayPrototype = Array.prototype; + +module.exports = function (it) { + var own = it.concat; + return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.concat) ? method : own; +}; + +},{"../../internals/object-is-prototype-of":135,"../array/virtual/concat":36}],43:[function(require,module,exports){ +var isPrototypeOf = require('../../internals/object-is-prototype-of'); +var flags = require('../regexp/flags'); + +var RegExpPrototype = RegExp.prototype; + +module.exports = function (it) { + return (it === RegExpPrototype || isPrototypeOf(RegExpPrototype, it)) ? flags(it) : it.flags; +}; + +},{"../../internals/object-is-prototype-of":135,"../regexp/flags":50}],44:[function(require,module,exports){ +var isPrototypeOf = require('../../internals/object-is-prototype-of'); +var method = require('../array/virtual/index-of'); + +var ArrayPrototype = Array.prototype; + +module.exports = function (it) { + var own = it.indexOf; + return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.indexOf) ? method : own; +}; + +},{"../../internals/object-is-prototype-of":135,"../array/virtual/index-of":38}],45:[function(require,module,exports){ +var isPrototypeOf = require('../../internals/object-is-prototype-of'); +var method = require('../array/virtual/slice'); + +var ArrayPrototype = Array.prototype; + +module.exports = function (it) { + var own = it.slice; + return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.slice) ? method : own; +}; + +},{"../../internals/object-is-prototype-of":135,"../array/virtual/slice":39}],46:[function(require,module,exports){ +var isPrototypeOf = require('../../internals/object-is-prototype-of'); +var method = require('../array/virtual/sort'); + +var ArrayPrototype = Array.prototype; + +module.exports = function (it) { + var own = it.sort; + return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.sort) ? method : own; +}; + +},{"../../internals/object-is-prototype-of":135,"../array/virtual/sort":40}],47:[function(require,module,exports){ +require('../../modules/es.object.create'); +var path = require('../../internals/path'); + +var Object = path.Object; + +module.exports = function create(P, D) { + return Object.create(P, D); +}; + +},{"../../internals/path":142,"../../modules/es.object.create":178}],48:[function(require,module,exports){ +require('../../modules/es.object.define-property'); +var path = require('../../internals/path'); + +var Object = path.Object; + +var defineProperty = module.exports = function defineProperty(it, key, desc) { + return Object.defineProperty(it, key, desc); +}; + +if (Object.defineProperty.sham) defineProperty.sham = true; + +},{"../../internals/path":142,"../../modules/es.object.define-property":179}],49:[function(require,module,exports){ +require('../modules/es.parse-int'); +var path = require('../internals/path'); + +module.exports = path.parseInt; + +},{"../internals/path":142,"../modules/es.parse-int":181}],50:[function(require,module,exports){ +require('../../modules/es.regexp.flags'); +var uncurryThis = require('../../internals/function-uncurry-this'); +var regExpFlags = require('../../internals/regexp-flags'); + +module.exports = uncurryThis(regExpFlags); + +},{"../../internals/function-uncurry-this":99,"../../internals/regexp-flags":144,"../../modules/es.regexp.flags":183}],51:[function(require,module,exports){ +require('../../modules/es.array.concat'); +require('../../modules/es.object.to-string'); +require('../../modules/es.symbol'); +require('../../modules/es.symbol.async-iterator'); +require('../../modules/es.symbol.description'); +require('../../modules/es.symbol.has-instance'); +require('../../modules/es.symbol.is-concat-spreadable'); +require('../../modules/es.symbol.iterator'); +require('../../modules/es.symbol.match'); +require('../../modules/es.symbol.match-all'); +require('../../modules/es.symbol.replace'); +require('../../modules/es.symbol.search'); +require('../../modules/es.symbol.species'); +require('../../modules/es.symbol.split'); +require('../../modules/es.symbol.to-primitive'); +require('../../modules/es.symbol.to-string-tag'); +require('../../modules/es.symbol.unscopables'); +require('../../modules/es.json.to-string-tag'); +require('../../modules/es.math.to-string-tag'); +require('../../modules/es.reflect.to-string-tag'); +var path = require('../../internals/path'); + +module.exports = path.Symbol; + +},{"../../internals/path":142,"../../modules/es.array.concat":168,"../../modules/es.json.to-string-tag":176,"../../modules/es.math.to-string-tag":177,"../../modules/es.object.to-string":180,"../../modules/es.reflect.to-string-tag":182,"../../modules/es.symbol":190,"../../modules/es.symbol.async-iterator":185,"../../modules/es.symbol.description":186,"../../modules/es.symbol.has-instance":187,"../../modules/es.symbol.is-concat-spreadable":188,"../../modules/es.symbol.iterator":189,"../../modules/es.symbol.match":192,"../../modules/es.symbol.match-all":191,"../../modules/es.symbol.replace":193,"../../modules/es.symbol.search":194,"../../modules/es.symbol.species":195,"../../modules/es.symbol.split":196,"../../modules/es.symbol.to-primitive":197,"../../modules/es.symbol.to-string-tag":198,"../../modules/es.symbol.unscopables":199}],52:[function(require,module,exports){ +var parent = require('../../actual/array/from'); + +module.exports = parent; + +},{"../../actual/array/from":29}],53:[function(require,module,exports){ +var parent = require('../../actual/array/is-array'); + +module.exports = parent; + +},{"../../actual/array/is-array":30}],54:[function(require,module,exports){ +var parent = require('../actual/get-iterator-method'); + +module.exports = parent; + +},{"../actual/get-iterator-method":31}],55:[function(require,module,exports){ +var parent = require('../../actual/instance/slice'); + +module.exports = parent; + +},{"../../actual/instance/slice":32}],56:[function(require,module,exports){ +var parent = require('../../actual/symbol'); +require('../../modules/esnext.symbol.async-dispose'); +require('../../modules/esnext.symbol.dispose'); +require('../../modules/esnext.symbol.matcher'); +require('../../modules/esnext.symbol.metadata'); +require('../../modules/esnext.symbol.observable'); +// TODO: Remove from `core-js@4` +require('../../modules/esnext.symbol.pattern-match'); +// TODO: Remove from `core-js@4` +require('../../modules/esnext.symbol.replace-all'); + +module.exports = parent; + +},{"../../actual/symbol":33,"../../modules/esnext.symbol.async-dispose":200,"../../modules/esnext.symbol.dispose":201,"../../modules/esnext.symbol.matcher":202,"../../modules/esnext.symbol.metadata":203,"../../modules/esnext.symbol.observable":204,"../../modules/esnext.symbol.pattern-match":205,"../../modules/esnext.symbol.replace-all":206}],57:[function(require,module,exports){ +var global = require('../internals/global'); +var isCallable = require('../internals/is-callable'); +var tryToString = require('../internals/try-to-string'); + +var TypeError = global.TypeError; + +// `Assert: IsCallable(argument) is true` +module.exports = function (argument) { + if (isCallable(argument)) return argument; + throw TypeError(tryToString(argument) + ' is not a function'); +}; + +},{"../internals/global":104,"../internals/is-callable":114,"../internals/try-to-string":162}],58:[function(require,module,exports){ +var global = require('../internals/global'); +var isCallable = require('../internals/is-callable'); + +var String = global.String; +var TypeError = global.TypeError; + +module.exports = function (argument) { + if (typeof argument == 'object' || isCallable(argument)) return argument; + throw TypeError("Can't set " + String(argument) + ' as a prototype'); +}; + +},{"../internals/global":104,"../internals/is-callable":114}],59:[function(require,module,exports){ +module.exports = function () { /* empty */ }; + +},{}],60:[function(require,module,exports){ +var global = require('../internals/global'); +var isObject = require('../internals/is-object'); + +var String = global.String; +var TypeError = global.TypeError; + +// `Assert: Type(argument) is Object` +module.exports = function (argument) { + if (isObject(argument)) return argument; + throw TypeError(String(argument) + ' is not an object'); +}; + +},{"../internals/global":104,"../internals/is-object":117}],61:[function(require,module,exports){ +'use strict'; +var $forEach = require('../internals/array-iteration').forEach; +var arrayMethodIsStrict = require('../internals/array-method-is-strict'); + +var STRICT_METHOD = arrayMethodIsStrict('forEach'); + +// `Array.prototype.forEach` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.foreach +module.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) { + return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); +// eslint-disable-next-line es/no-array-prototype-foreach -- safe +} : [].forEach; + +},{"../internals/array-iteration":64,"../internals/array-method-is-strict":66}],62:[function(require,module,exports){ +'use strict'; +var global = require('../internals/global'); +var bind = require('../internals/function-bind-context'); +var call = require('../internals/function-call'); +var toObject = require('../internals/to-object'); +var callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing'); +var isArrayIteratorMethod = require('../internals/is-array-iterator-method'); +var isConstructor = require('../internals/is-constructor'); +var lengthOfArrayLike = require('../internals/length-of-array-like'); +var createProperty = require('../internals/create-property'); +var getIterator = require('../internals/get-iterator'); +var getIteratorMethod = require('../internals/get-iterator-method'); + +var Array = global.Array; + +// `Array.from` method implementation +// https://tc39.es/ecma262/#sec-array.from +module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { + var O = toObject(arrayLike); + var IS_CONSTRUCTOR = isConstructor(this); + var argumentsLength = arguments.length; + var mapfn = argumentsLength > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined); + var iteratorMethod = getIteratorMethod(O); + var index = 0; + var length, result, step, iterator, next, value; + // if the target is not iterable or it's an array with the default iterator - use a simple case + if (iteratorMethod && !(this == Array && isArrayIteratorMethod(iteratorMethod))) { + iterator = getIterator(O, iteratorMethod); + next = iterator.next; + result = IS_CONSTRUCTOR ? new this() : []; + for (;!(step = call(next, iterator)).done; index++) { + value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value; + createProperty(result, index, value); + } + } else { + length = lengthOfArrayLike(O); + result = IS_CONSTRUCTOR ? new this(length) : Array(length); + for (;length > index; index++) { + value = mapping ? mapfn(O[index], index) : O[index]; + createProperty(result, index, value); + } + } + result.length = index; + return result; +}; + +},{"../internals/call-with-safe-iteration-closing":72,"../internals/create-property":80,"../internals/function-bind-context":96,"../internals/function-call":97,"../internals/get-iterator":102,"../internals/get-iterator-method":101,"../internals/global":104,"../internals/is-array-iterator-method":112,"../internals/is-constructor":115,"../internals/length-of-array-like":123,"../internals/to-object":157}],63:[function(require,module,exports){ +var toIndexedObject = require('../internals/to-indexed-object'); +var toAbsoluteIndex = require('../internals/to-absolute-index'); +var lengthOfArrayLike = require('../internals/length-of-array-like'); + +// `Array.prototype.{ indexOf, includes }` methods implementation +var createMethod = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIndexedObject($this); + var length = lengthOfArrayLike(O); + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare -- NaN check + if (IS_INCLUDES && el != el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare -- NaN check + if (value != value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) { + if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; +}; + +module.exports = { + // `Array.prototype.includes` method + // https://tc39.es/ecma262/#sec-array.prototype.includes + includes: createMethod(true), + // `Array.prototype.indexOf` method + // https://tc39.es/ecma262/#sec-array.prototype.indexof + indexOf: createMethod(false) +}; + +},{"../internals/length-of-array-like":123,"../internals/to-absolute-index":153,"../internals/to-indexed-object":154}],64:[function(require,module,exports){ +var bind = require('../internals/function-bind-context'); +var uncurryThis = require('../internals/function-uncurry-this'); +var IndexedObject = require('../internals/indexed-object'); +var toObject = require('../internals/to-object'); +var lengthOfArrayLike = require('../internals/length-of-array-like'); +var arraySpeciesCreate = require('../internals/array-species-create'); + +var push = uncurryThis([].push); + +// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation +var createMethod = function (TYPE) { + var IS_MAP = TYPE == 1; + var IS_FILTER = TYPE == 2; + var IS_SOME = TYPE == 3; + var IS_EVERY = TYPE == 4; + var IS_FIND_INDEX = TYPE == 6; + var IS_FILTER_REJECT = TYPE == 7; + var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; + return function ($this, callbackfn, that, specificCreate) { + var O = toObject($this); + var self = IndexedObject(O); + var boundFunction = bind(callbackfn, that); + var length = lengthOfArrayLike(self); + var index = 0; + var create = specificCreate || arraySpeciesCreate; + var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined; + var value, result; + for (;length > index; index++) if (NO_HOLES || index in self) { + value = self[index]; + result = boundFunction(value, index, O); + if (TYPE) { + if (IS_MAP) target[index] = result; // map + else if (result) switch (TYPE) { + case 3: return true; // some + case 5: return value; // find + case 6: return index; // findIndex + case 2: push(target, value); // filter + } else switch (TYPE) { + case 4: return false; // every + case 7: push(target, value); // filterReject + } + } + } + return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target; + }; +}; + +module.exports = { + // `Array.prototype.forEach` method + // https://tc39.es/ecma262/#sec-array.prototype.foreach + forEach: createMethod(0), + // `Array.prototype.map` method + // https://tc39.es/ecma262/#sec-array.prototype.map + map: createMethod(1), + // `Array.prototype.filter` method + // https://tc39.es/ecma262/#sec-array.prototype.filter + filter: createMethod(2), + // `Array.prototype.some` method + // https://tc39.es/ecma262/#sec-array.prototype.some + some: createMethod(3), + // `Array.prototype.every` method + // https://tc39.es/ecma262/#sec-array.prototype.every + every: createMethod(4), + // `Array.prototype.find` method + // https://tc39.es/ecma262/#sec-array.prototype.find + find: createMethod(5), + // `Array.prototype.findIndex` method + // https://tc39.es/ecma262/#sec-array.prototype.findIndex + findIndex: createMethod(6), + // `Array.prototype.filterReject` method + // https://github.com/tc39/proposal-array-filtering + filterReject: createMethod(7) +}; + +},{"../internals/array-species-create":71,"../internals/function-bind-context":96,"../internals/function-uncurry-this":99,"../internals/indexed-object":109,"../internals/length-of-array-like":123,"../internals/to-object":157}],65:[function(require,module,exports){ +var fails = require('../internals/fails'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var V8_VERSION = require('../internals/engine-v8-version'); + +var SPECIES = wellKnownSymbol('species'); + +module.exports = function (METHOD_NAME) { + // We can't use this feature detection in V8 since it causes + // deoptimization and serious performance degradation + // https://github.com/zloirock/core-js/issues/677 + return V8_VERSION >= 51 || !fails(function () { + var array = []; + var constructor = array.constructor = {}; + constructor[SPECIES] = function () { + return { foo: 1 }; + }; + return array[METHOD_NAME](Boolean).foo !== 1; + }); +}; + +},{"../internals/engine-v8-version":89,"../internals/fails":94,"../internals/well-known-symbol":166}],66:[function(require,module,exports){ +'use strict'; +var fails = require('../internals/fails'); + +module.exports = function (METHOD_NAME, argument) { + var method = [][METHOD_NAME]; + return !!method && fails(function () { + // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing + method.call(null, argument || function () { throw 1; }, 1); + }); +}; + +},{"../internals/fails":94}],67:[function(require,module,exports){ +var global = require('../internals/global'); +var toAbsoluteIndex = require('../internals/to-absolute-index'); +var lengthOfArrayLike = require('../internals/length-of-array-like'); +var createProperty = require('../internals/create-property'); + +var Array = global.Array; +var max = Math.max; + +module.exports = function (O, start, end) { + var length = lengthOfArrayLike(O); + var k = toAbsoluteIndex(start, length); + var fin = toAbsoluteIndex(end === undefined ? length : end, length); + var result = Array(max(fin - k, 0)); + for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]); + result.length = n; + return result; +}; + +},{"../internals/create-property":80,"../internals/global":104,"../internals/length-of-array-like":123,"../internals/to-absolute-index":153}],68:[function(require,module,exports){ +var uncurryThis = require('../internals/function-uncurry-this'); + +module.exports = uncurryThis([].slice); + +},{"../internals/function-uncurry-this":99}],69:[function(require,module,exports){ +var arraySlice = require('../internals/array-slice-simple'); + +var floor = Math.floor; + +var mergeSort = function (array, comparefn) { + var length = array.length; + var middle = floor(length / 2); + return length < 8 ? insertionSort(array, comparefn) : merge( + array, + mergeSort(arraySlice(array, 0, middle), comparefn), + mergeSort(arraySlice(array, middle), comparefn), + comparefn + ); +}; + +var insertionSort = function (array, comparefn) { + var length = array.length; + var i = 1; + var element, j; + + while (i < length) { + j = i; + element = array[i]; + while (j && comparefn(array[j - 1], element) > 0) { + array[j] = array[--j]; + } + if (j !== i++) array[j] = element; + } return array; +}; + +var merge = function (array, left, right, comparefn) { + var llength = left.length; + var rlength = right.length; + var lindex = 0; + var rindex = 0; + + while (lindex < llength || rindex < rlength) { + array[lindex + rindex] = (lindex < llength && rindex < rlength) + ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++] + : lindex < llength ? left[lindex++] : right[rindex++]; + } return array; +}; + +module.exports = mergeSort; + +},{"../internals/array-slice-simple":67}],70:[function(require,module,exports){ +var global = require('../internals/global'); +var isArray = require('../internals/is-array'); +var isConstructor = require('../internals/is-constructor'); +var isObject = require('../internals/is-object'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var SPECIES = wellKnownSymbol('species'); +var Array = global.Array; + +// a part of `ArraySpeciesCreate` abstract operation +// https://tc39.es/ecma262/#sec-arrayspeciescreate +module.exports = function (originalArray) { + var C; + if (isArray(originalArray)) { + C = originalArray.constructor; + // cross-realm fallback + if (isConstructor(C) && (C === Array || isArray(C.prototype))) C = undefined; + else if (isObject(C)) { + C = C[SPECIES]; + if (C === null) C = undefined; + } + } return C === undefined ? Array : C; +}; + +},{"../internals/global":104,"../internals/is-array":113,"../internals/is-constructor":115,"../internals/is-object":117,"../internals/well-known-symbol":166}],71:[function(require,module,exports){ +var arraySpeciesConstructor = require('../internals/array-species-constructor'); + +// `ArraySpeciesCreate` abstract operation +// https://tc39.es/ecma262/#sec-arrayspeciescreate +module.exports = function (originalArray, length) { + return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length); +}; + +},{"../internals/array-species-constructor":70}],72:[function(require,module,exports){ +var anObject = require('../internals/an-object'); +var iteratorClose = require('../internals/iterator-close'); + +// call something on iterator step with safe closing on error +module.exports = function (iterator, fn, value, ENTRIES) { + try { + return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); + } catch (error) { + iteratorClose(iterator, 'throw', error); + } +}; + +},{"../internals/an-object":60,"../internals/iterator-close":120}],73:[function(require,module,exports){ +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var ITERATOR = wellKnownSymbol('iterator'); +var SAFE_CLOSING = false; + +try { + var called = 0; + var iteratorWithReturn = { + next: function () { + return { done: !!called++ }; + }, + 'return': function () { + SAFE_CLOSING = true; + } + }; + iteratorWithReturn[ITERATOR] = function () { + return this; + }; + // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing + Array.from(iteratorWithReturn, function () { throw 2; }); +} catch (error) { /* empty */ } + +module.exports = function (exec, SKIP_CLOSING) { + if (!SKIP_CLOSING && !SAFE_CLOSING) return false; + var ITERATION_SUPPORT = false; + try { + var object = {}; + object[ITERATOR] = function () { + return { + next: function () { + return { done: ITERATION_SUPPORT = true }; + } + }; + }; + exec(object); + } catch (error) { /* empty */ } + return ITERATION_SUPPORT; +}; + +},{"../internals/well-known-symbol":166}],74:[function(require,module,exports){ +var uncurryThis = require('../internals/function-uncurry-this'); + +var toString = uncurryThis({}.toString); +var stringSlice = uncurryThis(''.slice); + +module.exports = function (it) { + return stringSlice(toString(it), 8, -1); +}; + +},{"../internals/function-uncurry-this":99}],75:[function(require,module,exports){ +var global = require('../internals/global'); +var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support'); +var isCallable = require('../internals/is-callable'); +var classofRaw = require('../internals/classof-raw'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var Object = global.Object; + +// ES3 wrong here +var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments'; + +// fallback for IE11 Script Access Denied error +var tryGet = function (it, key) { + try { + return it[key]; + } catch (error) { /* empty */ } +}; + +// getting tag from ES6+ `Object.prototype.toString` +module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { + var O, tag, result; + return it === undefined ? 'Undefined' : it === null ? 'Null' + // @@toStringTag case + : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag + // builtinTag case + : CORRECT_ARGUMENTS ? classofRaw(O) + // ES3 arguments fallback + : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result; +}; + +},{"../internals/classof-raw":74,"../internals/global":104,"../internals/is-callable":114,"../internals/to-string-tag-support":160,"../internals/well-known-symbol":166}],76:[function(require,module,exports){ +var fails = require('../internals/fails'); + +module.exports = !fails(function () { + function F() { /* empty */ } + F.prototype.constructor = null; + // eslint-disable-next-line es/no-object-getprototypeof -- required for testing + return Object.getPrototypeOf(new F()) !== F.prototype; +}); + +},{"../internals/fails":94}],77:[function(require,module,exports){ +'use strict'; +var IteratorPrototype = require('../internals/iterators-core').IteratorPrototype; +var create = require('../internals/object-create'); +var createPropertyDescriptor = require('../internals/create-property-descriptor'); +var setToStringTag = require('../internals/set-to-string-tag'); +var Iterators = require('../internals/iterators'); + +var returnThis = function () { return this; }; + +module.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) { + var TO_STRING_TAG = NAME + ' Iterator'; + IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) }); + setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); + Iterators[TO_STRING_TAG] = returnThis; + return IteratorConstructor; +}; + +},{"../internals/create-property-descriptor":79,"../internals/iterators":122,"../internals/iterators-core":121,"../internals/object-create":127,"../internals/set-to-string-tag":147}],78:[function(require,module,exports){ +var DESCRIPTORS = require('../internals/descriptors'); +var definePropertyModule = require('../internals/object-define-property'); +var createPropertyDescriptor = require('../internals/create-property-descriptor'); + +module.exports = DESCRIPTORS ? function (object, key, value) { + return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + +},{"../internals/create-property-descriptor":79,"../internals/descriptors":83,"../internals/object-define-property":129}],79:[function(require,module,exports){ +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + +},{}],80:[function(require,module,exports){ +'use strict'; +var toPropertyKey = require('../internals/to-property-key'); +var definePropertyModule = require('../internals/object-define-property'); +var createPropertyDescriptor = require('../internals/create-property-descriptor'); + +module.exports = function (object, key, value) { + var propertyKey = toPropertyKey(key); + if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); + else object[propertyKey] = value; +}; + +},{"../internals/create-property-descriptor":79,"../internals/object-define-property":129,"../internals/to-property-key":159}],81:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var call = require('../internals/function-call'); +var IS_PURE = require('../internals/is-pure'); +var FunctionName = require('../internals/function-name'); +var isCallable = require('../internals/is-callable'); +var createIteratorConstructor = require('../internals/create-iterator-constructor'); +var getPrototypeOf = require('../internals/object-get-prototype-of'); +var setPrototypeOf = require('../internals/object-set-prototype-of'); +var setToStringTag = require('../internals/set-to-string-tag'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var redefine = require('../internals/redefine'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var Iterators = require('../internals/iterators'); +var IteratorsCore = require('../internals/iterators-core'); + +var PROPER_FUNCTION_NAME = FunctionName.PROPER; +var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE; +var IteratorPrototype = IteratorsCore.IteratorPrototype; +var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; +var ITERATOR = wellKnownSymbol('iterator'); +var KEYS = 'keys'; +var VALUES = 'values'; +var ENTRIES = 'entries'; + +var returnThis = function () { return this; }; + +module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { + createIteratorConstructor(IteratorConstructor, NAME, next); + + var getIterationMethod = function (KIND) { + if (KIND === DEFAULT && defaultIterator) return defaultIterator; + if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND]; + switch (KIND) { + case KEYS: return function keys() { return new IteratorConstructor(this, KIND); }; + case VALUES: return function values() { return new IteratorConstructor(this, KIND); }; + case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); }; + } return function () { return new IteratorConstructor(this); }; + }; + + var TO_STRING_TAG = NAME + ' Iterator'; + var INCORRECT_VALUES_NAME = false; + var IterablePrototype = Iterable.prototype; + var nativeIterator = IterablePrototype[ITERATOR] + || IterablePrototype['@@iterator'] + || DEFAULT && IterablePrototype[DEFAULT]; + var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); + var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; + var CurrentIteratorPrototype, methods, KEY; + + // fix native + if (anyNativeIterator) { + CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); + if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { + if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { + if (setPrototypeOf) { + setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); + } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) { + redefine(CurrentIteratorPrototype, ITERATOR, returnThis); + } + } + // Set @@toStringTag to native iterators + setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); + if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis; + } + } + + // fix Array.prototype.{ values, @@iterator }.name in V8 / FF + if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) { + if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) { + createNonEnumerableProperty(IterablePrototype, 'name', VALUES); + } else { + INCORRECT_VALUES_NAME = true; + defaultIterator = function values() { return call(nativeIterator, this); }; + } + } + + // export additional methods + if (DEFAULT) { + methods = { + values: getIterationMethod(VALUES), + keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), + entries: getIterationMethod(ENTRIES) + }; + if (FORCED) for (KEY in methods) { + if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { + redefine(IterablePrototype, KEY, methods[KEY]); + } + } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); + } + + // define iterator + if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { + redefine(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT }); + } + Iterators[NAME] = defaultIterator; + + return methods; +}; + +},{"../internals/create-iterator-constructor":77,"../internals/create-non-enumerable-property":78,"../internals/export":93,"../internals/function-call":97,"../internals/function-name":98,"../internals/is-callable":114,"../internals/is-pure":118,"../internals/iterators":122,"../internals/iterators-core":121,"../internals/object-get-prototype-of":134,"../internals/object-set-prototype-of":139,"../internals/redefine":143,"../internals/set-to-string-tag":147,"../internals/well-known-symbol":166}],82:[function(require,module,exports){ +var path = require('../internals/path'); +var hasOwn = require('../internals/has-own-property'); +var wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped'); +var defineProperty = require('../internals/object-define-property').f; + +module.exports = function (NAME) { + var Symbol = path.Symbol || (path.Symbol = {}); + if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, { + value: wrappedWellKnownSymbolModule.f(NAME) + }); +}; + +},{"../internals/has-own-property":105,"../internals/object-define-property":129,"../internals/path":142,"../internals/well-known-symbol-wrapped":165}],83:[function(require,module,exports){ +var fails = require('../internals/fails'); + +// Detect IE8's incomplete defineProperty implementation +module.exports = !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; +}); + +},{"../internals/fails":94}],84:[function(require,module,exports){ +var global = require('../internals/global'); +var isObject = require('../internals/is-object'); + +var document = global.document; +// typeof document.createElement is 'object' in old IE +var EXISTS = isObject(document) && isObject(document.createElement); + +module.exports = function (it) { + return EXISTS ? document.createElement(it) : {}; +}; + +},{"../internals/global":104,"../internals/is-object":117}],85:[function(require,module,exports){ +// iterable DOM collections +// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods +module.exports = { + CSSRuleList: 0, + CSSStyleDeclaration: 0, + CSSValueList: 0, + ClientRectList: 0, + DOMRectList: 0, + DOMStringList: 0, + DOMTokenList: 1, + DataTransferItemList: 0, + FileList: 0, + HTMLAllCollection: 0, + HTMLCollection: 0, + HTMLFormElement: 0, + HTMLSelectElement: 0, + MediaList: 0, + MimeTypeArray: 0, + NamedNodeMap: 0, + NodeList: 1, + PaintRequestList: 0, + Plugin: 0, + PluginArray: 0, + SVGLengthList: 0, + SVGNumberList: 0, + SVGPathSegList: 0, + SVGPointList: 0, + SVGStringList: 0, + SVGTransformList: 0, + SourceBufferList: 0, + StyleSheetList: 0, + TextTrackCueList: 0, + TextTrackList: 0, + TouchList: 0 +}; + +},{}],86:[function(require,module,exports){ +var userAgent = require('../internals/engine-user-agent'); + +var firefox = userAgent.match(/firefox\/(\d+)/i); + +module.exports = !!firefox && +firefox[1]; + +},{"../internals/engine-user-agent":88}],87:[function(require,module,exports){ +var UA = require('../internals/engine-user-agent'); + +module.exports = /MSIE|Trident/.test(UA); + +},{"../internals/engine-user-agent":88}],88:[function(require,module,exports){ +var getBuiltIn = require('../internals/get-built-in'); + +module.exports = getBuiltIn('navigator', 'userAgent') || ''; + +},{"../internals/get-built-in":100}],89:[function(require,module,exports){ +var global = require('../internals/global'); +var userAgent = require('../internals/engine-user-agent'); + +var process = global.process; +var Deno = global.Deno; +var versions = process && process.versions || Deno && Deno.version; +var v8 = versions && versions.v8; +var match, version; + +if (v8) { + match = v8.split('.'); + // in old Chrome, versions of V8 isn't V8 = Chrome / 10 + // but their correct versions are not interesting for us + version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); +} + +// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0` +// so check `userAgent` even if `.v8` exists, but 0 +if (!version && userAgent) { + match = userAgent.match(/Edge\/(\d+)/); + if (!match || match[1] >= 74) { + match = userAgent.match(/Chrome\/(\d+)/); + if (match) version = +match[1]; + } +} + +module.exports = version; + +},{"../internals/engine-user-agent":88,"../internals/global":104}],90:[function(require,module,exports){ +var userAgent = require('../internals/engine-user-agent'); + +var webkit = userAgent.match(/AppleWebKit\/(\d+)\./); + +module.exports = !!webkit && +webkit[1]; + +},{"../internals/engine-user-agent":88}],91:[function(require,module,exports){ +var path = require('../internals/path'); + +module.exports = function (CONSTRUCTOR) { + return path[CONSTRUCTOR + 'Prototype']; +}; + +},{"../internals/path":142}],92:[function(require,module,exports){ +// IE8- don't enum bug keys +module.exports = [ + 'constructor', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toLocaleString', + 'toString', + 'valueOf' +]; + +},{}],93:[function(require,module,exports){ +'use strict'; +var global = require('../internals/global'); +var apply = require('../internals/function-apply'); +var uncurryThis = require('../internals/function-uncurry-this'); +var isCallable = require('../internals/is-callable'); +var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f; +var isForced = require('../internals/is-forced'); +var path = require('../internals/path'); +var bind = require('../internals/function-bind-context'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var hasOwn = require('../internals/has-own-property'); + +var wrapConstructor = function (NativeConstructor) { + var Wrapper = function (a, b, c) { + if (this instanceof Wrapper) { + switch (arguments.length) { + case 0: return new NativeConstructor(); + case 1: return new NativeConstructor(a); + case 2: return new NativeConstructor(a, b); + } return new NativeConstructor(a, b, c); + } return apply(NativeConstructor, this, arguments); + }; + Wrapper.prototype = NativeConstructor.prototype; + return Wrapper; +}; + +/* + options.target - name of the target object + options.global - target is the global object + options.stat - export as static methods of target + options.proto - export as prototype methods of target + options.real - real prototype method for the `pure` version + options.forced - export even if the native feature is available + options.bind - bind methods to the target, required for the `pure` version + options.wrap - wrap constructors to preventing global pollution, required for the `pure` version + options.unsafe - use the simple assignment of property instead of delete + defineProperty + options.sham - add a flag to not completely full polyfills + options.enumerable - export as enumerable property + options.noTargetGet - prevent calling a getter on target + options.name - the .name of the function if it does not match the key +*/ +module.exports = function (options, source) { + var TARGET = options.target; + var GLOBAL = options.global; + var STATIC = options.stat; + var PROTO = options.proto; + + var nativeSource = GLOBAL ? global : STATIC ? global[TARGET] : (global[TARGET] || {}).prototype; + + var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET]; + var targetPrototype = target.prototype; + + var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE; + var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor; + + for (key in source) { + FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); + // contains in native + USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key); + + targetProperty = target[key]; + + if (USE_NATIVE) if (options.noTargetGet) { + descriptor = getOwnPropertyDescriptor(nativeSource, key); + nativeProperty = descriptor && descriptor.value; + } else nativeProperty = nativeSource[key]; + + // export native or implementation + sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key]; + + if (USE_NATIVE && typeof targetProperty == typeof sourceProperty) continue; + + // bind timers to global for call from export context + if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, global); + // wrap global constructors for prevent changs in this version + else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty); + // make static versions for prototype methods + else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty); + // default case + else resultProperty = sourceProperty; + + // add a flag to not completely full polyfills + if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) { + createNonEnumerableProperty(resultProperty, 'sham', true); + } + + createNonEnumerableProperty(target, key, resultProperty); + + if (PROTO) { + VIRTUAL_PROTOTYPE = TARGET + 'Prototype'; + if (!hasOwn(path, VIRTUAL_PROTOTYPE)) { + createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {}); + } + // export virtual prototype methods + createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty); + // export real prototype methods + if (options.real && targetPrototype && !targetPrototype[key]) { + createNonEnumerableProperty(targetPrototype, key, sourceProperty); + } + } + } +}; + +},{"../internals/create-non-enumerable-property":78,"../internals/function-apply":95,"../internals/function-bind-context":96,"../internals/function-uncurry-this":99,"../internals/global":104,"../internals/has-own-property":105,"../internals/is-callable":114,"../internals/is-forced":116,"../internals/object-get-own-property-descriptor":130,"../internals/path":142}],94:[function(require,module,exports){ +module.exports = function (exec) { + try { + return !!exec(); + } catch (error) { + return true; + } +}; + +},{}],95:[function(require,module,exports){ +var FunctionPrototype = Function.prototype; +var apply = FunctionPrototype.apply; +var bind = FunctionPrototype.bind; +var call = FunctionPrototype.call; + +// eslint-disable-next-line es/no-reflect -- safe +module.exports = typeof Reflect == 'object' && Reflect.apply || (bind ? call.bind(apply) : function () { + return call.apply(apply, arguments); +}); + +},{}],96:[function(require,module,exports){ +var uncurryThis = require('../internals/function-uncurry-this'); +var aCallable = require('../internals/a-callable'); + +var bind = uncurryThis(uncurryThis.bind); + +// optional / simple context binding +module.exports = function (fn, that) { + aCallable(fn); + return that === undefined ? fn : bind ? bind(fn, that) : function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; + +},{"../internals/a-callable":57,"../internals/function-uncurry-this":99}],97:[function(require,module,exports){ +var call = Function.prototype.call; + +module.exports = call.bind ? call.bind(call) : function () { + return call.apply(call, arguments); +}; + +},{}],98:[function(require,module,exports){ +var DESCRIPTORS = require('../internals/descriptors'); +var hasOwn = require('../internals/has-own-property'); + +var FunctionPrototype = Function.prototype; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor; + +var EXISTS = hasOwn(FunctionPrototype, 'name'); +// additional protection from minified / mangled / dropped function names +var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something'; +var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable)); + +module.exports = { + EXISTS: EXISTS, + PROPER: PROPER, + CONFIGURABLE: CONFIGURABLE +}; + +},{"../internals/descriptors":83,"../internals/has-own-property":105}],99:[function(require,module,exports){ +var FunctionPrototype = Function.prototype; +var bind = FunctionPrototype.bind; +var call = FunctionPrototype.call; +var callBind = bind && bind.bind(call); + +module.exports = bind ? function (fn) { + return fn && callBind(call, fn); +} : function (fn) { + return fn && function () { + return call.apply(fn, arguments); + }; +}; + +},{}],100:[function(require,module,exports){ +var path = require('../internals/path'); +var global = require('../internals/global'); +var isCallable = require('../internals/is-callable'); + +var aFunction = function (variable) { + return isCallable(variable) ? variable : undefined; +}; + +module.exports = function (namespace, method) { + return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) + : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method]; +}; + +},{"../internals/global":104,"../internals/is-callable":114,"../internals/path":142}],101:[function(require,module,exports){ +var classof = require('../internals/classof'); +var getMethod = require('../internals/get-method'); +var Iterators = require('../internals/iterators'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var ITERATOR = wellKnownSymbol('iterator'); + +module.exports = function (it) { + if (it != undefined) return getMethod(it, ITERATOR) + || getMethod(it, '@@iterator') + || Iterators[classof(it)]; +}; + +},{"../internals/classof":75,"../internals/get-method":103,"../internals/iterators":122,"../internals/well-known-symbol":166}],102:[function(require,module,exports){ +var global = require('../internals/global'); +var call = require('../internals/function-call'); +var aCallable = require('../internals/a-callable'); +var anObject = require('../internals/an-object'); +var tryToString = require('../internals/try-to-string'); +var getIteratorMethod = require('../internals/get-iterator-method'); + +var TypeError = global.TypeError; + +module.exports = function (argument, usingIterator) { + var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator; + if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument)); + throw TypeError(tryToString(argument) + ' is not iterable'); +}; + +},{"../internals/a-callable":57,"../internals/an-object":60,"../internals/function-call":97,"../internals/get-iterator-method":101,"../internals/global":104,"../internals/try-to-string":162}],103:[function(require,module,exports){ +var aCallable = require('../internals/a-callable'); + +// `GetMethod` abstract operation +// https://tc39.es/ecma262/#sec-getmethod +module.exports = function (V, P) { + var func = V[P]; + return func == null ? undefined : aCallable(func); +}; + +},{"../internals/a-callable":57}],104:[function(require,module,exports){ +(function (global){(function (){ +var check = function (it) { + return it && it.Math == Math && it; +}; + +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 +module.exports = + // eslint-disable-next-line es/no-global-this -- safe + check(typeof globalThis == 'object' && globalThis) || + check(typeof window == 'object' && window) || + // eslint-disable-next-line no-restricted-globals -- safe + check(typeof self == 'object' && self) || + check(typeof global == 'object' && global) || + // eslint-disable-next-line no-new-func -- fallback + (function () { return this; })() || Function('return this')(); + +}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{}],105:[function(require,module,exports){ +var uncurryThis = require('../internals/function-uncurry-this'); +var toObject = require('../internals/to-object'); + +var hasOwnProperty = uncurryThis({}.hasOwnProperty); + +// `HasOwnProperty` abstract operation +// https://tc39.es/ecma262/#sec-hasownproperty +module.exports = Object.hasOwn || function hasOwn(it, key) { + return hasOwnProperty(toObject(it), key); +}; + +},{"../internals/function-uncurry-this":99,"../internals/to-object":157}],106:[function(require,module,exports){ +module.exports = {}; + +},{}],107:[function(require,module,exports){ +var getBuiltIn = require('../internals/get-built-in'); + +module.exports = getBuiltIn('document', 'documentElement'); + +},{"../internals/get-built-in":100}],108:[function(require,module,exports){ +var DESCRIPTORS = require('../internals/descriptors'); +var fails = require('../internals/fails'); +var createElement = require('../internals/document-create-element'); + +// Thank's IE8 for his funny defineProperty +module.exports = !DESCRIPTORS && !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- requied for testing + return Object.defineProperty(createElement('div'), 'a', { + get: function () { return 7; } + }).a != 7; +}); + +},{"../internals/descriptors":83,"../internals/document-create-element":84,"../internals/fails":94}],109:[function(require,module,exports){ +var global = require('../internals/global'); +var uncurryThis = require('../internals/function-uncurry-this'); +var fails = require('../internals/fails'); +var classof = require('../internals/classof-raw'); + +var Object = global.Object; +var split = uncurryThis(''.split); + +// fallback for non-array-like ES3 and non-enumerable old V8 strings +module.exports = fails(function () { + // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 + // eslint-disable-next-line no-prototype-builtins -- safe + return !Object('z').propertyIsEnumerable(0); +}) ? function (it) { + return classof(it) == 'String' ? split(it, '') : Object(it); +} : Object; + +},{"../internals/classof-raw":74,"../internals/fails":94,"../internals/function-uncurry-this":99,"../internals/global":104}],110:[function(require,module,exports){ +var uncurryThis = require('../internals/function-uncurry-this'); +var isCallable = require('../internals/is-callable'); +var store = require('../internals/shared-store'); + +var functionToString = uncurryThis(Function.toString); + +// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper +if (!isCallable(store.inspectSource)) { + store.inspectSource = function (it) { + return functionToString(it); + }; +} + +module.exports = store.inspectSource; + +},{"../internals/function-uncurry-this":99,"../internals/is-callable":114,"../internals/shared-store":149}],111:[function(require,module,exports){ +var NATIVE_WEAK_MAP = require('../internals/native-weak-map'); +var global = require('../internals/global'); +var uncurryThis = require('../internals/function-uncurry-this'); +var isObject = require('../internals/is-object'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var hasOwn = require('../internals/has-own-property'); +var shared = require('../internals/shared-store'); +var sharedKey = require('../internals/shared-key'); +var hiddenKeys = require('../internals/hidden-keys'); + +var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; +var TypeError = global.TypeError; +var WeakMap = global.WeakMap; +var set, get, has; + +var enforce = function (it) { + return has(it) ? get(it) : set(it, {}); +}; + +var getterFor = function (TYPE) { + return function (it) { + var state; + if (!isObject(it) || (state = get(it)).type !== TYPE) { + throw TypeError('Incompatible receiver, ' + TYPE + ' required'); + } return state; + }; +}; + +if (NATIVE_WEAK_MAP || shared.state) { + var store = shared.state || (shared.state = new WeakMap()); + var wmget = uncurryThis(store.get); + var wmhas = uncurryThis(store.has); + var wmset = uncurryThis(store.set); + set = function (it, metadata) { + if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + wmset(store, it, metadata); + return metadata; + }; + get = function (it) { + return wmget(store, it) || {}; + }; + has = function (it) { + return wmhas(store, it); + }; +} else { + var STATE = sharedKey('state'); + hiddenKeys[STATE] = true; + set = function (it, metadata) { + if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + createNonEnumerableProperty(it, STATE, metadata); + return metadata; + }; + get = function (it) { + return hasOwn(it, STATE) ? it[STATE] : {}; + }; + has = function (it) { + return hasOwn(it, STATE); + }; +} + +module.exports = { + set: set, + get: get, + has: has, + enforce: enforce, + getterFor: getterFor +}; + +},{"../internals/create-non-enumerable-property":78,"../internals/function-uncurry-this":99,"../internals/global":104,"../internals/has-own-property":105,"../internals/hidden-keys":106,"../internals/is-object":117,"../internals/native-weak-map":125,"../internals/shared-key":148,"../internals/shared-store":149}],112:[function(require,module,exports){ +var wellKnownSymbol = require('../internals/well-known-symbol'); +var Iterators = require('../internals/iterators'); + +var ITERATOR = wellKnownSymbol('iterator'); +var ArrayPrototype = Array.prototype; + +// check on default Array iterator +module.exports = function (it) { + return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); +}; + +},{"../internals/iterators":122,"../internals/well-known-symbol":166}],113:[function(require,module,exports){ +var classof = require('../internals/classof-raw'); + +// `IsArray` abstract operation +// https://tc39.es/ecma262/#sec-isarray +// eslint-disable-next-line es/no-array-isarray -- safe +module.exports = Array.isArray || function isArray(argument) { + return classof(argument) == 'Array'; +}; + +},{"../internals/classof-raw":74}],114:[function(require,module,exports){ +// `IsCallable` abstract operation +// https://tc39.es/ecma262/#sec-iscallable +module.exports = function (argument) { + return typeof argument == 'function'; +}; + +},{}],115:[function(require,module,exports){ +var uncurryThis = require('../internals/function-uncurry-this'); +var fails = require('../internals/fails'); +var isCallable = require('../internals/is-callable'); +var classof = require('../internals/classof'); +var getBuiltIn = require('../internals/get-built-in'); +var inspectSource = require('../internals/inspect-source'); + +var noop = function () { /* empty */ }; +var empty = []; +var construct = getBuiltIn('Reflect', 'construct'); +var constructorRegExp = /^\s*(?:class|function)\b/; +var exec = uncurryThis(constructorRegExp.exec); +var INCORRECT_TO_STRING = !constructorRegExp.exec(noop); + +var isConstructorModern = function isConstructor(argument) { + if (!isCallable(argument)) return false; + try { + construct(noop, empty, argument); + return true; + } catch (error) { + return false; + } +}; + +var isConstructorLegacy = function isConstructor(argument) { + if (!isCallable(argument)) return false; + switch (classof(argument)) { + case 'AsyncFunction': + case 'GeneratorFunction': + case 'AsyncGeneratorFunction': return false; + } + try { + // we can't check .prototype since constructors produced by .bind haven't it + // `Function#toString` throws on some built-it function in some legacy engines + // (for example, `DOMQuad` and similar in FF41-) + return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument)); + } catch (error) { + return true; + } +}; + +isConstructorLegacy.sham = true; + +// `IsConstructor` abstract operation +// https://tc39.es/ecma262/#sec-isconstructor +module.exports = !construct || fails(function () { + var called; + return isConstructorModern(isConstructorModern.call) + || !isConstructorModern(Object) + || !isConstructorModern(function () { called = true; }) + || called; +}) ? isConstructorLegacy : isConstructorModern; + +},{"../internals/classof":75,"../internals/fails":94,"../internals/function-uncurry-this":99,"../internals/get-built-in":100,"../internals/inspect-source":110,"../internals/is-callable":114}],116:[function(require,module,exports){ +var fails = require('../internals/fails'); +var isCallable = require('../internals/is-callable'); + +var replacement = /#|\.prototype\./; + +var isForced = function (feature, detection) { + var value = data[normalize(feature)]; + return value == POLYFILL ? true + : value == NATIVE ? false + : isCallable(detection) ? fails(detection) + : !!detection; +}; + +var normalize = isForced.normalize = function (string) { + return String(string).replace(replacement, '.').toLowerCase(); +}; + +var data = isForced.data = {}; +var NATIVE = isForced.NATIVE = 'N'; +var POLYFILL = isForced.POLYFILL = 'P'; + +module.exports = isForced; + +},{"../internals/fails":94,"../internals/is-callable":114}],117:[function(require,module,exports){ +var isCallable = require('../internals/is-callable'); + +module.exports = function (it) { + return typeof it == 'object' ? it !== null : isCallable(it); +}; + +},{"../internals/is-callable":114}],118:[function(require,module,exports){ +module.exports = true; + +},{}],119:[function(require,module,exports){ +var global = require('../internals/global'); +var getBuiltIn = require('../internals/get-built-in'); +var isCallable = require('../internals/is-callable'); +var isPrototypeOf = require('../internals/object-is-prototype-of'); +var USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid'); + +var Object = global.Object; + +module.exports = USE_SYMBOL_AS_UID ? function (it) { + return typeof it == 'symbol'; +} : function (it) { + var $Symbol = getBuiltIn('Symbol'); + return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it)); +}; + +},{"../internals/get-built-in":100,"../internals/global":104,"../internals/is-callable":114,"../internals/object-is-prototype-of":135,"../internals/use-symbol-as-uid":164}],120:[function(require,module,exports){ +var call = require('../internals/function-call'); +var anObject = require('../internals/an-object'); +var getMethod = require('../internals/get-method'); + +module.exports = function (iterator, kind, value) { + var innerResult, innerError; + anObject(iterator); + try { + innerResult = getMethod(iterator, 'return'); + if (!innerResult) { + if (kind === 'throw') throw value; + return value; + } + innerResult = call(innerResult, iterator); + } catch (error) { + innerError = true; + innerResult = error; + } + if (kind === 'throw') throw value; + if (innerError) throw innerResult; + anObject(innerResult); + return value; +}; + +},{"../internals/an-object":60,"../internals/function-call":97,"../internals/get-method":103}],121:[function(require,module,exports){ +'use strict'; +var fails = require('../internals/fails'); +var isCallable = require('../internals/is-callable'); +var create = require('../internals/object-create'); +var getPrototypeOf = require('../internals/object-get-prototype-of'); +var redefine = require('../internals/redefine'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var IS_PURE = require('../internals/is-pure'); + +var ITERATOR = wellKnownSymbol('iterator'); +var BUGGY_SAFARI_ITERATORS = false; + +// `%IteratorPrototype%` object +// https://tc39.es/ecma262/#sec-%iteratorprototype%-object +var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; + +/* eslint-disable es/no-array-prototype-keys -- safe */ +if ([].keys) { + arrayIterator = [].keys(); + // Safari 8 has buggy iterators w/o `next` + if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true; + else { + PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); + if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype; + } +} + +var NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () { + var test = {}; + // FF44- legacy iterators case + return IteratorPrototype[ITERATOR].call(test) !== test; +}); + +if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {}; +else if (IS_PURE) IteratorPrototype = create(IteratorPrototype); + +// `%IteratorPrototype%[@@iterator]()` method +// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator +if (!isCallable(IteratorPrototype[ITERATOR])) { + redefine(IteratorPrototype, ITERATOR, function () { + return this; + }); +} + +module.exports = { + IteratorPrototype: IteratorPrototype, + BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS +}; + +},{"../internals/fails":94,"../internals/is-callable":114,"../internals/is-pure":118,"../internals/object-create":127,"../internals/object-get-prototype-of":134,"../internals/redefine":143,"../internals/well-known-symbol":166}],122:[function(require,module,exports){ +arguments[4][106][0].apply(exports,arguments) +},{"dup":106}],123:[function(require,module,exports){ +var toLength = require('../internals/to-length'); + +// `LengthOfArrayLike` abstract operation +// https://tc39.es/ecma262/#sec-lengthofarraylike +module.exports = function (obj) { + return toLength(obj.length); +}; + +},{"../internals/to-length":156}],124:[function(require,module,exports){ +/* eslint-disable es/no-symbol -- required for testing */ +var V8_VERSION = require('../internals/engine-v8-version'); +var fails = require('../internals/fails'); + +// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing +module.exports = !!Object.getOwnPropertySymbols && !fails(function () { + var symbol = Symbol(); + // Chrome 38 Symbol has incorrect toString conversion + // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances + return !String(symbol) || !(Object(symbol) instanceof Symbol) || + // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances + !Symbol.sham && V8_VERSION && V8_VERSION < 41; +}); + +},{"../internals/engine-v8-version":89,"../internals/fails":94}],125:[function(require,module,exports){ +var global = require('../internals/global'); +var isCallable = require('../internals/is-callable'); +var inspectSource = require('../internals/inspect-source'); + +var WeakMap = global.WeakMap; + +module.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap)); + +},{"../internals/global":104,"../internals/inspect-source":110,"../internals/is-callable":114}],126:[function(require,module,exports){ +var global = require('../internals/global'); +var fails = require('../internals/fails'); +var uncurryThis = require('../internals/function-uncurry-this'); +var toString = require('../internals/to-string'); +var trim = require('../internals/string-trim').trim; +var whitespaces = require('../internals/whitespaces'); + +var $parseInt = global.parseInt; +var Symbol = global.Symbol; +var ITERATOR = Symbol && Symbol.iterator; +var hex = /^[+-]?0x/i; +var exec = uncurryThis(hex.exec); +var FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22 + // MS Edge 18- broken with boxed symbols + || (ITERATOR && !fails(function () { $parseInt(Object(ITERATOR)); })); + +// `parseInt` method +// https://tc39.es/ecma262/#sec-parseint-string-radix +module.exports = FORCED ? function parseInt(string, radix) { + var S = trim(toString(string)); + return $parseInt(S, (radix >>> 0) || (exec(hex, S) ? 16 : 10)); +} : $parseInt; + +},{"../internals/fails":94,"../internals/function-uncurry-this":99,"../internals/global":104,"../internals/string-trim":152,"../internals/to-string":161,"../internals/whitespaces":167}],127:[function(require,module,exports){ +/* global ActiveXObject -- old IE, WSH */ +var anObject = require('../internals/an-object'); +var defineProperties = require('../internals/object-define-properties'); +var enumBugKeys = require('../internals/enum-bug-keys'); +var hiddenKeys = require('../internals/hidden-keys'); +var html = require('../internals/html'); +var documentCreateElement = require('../internals/document-create-element'); +var sharedKey = require('../internals/shared-key'); + +var GT = '>'; +var LT = '<'; +var PROTOTYPE = 'prototype'; +var SCRIPT = 'script'; +var IE_PROTO = sharedKey('IE_PROTO'); + +var EmptyConstructor = function () { /* empty */ }; + +var scriptTag = function (content) { + return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; +}; + +// Create object with fake `null` prototype: use ActiveX Object with cleared prototype +var NullProtoObjectViaActiveX = function (activeXDocument) { + activeXDocument.write(scriptTag('')); + activeXDocument.close(); + var temp = activeXDocument.parentWindow.Object; + activeXDocument = null; // avoid memory leak + return temp; +}; + +// Create object with fake `null` prototype: use iframe Object with cleared prototype +var NullProtoObjectViaIFrame = function () { + // Thrash, waste and sodomy: IE GC bug + var iframe = documentCreateElement('iframe'); + var JS = 'java' + SCRIPT + ':'; + var iframeDocument; + iframe.style.display = 'none'; + html.appendChild(iframe); + // https://github.com/zloirock/core-js/issues/475 + iframe.src = String(JS); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(scriptTag('document.F=Object')); + iframeDocument.close(); + return iframeDocument.F; +}; + +// Check for document.domain and active x support +// No need to use active x approach when document.domain is not set +// see https://github.com/es-shims/es5-shim/issues/150 +// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346 +// avoid IE GC bug +var activeXDocument; +var NullProtoObject = function () { + try { + activeXDocument = new ActiveXObject('htmlfile'); + } catch (error) { /* ignore */ } + NullProtoObject = typeof document != 'undefined' + ? document.domain && activeXDocument + ? NullProtoObjectViaActiveX(activeXDocument) // old IE + : NullProtoObjectViaIFrame() + : NullProtoObjectViaActiveX(activeXDocument); // WSH + var length = enumBugKeys.length; + while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; + return NullProtoObject(); +}; + +hiddenKeys[IE_PROTO] = true; + +// `Object.create` method +// https://tc39.es/ecma262/#sec-object.create +module.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + EmptyConstructor[PROTOTYPE] = anObject(O); + result = new EmptyConstructor(); + EmptyConstructor[PROTOTYPE] = null; + // add "__proto__" for Object.getPrototypeOf polyfill + result[IE_PROTO] = O; + } else result = NullProtoObject(); + return Properties === undefined ? result : defineProperties(result, Properties); +}; + +},{"../internals/an-object":60,"../internals/document-create-element":84,"../internals/enum-bug-keys":92,"../internals/hidden-keys":106,"../internals/html":107,"../internals/object-define-properties":128,"../internals/shared-key":148}],128:[function(require,module,exports){ +var DESCRIPTORS = require('../internals/descriptors'); +var definePropertyModule = require('../internals/object-define-property'); +var anObject = require('../internals/an-object'); +var toIndexedObject = require('../internals/to-indexed-object'); +var objectKeys = require('../internals/object-keys'); + +// `Object.defineProperties` method +// https://tc39.es/ecma262/#sec-object.defineproperties +// eslint-disable-next-line es/no-object-defineproperties -- safe +module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) { + anObject(O); + var props = toIndexedObject(Properties); + var keys = objectKeys(Properties); + var length = keys.length; + var index = 0; + var key; + while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]); + return O; +}; + +},{"../internals/an-object":60,"../internals/descriptors":83,"../internals/object-define-property":129,"../internals/object-keys":137,"../internals/to-indexed-object":154}],129:[function(require,module,exports){ +var global = require('../internals/global'); +var DESCRIPTORS = require('../internals/descriptors'); +var IE8_DOM_DEFINE = require('../internals/ie8-dom-define'); +var anObject = require('../internals/an-object'); +var toPropertyKey = require('../internals/to-property-key'); + +var TypeError = global.TypeError; +// eslint-disable-next-line es/no-object-defineproperty -- safe +var $defineProperty = Object.defineProperty; + +// `Object.defineProperty` method +// https://tc39.es/ecma262/#sec-object.defineproperty +exports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPropertyKey(P); + anObject(Attributes); + if (IE8_DOM_DEFINE) try { + return $defineProperty(O, P, Attributes); + } catch (error) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; +}; + +},{"../internals/an-object":60,"../internals/descriptors":83,"../internals/global":104,"../internals/ie8-dom-define":108,"../internals/to-property-key":159}],130:[function(require,module,exports){ +var DESCRIPTORS = require('../internals/descriptors'); +var call = require('../internals/function-call'); +var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable'); +var createPropertyDescriptor = require('../internals/create-property-descriptor'); +var toIndexedObject = require('../internals/to-indexed-object'); +var toPropertyKey = require('../internals/to-property-key'); +var hasOwn = require('../internals/has-own-property'); +var IE8_DOM_DEFINE = require('../internals/ie8-dom-define'); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// `Object.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor +exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject(O); + P = toPropertyKey(P); + if (IE8_DOM_DEFINE) try { + return $getOwnPropertyDescriptor(O, P); + } catch (error) { /* empty */ } + if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]); +}; + +},{"../internals/create-property-descriptor":79,"../internals/descriptors":83,"../internals/function-call":97,"../internals/has-own-property":105,"../internals/ie8-dom-define":108,"../internals/object-property-is-enumerable":138,"../internals/to-indexed-object":154,"../internals/to-property-key":159}],131:[function(require,module,exports){ +/* eslint-disable es/no-object-getownpropertynames -- safe */ +var classof = require('../internals/classof-raw'); +var toIndexedObject = require('../internals/to-indexed-object'); +var $getOwnPropertyNames = require('../internals/object-get-own-property-names').f; +var arraySlice = require('../internals/array-slice-simple'); + +var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames + ? Object.getOwnPropertyNames(window) : []; + +var getWindowNames = function (it) { + try { + return $getOwnPropertyNames(it); + } catch (error) { + return arraySlice(windowNames); + } +}; + +// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window +module.exports.f = function getOwnPropertyNames(it) { + return windowNames && classof(it) == 'Window' + ? getWindowNames(it) + : $getOwnPropertyNames(toIndexedObject(it)); +}; + +},{"../internals/array-slice-simple":67,"../internals/classof-raw":74,"../internals/object-get-own-property-names":132,"../internals/to-indexed-object":154}],132:[function(require,module,exports){ +var internalObjectKeys = require('../internals/object-keys-internal'); +var enumBugKeys = require('../internals/enum-bug-keys'); + +var hiddenKeys = enumBugKeys.concat('length', 'prototype'); + +// `Object.getOwnPropertyNames` method +// https://tc39.es/ecma262/#sec-object.getownpropertynames +// eslint-disable-next-line es/no-object-getownpropertynames -- safe +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return internalObjectKeys(O, hiddenKeys); +}; + +},{"../internals/enum-bug-keys":92,"../internals/object-keys-internal":136}],133:[function(require,module,exports){ +// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe +exports.f = Object.getOwnPropertySymbols; + +},{}],134:[function(require,module,exports){ +var global = require('../internals/global'); +var hasOwn = require('../internals/has-own-property'); +var isCallable = require('../internals/is-callable'); +var toObject = require('../internals/to-object'); +var sharedKey = require('../internals/shared-key'); +var CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter'); + +var IE_PROTO = sharedKey('IE_PROTO'); +var Object = global.Object; +var ObjectPrototype = Object.prototype; + +// `Object.getPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.getprototypeof +module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) { + var object = toObject(O); + if (hasOwn(object, IE_PROTO)) return object[IE_PROTO]; + var constructor = object.constructor; + if (isCallable(constructor) && object instanceof constructor) { + return constructor.prototype; + } return object instanceof Object ? ObjectPrototype : null; +}; + +},{"../internals/correct-prototype-getter":76,"../internals/global":104,"../internals/has-own-property":105,"../internals/is-callable":114,"../internals/shared-key":148,"../internals/to-object":157}],135:[function(require,module,exports){ +var uncurryThis = require('../internals/function-uncurry-this'); + +module.exports = uncurryThis({}.isPrototypeOf); + +},{"../internals/function-uncurry-this":99}],136:[function(require,module,exports){ +var uncurryThis = require('../internals/function-uncurry-this'); +var hasOwn = require('../internals/has-own-property'); +var toIndexedObject = require('../internals/to-indexed-object'); +var indexOf = require('../internals/array-includes').indexOf; +var hiddenKeys = require('../internals/hidden-keys'); + +var push = uncurryThis([].push); + +module.exports = function (object, names) { + var O = toIndexedObject(object); + var i = 0; + var result = []; + var key; + for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key); + // Don't enum bug & hidden keys + while (names.length > i) if (hasOwn(O, key = names[i++])) { + ~indexOf(result, key) || push(result, key); + } + return result; +}; + +},{"../internals/array-includes":63,"../internals/function-uncurry-this":99,"../internals/has-own-property":105,"../internals/hidden-keys":106,"../internals/to-indexed-object":154}],137:[function(require,module,exports){ +var internalObjectKeys = require('../internals/object-keys-internal'); +var enumBugKeys = require('../internals/enum-bug-keys'); + +// `Object.keys` method +// https://tc39.es/ecma262/#sec-object.keys +// eslint-disable-next-line es/no-object-keys -- safe +module.exports = Object.keys || function keys(O) { + return internalObjectKeys(O, enumBugKeys); +}; + +},{"../internals/enum-bug-keys":92,"../internals/object-keys-internal":136}],138:[function(require,module,exports){ +'use strict'; +var $propertyIsEnumerable = {}.propertyIsEnumerable; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Nashorn ~ JDK8 bug +var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1); + +// `Object.prototype.propertyIsEnumerable` method implementation +// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable +exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { + var descriptor = getOwnPropertyDescriptor(this, V); + return !!descriptor && descriptor.enumerable; +} : $propertyIsEnumerable; + +},{}],139:[function(require,module,exports){ +/* eslint-disable no-proto -- safe */ +var uncurryThis = require('../internals/function-uncurry-this'); +var anObject = require('../internals/an-object'); +var aPossiblePrototype = require('../internals/a-possible-prototype'); + +// `Object.setPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.setprototypeof +// Works with __proto__ only. Old v8 can't work with null proto objects. +// eslint-disable-next-line es/no-object-setprototypeof -- safe +module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { + var CORRECT_SETTER = false; + var test = {}; + var setter; + try { + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set); + setter(test, []); + CORRECT_SETTER = test instanceof Array; + } catch (error) { /* empty */ } + return function setPrototypeOf(O, proto) { + anObject(O); + aPossiblePrototype(proto); + if (CORRECT_SETTER) setter(O, proto); + else O.__proto__ = proto; + return O; + }; +}() : undefined); + +},{"../internals/a-possible-prototype":58,"../internals/an-object":60,"../internals/function-uncurry-this":99}],140:[function(require,module,exports){ +'use strict'; +var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support'); +var classof = require('../internals/classof'); + +// `Object.prototype.toString` method implementation +// https://tc39.es/ecma262/#sec-object.prototype.tostring +module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() { + return '[object ' + classof(this) + ']'; +}; + +},{"../internals/classof":75,"../internals/to-string-tag-support":160}],141:[function(require,module,exports){ +var global = require('../internals/global'); +var call = require('../internals/function-call'); +var isCallable = require('../internals/is-callable'); +var isObject = require('../internals/is-object'); + +var TypeError = global.TypeError; + +// `OrdinaryToPrimitive` abstract operation +// https://tc39.es/ecma262/#sec-ordinarytoprimitive +module.exports = function (input, pref) { + var fn, val; + if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; + if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val; + if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; + throw TypeError("Can't convert object to primitive value"); +}; + +},{"../internals/function-call":97,"../internals/global":104,"../internals/is-callable":114,"../internals/is-object":117}],142:[function(require,module,exports){ +arguments[4][106][0].apply(exports,arguments) +},{"dup":106}],143:[function(require,module,exports){ +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); + +module.exports = function (target, key, value, options) { + if (options && options.enumerable) target[key] = value; + else createNonEnumerableProperty(target, key, value); +}; + +},{"../internals/create-non-enumerable-property":78}],144:[function(require,module,exports){ +'use strict'; +var anObject = require('../internals/an-object'); + +// `RegExp.prototype.flags` getter implementation +// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags +module.exports = function () { + var that = anObject(this); + var result = ''; + if (that.global) result += 'g'; + if (that.ignoreCase) result += 'i'; + if (that.multiline) result += 'm'; + if (that.dotAll) result += 's'; + if (that.unicode) result += 'u'; + if (that.sticky) result += 'y'; + return result; +}; + +},{"../internals/an-object":60}],145:[function(require,module,exports){ +var global = require('../internals/global'); + +var TypeError = global.TypeError; + +// `RequireObjectCoercible` abstract operation +// https://tc39.es/ecma262/#sec-requireobjectcoercible +module.exports = function (it) { + if (it == undefined) throw TypeError("Can't call method on " + it); + return it; +}; + +},{"../internals/global":104}],146:[function(require,module,exports){ +var global = require('../internals/global'); + +// eslint-disable-next-line es/no-object-defineproperty -- safe +var defineProperty = Object.defineProperty; + +module.exports = function (key, value) { + try { + defineProperty(global, key, { value: value, configurable: true, writable: true }); + } catch (error) { + global[key] = value; + } return value; +}; + +},{"../internals/global":104}],147:[function(require,module,exports){ +var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support'); +var defineProperty = require('../internals/object-define-property').f; +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var hasOwn = require('../internals/has-own-property'); +var toString = require('../internals/object-to-string'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +module.exports = function (it, TAG, STATIC, SET_METHOD) { + if (it) { + var target = STATIC ? it : it.prototype; + if (!hasOwn(target, TO_STRING_TAG)) { + defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG }); + } + if (SET_METHOD && !TO_STRING_TAG_SUPPORT) { + createNonEnumerableProperty(target, 'toString', toString); + } + } +}; + +},{"../internals/create-non-enumerable-property":78,"../internals/has-own-property":105,"../internals/object-define-property":129,"../internals/object-to-string":140,"../internals/to-string-tag-support":160,"../internals/well-known-symbol":166}],148:[function(require,module,exports){ +var shared = require('../internals/shared'); +var uid = require('../internals/uid'); + +var keys = shared('keys'); + +module.exports = function (key) { + return keys[key] || (keys[key] = uid(key)); +}; + +},{"../internals/shared":150,"../internals/uid":163}],149:[function(require,module,exports){ +var global = require('../internals/global'); +var setGlobal = require('../internals/set-global'); + +var SHARED = '__core-js_shared__'; +var store = global[SHARED] || setGlobal(SHARED, {}); + +module.exports = store; + +},{"../internals/global":104,"../internals/set-global":146}],150:[function(require,module,exports){ +var IS_PURE = require('../internals/is-pure'); +var store = require('../internals/shared-store'); + +(module.exports = function (key, value) { + return store[key] || (store[key] = value !== undefined ? value : {}); +})('versions', []).push({ + version: '3.20.0', + mode: IS_PURE ? 'pure' : 'global', + copyright: '© 2021 Denis Pushkarev (zloirock.ru)' +}); + +},{"../internals/is-pure":118,"../internals/shared-store":149}],151:[function(require,module,exports){ +var uncurryThis = require('../internals/function-uncurry-this'); +var toIntegerOrInfinity = require('../internals/to-integer-or-infinity'); +var toString = require('../internals/to-string'); +var requireObjectCoercible = require('../internals/require-object-coercible'); + +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var stringSlice = uncurryThis(''.slice); + +var createMethod = function (CONVERT_TO_STRING) { + return function ($this, pos) { + var S = toString(requireObjectCoercible($this)); + var position = toIntegerOrInfinity(pos); + var size = S.length; + var first, second; + if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined; + first = charCodeAt(S, position); + return first < 0xD800 || first > 0xDBFF || position + 1 === size + || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF + ? CONVERT_TO_STRING + ? charAt(S, position) + : first + : CONVERT_TO_STRING + ? stringSlice(S, position, position + 2) + : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; + }; +}; + +module.exports = { + // `String.prototype.codePointAt` method + // https://tc39.es/ecma262/#sec-string.prototype.codepointat + codeAt: createMethod(false), + // `String.prototype.at` method + // https://github.com/mathiasbynens/String.prototype.at + charAt: createMethod(true) +}; + +},{"../internals/function-uncurry-this":99,"../internals/require-object-coercible":145,"../internals/to-integer-or-infinity":155,"../internals/to-string":161}],152:[function(require,module,exports){ +var uncurryThis = require('../internals/function-uncurry-this'); +var requireObjectCoercible = require('../internals/require-object-coercible'); +var toString = require('../internals/to-string'); +var whitespaces = require('../internals/whitespaces'); + +var replace = uncurryThis(''.replace); +var whitespace = '[' + whitespaces + ']'; +var ltrim = RegExp('^' + whitespace + whitespace + '*'); +var rtrim = RegExp(whitespace + whitespace + '*$'); + +// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation +var createMethod = function (TYPE) { + return function ($this) { + var string = toString(requireObjectCoercible($this)); + if (TYPE & 1) string = replace(string, ltrim, ''); + if (TYPE & 2) string = replace(string, rtrim, ''); + return string; + }; +}; + +module.exports = { + // `String.prototype.{ trimLeft, trimStart }` methods + // https://tc39.es/ecma262/#sec-string.prototype.trimstart + start: createMethod(1), + // `String.prototype.{ trimRight, trimEnd }` methods + // https://tc39.es/ecma262/#sec-string.prototype.trimend + end: createMethod(2), + // `String.prototype.trim` method + // https://tc39.es/ecma262/#sec-string.prototype.trim + trim: createMethod(3) +}; + +},{"../internals/function-uncurry-this":99,"../internals/require-object-coercible":145,"../internals/to-string":161,"../internals/whitespaces":167}],153:[function(require,module,exports){ +var toIntegerOrInfinity = require('../internals/to-integer-or-infinity'); + +var max = Math.max; +var min = Math.min; + +// Helper for a popular repeating case of the spec: +// Let integer be ? ToInteger(index). +// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). +module.exports = function (index, length) { + var integer = toIntegerOrInfinity(index); + return integer < 0 ? max(integer + length, 0) : min(integer, length); +}; + +},{"../internals/to-integer-or-infinity":155}],154:[function(require,module,exports){ +// toObject with fallback for non-array-like ES3 strings +var IndexedObject = require('../internals/indexed-object'); +var requireObjectCoercible = require('../internals/require-object-coercible'); + +module.exports = function (it) { + return IndexedObject(requireObjectCoercible(it)); +}; + +},{"../internals/indexed-object":109,"../internals/require-object-coercible":145}],155:[function(require,module,exports){ +var ceil = Math.ceil; +var floor = Math.floor; + +// `ToIntegerOrInfinity` abstract operation +// https://tc39.es/ecma262/#sec-tointegerorinfinity +module.exports = function (argument) { + var number = +argument; + // eslint-disable-next-line no-self-compare -- safe + return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number); +}; + +},{}],156:[function(require,module,exports){ +var toIntegerOrInfinity = require('../internals/to-integer-or-infinity'); + +var min = Math.min; + +// `ToLength` abstract operation +// https://tc39.es/ecma262/#sec-tolength +module.exports = function (argument) { + return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 +}; + +},{"../internals/to-integer-or-infinity":155}],157:[function(require,module,exports){ +var global = require('../internals/global'); +var requireObjectCoercible = require('../internals/require-object-coercible'); + +var Object = global.Object; + +// `ToObject` abstract operation +// https://tc39.es/ecma262/#sec-toobject +module.exports = function (argument) { + return Object(requireObjectCoercible(argument)); +}; + +},{"../internals/global":104,"../internals/require-object-coercible":145}],158:[function(require,module,exports){ +var global = require('../internals/global'); +var call = require('../internals/function-call'); +var isObject = require('../internals/is-object'); +var isSymbol = require('../internals/is-symbol'); +var getMethod = require('../internals/get-method'); +var ordinaryToPrimitive = require('../internals/ordinary-to-primitive'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var TypeError = global.TypeError; +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); + +// `ToPrimitive` abstract operation +// https://tc39.es/ecma262/#sec-toprimitive +module.exports = function (input, pref) { + if (!isObject(input) || isSymbol(input)) return input; + var exoticToPrim = getMethod(input, TO_PRIMITIVE); + var result; + if (exoticToPrim) { + if (pref === undefined) pref = 'default'; + result = call(exoticToPrim, input, pref); + if (!isObject(result) || isSymbol(result)) return result; + throw TypeError("Can't convert object to primitive value"); + } + if (pref === undefined) pref = 'number'; + return ordinaryToPrimitive(input, pref); +}; + +},{"../internals/function-call":97,"../internals/get-method":103,"../internals/global":104,"../internals/is-object":117,"../internals/is-symbol":119,"../internals/ordinary-to-primitive":141,"../internals/well-known-symbol":166}],159:[function(require,module,exports){ +var toPrimitive = require('../internals/to-primitive'); +var isSymbol = require('../internals/is-symbol'); + +// `ToPropertyKey` abstract operation +// https://tc39.es/ecma262/#sec-topropertykey +module.exports = function (argument) { + var key = toPrimitive(argument, 'string'); + return isSymbol(key) ? key : key + ''; +}; + +},{"../internals/is-symbol":119,"../internals/to-primitive":158}],160:[function(require,module,exports){ +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var test = {}; + +test[TO_STRING_TAG] = 'z'; + +module.exports = String(test) === '[object z]'; + +},{"../internals/well-known-symbol":166}],161:[function(require,module,exports){ +var global = require('../internals/global'); +var classof = require('../internals/classof'); + +var String = global.String; + +module.exports = function (argument) { + if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string'); + return String(argument); +}; + +},{"../internals/classof":75,"../internals/global":104}],162:[function(require,module,exports){ +var global = require('../internals/global'); + +var String = global.String; + +module.exports = function (argument) { + try { + return String(argument); + } catch (error) { + return 'Object'; + } +}; + +},{"../internals/global":104}],163:[function(require,module,exports){ +var uncurryThis = require('../internals/function-uncurry-this'); + +var id = 0; +var postfix = Math.random(); +var toString = uncurryThis(1.0.toString); + +module.exports = function (key) { + return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36); +}; + +},{"../internals/function-uncurry-this":99}],164:[function(require,module,exports){ +/* eslint-disable es/no-symbol -- required for testing */ +var NATIVE_SYMBOL = require('../internals/native-symbol'); + +module.exports = NATIVE_SYMBOL + && !Symbol.sham + && typeof Symbol.iterator == 'symbol'; + +},{"../internals/native-symbol":124}],165:[function(require,module,exports){ +var wellKnownSymbol = require('../internals/well-known-symbol'); + +exports.f = wellKnownSymbol; + +},{"../internals/well-known-symbol":166}],166:[function(require,module,exports){ +var global = require('../internals/global'); +var shared = require('../internals/shared'); +var hasOwn = require('../internals/has-own-property'); +var uid = require('../internals/uid'); +var NATIVE_SYMBOL = require('../internals/native-symbol'); +var USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid'); + +var WellKnownSymbolsStore = shared('wks'); +var Symbol = global.Symbol; +var symbolFor = Symbol && Symbol['for']; +var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid; + +module.exports = function (name) { + if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) { + var description = 'Symbol.' + name; + if (NATIVE_SYMBOL && hasOwn(Symbol, name)) { + WellKnownSymbolsStore[name] = Symbol[name]; + } else if (USE_SYMBOL_AS_UID && symbolFor) { + WellKnownSymbolsStore[name] = symbolFor(description); + } else { + WellKnownSymbolsStore[name] = createWellKnownSymbol(description); + } + } return WellKnownSymbolsStore[name]; +}; + +},{"../internals/global":104,"../internals/has-own-property":105,"../internals/native-symbol":124,"../internals/shared":150,"../internals/uid":163,"../internals/use-symbol-as-uid":164}],167:[function(require,module,exports){ +// a string of all valid unicode whitespaces +module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' + + '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; + +},{}],168:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var global = require('../internals/global'); +var fails = require('../internals/fails'); +var isArray = require('../internals/is-array'); +var isObject = require('../internals/is-object'); +var toObject = require('../internals/to-object'); +var lengthOfArrayLike = require('../internals/length-of-array-like'); +var createProperty = require('../internals/create-property'); +var arraySpeciesCreate = require('../internals/array-species-create'); +var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var V8_VERSION = require('../internals/engine-v8-version'); + +var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable'); +var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; +var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded'; +var TypeError = global.TypeError; + +// We can't use this feature detection in V8 since it causes +// deoptimization and serious performance degradation +// https://github.com/zloirock/core-js/issues/679 +var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () { + var array = []; + array[IS_CONCAT_SPREADABLE] = false; + return array.concat()[0] !== array; +}); + +var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat'); + +var isConcatSpreadable = function (O) { + if (!isObject(O)) return false; + var spreadable = O[IS_CONCAT_SPREADABLE]; + return spreadable !== undefined ? !!spreadable : isArray(O); +}; + +var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT; + +// `Array.prototype.concat` method +// https://tc39.es/ecma262/#sec-array.prototype.concat +// with adding support of @@isConcatSpreadable and @@species +$({ target: 'Array', proto: true, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + concat: function concat(arg) { + var O = toObject(this); + var A = arraySpeciesCreate(O, 0); + var n = 0; + var i, k, length, len, E; + for (i = -1, length = arguments.length; i < length; i++) { + E = i === -1 ? O : arguments[i]; + if (isConcatSpreadable(E)) { + len = lengthOfArrayLike(E); + if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED); + for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]); + } else { + if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED); + createProperty(A, n++, E); + } + } + A.length = n; + return A; + } +}); + +},{"../internals/array-method-has-species-support":65,"../internals/array-species-create":71,"../internals/create-property":80,"../internals/engine-v8-version":89,"../internals/export":93,"../internals/fails":94,"../internals/global":104,"../internals/is-array":113,"../internals/is-object":117,"../internals/length-of-array-like":123,"../internals/to-object":157,"../internals/well-known-symbol":166}],169:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var forEach = require('../internals/array-for-each'); + +// `Array.prototype.forEach` method +// https://tc39.es/ecma262/#sec-array.prototype.foreach +// eslint-disable-next-line es/no-array-prototype-foreach -- safe +$({ target: 'Array', proto: true, forced: [].forEach != forEach }, { + forEach: forEach +}); + +},{"../internals/array-for-each":61,"../internals/export":93}],170:[function(require,module,exports){ +var $ = require('../internals/export'); +var from = require('../internals/array-from'); +var checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration'); + +var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) { + // eslint-disable-next-line es/no-array-from -- required for testing + Array.from(iterable); +}); + +// `Array.from` method +// https://tc39.es/ecma262/#sec-array.from +$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, { + from: from +}); + +},{"../internals/array-from":62,"../internals/check-correctness-of-iteration":73,"../internals/export":93}],171:[function(require,module,exports){ +'use strict'; +/* eslint-disable es/no-array-prototype-indexof -- required for testing */ +var $ = require('../internals/export'); +var uncurryThis = require('../internals/function-uncurry-this'); +var $IndexOf = require('../internals/array-includes').indexOf; +var arrayMethodIsStrict = require('../internals/array-method-is-strict'); + +var un$IndexOf = uncurryThis([].indexOf); + +var NEGATIVE_ZERO = !!un$IndexOf && 1 / un$IndexOf([1], 1, -0) < 0; +var STRICT_METHOD = arrayMethodIsStrict('indexOf'); + +// `Array.prototype.indexOf` method +// https://tc39.es/ecma262/#sec-array.prototype.indexof +$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD }, { + indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { + var fromIndex = arguments.length > 1 ? arguments[1] : undefined; + return NEGATIVE_ZERO + // convert -0 to +0 + ? un$IndexOf(this, searchElement, fromIndex) || 0 + : $IndexOf(this, searchElement, fromIndex); + } +}); + +},{"../internals/array-includes":63,"../internals/array-method-is-strict":66,"../internals/export":93,"../internals/function-uncurry-this":99}],172:[function(require,module,exports){ +var $ = require('../internals/export'); +var isArray = require('../internals/is-array'); + +// `Array.isArray` method +// https://tc39.es/ecma262/#sec-array.isarray +$({ target: 'Array', stat: true }, { + isArray: isArray +}); + +},{"../internals/export":93,"../internals/is-array":113}],173:[function(require,module,exports){ +'use strict'; +var toIndexedObject = require('../internals/to-indexed-object'); +var addToUnscopables = require('../internals/add-to-unscopables'); +var Iterators = require('../internals/iterators'); +var InternalStateModule = require('../internals/internal-state'); +var defineProperty = require('../internals/object-define-property').f; +var defineIterator = require('../internals/define-iterator'); +var IS_PURE = require('../internals/is-pure'); +var DESCRIPTORS = require('../internals/descriptors'); + +var ARRAY_ITERATOR = 'Array Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR); + +// `Array.prototype.entries` method +// https://tc39.es/ecma262/#sec-array.prototype.entries +// `Array.prototype.keys` method +// https://tc39.es/ecma262/#sec-array.prototype.keys +// `Array.prototype.values` method +// https://tc39.es/ecma262/#sec-array.prototype.values +// `Array.prototype[@@iterator]` method +// https://tc39.es/ecma262/#sec-array.prototype-@@iterator +// `CreateArrayIterator` internal method +// https://tc39.es/ecma262/#sec-createarrayiterator +module.exports = defineIterator(Array, 'Array', function (iterated, kind) { + setInternalState(this, { + type: ARRAY_ITERATOR, + target: toIndexedObject(iterated), // target + index: 0, // next index + kind: kind // kind + }); +// `%ArrayIteratorPrototype%.next` method +// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next +}, function () { + var state = getInternalState(this); + var target = state.target; + var kind = state.kind; + var index = state.index++; + if (!target || index >= target.length) { + state.target = undefined; + return { value: undefined, done: true }; + } + if (kind == 'keys') return { value: index, done: false }; + if (kind == 'values') return { value: target[index], done: false }; + return { value: [index, target[index]], done: false }; +}, 'values'); + +// argumentsList[@@iterator] is %ArrayProto_values% +// https://tc39.es/ecma262/#sec-createunmappedargumentsobject +// https://tc39.es/ecma262/#sec-createmappedargumentsobject +var values = Iterators.Arguments = Iterators.Array; + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('keys'); +addToUnscopables('values'); +addToUnscopables('entries'); + +// V8 ~ Chrome 45- bug +if (!IS_PURE && DESCRIPTORS && values.name !== 'values') try { + defineProperty(values, 'name', { value: 'values' }); +} catch (error) { /* empty */ } + +},{"../internals/add-to-unscopables":59,"../internals/define-iterator":81,"../internals/descriptors":83,"../internals/internal-state":111,"../internals/is-pure":118,"../internals/iterators":122,"../internals/object-define-property":129,"../internals/to-indexed-object":154}],174:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var global = require('../internals/global'); +var isArray = require('../internals/is-array'); +var isConstructor = require('../internals/is-constructor'); +var isObject = require('../internals/is-object'); +var toAbsoluteIndex = require('../internals/to-absolute-index'); +var lengthOfArrayLike = require('../internals/length-of-array-like'); +var toIndexedObject = require('../internals/to-indexed-object'); +var createProperty = require('../internals/create-property'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support'); +var un$Slice = require('../internals/array-slice'); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice'); + +var SPECIES = wellKnownSymbol('species'); +var Array = global.Array; +var max = Math.max; + +// `Array.prototype.slice` method +// https://tc39.es/ecma262/#sec-array.prototype.slice +// fallback for not array-like ES3 strings and DOM objects +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + slice: function slice(start, end) { + var O = toIndexedObject(this); + var length = lengthOfArrayLike(O); + var k = toAbsoluteIndex(start, length); + var fin = toAbsoluteIndex(end === undefined ? length : end, length); + // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible + var Constructor, result, n; + if (isArray(O)) { + Constructor = O.constructor; + // cross-realm fallback + if (isConstructor(Constructor) && (Constructor === Array || isArray(Constructor.prototype))) { + Constructor = undefined; + } else if (isObject(Constructor)) { + Constructor = Constructor[SPECIES]; + if (Constructor === null) Constructor = undefined; + } + if (Constructor === Array || Constructor === undefined) { + return un$Slice(O, k, fin); + } + } + result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0)); + for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]); + result.length = n; + return result; + } +}); + +},{"../internals/array-method-has-species-support":65,"../internals/array-slice":68,"../internals/create-property":80,"../internals/export":93,"../internals/global":104,"../internals/is-array":113,"../internals/is-constructor":115,"../internals/is-object":117,"../internals/length-of-array-like":123,"../internals/to-absolute-index":153,"../internals/to-indexed-object":154,"../internals/well-known-symbol":166}],175:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var uncurryThis = require('../internals/function-uncurry-this'); +var aCallable = require('../internals/a-callable'); +var toObject = require('../internals/to-object'); +var lengthOfArrayLike = require('../internals/length-of-array-like'); +var toString = require('../internals/to-string'); +var fails = require('../internals/fails'); +var internalSort = require('../internals/array-sort'); +var arrayMethodIsStrict = require('../internals/array-method-is-strict'); +var FF = require('../internals/engine-ff-version'); +var IE_OR_EDGE = require('../internals/engine-is-ie-or-edge'); +var V8 = require('../internals/engine-v8-version'); +var WEBKIT = require('../internals/engine-webkit-version'); + +var test = []; +var un$Sort = uncurryThis(test.sort); +var push = uncurryThis(test.push); + +// IE8- +var FAILS_ON_UNDEFINED = fails(function () { + test.sort(undefined); +}); +// V8 bug +var FAILS_ON_NULL = fails(function () { + test.sort(null); +}); +// Old WebKit +var STRICT_METHOD = arrayMethodIsStrict('sort'); + +var STABLE_SORT = !fails(function () { + // feature detection can be too slow, so check engines versions + if (V8) return V8 < 70; + if (FF && FF > 3) return; + if (IE_OR_EDGE) return true; + if (WEBKIT) return WEBKIT < 603; + + var result = ''; + var code, chr, value, index; + + // generate an array with more 512 elements (Chakra and old V8 fails only in this case) + for (code = 65; code < 76; code++) { + chr = String.fromCharCode(code); + + switch (code) { + case 66: case 69: case 70: case 72: value = 3; break; + case 68: case 71: value = 4; break; + default: value = 2; + } + + for (index = 0; index < 47; index++) { + test.push({ k: chr + index, v: value }); + } + } + + test.sort(function (a, b) { return b.v - a.v; }); + + for (index = 0; index < test.length; index++) { + chr = test[index].k.charAt(0); + if (result.charAt(result.length - 1) !== chr) result += chr; + } + + return result !== 'DGBEFHACIJK'; +}); + +var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT; + +var getSortCompare = function (comparefn) { + return function (x, y) { + if (y === undefined) return -1; + if (x === undefined) return 1; + if (comparefn !== undefined) return +comparefn(x, y) || 0; + return toString(x) > toString(y) ? 1 : -1; + }; +}; + +// `Array.prototype.sort` method +// https://tc39.es/ecma262/#sec-array.prototype.sort +$({ target: 'Array', proto: true, forced: FORCED }, { + sort: function sort(comparefn) { + if (comparefn !== undefined) aCallable(comparefn); + + var array = toObject(this); + + if (STABLE_SORT) return comparefn === undefined ? un$Sort(array) : un$Sort(array, comparefn); + + var items = []; + var arrayLength = lengthOfArrayLike(array); + var itemsLength, index; + + for (index = 0; index < arrayLength; index++) { + if (index in array) push(items, array[index]); + } + + internalSort(items, getSortCompare(comparefn)); + + itemsLength = items.length; + index = 0; + + while (index < itemsLength) array[index] = items[index++]; + while (index < arrayLength) delete array[index++]; + + return array; + } +}); + +},{"../internals/a-callable":57,"../internals/array-method-is-strict":66,"../internals/array-sort":69,"../internals/engine-ff-version":86,"../internals/engine-is-ie-or-edge":87,"../internals/engine-v8-version":89,"../internals/engine-webkit-version":90,"../internals/export":93,"../internals/fails":94,"../internals/function-uncurry-this":99,"../internals/length-of-array-like":123,"../internals/to-object":157,"../internals/to-string":161}],176:[function(require,module,exports){ +var global = require('../internals/global'); +var setToStringTag = require('../internals/set-to-string-tag'); + +// JSON[@@toStringTag] property +// https://tc39.es/ecma262/#sec-json-@@tostringtag +setToStringTag(global.JSON, 'JSON', true); + +},{"../internals/global":104,"../internals/set-to-string-tag":147}],177:[function(require,module,exports){ +// empty + +},{}],178:[function(require,module,exports){ +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var create = require('../internals/object-create'); + +// `Object.create` method +// https://tc39.es/ecma262/#sec-object.create +$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, { + create: create +}); + +},{"../internals/descriptors":83,"../internals/export":93,"../internals/object-create":127}],179:[function(require,module,exports){ +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var objectDefinePropertyModile = require('../internals/object-define-property'); + +// `Object.defineProperty` method +// https://tc39.es/ecma262/#sec-object.defineproperty +$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, { + defineProperty: objectDefinePropertyModile.f +}); + +},{"../internals/descriptors":83,"../internals/export":93,"../internals/object-define-property":129}],180:[function(require,module,exports){ +arguments[4][177][0].apply(exports,arguments) +},{"dup":177}],181:[function(require,module,exports){ +var $ = require('../internals/export'); +var $parseInt = require('../internals/number-parse-int'); + +// `parseInt` method +// https://tc39.es/ecma262/#sec-parseint-string-radix +$({ global: true, forced: parseInt != $parseInt }, { + parseInt: $parseInt +}); + +},{"../internals/export":93,"../internals/number-parse-int":126}],182:[function(require,module,exports){ +arguments[4][177][0].apply(exports,arguments) +},{"dup":177}],183:[function(require,module,exports){ +arguments[4][177][0].apply(exports,arguments) +},{"dup":177}],184:[function(require,module,exports){ +'use strict'; +var charAt = require('../internals/string-multibyte').charAt; +var toString = require('../internals/to-string'); +var InternalStateModule = require('../internals/internal-state'); +var defineIterator = require('../internals/define-iterator'); + +var STRING_ITERATOR = 'String Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); + +// `String.prototype[@@iterator]` method +// https://tc39.es/ecma262/#sec-string.prototype-@@iterator +defineIterator(String, 'String', function (iterated) { + setInternalState(this, { + type: STRING_ITERATOR, + string: toString(iterated), + index: 0 + }); +// `%StringIteratorPrototype%.next` method +// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next +}, function next() { + var state = getInternalState(this); + var string = state.string; + var index = state.index; + var point; + if (index >= string.length) return { value: undefined, done: true }; + point = charAt(string, index); + state.index += point.length; + return { value: point, done: false }; +}); + +},{"../internals/define-iterator":81,"../internals/internal-state":111,"../internals/string-multibyte":151,"../internals/to-string":161}],185:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.asyncIterator` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.asynciterator +defineWellKnownSymbol('asyncIterator'); + +},{"../internals/define-well-known-symbol":82}],186:[function(require,module,exports){ +arguments[4][177][0].apply(exports,arguments) +},{"dup":177}],187:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.hasInstance` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.hasinstance +defineWellKnownSymbol('hasInstance'); + +},{"../internals/define-well-known-symbol":82}],188:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.isConcatSpreadable` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.isconcatspreadable +defineWellKnownSymbol('isConcatSpreadable'); + +},{"../internals/define-well-known-symbol":82}],189:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.iterator` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.iterator +defineWellKnownSymbol('iterator'); + +},{"../internals/define-well-known-symbol":82}],190:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var global = require('../internals/global'); +var getBuiltIn = require('../internals/get-built-in'); +var apply = require('../internals/function-apply'); +var call = require('../internals/function-call'); +var uncurryThis = require('../internals/function-uncurry-this'); +var IS_PURE = require('../internals/is-pure'); +var DESCRIPTORS = require('../internals/descriptors'); +var NATIVE_SYMBOL = require('../internals/native-symbol'); +var fails = require('../internals/fails'); +var hasOwn = require('../internals/has-own-property'); +var isArray = require('../internals/is-array'); +var isCallable = require('../internals/is-callable'); +var isObject = require('../internals/is-object'); +var isPrototypeOf = require('../internals/object-is-prototype-of'); +var isSymbol = require('../internals/is-symbol'); +var anObject = require('../internals/an-object'); +var toObject = require('../internals/to-object'); +var toIndexedObject = require('../internals/to-indexed-object'); +var toPropertyKey = require('../internals/to-property-key'); +var $toString = require('../internals/to-string'); +var createPropertyDescriptor = require('../internals/create-property-descriptor'); +var nativeObjectCreate = require('../internals/object-create'); +var objectKeys = require('../internals/object-keys'); +var getOwnPropertyNamesModule = require('../internals/object-get-own-property-names'); +var getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external'); +var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols'); +var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor'); +var definePropertyModule = require('../internals/object-define-property'); +var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable'); +var arraySlice = require('../internals/array-slice'); +var redefine = require('../internals/redefine'); +var shared = require('../internals/shared'); +var sharedKey = require('../internals/shared-key'); +var hiddenKeys = require('../internals/hidden-keys'); +var uid = require('../internals/uid'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped'); +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); +var setToStringTag = require('../internals/set-to-string-tag'); +var InternalStateModule = require('../internals/internal-state'); +var $forEach = require('../internals/array-iteration').forEach; + +var HIDDEN = sharedKey('hidden'); +var SYMBOL = 'Symbol'; +var PROTOTYPE = 'prototype'; +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); + +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(SYMBOL); + +var ObjectPrototype = Object[PROTOTYPE]; +var $Symbol = global.Symbol; +var SymbolPrototype = $Symbol && $Symbol[PROTOTYPE]; +var TypeError = global.TypeError; +var QObject = global.QObject; +var $stringify = getBuiltIn('JSON', 'stringify'); +var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; +var nativeDefineProperty = definePropertyModule.f; +var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f; +var nativePropertyIsEnumerable = propertyIsEnumerableModule.f; +var push = uncurryThis([].push); + +var AllSymbols = shared('symbols'); +var ObjectPrototypeSymbols = shared('op-symbols'); +var StringToSymbolRegistry = shared('string-to-symbol-registry'); +var SymbolToStringRegistry = shared('symbol-to-string-registry'); +var WellKnownSymbolsStore = shared('wks'); + +// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 +var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; + +// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 +var setSymbolDescriptor = DESCRIPTORS && fails(function () { + return nativeObjectCreate(nativeDefineProperty({}, 'a', { + get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; } + })).a != 7; +}) ? function (O, P, Attributes) { + var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P); + if (ObjectPrototypeDescriptor) delete ObjectPrototype[P]; + nativeDefineProperty(O, P, Attributes); + if (ObjectPrototypeDescriptor && O !== ObjectPrototype) { + nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor); + } +} : nativeDefineProperty; + +var wrap = function (tag, description) { + var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype); + setInternalState(symbol, { + type: SYMBOL, + tag: tag, + description: description + }); + if (!DESCRIPTORS) symbol.description = description; + return symbol; +}; + +var $defineProperty = function defineProperty(O, P, Attributes) { + if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes); + anObject(O); + var key = toPropertyKey(P); + anObject(Attributes); + if (hasOwn(AllSymbols, key)) { + if (!Attributes.enumerable) { + if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {})); + O[HIDDEN][key] = true; + } else { + if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false; + Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) }); + } return setSymbolDescriptor(O, key, Attributes); + } return nativeDefineProperty(O, key, Attributes); +}; + +var $defineProperties = function defineProperties(O, Properties) { + anObject(O); + var properties = toIndexedObject(Properties); + var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties)); + $forEach(keys, function (key) { + if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]); + }); + return O; +}; + +var $create = function create(O, Properties) { + return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties); +}; + +var $propertyIsEnumerable = function propertyIsEnumerable(V) { + var P = toPropertyKey(V); + var enumerable = call(nativePropertyIsEnumerable, this, P); + if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false; + return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P] + ? enumerable : true; +}; + +var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) { + var it = toIndexedObject(O); + var key = toPropertyKey(P); + if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return; + var descriptor = nativeGetOwnPropertyDescriptor(it, key); + if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) { + descriptor.enumerable = true; + } + return descriptor; +}; + +var $getOwnPropertyNames = function getOwnPropertyNames(O) { + var names = nativeGetOwnPropertyNames(toIndexedObject(O)); + var result = []; + $forEach(names, function (key) { + if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key); + }); + return result; +}; + +var $getOwnPropertySymbols = function getOwnPropertySymbols(O) { + var IS_OBJECT_PROTOTYPE = O === ObjectPrototype; + var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O)); + var result = []; + $forEach(names, function (key) { + if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) { + push(result, AllSymbols[key]); + } + }); + return result; +}; + +// `Symbol` constructor +// https://tc39.es/ecma262/#sec-symbol-constructor +if (!NATIVE_SYMBOL) { + $Symbol = function Symbol() { + if (isPrototypeOf(SymbolPrototype, this)) throw TypeError('Symbol is not a constructor'); + var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]); + var tag = uid(description); + var setter = function (value) { + if (this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value); + if (hasOwn(this, HIDDEN) && hasOwn(this[HIDDEN], tag)) this[HIDDEN][tag] = false; + setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value)); + }; + if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter }); + return wrap(tag, description); + }; + + SymbolPrototype = $Symbol[PROTOTYPE]; + + redefine(SymbolPrototype, 'toString', function toString() { + return getInternalState(this).tag; + }); + + redefine($Symbol, 'withoutSetter', function (description) { + return wrap(uid(description), description); + }); + + propertyIsEnumerableModule.f = $propertyIsEnumerable; + definePropertyModule.f = $defineProperty; + getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor; + getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames; + getOwnPropertySymbolsModule.f = $getOwnPropertySymbols; + + wrappedWellKnownSymbolModule.f = function (name) { + return wrap(wellKnownSymbol(name), name); + }; + + if (DESCRIPTORS) { + // https://github.com/tc39/proposal-Symbol-description + nativeDefineProperty(SymbolPrototype, 'description', { + configurable: true, + get: function description() { + return getInternalState(this).description; + } + }); + if (!IS_PURE) { + redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true }); + } + } +} + +$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, { + Symbol: $Symbol +}); + +$forEach(objectKeys(WellKnownSymbolsStore), function (name) { + defineWellKnownSymbol(name); +}); + +$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, { + // `Symbol.for` method + // https://tc39.es/ecma262/#sec-symbol.for + 'for': function (key) { + var string = $toString(key); + if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string]; + var symbol = $Symbol(string); + StringToSymbolRegistry[string] = symbol; + SymbolToStringRegistry[symbol] = string; + return symbol; + }, + // `Symbol.keyFor` method + // https://tc39.es/ecma262/#sec-symbol.keyfor + keyFor: function keyFor(sym) { + if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol'); + if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym]; + }, + useSetter: function () { USE_SETTER = true; }, + useSimple: function () { USE_SETTER = false; } +}); + +$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, { + // `Object.create` method + // https://tc39.es/ecma262/#sec-object.create + create: $create, + // `Object.defineProperty` method + // https://tc39.es/ecma262/#sec-object.defineproperty + defineProperty: $defineProperty, + // `Object.defineProperties` method + // https://tc39.es/ecma262/#sec-object.defineproperties + defineProperties: $defineProperties, + // `Object.getOwnPropertyDescriptor` method + // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors + getOwnPropertyDescriptor: $getOwnPropertyDescriptor +}); + +$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, { + // `Object.getOwnPropertyNames` method + // https://tc39.es/ecma262/#sec-object.getownpropertynames + getOwnPropertyNames: $getOwnPropertyNames, + // `Object.getOwnPropertySymbols` method + // https://tc39.es/ecma262/#sec-object.getownpropertysymbols + getOwnPropertySymbols: $getOwnPropertySymbols +}); + +// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives +// https://bugs.chromium.org/p/v8/issues/detail?id=3443 +$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, { + getOwnPropertySymbols: function getOwnPropertySymbols(it) { + return getOwnPropertySymbolsModule.f(toObject(it)); + } +}); + +// `JSON.stringify` method behavior with symbols +// https://tc39.es/ecma262/#sec-json.stringify +if ($stringify) { + var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () { + var symbol = $Symbol(); + // MS Edge converts symbol values to JSON as {} + return $stringify([symbol]) != '[null]' + // WebKit converts symbol values to JSON as null + || $stringify({ a: symbol }) != '{}' + // V8 throws on boxed symbols + || $stringify(Object(symbol)) != '{}'; + }); + + $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + stringify: function stringify(it, replacer, space) { + var args = arraySlice(arguments); + var $replacer = replacer; + if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined + if (!isArray(replacer)) replacer = function (key, value) { + if (isCallable($replacer)) value = call($replacer, this, key, value); + if (!isSymbol(value)) return value; + }; + args[1] = replacer; + return apply($stringify, null, args); + } + }); +} + +// `Symbol.prototype[@@toPrimitive]` method +// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive +if (!SymbolPrototype[TO_PRIMITIVE]) { + var valueOf = SymbolPrototype.valueOf; + // eslint-disable-next-line no-unused-vars -- required for .length + redefine(SymbolPrototype, TO_PRIMITIVE, function (hint) { + // TODO: improve hint logic + return call(valueOf, this); + }); +} +// `Symbol.prototype[@@toStringTag]` property +// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag +setToStringTag($Symbol, SYMBOL); + +hiddenKeys[HIDDEN] = true; + +},{"../internals/an-object":60,"../internals/array-iteration":64,"../internals/array-slice":68,"../internals/create-property-descriptor":79,"../internals/define-well-known-symbol":82,"../internals/descriptors":83,"../internals/export":93,"../internals/fails":94,"../internals/function-apply":95,"../internals/function-call":97,"../internals/function-uncurry-this":99,"../internals/get-built-in":100,"../internals/global":104,"../internals/has-own-property":105,"../internals/hidden-keys":106,"../internals/internal-state":111,"../internals/is-array":113,"../internals/is-callable":114,"../internals/is-object":117,"../internals/is-pure":118,"../internals/is-symbol":119,"../internals/native-symbol":124,"../internals/object-create":127,"../internals/object-define-property":129,"../internals/object-get-own-property-descriptor":130,"../internals/object-get-own-property-names":132,"../internals/object-get-own-property-names-external":131,"../internals/object-get-own-property-symbols":133,"../internals/object-is-prototype-of":135,"../internals/object-keys":137,"../internals/object-property-is-enumerable":138,"../internals/redefine":143,"../internals/set-to-string-tag":147,"../internals/shared":150,"../internals/shared-key":148,"../internals/to-indexed-object":154,"../internals/to-object":157,"../internals/to-property-key":159,"../internals/to-string":161,"../internals/uid":163,"../internals/well-known-symbol":166,"../internals/well-known-symbol-wrapped":165}],191:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.matchAll` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.matchall +defineWellKnownSymbol('matchAll'); + +},{"../internals/define-well-known-symbol":82}],192:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.match` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.match +defineWellKnownSymbol('match'); + +},{"../internals/define-well-known-symbol":82}],193:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.replace` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.replace +defineWellKnownSymbol('replace'); + +},{"../internals/define-well-known-symbol":82}],194:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.search` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.search +defineWellKnownSymbol('search'); + +},{"../internals/define-well-known-symbol":82}],195:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.species` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.species +defineWellKnownSymbol('species'); + +},{"../internals/define-well-known-symbol":82}],196:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.split` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.split +defineWellKnownSymbol('split'); + +},{"../internals/define-well-known-symbol":82}],197:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.toPrimitive` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.toprimitive +defineWellKnownSymbol('toPrimitive'); + +},{"../internals/define-well-known-symbol":82}],198:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.toStringTag` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.tostringtag +defineWellKnownSymbol('toStringTag'); + +},{"../internals/define-well-known-symbol":82}],199:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.unscopables` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.unscopables +defineWellKnownSymbol('unscopables'); + +},{"../internals/define-well-known-symbol":82}],200:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.asyncDispose` well-known symbol +// https://github.com/tc39/proposal-using-statement +defineWellKnownSymbol('asyncDispose'); + +},{"../internals/define-well-known-symbol":82}],201:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.dispose` well-known symbol +// https://github.com/tc39/proposal-using-statement +defineWellKnownSymbol('dispose'); + +},{"../internals/define-well-known-symbol":82}],202:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.matcher` well-known symbol +// https://github.com/tc39/proposal-pattern-matching +defineWellKnownSymbol('matcher'); + +},{"../internals/define-well-known-symbol":82}],203:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.metadata` well-known symbol +// https://github.com/tc39/proposal-decorators +defineWellKnownSymbol('metadata'); + +},{"../internals/define-well-known-symbol":82}],204:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.observable` well-known symbol +// https://github.com/tc39/proposal-observable +defineWellKnownSymbol('observable'); + +},{"../internals/define-well-known-symbol":82}],205:[function(require,module,exports){ +// TODO: remove from `core-js@4` +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.patternMatch` well-known symbol +// https://github.com/tc39/proposal-pattern-matching +defineWellKnownSymbol('patternMatch'); + +},{"../internals/define-well-known-symbol":82}],206:[function(require,module,exports){ +// TODO: remove from `core-js@4` +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +defineWellKnownSymbol('replaceAll'); + +},{"../internals/define-well-known-symbol":82}],207:[function(require,module,exports){ +require('../modules/es.array.iterator'); +var DOMIterables = require('../internals/dom-iterables'); +var global = require('../internals/global'); +var classof = require('../internals/classof'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var Iterators = require('../internals/iterators'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +for (var COLLECTION_NAME in DOMIterables) { + var Collection = global[COLLECTION_NAME]; + var CollectionPrototype = Collection && Collection.prototype; + if (CollectionPrototype && classof(CollectionPrototype) !== TO_STRING_TAG) { + createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME); + } + Iterators[COLLECTION_NAME] = Iterators.Array; +} + +},{"../internals/classof":75,"../internals/create-non-enumerable-property":78,"../internals/dom-iterables":85,"../internals/global":104,"../internals/iterators":122,"../internals/well-known-symbol":166,"../modules/es.array.iterator":173}],208:[function(require,module,exports){ +var parent = require('../../es/array/from'); + +module.exports = parent; + +},{"../../es/array/from":34}],209:[function(require,module,exports){ +var parent = require('../../es/array/is-array'); + +module.exports = parent; + +},{"../../es/array/is-array":35}],210:[function(require,module,exports){ +var parent = require('../../../es/array/virtual/for-each'); + +module.exports = parent; + +},{"../../../es/array/virtual/for-each":37}],211:[function(require,module,exports){ +var parent = require('../es/get-iterator-method'); +require('../modules/web.dom-collections.iterator'); + +module.exports = parent; + +},{"../es/get-iterator-method":41,"../modules/web.dom-collections.iterator":207}],212:[function(require,module,exports){ +var parent = require('../../es/instance/concat'); + +module.exports = parent; + +},{"../../es/instance/concat":42}],213:[function(require,module,exports){ +var parent = require('../../es/instance/flags'); + +module.exports = parent; + +},{"../../es/instance/flags":43}],214:[function(require,module,exports){ +require('../../modules/web.dom-collections.iterator'); +var classof = require('../../internals/classof'); +var hasOwn = require('../../internals/has-own-property'); +var isPrototypeOf = require('../../internals/object-is-prototype-of'); +var method = require('../array/virtual/for-each'); + +var ArrayPrototype = Array.prototype; + +var DOMIterables = { + DOMTokenList: true, + NodeList: true +}; + +module.exports = function (it) { + var own = it.forEach; + return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.forEach) + || hasOwn(DOMIterables, classof(it)) ? method : own; +}; + +},{"../../internals/classof":75,"../../internals/has-own-property":105,"../../internals/object-is-prototype-of":135,"../../modules/web.dom-collections.iterator":207,"../array/virtual/for-each":210}],215:[function(require,module,exports){ +var parent = require('../../es/instance/index-of'); + +module.exports = parent; + +},{"../../es/instance/index-of":44}],216:[function(require,module,exports){ +var parent = require('../../es/instance/slice'); + +module.exports = parent; + +},{"../../es/instance/slice":45}],217:[function(require,module,exports){ +var parent = require('../../es/instance/sort'); + +module.exports = parent; + +},{"../../es/instance/sort":46}],218:[function(require,module,exports){ +var parent = require('../../es/object/create'); + +module.exports = parent; + +},{"../../es/object/create":47}],219:[function(require,module,exports){ +var parent = require('../../es/object/define-property'); + +module.exports = parent; + +},{"../../es/object/define-property":48}],220:[function(require,module,exports){ +var parent = require('../es/parse-int'); + +module.exports = parent; + +},{"../es/parse-int":49}],221:[function(require,module,exports){ +var parent = require('../../es/symbol'); +require('../../modules/web.dom-collections.iterator'); + +module.exports = parent; + +},{"../../es/symbol":51,"../../modules/web.dom-collections.iterator":207}],222:[function(require,module,exports){ +module.exports = [ + { + 'name': 'C', + 'alias': 'Other', + 'isBmpLast': true, + 'bmp': '\0-\x1F\x7F-\x9F\xAD\u0378\u0379\u0380-\u0383\u038B\u038D\u03A2\u0530\u0557\u0558\u058B\u058C\u0590\u05C8-\u05CF\u05EB-\u05EE\u05F5-\u0605\u061C\u06DD\u070E\u070F\u074B\u074C\u07B2-\u07BF\u07FB\u07FC\u082E\u082F\u083F\u085C\u085D\u085F\u086B-\u086F\u088F-\u0897\u08E2\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FF\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A77-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0AF8\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B54\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0BFF\u0C0D\u0C11\u0C29\u0C3A\u0C3B\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B\u0C5C\u0C5E\u0C5F\u0C64\u0C65\u0C70-\u0C76\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDC\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0CFF\u0D0D\u0D11\u0D45\u0D49\u0D50-\u0D53\u0D64\u0D65\u0D80\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F6\u13F7\u13FE\u13FF\u169D-\u169F\u16F9-\u16FF\u1716-\u171E\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u180E\u181A-\u181F\u1879-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE\u1AAF\u1ACF-\u1AFF\u1B4D-\u1B4F\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C89-\u1C8F\u1CBB\u1CBC\u1CC8-\u1CCF\u1CFB-\u1CFF\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u200B-\u200F\u202A-\u202E\u2060-\u206F\u2072\u2073\u208F\u209D-\u209F\u20C1-\u20CF\u20F1-\u20FF\u218C-\u218F\u2427-\u243F\u244B-\u245F\u2B74\u2B75\u2B96\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E5E-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u3130\u318F\u31E4-\u31EF\u321F\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA6F8-\uA6FF\uA7CB-\uA7CF\uA7D2\uA7D4\uA7DA-\uA7F1\uA82D-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C6-\uA8CD\uA8DA-\uA8DF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB6C-\uAB6F\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBC3-\uFBD2\uFD90\uFD91\uFDC8-\uFDCE\uFDD0-\uFDEF\uFE1A-\uFE1F\uFE53\uFE67\uFE6C-\uFE6F\uFE75\uFEFD-\uFF00\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFDF\uFFE7\uFFEF-\uFFFB\uFFFE\uFFFF', + 'astral': '\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDCFF\uDD03-\uDD06\uDD34-\uDD36\uDD8F\uDD9D-\uDD9F\uDDA1-\uDDCF\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEFC-\uDEFF\uDF24-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDFC4-\uDFC7\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDD6E\uDD7B\uDD8B\uDD93\uDD96\uDDA2\uDDB2\uDDBA\uDDBD-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDF7F\uDF86\uDFB1\uDFBB-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56\uDC9F-\uDCA6\uDCB0-\uDCDF\uDCF3\uDCF6-\uDCFA\uDD1C-\uDD1E\uDD3A-\uDD3E\uDD40-\uDD7F\uDDB8-\uDDBB\uDDD0\uDDD1\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE49-\uDE4F\uDE59-\uDE5F\uDEA0-\uDEBF\uDEE7-\uDEEA\uDEF7-\uDEFF\uDF36-\uDF38\uDF56\uDF57\uDF73-\uDF77\uDF92-\uDF98\uDF9D-\uDFA8\uDFB0-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCF9\uDD28-\uDD2F\uDD3A-\uDE5F\uDE7F\uDEAA\uDEAE\uDEAF\uDEB2-\uDEFF\uDF28-\uDF2F\uDF5A-\uDF6F\uDF8A-\uDFAF\uDFCC-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC4E-\uDC51\uDC76-\uDC7E\uDCBD\uDCC3-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD48-\uDD4F\uDD77-\uDD7F\uDDE0\uDDF5-\uDDFF\uDE12\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEAA-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC5C\uDC62-\uDC7F\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDDE-\uDDFF\uDE45-\uDE4F\uDE5A-\uDE5F\uDE6D-\uDE7F\uDEBA-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF47-\uDFFF]|\uD806[\uDC3C-\uDC9F\uDCF3-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD47-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE5-\uDDFF\uDE48-\uDE4F\uDEA3-\uDEAF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC46-\uDC4F\uDC6D-\uDC6F\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF9-\uDFAF\uDFB1-\uDFBF\uDFF2-\uDFFE]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F\uDC75-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80E-\uD810\uD812-\uD819\uD824-\uD82A\uD82D\uD82E\uD830-\uD832\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDBFF][\uDC00-\uDFFF]|\uD80B[\uDC00-\uDF8F\uDFF3-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDE6D\uDEBF\uDECA-\uDECF\uDEEE\uDEEF\uDEF6-\uDEFF\uDF46-\uDF4F\uDF5A\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE9B-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82B[\uDC00-\uDFEF\uDFF4\uDFFC\uDFFF]|\uD82C[\uDD23-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A\uDC9B\uDCA0-\uDFFF]|\uD833[\uDC00-\uDEFF\uDF2E\uDF2F\uDF47-\uDF4F\uDFC4-\uDFFF]|\uD834[\uDCF6-\uDCFF\uDD27\uDD28\uDD73-\uDD7A\uDDEB-\uDDFF\uDE46-\uDEDF\uDEF4-\uDEFF\uDF57-\uDF5F\uDF79-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDFCC\uDFCD]|\uD836[\uDE8C-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD837[\uDC00-\uDEFF\uDF1F-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD50-\uDE8F\uDEAF-\uDEBF\uDEFA-\uDEFE\uDF00-\uDFFF]|\uD839[\uDC00-\uDFDF\uDFE7\uDFEC\uDFEF\uDFFF]|\uD83A[\uDCC5\uDCC6\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDD5D\uDD60-\uDFFF]|\uD83B[\uDC00-\uDC70\uDCB5-\uDD00\uDD3E-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDEEF\uDEF2-\uDFFF]|\uD83C[\uDC2C-\uDC2F\uDC94-\uDC9F\uDCAF\uDCB0\uDCC0\uDCD0\uDCF6-\uDCFF\uDDAE-\uDDE5\uDE03-\uDE0F\uDE3C-\uDE3F\uDE49-\uDE4F\uDE52-\uDE5F\uDE66-\uDEFF]|\uD83D[\uDED8-\uDEDC\uDEED-\uDEEF\uDEFD-\uDEFF\uDF74-\uDF7F\uDFD9-\uDFDF\uDFEC-\uDFEF\uDFF1-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE\uDCAF\uDCB2-\uDCFF\uDE54-\uDE5F\uDE6E\uDE6F\uDE75-\uDE77\uDE7D-\uDE7F\uDE87-\uDE8F\uDEAD-\uDEAF\uDEBB-\uDEBF\uDEC6-\uDECF\uDEDA-\uDEDF\uDEE8-\uDEEF\uDEF7-\uDEFF\uDF93\uDFCB-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEE0-\uDEFF]|\uD86D[\uDF39-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00-\uDCFF\uDDF0-\uDFFF]' + }, + { + 'name': 'Cc', + 'alias': 'Control', + 'bmp': '\0-\x1F\x7F-\x9F' + }, + { + 'name': 'Cf', + 'alias': 'Format', + 'bmp': '\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB', + 'astral': '\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC38]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]' + }, + { + 'name': 'Cn', + 'alias': 'Unassigned', + 'bmp': '\u0378\u0379\u0380-\u0383\u038B\u038D\u03A2\u0530\u0557\u0558\u058B\u058C\u0590\u05C8-\u05CF\u05EB-\u05EE\u05F5-\u05FF\u070E\u074B\u074C\u07B2-\u07BF\u07FB\u07FC\u082E\u082F\u083F\u085C\u085D\u085F\u086B-\u086F\u088F\u0892-\u0897\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FF\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A77-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0AF8\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B54\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0BFF\u0C0D\u0C11\u0C29\u0C3A\u0C3B\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B\u0C5C\u0C5E\u0C5F\u0C64\u0C65\u0C70-\u0C76\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDC\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0CFF\u0D0D\u0D11\u0D45\u0D49\u0D50-\u0D53\u0D64\u0D65\u0D80\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F6\u13F7\u13FE\u13FF\u169D-\u169F\u16F9-\u16FF\u1716-\u171E\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u181A-\u181F\u1879-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE\u1AAF\u1ACF-\u1AFF\u1B4D-\u1B4F\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C89-\u1C8F\u1CBB\u1CBC\u1CC8-\u1CCF\u1CFB-\u1CFF\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u2065\u2072\u2073\u208F\u209D-\u209F\u20C1-\u20CF\u20F1-\u20FF\u218C-\u218F\u2427-\u243F\u244B-\u245F\u2B74\u2B75\u2B96\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E5E-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u3130\u318F\u31E4-\u31EF\u321F\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA6F8-\uA6FF\uA7CB-\uA7CF\uA7D2\uA7D4\uA7DA-\uA7F1\uA82D-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C6-\uA8CD\uA8DA-\uA8DF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB6C-\uAB6F\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBC3-\uFBD2\uFD90\uFD91\uFDC8-\uFDCE\uFDD0-\uFDEF\uFE1A-\uFE1F\uFE53\uFE67\uFE6C-\uFE6F\uFE75\uFEFD\uFEFE\uFF00\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFDF\uFFE7\uFFEF-\uFFF8\uFFFE\uFFFF', + 'astral': '\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDCFF\uDD03-\uDD06\uDD34-\uDD36\uDD8F\uDD9D-\uDD9F\uDDA1-\uDDCF\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEFC-\uDEFF\uDF24-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDFC4-\uDFC7\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDD6E\uDD7B\uDD8B\uDD93\uDD96\uDDA2\uDDB2\uDDBA\uDDBD-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDF7F\uDF86\uDFB1\uDFBB-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56\uDC9F-\uDCA6\uDCB0-\uDCDF\uDCF3\uDCF6-\uDCFA\uDD1C-\uDD1E\uDD3A-\uDD3E\uDD40-\uDD7F\uDDB8-\uDDBB\uDDD0\uDDD1\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE49-\uDE4F\uDE59-\uDE5F\uDEA0-\uDEBF\uDEE7-\uDEEA\uDEF7-\uDEFF\uDF36-\uDF38\uDF56\uDF57\uDF73-\uDF77\uDF92-\uDF98\uDF9D-\uDFA8\uDFB0-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCF9\uDD28-\uDD2F\uDD3A-\uDE5F\uDE7F\uDEAA\uDEAE\uDEAF\uDEB2-\uDEFF\uDF28-\uDF2F\uDF5A-\uDF6F\uDF8A-\uDFAF\uDFCC-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC4E-\uDC51\uDC76-\uDC7E\uDCC3-\uDCCC\uDCCE\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD48-\uDD4F\uDD77-\uDD7F\uDDE0\uDDF5-\uDDFF\uDE12\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEAA-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC5C\uDC62-\uDC7F\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDDE-\uDDFF\uDE45-\uDE4F\uDE5A-\uDE5F\uDE6D-\uDE7F\uDEBA-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF47-\uDFFF]|\uD806[\uDC3C-\uDC9F\uDCF3-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD47-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE5-\uDDFF\uDE48-\uDE4F\uDEA3-\uDEAF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC46-\uDC4F\uDC6D-\uDC6F\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF9-\uDFAF\uDFB1-\uDFBF\uDFF2-\uDFFE]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F\uDC75-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80E-\uD810\uD812-\uD819\uD824-\uD82A\uD82D\uD82E\uD830-\uD832\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDB7F][\uDC00-\uDFFF]|\uD80B[\uDC00-\uDF8F\uDFF3-\uDFFF]|\uD80D[\uDC2F\uDC39-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDE6D\uDEBF\uDECA-\uDECF\uDEEE\uDEEF\uDEF6-\uDEFF\uDF46-\uDF4F\uDF5A\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE9B-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82B[\uDC00-\uDFEF\uDFF4\uDFFC\uDFFF]|\uD82C[\uDD23-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A\uDC9B\uDCA4-\uDFFF]|\uD833[\uDC00-\uDEFF\uDF2E\uDF2F\uDF47-\uDF4F\uDFC4-\uDFFF]|\uD834[\uDCF6-\uDCFF\uDD27\uDD28\uDDEB-\uDDFF\uDE46-\uDEDF\uDEF4-\uDEFF\uDF57-\uDF5F\uDF79-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDFCC\uDFCD]|\uD836[\uDE8C-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD837[\uDC00-\uDEFF\uDF1F-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD50-\uDE8F\uDEAF-\uDEBF\uDEFA-\uDEFE\uDF00-\uDFFF]|\uD839[\uDC00-\uDFDF\uDFE7\uDFEC\uDFEF\uDFFF]|\uD83A[\uDCC5\uDCC6\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDD5D\uDD60-\uDFFF]|\uD83B[\uDC00-\uDC70\uDCB5-\uDD00\uDD3E-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDEEF\uDEF2-\uDFFF]|\uD83C[\uDC2C-\uDC2F\uDC94-\uDC9F\uDCAF\uDCB0\uDCC0\uDCD0\uDCF6-\uDCFF\uDDAE-\uDDE5\uDE03-\uDE0F\uDE3C-\uDE3F\uDE49-\uDE4F\uDE52-\uDE5F\uDE66-\uDEFF]|\uD83D[\uDED8-\uDEDC\uDEED-\uDEEF\uDEFD-\uDEFF\uDF74-\uDF7F\uDFD9-\uDFDF\uDFEC-\uDFEF\uDFF1-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE\uDCAF\uDCB2-\uDCFF\uDE54-\uDE5F\uDE6E\uDE6F\uDE75-\uDE77\uDE7D-\uDE7F\uDE87-\uDE8F\uDEAD-\uDEAF\uDEBB-\uDEBF\uDEC6-\uDECF\uDEDA-\uDEDF\uDEE8-\uDEEF\uDEF7-\uDEFF\uDF93\uDFCB-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEE0-\uDEFF]|\uD86D[\uDF39-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00\uDC02-\uDC1F\uDC80-\uDCFF\uDDF0-\uDFFF]|[\uDBBF\uDBFF][\uDFFE\uDFFF]' + }, + { + 'name': 'Co', + 'alias': 'Private_Use', + 'bmp': '\uE000-\uF8FF', + 'astral': '[\uDB80-\uDBBE\uDBC0-\uDBFE][\uDC00-\uDFFF]|[\uDBBF\uDBFF][\uDC00-\uDFFD]' + }, + { + 'name': 'Cs', + 'alias': 'Surrogate', + 'bmp': '\uD800-\uDFFF' + }, + { + 'name': 'L', + 'alias': 'Letter', + 'bmp': 'A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC', + 'astral': '\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]' + }, + { + 'name': 'LC', + 'alias': 'Cased_Letter', + 'bmp': 'A-Za-z\xB5\xC0-\xD6\xD8-\xF6\xF8-\u01BA\u01BC-\u01BF\u01C4-\u0293\u0295-\u02AF\u0370-\u0373\u0376\u0377\u037B-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0560-\u0588\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FD-\u10FF\u13A0-\u13F5\u13F8-\u13FD\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2134\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C7B\u2C7E-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA640-\uA66D\uA680-\uA69B\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F5\uA7F6\uA7FA\uAB30-\uAB5A\uAB60-\uAB68\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF21-\uFF3A\uFF41-\uFF5A', + 'astral': '\uD801[\uDC00-\uDC4F\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC]|\uD803[\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD806[\uDCA0-\uDCDF]|\uD81B[\uDE40-\uDE7F]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF09\uDF0B-\uDF1E]|\uD83A[\uDD00-\uDD43]' + }, + { + 'name': 'Ll', + 'alias': 'Lowercase_Letter', + 'bmp': 'a-z\xB5\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0560-\u0588\u10D0-\u10FA\u10FD-\u10FF\u13F8-\u13FD\u1C80-\u1C88\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6\u1FC7\u1FD0-\u1FD3\u1FD6\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6\u1FF7\u210A\u210E\u210F\u2113\u212F\u2134\u2139\u213C\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5F\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7AF\uA7B5\uA7B7\uA7B9\uA7BB\uA7BD\uA7BF\uA7C1\uA7C3\uA7C8\uA7CA\uA7D1\uA7D3\uA7D5\uA7D7\uA7D9\uA7F6\uA7FA\uAB30-\uAB5A\uAB60-\uAB68\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A', + 'astral': '\uD801[\uDC28-\uDC4F\uDCD8-\uDCFB\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC]|\uD803[\uDCC0-\uDCF2]|\uD806[\uDCC0-\uDCDF]|\uD81B[\uDE60-\uDE7F]|\uD835[\uDC1A-\uDC33\uDC4E-\uDC54\uDC56-\uDC67\uDC82-\uDC9B\uDCB6-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDCEA-\uDD03\uDD1E-\uDD37\uDD52-\uDD6B\uDD86-\uDD9F\uDDBA-\uDDD3\uDDEE-\uDE07\uDE22-\uDE3B\uDE56-\uDE6F\uDE8A-\uDEA5\uDEC2-\uDEDA\uDEDC-\uDEE1\uDEFC-\uDF14\uDF16-\uDF1B\uDF36-\uDF4E\uDF50-\uDF55\uDF70-\uDF88\uDF8A-\uDF8F\uDFAA-\uDFC2\uDFC4-\uDFC9\uDFCB]|\uD837[\uDF00-\uDF09\uDF0B-\uDF1E]|\uD83A[\uDD22-\uDD43]' + }, + { + 'name': 'Lm', + 'alias': 'Modifier_Letter', + 'bmp': '\u02B0-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0374\u037A\u0559\u0640\u06E5\u06E6\u07F4\u07F5\u07FA\u081A\u0824\u0828\u08C9\u0971\u0E46\u0EC6\u10FC\u17D7\u1843\u1AA7\u1C78-\u1C7D\u1D2C-\u1D6A\u1D78\u1D9B-\u1DBF\u2071\u207F\u2090-\u209C\u2C7C\u2C7D\u2D6F\u2E2F\u3005\u3031-\u3035\u303B\u309D\u309E\u30FC-\u30FE\uA015\uA4F8-\uA4FD\uA60C\uA67F\uA69C\uA69D\uA717-\uA71F\uA770\uA788\uA7F2-\uA7F4\uA7F8\uA7F9\uA9CF\uA9E6\uAA70\uAADD\uAAF3\uAAF4\uAB5C-\uAB5F\uAB69\uFF70\uFF9E\uFF9F', + 'astral': '\uD801[\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD81A[\uDF40-\uDF43]|\uD81B[\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD838[\uDD37-\uDD3D]|\uD83A\uDD4B' + }, + { + 'name': 'Lo', + 'alias': 'Other_Letter', + 'bmp': '\xAA\xBA\u01BB\u01C0-\u01C3\u0294\u05D0-\u05EA\u05EF-\u05F2\u0620-\u063F\u0641-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u0800-\u0815\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C8\u0904-\u0939\u093D\u0950\u0958-\u0961\u0972-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E45\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1100-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17DC\u1820-\u1842\u1844-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C77\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u2135-\u2138\u2D30-\u2D67\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3006\u303C\u3041-\u3096\u309F\u30A1-\u30FA\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA014\uA016-\uA48C\uA4D0-\uA4F7\uA500-\uA60B\uA610-\uA61F\uA62A\uA62B\uA66E\uA6A0-\uA6E5\uA78F\uA7F7\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9E0-\uA9E4\uA9E7-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA6F\uAA71-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB\uAADC\uAAE0-\uAAEA\uAAF2\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF66-\uFF6F\uFF71-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC', + 'astral': '\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC50-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF4A\uDF50]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD837\uDF0A|\uD838[\uDD00-\uDD2C\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]' + }, + { + 'name': 'Lt', + 'alias': 'Titlecase_Letter', + 'bmp': '\u01C5\u01C8\u01CB\u01F2\u1F88-\u1F8F\u1F98-\u1F9F\u1FA8-\u1FAF\u1FBC\u1FCC\u1FFC' + }, + { + 'name': 'Lu', + 'alias': 'Uppercase_Letter', + 'bmp': 'A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1C90-\u1CBA\u1CBD-\u1CBF\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E\u213F\u2145\u2183\u2C00-\u2C2F\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uA7B8\uA7BA\uA7BC\uA7BE\uA7C0\uA7C2\uA7C4-\uA7C7\uA7C9\uA7D0\uA7D6\uA7D8\uA7F5\uFF21-\uFF3A', + 'astral': '\uD801[\uDC00-\uDC27\uDCB0-\uDCD3\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95]|\uD803[\uDC80-\uDCB2]|\uD806[\uDCA0-\uDCBF]|\uD81B[\uDE40-\uDE5F]|\uD835[\uDC00-\uDC19\uDC34-\uDC4D\uDC68-\uDC81\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB5\uDCD0-\uDCE9\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD38\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD6C-\uDD85\uDDA0-\uDDB9\uDDD4-\uDDED\uDE08-\uDE21\uDE3C-\uDE55\uDE70-\uDE89\uDEA8-\uDEC0\uDEE2-\uDEFA\uDF1C-\uDF34\uDF56-\uDF6E\uDF90-\uDFA8\uDFCA]|\uD83A[\uDD00-\uDD21]' + }, + { + 'name': 'M', + 'alias': 'Mark', + 'bmp': '\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F', + 'astral': '\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC82\uDCB0-\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD34\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC9-\uDDCC\uDDCE\uDDCF\uDE2C-\uDE37\uDE3E\uDEDF-\uDEEA\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC35-\uDC46\uDC5E\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDEAB-\uDEB7\uDF1D-\uDF2B]|\uD806[\uDC2C-\uDC3A\uDD30-\uDD35\uDD37\uDD38\uDD3B-\uDD3E\uDD40\uDD42\uDD43\uDDD1-\uDDD7\uDDDA-\uDDE0\uDDE4\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE8A-\uDE99]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDEF3-\uDEF6]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF51-\uDF87\uDF8F-\uDF92\uDFE4\uDFF0\uDFF1]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF]' + }, + { + 'name': 'Mc', + 'alias': 'Spacing_Mark', + 'bmp': '\u0903\u093B\u093E-\u0940\u0949-\u094C\u094E\u094F\u0982\u0983\u09BE-\u09C0\u09C7\u09C8\u09CB\u09CC\u09D7\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9\u0ACB\u0ACC\u0B02\u0B03\u0B3E\u0B40\u0B47\u0B48\u0B4B\u0B4C\u0B57\u0BBE\u0BBF\u0BC1\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD7\u0C01-\u0C03\u0C41-\u0C44\u0C82\u0C83\u0CBE\u0CC0-\u0CC4\u0CC7\u0CC8\u0CCA\u0CCB\u0CD5\u0CD6\u0D02\u0D03\u0D3E-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D57\u0D82\u0D83\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DF2\u0DF3\u0F3E\u0F3F\u0F7F\u102B\u102C\u1031\u1038\u103B\u103C\u1056\u1057\u1062-\u1064\u1067-\u106D\u1083\u1084\u1087-\u108C\u108F\u109A-\u109C\u1715\u1734\u17B6\u17BE-\u17C5\u17C7\u17C8\u1923-\u1926\u1929-\u192B\u1930\u1931\u1933-\u1938\u1A19\u1A1A\u1A55\u1A57\u1A61\u1A63\u1A64\u1A6D-\u1A72\u1B04\u1B35\u1B3B\u1B3D-\u1B41\u1B43\u1B44\u1B82\u1BA1\u1BA6\u1BA7\u1BAA\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2\u1BF3\u1C24-\u1C2B\u1C34\u1C35\u1CE1\u1CF7\u302E\u302F\uA823\uA824\uA827\uA880\uA881\uA8B4-\uA8C3\uA952\uA953\uA983\uA9B4\uA9B5\uA9BA\uA9BB\uA9BE-\uA9C0\uAA2F\uAA30\uAA33\uAA34\uAA4D\uAA7B\uAA7D\uAAEB\uAAEE\uAAEF\uAAF5\uABE3\uABE4\uABE6\uABE7\uABE9\uABEA\uABEC', + 'astral': '\uD804[\uDC00\uDC02\uDC82\uDCB0-\uDCB2\uDCB7\uDCB8\uDD2C\uDD45\uDD46\uDD82\uDDB3-\uDDB5\uDDBF\uDDC0\uDDCE\uDE2C-\uDE2E\uDE32\uDE33\uDE35\uDEE0-\uDEE2\uDF02\uDF03\uDF3E\uDF3F\uDF41-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63]|\uD805[\uDC35-\uDC37\uDC40\uDC41\uDC45\uDCB0-\uDCB2\uDCB9\uDCBB-\uDCBE\uDCC1\uDDAF-\uDDB1\uDDB8-\uDDBB\uDDBE\uDE30-\uDE32\uDE3B\uDE3C\uDE3E\uDEAC\uDEAE\uDEAF\uDEB6\uDF20\uDF21\uDF26]|\uD806[\uDC2C-\uDC2E\uDC38\uDD30-\uDD35\uDD37\uDD38\uDD3D\uDD40\uDD42\uDDD1-\uDDD3\uDDDC-\uDDDF\uDDE4\uDE39\uDE57\uDE58\uDE97]|\uD807[\uDC2F\uDC3E\uDCA9\uDCB1\uDCB4\uDD8A-\uDD8E\uDD93\uDD94\uDD96\uDEF5\uDEF6]|\uD81B[\uDF51-\uDF87\uDFF0\uDFF1]|\uD834[\uDD65\uDD66\uDD6D-\uDD72]' + }, + { + 'name': 'Me', + 'alias': 'Enclosing_Mark', + 'bmp': '\u0488\u0489\u1ABE\u20DD-\u20E0\u20E2-\u20E4\uA670-\uA672' + }, + { + 'name': 'Mn', + 'alias': 'Nonspacing_Mark', + 'bmp': '\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B55\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C04\u0C3C\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CBF\u0CC6\u0CCC\u0CCD\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0D81\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732\u1733\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DFF\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099\u309A\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA82C\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F', + 'astral': '\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC01\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC81\uDCB3-\uDCB6\uDCB9\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD2B\uDD2D-\uDD34\uDD73\uDD80\uDD81\uDDB6-\uDDBE\uDDC9-\uDDCC\uDDCF\uDE2F-\uDE31\uDE34\uDE36\uDE37\uDE3E\uDEDF\uDEE3-\uDEEA\uDF00\uDF01\uDF3B\uDF3C\uDF40\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC38-\uDC3F\uDC42-\uDC44\uDC46\uDC5E\uDCB3-\uDCB8\uDCBA\uDCBF\uDCC0\uDCC2\uDCC3\uDDB2-\uDDB5\uDDBC\uDDBD\uDDBF\uDDC0\uDDDC\uDDDD\uDE33-\uDE3A\uDE3D\uDE3F\uDE40\uDEAB\uDEAD\uDEB0-\uDEB5\uDEB7\uDF1D-\uDF1F\uDF22-\uDF25\uDF27-\uDF2B]|\uD806[\uDC2F-\uDC37\uDC39\uDC3A\uDD3B\uDD3C\uDD3E\uDD43\uDDD4-\uDDD7\uDDDA\uDDDB\uDDE0\uDE01-\uDE0A\uDE33-\uDE38\uDE3B-\uDE3E\uDE47\uDE51-\uDE56\uDE59-\uDE5B\uDE8A-\uDE96\uDE98\uDE99]|\uD807[\uDC30-\uDC36\uDC38-\uDC3D\uDC3F\uDC92-\uDCA7\uDCAA-\uDCB0\uDCB2\uDCB3\uDCB5\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD90\uDD91\uDD95\uDD97\uDEF3\uDEF4]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF8F-\uDF92\uDFE4]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD67-\uDD69\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF]' + }, + { + 'name': 'N', + 'alias': 'Number', + 'bmp': '0-9\xB2\xB3\xB9\xBC-\xBE\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u09F4-\u09F9\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0B72-\u0B77\u0BE6-\u0BF2\u0C66-\u0C6F\u0C78-\u0C7E\u0CE6-\u0CEF\u0D58-\u0D5E\u0D66-\u0D78\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F33\u1040-\u1049\u1090-\u1099\u1369-\u137C\u16EE-\u16F0\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1946-\u194F\u19D0-\u19DA\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\u2070\u2074-\u2079\u2080-\u2089\u2150-\u2182\u2185-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2CFD\u3007\u3021-\u3029\u3038-\u303A\u3192-\u3195\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\uA620-\uA629\uA6E6-\uA6EF\uA830-\uA835\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19', + 'astral': '\uD800[\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDEE1-\uDEFB\uDF20-\uDF23\uDF41\uDF4A\uDFD1-\uDFD5]|\uD801[\uDCA0-\uDCA9]|\uD802[\uDC58-\uDC5F\uDC79-\uDC7F\uDCA7-\uDCAF\uDCFB-\uDCFF\uDD16-\uDD1B\uDDBC\uDDBD\uDDC0-\uDDCF\uDDD2-\uDDFF\uDE40-\uDE48\uDE7D\uDE7E\uDE9D-\uDE9F\uDEEB-\uDEEF\uDF58-\uDF5F\uDF78-\uDF7F\uDFA9-\uDFAF]|\uD803[\uDCFA-\uDCFF\uDD30-\uDD39\uDE60-\uDE7E\uDF1D-\uDF26\uDF51-\uDF54\uDFC5-\uDFCB]|\uD804[\uDC52-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDDE1-\uDDF4\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF3B]|\uD806[\uDCE0-\uDCF2\uDD50-\uDD59]|\uD807[\uDC50-\uDC6C\uDD50-\uDD59\uDDA0-\uDDA9\uDFC0-\uDFD4]|\uD809[\uDC00-\uDC6E]|\uD81A[\uDE60-\uDE69\uDEC0-\uDEC9\uDF50-\uDF59\uDF5B-\uDF61]|\uD81B[\uDE80-\uDE96]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDFCE-\uDFFF]|\uD838[\uDD40-\uDD49\uDEF0-\uDEF9]|\uD83A[\uDCC7-\uDCCF\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]' + }, + { + 'name': 'Nd', + 'alias': 'Decimal_Number', + 'bmp': '0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19', + 'astral': '\uD801[\uDCA0-\uDCA9]|\uD803[\uDD30-\uDD39]|\uD804[\uDC66-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF39]|\uD806[\uDCE0-\uDCE9\uDD50-\uDD59]|\uD807[\uDC50-\uDC59\uDD50-\uDD59\uDDA0-\uDDA9]|\uD81A[\uDE60-\uDE69\uDEC0-\uDEC9\uDF50-\uDF59]|\uD835[\uDFCE-\uDFFF]|\uD838[\uDD40-\uDD49\uDEF0-\uDEF9]|\uD83A[\uDD50-\uDD59]|\uD83E[\uDFF0-\uDFF9]' + }, + { + 'name': 'Nl', + 'alias': 'Letter_Number', + 'bmp': '\u16EE-\u16F0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303A\uA6E6-\uA6EF', + 'astral': '\uD800[\uDD40-\uDD74\uDF41\uDF4A\uDFD1-\uDFD5]|\uD809[\uDC00-\uDC6E]' + }, + { + 'name': 'No', + 'alias': 'Other_Number', + 'bmp': '\xB2\xB3\xB9\xBC-\xBE\u09F4-\u09F9\u0B72-\u0B77\u0BF0-\u0BF2\u0C78-\u0C7E\u0D58-\u0D5E\u0D70-\u0D78\u0F2A-\u0F33\u1369-\u137C\u17F0-\u17F9\u19DA\u2070\u2074-\u2079\u2080-\u2089\u2150-\u215F\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2CFD\u3192-\u3195\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\uA830-\uA835', + 'astral': '\uD800[\uDD07-\uDD33\uDD75-\uDD78\uDD8A\uDD8B\uDEE1-\uDEFB\uDF20-\uDF23]|\uD802[\uDC58-\uDC5F\uDC79-\uDC7F\uDCA7-\uDCAF\uDCFB-\uDCFF\uDD16-\uDD1B\uDDBC\uDDBD\uDDC0-\uDDCF\uDDD2-\uDDFF\uDE40-\uDE48\uDE7D\uDE7E\uDE9D-\uDE9F\uDEEB-\uDEEF\uDF58-\uDF5F\uDF78-\uDF7F\uDFA9-\uDFAF]|\uD803[\uDCFA-\uDCFF\uDE60-\uDE7E\uDF1D-\uDF26\uDF51-\uDF54\uDFC5-\uDFCB]|\uD804[\uDC52-\uDC65\uDDE1-\uDDF4]|\uD805[\uDF3A\uDF3B]|\uD806[\uDCEA-\uDCF2]|\uD807[\uDC5A-\uDC6C\uDFC0-\uDFD4]|\uD81A[\uDF5B-\uDF61]|\uD81B[\uDE80-\uDE96]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD83A[\uDCC7-\uDCCF]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D]|\uD83C[\uDD00-\uDD0C]' + }, + { + 'name': 'P', + 'alias': 'Punctuation', + 'bmp': '!-#%-\\*,-\\/:;\\?@\\[-\\]_\\{\\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65', + 'astral': '\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]' + }, + { + 'name': 'Pc', + 'alias': 'Connector_Punctuation', + 'bmp': '_\u203F\u2040\u2054\uFE33\uFE34\uFE4D-\uFE4F\uFF3F' + }, + { + 'name': 'Pd', + 'alias': 'Dash_Punctuation', + 'bmp': '\\-\u058A\u05BE\u1400\u1806\u2010-\u2015\u2E17\u2E1A\u2E3A\u2E3B\u2E40\u2E5D\u301C\u3030\u30A0\uFE31\uFE32\uFE58\uFE63\uFF0D', + 'astral': '\uD803\uDEAD' + }, + { + 'name': 'Pe', + 'alias': 'Close_Punctuation', + 'bmp': '\\)\\]\\}\u0F3B\u0F3D\u169C\u2046\u207E\u208E\u2309\u230B\u232A\u2769\u276B\u276D\u276F\u2771\u2773\u2775\u27C6\u27E7\u27E9\u27EB\u27ED\u27EF\u2984\u2986\u2988\u298A\u298C\u298E\u2990\u2992\u2994\u2996\u2998\u29D9\u29DB\u29FD\u2E23\u2E25\u2E27\u2E29\u2E56\u2E58\u2E5A\u2E5C\u3009\u300B\u300D\u300F\u3011\u3015\u3017\u3019\u301B\u301E\u301F\uFD3E\uFE18\uFE36\uFE38\uFE3A\uFE3C\uFE3E\uFE40\uFE42\uFE44\uFE48\uFE5A\uFE5C\uFE5E\uFF09\uFF3D\uFF5D\uFF60\uFF63' + }, + { + 'name': 'Pf', + 'alias': 'Final_Punctuation', + 'bmp': '\xBB\u2019\u201D\u203A\u2E03\u2E05\u2E0A\u2E0D\u2E1D\u2E21' + }, + { + 'name': 'Pi', + 'alias': 'Initial_Punctuation', + 'bmp': '\xAB\u2018\u201B\u201C\u201F\u2039\u2E02\u2E04\u2E09\u2E0C\u2E1C\u2E20' + }, + { + 'name': 'Po', + 'alias': 'Other_Punctuation', + 'bmp': '!-#%-\'\\*,\\.\\/:;\\?@\\\xA1\xA7\xB6\xB7\xBF\u037E\u0387\u055A-\u055F\u0589\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u166E\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u1805\u1807-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2016\u2017\u2020-\u2027\u2030-\u2038\u203B-\u203E\u2041-\u2043\u2047-\u2051\u2053\u2055-\u205E\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00\u2E01\u2E06-\u2E08\u2E0B\u2E0E-\u2E16\u2E18\u2E19\u2E1B\u2E1E\u2E1F\u2E2A-\u2E2E\u2E30-\u2E39\u2E3C-\u2E3F\u2E41\u2E43-\u2E4F\u2E52-\u2E54\u3001-\u3003\u303D\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFE10-\uFE16\uFE19\uFE30\uFE45\uFE46\uFE49-\uFE4C\uFE50-\uFE52\uFE54-\uFE57\uFE5F-\uFE61\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF07\uFF0A\uFF0C\uFF0E\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3C\uFF61\uFF64\uFF65', + 'astral': '\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]' + }, + { + 'name': 'Ps', + 'alias': 'Open_Punctuation', + 'bmp': '\\(\\[\\{\u0F3A\u0F3C\u169B\u201A\u201E\u2045\u207D\u208D\u2308\u230A\u2329\u2768\u276A\u276C\u276E\u2770\u2772\u2774\u27C5\u27E6\u27E8\u27EA\u27EC\u27EE\u2983\u2985\u2987\u2989\u298B\u298D\u298F\u2991\u2993\u2995\u2997\u29D8\u29DA\u29FC\u2E22\u2E24\u2E26\u2E28\u2E42\u2E55\u2E57\u2E59\u2E5B\u3008\u300A\u300C\u300E\u3010\u3014\u3016\u3018\u301A\u301D\uFD3F\uFE17\uFE35\uFE37\uFE39\uFE3B\uFE3D\uFE3F\uFE41\uFE43\uFE47\uFE59\uFE5B\uFE5D\uFF08\uFF3B\uFF5B\uFF5F\uFF62' + }, + { + 'name': 'S', + 'alias': 'Symbol', + 'bmp': '\\$\\+<->\\^`\\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C0\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC2\uFD40-\uFD4F\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD', + 'astral': '\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDD-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7C\uDE80-\uDE86\uDE90-\uDEAC\uDEB0-\uDEBA\uDEC0-\uDEC5\uDED0-\uDED9\uDEE0-\uDEE7\uDEF0-\uDEF6\uDF00-\uDF92\uDF94-\uDFCA]' + }, + { + 'name': 'Sc', + 'alias': 'Currency_Symbol', + 'bmp': '\\$\xA2-\xA5\u058F\u060B\u07FE\u07FF\u09F2\u09F3\u09FB\u0AF1\u0BF9\u0E3F\u17DB\u20A0-\u20C0\uA838\uFDFC\uFE69\uFF04\uFFE0\uFFE1\uFFE5\uFFE6', + 'astral': '\uD807[\uDFDD-\uDFE0]|\uD838\uDEFF|\uD83B\uDCB0' + }, + { + 'name': 'Sk', + 'alias': 'Modifier_Symbol', + 'bmp': '\\^`\xA8\xAF\xB4\xB8\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u0888\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u309B\u309C\uA700-\uA716\uA720\uA721\uA789\uA78A\uAB5B\uAB6A\uAB6B\uFBB2-\uFBC2\uFF3E\uFF40\uFFE3', + 'astral': '\uD83C[\uDFFB-\uDFFF]' + }, + { + 'name': 'Sm', + 'alias': 'Math_Symbol', + 'bmp': '\\+<->\\|~\xAC\xB1\xD7\xF7\u03F6\u0606-\u0608\u2044\u2052\u207A-\u207C\u208A-\u208C\u2118\u2140-\u2144\u214B\u2190-\u2194\u219A\u219B\u21A0\u21A3\u21A6\u21AE\u21CE\u21CF\u21D2\u21D4\u21F4-\u22FF\u2320\u2321\u237C\u239B-\u23B3\u23DC-\u23E1\u25B7\u25C1\u25F8-\u25FF\u266F\u27C0-\u27C4\u27C7-\u27E5\u27F0-\u27FF\u2900-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2AFF\u2B30-\u2B44\u2B47-\u2B4C\uFB29\uFE62\uFE64-\uFE66\uFF0B\uFF1C-\uFF1E\uFF5C\uFF5E\uFFE2\uFFE9-\uFFEC', + 'astral': '\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD83B[\uDEF0\uDEF1]' + }, + { + 'name': 'So', + 'alias': 'Other_Symbol', + 'bmp': '\xA6\xA9\xAE\xB0\u0482\u058D\u058E\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u09FA\u0B70\u0BF3-\u0BF8\u0BFA\u0C7F\u0D4F\u0D79\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116\u2117\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u214A\u214C\u214D\u214F\u218A\u218B\u2195-\u2199\u219C-\u219F\u21A1\u21A2\u21A4\u21A5\u21A7-\u21AD\u21AF-\u21CD\u21D0\u21D1\u21D3\u21D5-\u21F3\u2300-\u2307\u230C-\u231F\u2322-\u2328\u232B-\u237B\u237D-\u239A\u23B4-\u23DB\u23E2-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u25B6\u25B8-\u25C0\u25C2-\u25F7\u2600-\u266E\u2670-\u2767\u2794-\u27BF\u2800-\u28FF\u2B00-\u2B2F\u2B45\u2B46\u2B4D-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA828-\uA82B\uA836\uA837\uA839\uAA77-\uAA79\uFD40-\uFD4F\uFDCF\uFDFD-\uFDFF\uFFE4\uFFE8\uFFED\uFFEE\uFFFC\uFFFD', + 'astral': '\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFDC\uDFE1-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838\uDD4F|\uD83B[\uDCAC\uDD2E]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFA]|\uD83D[\uDC00-\uDED7\uDEDD-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7C\uDE80-\uDE86\uDE90-\uDEAC\uDEB0-\uDEBA\uDEC0-\uDEC5\uDED0-\uDED9\uDEE0-\uDEE7\uDEF0-\uDEF6\uDF00-\uDF92\uDF94-\uDFCA]' + }, + { + 'name': 'Z', + 'alias': 'Separator', + 'bmp': ' \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000' + }, + { + 'name': 'Zl', + 'alias': 'Line_Separator', + 'bmp': '\u2028' + }, + { + 'name': 'Zp', + 'alias': 'Paragraph_Separator', + 'bmp': '\u2029' + }, + { + 'name': 'Zs', + 'alias': 'Space_Separator', + 'bmp': ' \xA0\u1680\u2000-\u200A\u202F\u205F\u3000' + } +]; + +},{}]},{},[3])(3) +}); diff --git a/external_sources/django/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.min.js b/external_sources/django/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.min.js new file mode 100644 index 0000000..6d36ca5 --- /dev/null +++ b/external_sources/django/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.min.js @@ -0,0 +1,17 @@ +!function(u){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=u();else if("function"==typeof define&&define.amd)define([],u);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).XRegExp=u()}}((function(){return function r(u,d,t){function o(c,i){if(!d[c]){if(!u[c]){var l="function"==typeof require&&require;if(!i&&l)return l(c,!0);if(a)return a(c,!0);var D=new Error("Cannot find module '"+c+"'");throw D.code="MODULE_NOT_FOUND",D}var p=d[c]={exports:{}};u[c][0].call(p.exports,(function(d){return o(u[c][1][d]||d)}),p,p.exports,r,u,d,t)}return d[c].exports}for(var a="function"==typeof require&&require,c=0;c<t.length;c++)o(t[c]);return o}({1:[function(u,d,t){"use strict";var a=u("@babel/runtime-corejs3/core-js-stable/instance/slice"),c=u("@babel/runtime-corejs3/core-js-stable/array/from"),i=u("@babel/runtime-corejs3/core-js-stable/symbol"),l=u("@babel/runtime-corejs3/core-js/get-iterator-method"),D=u("@babel/runtime-corejs3/core-js-stable/array/is-array"),p=u("@babel/runtime-corejs3/core-js-stable/object/define-property"),b=u("@babel/runtime-corejs3/helpers/interopRequireDefault");p(t,"__esModule",{value:!0}),t.default=void 0;var y=b(u("@babel/runtime-corejs3/helpers/slicedToArray")),m=b(u("@babel/runtime-corejs3/core-js-stable/instance/for-each")),A=b(u("@babel/runtime-corejs3/core-js-stable/instance/concat")),E=b(u("@babel/runtime-corejs3/core-js-stable/instance/index-of"));function _createForOfIteratorHelper(u,d){var t=void 0!==i&&l(u)||u["@@iterator"];if(!t){if(D(u)||(t=function _unsupportedIterableToArray(u,d){var t;if(!u)return;if("string"==typeof u)return _arrayLikeToArray(u,d);var i=a(t=Object.prototype.toString.call(u)).call(t,8,-1);"Object"===i&&u.constructor&&(i=u.constructor.name);if("Map"===i||"Set"===i)return c(u);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return _arrayLikeToArray(u,d)}(u))||d&&u&&"number"==typeof u.length){t&&(u=t);var p=0,b=function F(){};return{s:b,n:function n(){return p>=u.length?{done:!0}:{done:!1,value:u[p++]}},e:function e(u){throw u},f:b}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var y,m=!0,A=!1;return{s:function s(){t=t.call(u)},n:function n(){var u=t.next();return m=u.done,u},e:function e(u){A=!0,y=u},f:function f(){try{m||null==t.return||t.return()}finally{if(A)throw y}}}}function _arrayLikeToArray(u,d){(null==d||d>u.length)&&(d=u.length);for(var t=0,a=new Array(d);t<d;t++)a[t]=u[t];return a} +/*! + * XRegExp Unicode Base 5.1.1 + * <xregexp.com> + * Steven Levithan (c) 2008-present MIT License + */t.default=function _default(u){var d={},t={},a=u._dec,c=u._hex,i=u._pad4;function normalize(u){return u.replace(/[- _]+/g,"").toLowerCase()}function charCode(u){var d=/^\\[xu](.+)/.exec(u);return d?a(d[1]):u.charCodeAt("\\"===u[0]?1:0)}function cacheInvertedBmp(t){return d[t]["b!"]||(d[t]["b!"]=function invertBmp(d){var t="",a=-1;return(0,m.default)(u).call(u,d,/(\\x..|\\u....|\\?[\s\S])(?:-(\\x..|\\u....|\\?[\s\S]))?/,(function(u){var d=charCode(u[1]);d>a+1&&(t+="\\u".concat(i(c(a+1))),d>a+2&&(t+="-\\u".concat(i(c(d-1))))),a=charCode(u[2]||u[1])})),a<65535&&(t+="\\u".concat(i(c(a+1))),a<65534&&(t+="-\\uFFFF")),t}(d[t].bmp))}function cacheAstral(u,t){var a=t?"a!":"a=";return d[u][a]||(d[u][a]=function buildAstral(u,t){var a,c,i=d[u],l="";return i.bmp&&!i.isBmpLast&&(l=(0,A.default)(a="[".concat(i.bmp,"]")).call(a,i.astral?"|":"")),i.astral&&(l+=i.astral),i.isBmpLast&&i.bmp&&(l+=(0,A.default)(c="".concat(i.astral?"|":"","[")).call(c,i.bmp,"]")),t?"(?:(?!".concat(l,")(?:[\ud800-\udbff][\udc00-\udfff]|[\0-￿]))"):"(?:".concat(l,")")}(u,t))}u.addToken(/\\([pP])(?:{(\^?)(?:(\w+)=)?([^}]*)}|([A-Za-z]))/,(function(u,a,c){var i="Unknown Unicode token ",l=(0,y.default)(u,6),D=l[0],p=l[1],b=l[2],m=l[3],C=l[4],g=l[5],h="P"===p||!!b,x=-1!==(0,E.default)(c).call(c,"A"),v=normalize(g||C),B=d[v];if("P"===p&&b)throw new SyntaxError("Invalid double negation "+D);if(!d.hasOwnProperty(v))throw new SyntaxError(i+D);if(m&&(!t[m]||!t[m][v]))throw new SyntaxError(i+D);if(B.inverseOf){var w;if(v=normalize(B.inverseOf),!d.hasOwnProperty(v))throw new ReferenceError((0,A.default)(w="".concat("Unicode token missing data "+D," -> ")).call(w,B.inverseOf));B=d[v],h=!h}if(!B.bmp&&!x)throw new SyntaxError("Astral mode required for Unicode token "+D);if(x){if("class"===a)throw new SyntaxError("Astral mode does not support Unicode tokens within character classes");return cacheAstral(v,h)}return"class"===a?h?cacheInvertedBmp(v):B.bmp:"".concat((h?"[^":"[")+B.bmp,"]")}),{scope:"all",optionalFlags:"A",leadChar:"\\"}),u.addUnicodeData=function(a,c){c&&(t[c]={});var i,l=_createForOfIteratorHelper(a);try{for(l.s();!(i=l.n()).done;){var D=i.value;if(!D.name)throw new Error("Unicode token requires name");if(!(D.inverseOf||D.bmp||D.astral))throw new Error("Unicode token has no character data "+D.name);var p=normalize(D.name);if(d[p]=D,c&&(t[c][p]=!0),D.alias){var b=normalize(D.alias);d[b]=D,c&&(t[c][b]=!0)}}}catch(u){l.e(u)}finally{l.f()}u.cache.flush("patterns")},u._getUnicodeProperty=function(u){var t=normalize(u);return d[t]}},d.exports=t.default},{"@babel/runtime-corejs3/core-js-stable/array/from":5,"@babel/runtime-corejs3/core-js-stable/array/is-array":6,"@babel/runtime-corejs3/core-js-stable/instance/concat":7,"@babel/runtime-corejs3/core-js-stable/instance/for-each":9,"@babel/runtime-corejs3/core-js-stable/instance/index-of":10,"@babel/runtime-corejs3/core-js-stable/instance/slice":11,"@babel/runtime-corejs3/core-js-stable/object/define-property":14,"@babel/runtime-corejs3/core-js-stable/symbol":16,"@babel/runtime-corejs3/core-js/get-iterator-method":19,"@babel/runtime-corejs3/helpers/interopRequireDefault":24,"@babel/runtime-corejs3/helpers/slicedToArray":27}],2:[function(u,d,t){"use strict";var a=u("@babel/runtime-corejs3/core-js-stable/object/define-property"),c=u("@babel/runtime-corejs3/helpers/interopRequireDefault");a(t,"__esModule",{value:!0}),t.default=void 0;var i=c(u("../../tools/output/categories")); +/*! + * XRegExp Unicode Categories 5.1.1 + * <xregexp.com> + * Steven Levithan (c) 2010-present MIT License + * Unicode data by Mathias Bynens <mathiasbynens.be> + */t.default=function _default(u){if(!u.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Categories");u.addUnicodeData(i.default)},d.exports=t.default},{"../../tools/output/categories":222,"@babel/runtime-corejs3/core-js-stable/object/define-property":14,"@babel/runtime-corejs3/helpers/interopRequireDefault":24}],3:[function(u,d,t){"use strict";var a=u("@babel/runtime-corejs3/core-js-stable/object/define-property"),c=u("@babel/runtime-corejs3/helpers/interopRequireDefault");a(t,"__esModule",{value:!0}),t.default=void 0;var i=c(u("./xregexp")),l=c(u("./addons/unicode-base")),D=c(u("./addons/unicode-categories"));(0,l.default)(i.default),(0,D.default)(i.default);var p=i.default;t.default=p,d.exports=t.default},{"./addons/unicode-base":1,"./addons/unicode-categories":2,"./xregexp":4,"@babel/runtime-corejs3/core-js-stable/object/define-property":14,"@babel/runtime-corejs3/helpers/interopRequireDefault":24}],4:[function(u,d,t){"use strict";var a=u("@babel/runtime-corejs3/core-js-stable/instance/slice"),c=u("@babel/runtime-corejs3/core-js-stable/array/from"),i=u("@babel/runtime-corejs3/core-js-stable/symbol"),l=u("@babel/runtime-corejs3/core-js/get-iterator-method"),D=u("@babel/runtime-corejs3/core-js-stable/array/is-array"),p=u("@babel/runtime-corejs3/core-js-stable/object/define-property"),b=u("@babel/runtime-corejs3/helpers/interopRequireDefault");p(t,"__esModule",{value:!0}),t.default=void 0;var y=b(u("@babel/runtime-corejs3/helpers/slicedToArray")),m=b(u("@babel/runtime-corejs3/core-js-stable/instance/flags")),A=b(u("@babel/runtime-corejs3/core-js-stable/instance/sort")),E=b(u("@babel/runtime-corejs3/core-js-stable/instance/slice")),C=b(u("@babel/runtime-corejs3/core-js-stable/parse-int")),g=b(u("@babel/runtime-corejs3/core-js-stable/instance/index-of")),h=b(u("@babel/runtime-corejs3/core-js-stable/instance/for-each")),x=b(u("@babel/runtime-corejs3/core-js-stable/object/create")),v=b(u("@babel/runtime-corejs3/core-js-stable/instance/concat"));function _createForOfIteratorHelper(u,d){var t=void 0!==i&&l(u)||u["@@iterator"];if(!t){if(D(u)||(t=function _unsupportedIterableToArray(u,d){var t;if(!u)return;if("string"==typeof u)return _arrayLikeToArray(u,d);var i=a(t=Object.prototype.toString.call(u)).call(t,8,-1);"Object"===i&&u.constructor&&(i=u.constructor.name);if("Map"===i||"Set"===i)return c(u);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return _arrayLikeToArray(u,d)}(u))||d&&u&&"number"==typeof u.length){t&&(u=t);var p=0,b=function F(){};return{s:b,n:function n(){return p>=u.length?{done:!0}:{done:!1,value:u[p++]}},e:function e(u){throw u},f:b}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var y,m=!0,A=!1;return{s:function s(){t=t.call(u)},n:function n(){var u=t.next();return m=u.done,u},e:function e(u){A=!0,y=u},f:function f(){try{m||null==t.return||t.return()}finally{if(A)throw y}}}}function _arrayLikeToArray(u,d){(null==d||d>u.length)&&(d=u.length);for(var t=0,a=new Array(d);t<d;t++)a[t]=u[t];return a} +/*! + * XRegExp 5.1.1 + * <xregexp.com> + * Steven Levithan (c) 2007-present MIT License + */var B={astral:!1,namespacing:!0},w={},j={},k={},S=[],O="default",R="class",_={default:/\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|\(\?(?:[:=!]|<[=!])|[?*+]\?|{\d+(?:,\d*)?}\??|[\s\S]/,class:/\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|[\s\S]/},T=/\$(?:\{([^\}]+)\}|<([^>]+)>|(\d\d?|[\s\S]?))/g,I=void 0===/()??/.exec("")[1],P=void 0!==(0,m.default)(/x/);function hasNativeFlag(u){var d=!0;try{if(new RegExp("",u),"y"===u){".."===".a".replace(new RegExp("a","gy"),".")&&(d=!1)}}catch(u){d=!1}return d}var X=hasNativeFlag("d"),L=hasNativeFlag("s"),N=hasNativeFlag("u"),M=hasNativeFlag("y"),U={d:X,g:!0,i:!0,m:!0,s:L,u:N,y:M},G=L?/[^dgimsuy]+/g:/[^dgimuy]+/g;function augment(u,d,t,a,c){var i;if(u.xregexp={captureNames:d},c)return u;if(u.__proto__)u.__proto__=XRegExp.prototype;else for(var l in XRegExp.prototype)u[l]=XRegExp.prototype[l];return u.xregexp.source=t,u.xregexp.flags=a?(0,A.default)(i=a.split("")).call(i).join(""):a,u}function clipDuplicates(u){return u.replace(/([\s\S])(?=[\s\S]*\1)/g,"")}function copyRegex(u,d){var t;if(!XRegExp.isRegExp(u))throw new TypeError("Type RegExp expected");var a=u.xregexp||{},c=function getNativeFlags(u){return P?(0,m.default)(u):/\/([a-z]*)$/i.exec(RegExp.prototype.toString.call(u))[1]}(u),i="",l="",D=null,p=null;return(d=d||{}).removeG&&(l+="g"),d.removeY&&(l+="y"),l&&(c=c.replace(new RegExp("[".concat(l,"]+"),"g"),"")),d.addG&&(i+="g"),d.addY&&(i+="y"),i&&(c=clipDuplicates(c+i)),d.isInternalOnly||(void 0!==a.source&&(D=a.source),null!=(0,m.default)(a)&&(p=i?clipDuplicates((0,m.default)(a)+i):(0,m.default)(a))),u=augment(new RegExp(d.source||u.source,c),function hasNamedCapture(u){return!(!u.xregexp||!u.xregexp.captureNames)}(u)?(0,E.default)(t=a.captureNames).call(t,0):null,D,p,d.isInternalOnly)}function dec(u){return(0,C.default)(u,16)}function getContextualTokenSeparator(u,d,t){var a=u.index+u[0].length,c=u.input[u.index-1],i=u.input[a];return/^[()|]$/.test(c)||/^[()|]$/.test(i)||0===u.index||a===u.input.length||/\(\?(?:[:=!]|<[=!])$/.test(u.input.substring(u.index-4,u.index))||function isQuantifierNext(u,d,t){return(-1!==(0,g.default)(t).call(t,"x")?/^(?:\s|#[^#\n]*|\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/:/^(?:\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/).test((0,E.default)(u).call(u,d))}(u.input,a,t)?"":"(?:)"}function hex(u){return(0,C.default)(u,10).toString(16)}function isType(u,d){return Object.prototype.toString.call(u)==="[object ".concat(d,"]")}function nullThrows(u){if(null==u)throw new TypeError("Cannot convert null or undefined to object");return u}function pad4(u){for(;u.length<4;)u="0".concat(u);return u}function prepareOptions(u){var d={};return isType(u,"String")?((0,h.default)(XRegExp).call(XRegExp,u,/[^\s,]+/,(function(u){d[u]=!0})),d):u}function registerFlag(u){if(!/^[\w$]$/.test(u))throw new Error("Flag must be a single character A-Za-z0-9_$");U[u]=!0}function runTokens(u,d,t,a,c){for(var i,l,D=S.length,p=u[t],b=null;D--;)if(!((l=S[D]).leadChar&&l.leadChar!==p||l.scope!==a&&"all"!==l.scope||l.flag&&-1===(0,g.default)(d).call(d,l.flag))&&(i=XRegExp.exec(u,l.regex,t,"sticky"))){b={matchLength:i[0].length,output:l.handler.call(c,i,a,d),reparse:l.reparse};break}return b}function setAstral(u){B.astral=u}function setNamespacing(u){B.namespacing=u}function XRegExp(u,d){if(XRegExp.isRegExp(u)){if(void 0!==d)throw new TypeError("Cannot supply flags when copying a RegExp");return copyRegex(u)}if(u=void 0===u?"":String(u),d=void 0===d?"":String(d),XRegExp.isInstalled("astral")&&-1===(0,g.default)(d).call(d,"A")&&(d+="A"),k[u]||(k[u]={}),!k[u][d]){for(var t,a={hasNamedCapture:!1,captureNames:[]},c=O,i="",l=0,D=function prepareFlags(u,d){if(clipDuplicates(d)!==d)throw new SyntaxError("Invalid duplicate regex flag ".concat(d));u=u.replace(/^\(\?([\w$]+)\)/,(function(u,t){if(/[dgy]/.test(t))throw new SyntaxError("Cannot use flags dgy in mode modifier ".concat(u));return d=clipDuplicates(d+t),""}));var t,a=_createForOfIteratorHelper(d);try{for(a.s();!(t=a.n()).done;){var c=t.value;if(!U[c])throw new SyntaxError("Unknown regex flag ".concat(c))}}catch(u){a.e(u)}finally{a.f()}return{pattern:u,flags:d}}(u,d),p=D.pattern,b=(0,m.default)(D);l<p.length;){do{(t=runTokens(p,b,l,c,a))&&t.reparse&&(p=(0,E.default)(p).call(p,0,l)+t.output+(0,E.default)(p).call(p,l+t.matchLength))}while(t&&t.reparse);if(t)i+=t.output,l+=t.matchLength||1;else{var A=XRegExp.exec(p,_[c],l,"sticky"),C=(0,y.default)(A,1)[0];i+=C,l+=C.length,"["===C&&c===O?c=R:"]"===C&&c===R&&(c=O)}}k[u][d]={pattern:i.replace(/(?:\(\?:\))+/g,"(?:)"),flags:b.replace(G,""),captures:a.hasNamedCapture?a.captureNames:null}}var h=k[u][d];return augment(new RegExp(h.pattern,(0,m.default)(h)),h.captures,u,d)}XRegExp.prototype=/(?:)/,XRegExp.version="5.1.1",XRegExp._clipDuplicates=clipDuplicates,XRegExp._hasNativeFlag=hasNativeFlag,XRegExp._dec=dec,XRegExp._hex=hex,XRegExp._pad4=pad4,XRegExp.addToken=function(u,d,t){var a=(t=t||{}).optionalFlags;if(t.flag&®isterFlag(t.flag),a){var c,i=_createForOfIteratorHelper(a=a.split(""));try{for(i.s();!(c=i.n()).done;){registerFlag(c.value)}}catch(u){i.e(u)}finally{i.f()}}S.push({regex:copyRegex(u,{addG:!0,addY:M,isInternalOnly:!0}),handler:d,scope:t.scope||O,flag:t.flag,reparse:t.reparse,leadChar:t.leadChar}),XRegExp.cache.flush("patterns")},XRegExp.cache=function(u,d){return j[u]||(j[u]={}),j[u][d]||(j[u][d]=XRegExp(u,d))},XRegExp.cache.flush=function(u){"patterns"===u?k={}:j={}},XRegExp.escape=function(u){return String(nullThrows(u)).replace(/[\\\[\]{}()*+?.^$|]/g,"\\$&").replace(/[\s#\-,]/g,(function(u){return"\\u".concat(pad4(hex(u.charCodeAt(0))))}))},XRegExp.exec=function(u,d,t,a){var c,i,l="g",D=!1;(c=M&&!!(a||d.sticky&&!1!==a))?l+="y":a&&(D=!0,l+="FakeY"),d.xregexp=d.xregexp||{};var p=d.xregexp[l]||(d.xregexp[l]=copyRegex(d,{addG:!0,addY:c,source:D?"".concat(d.source,"|()"):void 0,removeY:!1===a,isInternalOnly:!0}));return t=t||0,p.lastIndex=t,i=w.exec.call(p,u),D&&i&&""===i.pop()&&(i=null),d.global&&(d.lastIndex=i?p.lastIndex:0),i},XRegExp.forEach=function(u,d,t){for(var a,c=0,i=-1;a=XRegExp.exec(u,d,c);)t(a,++i,u,d),c=a.index+(a[0].length||1)},XRegExp.globalize=function(u){return copyRegex(u,{addG:!0})},XRegExp.install=function(u){u=prepareOptions(u),!B.astral&&u.astral&&setAstral(!0),!B.namespacing&&u.namespacing&&setNamespacing(!0)},XRegExp.isInstalled=function(u){return!!B[u]},XRegExp.isRegExp=function(u){return"[object RegExp]"===Object.prototype.toString.call(u)},XRegExp.match=function(u,d,t){var a=d.global&&"one"!==t||"all"===t,c=(a?"g":"")+(d.sticky?"y":"")||"noGY";d.xregexp=d.xregexp||{};var i=d.xregexp[c]||(d.xregexp[c]=copyRegex(d,{addG:!!a,removeG:"one"===t,isInternalOnly:!0})),l=String(nullThrows(u)).match(i);return d.global&&(d.lastIndex="one"===t&&l?l.index+l[0].length:0),a?l||[]:l&&l[0]},XRegExp.matchChain=function(u,d){return function recurseChain(u,t){var a=d[t].regex?d[t]:{regex:d[t]},c=[];function addMatch(u){if(a.backref){var d="Backreference to undefined group: ".concat(a.backref),t=isNaN(a.backref);if(t&&XRegExp.isInstalled("namespacing")){if(!u.groups||!(a.backref in u.groups))throw new ReferenceError(d)}else if(!u.hasOwnProperty(a.backref))throw new ReferenceError(d);var i=t&&XRegExp.isInstalled("namespacing")?u.groups[a.backref]:u[a.backref];c.push(i||"")}else c.push(u[0])}var i,l=_createForOfIteratorHelper(u);try{for(l.s();!(i=l.n()).done;){var D=i.value;(0,h.default)(XRegExp).call(XRegExp,D,a.regex,addMatch)}}catch(u){l.e(u)}finally{l.f()}return t!==d.length-1&&c.length?recurseChain(c,t+1):c}([u],0)},XRegExp.replace=function(u,d,t,a){var c=XRegExp.isRegExp(d),i=d.global&&"one"!==a||"all"===a,l=(i?"g":"")+(d.sticky?"y":"")||"noGY",D=d;c?(d.xregexp=d.xregexp||{},D=d.xregexp[l]||(d.xregexp[l]=copyRegex(d,{addG:!!i,removeG:"one"===a,isInternalOnly:!0}))):i&&(D=new RegExp(XRegExp.escape(String(d)),"g"));var p=w.replace.call(nullThrows(u),D,t);return c&&d.global&&(d.lastIndex=0),p},XRegExp.replaceEach=function(u,d){var t,a=_createForOfIteratorHelper(d);try{for(a.s();!(t=a.n()).done;){var c=t.value;u=XRegExp.replace(u,c[0],c[1],c[2])}}catch(u){a.e(u)}finally{a.f()}return u},XRegExp.split=function(u,d,t){return w.split.call(nullThrows(u),d,t)},XRegExp.test=function(u,d,t,a){return!!XRegExp.exec(u,d,t,a)},XRegExp.uninstall=function(u){u=prepareOptions(u),B.astral&&u.astral&&setAstral(!1),B.namespacing&&u.namespacing&&setNamespacing(!1)},XRegExp.union=function(u,d,t){var a,c,i=(t=t||{}).conjunction||"or",l=0;function rewrite(u,d,t){var i=c[l-a];if(d){if(++l,i)return"(?<".concat(i,">")}else if(t)return"\\".concat(+t+a);return u}if(!isType(u,"Array")||!u.length)throw new TypeError("Must provide a nonempty array of patterns to merge");var D,p=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g,b=[],y=_createForOfIteratorHelper(u);try{for(y.s();!(D=y.n()).done;){var m=D.value;XRegExp.isRegExp(m)?(a=l,c=m.xregexp&&m.xregexp.captureNames||[],b.push(XRegExp(m.source).source.replace(p,rewrite))):b.push(XRegExp.escape(m))}}catch(u){y.e(u)}finally{y.f()}var A="none"===i?"":"|";return XRegExp(b.join(A),d)},w.exec=function(u){var d=this.lastIndex,t=RegExp.prototype.exec.apply(this,arguments);if(t){if(!I&&t.length>1&&-1!==(0,g.default)(t).call(t,"")){var a,c=copyRegex(this,{removeG:!0,isInternalOnly:!0});(0,E.default)(a=String(u)).call(a,t.index).replace(c,(function(){for(var u=arguments.length,d=1;d<u-2;++d)void 0===(d<0||arguments.length<=d?void 0:arguments[d])&&(t[d]=void 0)}))}if(this.xregexp&&this.xregexp.captureNames){var i=t;XRegExp.isInstalled("namespacing")&&(t.groups=(0,x.default)(null),i=t.groups);for(var l=1;l<t.length;++l){var D=this.xregexp.captureNames[l-1];D&&(i[D]=t[l])}}else!t.groups&&XRegExp.isInstalled("namespacing")&&(t.groups=void 0);this.global&&!t[0].length&&this.lastIndex>t.index&&(this.lastIndex=t.index)}return this.global||(this.lastIndex=d),t},w.test=function(u){return!!w.exec.call(this,u)},w.match=function(u){if(XRegExp.isRegExp(u)){if(u.global){var d=String.prototype.match.apply(this,arguments);return u.lastIndex=0,d}}else u=new RegExp(u);return w.exec.call(u,nullThrows(this))},w.replace=function(u,d){var t,a,c,i=XRegExp.isRegExp(u);return i?(u.xregexp&&(a=u.xregexp.captureNames),t=u.lastIndex):u+="",c=isType(d,"Function")?String(this).replace(u,(function(){for(var u=arguments.length,t=new Array(u),c=0;c<u;c++)t[c]=arguments[c];if(a){var i;XRegExp.isInstalled("namespacing")?(i=(0,x.default)(null),t.push(i)):(t[0]=new String(t[0]),i=t[0]);for(var l=0;l<a.length;++l)a[l]&&(i[a[l]]=t[l+1])}return d.apply(void 0,t)})):String(nullThrows(this)).replace(u,(function(){for(var u=arguments.length,t=new Array(u),c=0;c<u;c++)t[c]=arguments[c];return String(d).replace(T,replacer);function replacer(u,d,c,i){d=d||c;var l,D,p=isType(t[t.length-1],"Object")?4:3,b=t.length-p;if(d){if(/^\d+$/.test(d)){var y=+d;if(y<=b)return t[y]||""}var m=a?(0,g.default)(a).call(a,d):-1;if(m<0)throw new SyntaxError("Backreference to undefined group ".concat(u));return t[m+1]||""}if(""===i||" "===i)throw new SyntaxError("Invalid token ".concat(u));if("&"===i||0==+i)return t[0];if("$"===i)return"$";if("`"===i)return(0,E.default)(l=t[t.length-1]).call(l,0,t[t.length-2]);if("'"===i)return(0,E.default)(D=t[t.length-1]).call(D,t[t.length-2]+t[0].length);if(i=+i,!isNaN(i)){if(i>b)throw new SyntaxError("Backreference to undefined group ".concat(u));return t[i]||""}throw new SyntaxError("Invalid token ".concat(u))}})),i&&(u.global?u.lastIndex=0:u.lastIndex=t),c},w.split=function(u,d){if(!XRegExp.isRegExp(u))return String.prototype.split.apply(this,arguments);var t,a=String(this),c=[],i=u.lastIndex,l=0;return d=(void 0===d?-1:d)>>>0,(0,h.default)(XRegExp).call(XRegExp,a,u,(function(u){u.index+u[0].length>l&&(c.push((0,E.default)(a).call(a,l,u.index)),u.length>1&&u.index<a.length&&Array.prototype.push.apply(c,(0,E.default)(u).call(u,1)),t=u[0].length,l=u.index+t)})),l===a.length?u.test("")&&!t||c.push(""):c.push((0,E.default)(a).call(a,l)),u.lastIndex=i,c.length>d?(0,E.default)(c).call(c,0,d):c},XRegExp.addToken(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4}|{[\dA-Fa-f]+})|x(?![\dA-Fa-f]{2}))/,(function(u,d){if("B"===u[1]&&d===O)return u[0];throw new SyntaxError("Invalid escape ".concat(u[0]))}),{scope:"all",leadChar:"\\"}),XRegExp.addToken(/\\u{([\dA-Fa-f]+)}/,(function(u,d,t){var a=dec(u[1]);if(a>1114111)throw new SyntaxError("Invalid Unicode code point ".concat(u[0]));if(a<=65535)return"\\u".concat(pad4(hex(a)));if(N&&-1!==(0,g.default)(t).call(t,"u"))return u[0];throw new SyntaxError("Cannot use Unicode code point above \\u{FFFF} without flag u")}),{scope:"all",leadChar:"\\"}),XRegExp.addToken(/\(\?#[^)]*\)/,getContextualTokenSeparator,{leadChar:"("}),XRegExp.addToken(/\s+|#[^\n]*\n?/,getContextualTokenSeparator,{flag:"x"}),L||XRegExp.addToken(/\./,(function(){return"[\\s\\S]"}),{flag:"s",leadChar:"."}),XRegExp.addToken(/\\k<([^>]+)>/,(function(u){var d,t,a=isNaN(u[1])?(0,g.default)(d=this.captureNames).call(d,u[1])+1:+u[1],c=u.index+u[0].length;if(!a||a>this.captureNames.length)throw new SyntaxError("Backreference to undefined group ".concat(u[0]));return(0,v.default)(t="\\".concat(a)).call(t,c===u.input.length||isNaN(u.input[c])?"":"(?:)")}),{leadChar:"\\"}),XRegExp.addToken(/\\(\d+)/,(function(u,d){if(!(d===O&&/^[1-9]/.test(u[1])&&+u[1]<=this.captureNames.length)&&"0"!==u[1])throw new SyntaxError("Cannot use octal escape or backreference to undefined group ".concat(u[0]));return u[0]}),{scope:"all",leadChar:"\\"}),XRegExp.addToken(/\(\?P?<((?:[\$A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])(?:[\$0-9A-Z_a-z\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05EF-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u07FD\u0800-\u082D\u0840-\u085B\u0860-\u086A\u0870-\u0887\u0889-\u088E\u0898-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u09FE\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3C-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C5D\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDD\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D81-\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1715\u171F-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u1820-\u1878\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B4C\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CD0-\u1CD2\u1CD4-\u1CFA\u1D00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA827\uA82C\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD27\uDD30-\uDD39\uDE80-\uDEA9\uDEAB\uDEAC\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF50\uDF70-\uDF85\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC00-\uDC46\uDC66-\uDC75\uDC7F-\uDCBA\uDCC2\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD44-\uDD47\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDC9-\uDDCC\uDDCE-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3B-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC5E-\uDC61\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF1D-\uDF2B\uDF30-\uDF39\uDF40-\uDF46]|\uD806[\uDC00-\uDC3A\uDCA0-\uDCE9\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD35\uDD37\uDD38\uDD3B-\uDD43\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDE1\uDDE3\uDDE4\uDE00-\uDE3E\uDE47\uDE50-\uDE99\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF6\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F\uDFE0\uDFE1\uDFE3\uDFE4\uDFF0\uDFF1]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD837[\uDF00-\uDF1E]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD00-\uDD2C\uDD30-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAE\uDEC0-\uDEF9]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4B\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]|\uDB40[\uDD00-\uDDEF])*)>/,(function(u){var d;if(!XRegExp.isInstalled("namespacing")&&("length"===u[1]||"__proto__"===u[1]))throw new SyntaxError("Cannot use reserved word as capture name ".concat(u[0]));if(-1!==(0,g.default)(d=this.captureNames).call(d,u[1]))throw new SyntaxError("Cannot use same name for multiple groups ".concat(u[0]));return this.captureNames.push(u[1]),this.hasNamedCapture=!0,"("}),{leadChar:"("}),XRegExp.addToken(/\((?!\?)/,(function(u,d,t){return-1!==(0,g.default)(t).call(t,"n")?"(?:":(this.captureNames.push(null),"(")}),{optionalFlags:"n",leadChar:"("});var q=XRegExp;t.default=q,d.exports=t.default},{"@babel/runtime-corejs3/core-js-stable/array/from":5,"@babel/runtime-corejs3/core-js-stable/array/is-array":6,"@babel/runtime-corejs3/core-js-stable/instance/concat":7,"@babel/runtime-corejs3/core-js-stable/instance/flags":8,"@babel/runtime-corejs3/core-js-stable/instance/for-each":9,"@babel/runtime-corejs3/core-js-stable/instance/index-of":10,"@babel/runtime-corejs3/core-js-stable/instance/slice":11,"@babel/runtime-corejs3/core-js-stable/instance/sort":12,"@babel/runtime-corejs3/core-js-stable/object/create":13,"@babel/runtime-corejs3/core-js-stable/object/define-property":14,"@babel/runtime-corejs3/core-js-stable/parse-int":15,"@babel/runtime-corejs3/core-js-stable/symbol":16,"@babel/runtime-corejs3/core-js/get-iterator-method":19,"@babel/runtime-corejs3/helpers/interopRequireDefault":24,"@babel/runtime-corejs3/helpers/slicedToArray":27}],5:[function(u,d,t){d.exports=u("core-js-pure/stable/array/from")},{"core-js-pure/stable/array/from":208}],6:[function(u,d,t){d.exports=u("core-js-pure/stable/array/is-array")},{"core-js-pure/stable/array/is-array":209}],7:[function(u,d,t){d.exports=u("core-js-pure/stable/instance/concat")},{"core-js-pure/stable/instance/concat":212}],8:[function(u,d,t){d.exports=u("core-js-pure/stable/instance/flags")},{"core-js-pure/stable/instance/flags":213}],9:[function(u,d,t){d.exports=u("core-js-pure/stable/instance/for-each")},{"core-js-pure/stable/instance/for-each":214}],10:[function(u,d,t){d.exports=u("core-js-pure/stable/instance/index-of")},{"core-js-pure/stable/instance/index-of":215}],11:[function(u,d,t){d.exports=u("core-js-pure/stable/instance/slice")},{"core-js-pure/stable/instance/slice":216}],12:[function(u,d,t){d.exports=u("core-js-pure/stable/instance/sort")},{"core-js-pure/stable/instance/sort":217}],13:[function(u,d,t){d.exports=u("core-js-pure/stable/object/create")},{"core-js-pure/stable/object/create":218}],14:[function(u,d,t){d.exports=u("core-js-pure/stable/object/define-property")},{"core-js-pure/stable/object/define-property":219}],15:[function(u,d,t){d.exports=u("core-js-pure/stable/parse-int")},{"core-js-pure/stable/parse-int":220}],16:[function(u,d,t){d.exports=u("core-js-pure/stable/symbol")},{"core-js-pure/stable/symbol":221}],17:[function(u,d,t){d.exports=u("core-js-pure/features/array/from")},{"core-js-pure/features/array/from":52}],18:[function(u,d,t){d.exports=u("core-js-pure/features/array/is-array")},{"core-js-pure/features/array/is-array":53}],19:[function(u,d,t){d.exports=u("core-js-pure/features/get-iterator-method")},{"core-js-pure/features/get-iterator-method":54}],20:[function(u,d,t){d.exports=u("core-js-pure/features/instance/slice")},{"core-js-pure/features/instance/slice":55}],21:[function(u,d,t){d.exports=u("core-js-pure/features/symbol")},{"core-js-pure/features/symbol":56}],22:[function(u,d,t){d.exports=function _arrayLikeToArray(u,d){(null==d||d>u.length)&&(d=u.length);for(var t=0,a=new Array(d);t<d;t++)a[t]=u[t];return a},d.exports.__esModule=!0,d.exports.default=d.exports},{}],23:[function(u,d,t){var a=u("@babel/runtime-corejs3/core-js/array/is-array");d.exports=function _arrayWithHoles(u){if(a(u))return u},d.exports.__esModule=!0,d.exports.default=d.exports},{"@babel/runtime-corejs3/core-js/array/is-array":18}],24:[function(u,d,t){d.exports=function _interopRequireDefault(u){return u&&u.__esModule?u:{default:u}},d.exports.__esModule=!0,d.exports.default=d.exports},{}],25:[function(u,d,t){var a=u("@babel/runtime-corejs3/core-js/symbol"),c=u("@babel/runtime-corejs3/core-js/get-iterator-method");d.exports=function _iterableToArrayLimit(u,d){var t=null==u?null:void 0!==a&&c(u)||u["@@iterator"];if(null!=t){var i,l,D=[],p=!0,b=!1;try{for(t=t.call(u);!(p=(i=t.next()).done)&&(D.push(i.value),!d||D.length!==d);p=!0);}catch(u){b=!0,l=u}finally{try{p||null==t.return||t.return()}finally{if(b)throw l}}return D}},d.exports.__esModule=!0,d.exports.default=d.exports},{"@babel/runtime-corejs3/core-js/get-iterator-method":19,"@babel/runtime-corejs3/core-js/symbol":21}],26:[function(u,d,t){d.exports=function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},d.exports.__esModule=!0,d.exports.default=d.exports},{}],27:[function(u,d,t){var a=u("./arrayWithHoles.js"),c=u("./iterableToArrayLimit.js"),i=u("./unsupportedIterableToArray.js"),l=u("./nonIterableRest.js");d.exports=function _slicedToArray(u,d){return a(u)||c(u,d)||i(u,d)||l()},d.exports.__esModule=!0,d.exports.default=d.exports},{"./arrayWithHoles.js":23,"./iterableToArrayLimit.js":25,"./nonIterableRest.js":26,"./unsupportedIterableToArray.js":28}],28:[function(u,d,t){var a=u("@babel/runtime-corejs3/core-js/instance/slice"),c=u("@babel/runtime-corejs3/core-js/array/from"),i=u("./arrayLikeToArray.js");d.exports=function _unsupportedIterableToArray(u,d){var t;if(u){if("string"==typeof u)return i(u,d);var l=a(t=Object.prototype.toString.call(u)).call(t,8,-1);return"Object"===l&&u.constructor&&(l=u.constructor.name),"Map"===l||"Set"===l?c(u):"Arguments"===l||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l)?i(u,d):void 0}},d.exports.__esModule=!0,d.exports.default=d.exports},{"./arrayLikeToArray.js":22,"@babel/runtime-corejs3/core-js/array/from":17,"@babel/runtime-corejs3/core-js/instance/slice":20}],29:[function(u,d,t){var a=u("../../stable/array/from");d.exports=a},{"../../stable/array/from":208}],30:[function(u,d,t){var a=u("../../stable/array/is-array");d.exports=a},{"../../stable/array/is-array":209}],31:[function(u,d,t){var a=u("../stable/get-iterator-method");d.exports=a},{"../stable/get-iterator-method":211}],32:[function(u,d,t){var a=u("../../stable/instance/slice");d.exports=a},{"../../stable/instance/slice":216}],33:[function(u,d,t){var a=u("../../stable/symbol");d.exports=a},{"../../stable/symbol":221}],34:[function(u,d,t){u("../../modules/es.string.iterator"),u("../../modules/es.array.from");var a=u("../../internals/path");d.exports=a.Array.from},{"../../internals/path":142,"../../modules/es.array.from":170,"../../modules/es.string.iterator":184}],35:[function(u,d,t){u("../../modules/es.array.is-array");var a=u("../../internals/path");d.exports=a.Array.isArray},{"../../internals/path":142,"../../modules/es.array.is-array":172}],36:[function(u,d,t){u("../../../modules/es.array.concat");var a=u("../../../internals/entry-virtual");d.exports=a("Array").concat},{"../../../internals/entry-virtual":91,"../../../modules/es.array.concat":168}],37:[function(u,d,t){u("../../../modules/es.array.for-each");var a=u("../../../internals/entry-virtual");d.exports=a("Array").forEach},{"../../../internals/entry-virtual":91,"../../../modules/es.array.for-each":169}],38:[function(u,d,t){u("../../../modules/es.array.index-of");var a=u("../../../internals/entry-virtual");d.exports=a("Array").indexOf},{"../../../internals/entry-virtual":91,"../../../modules/es.array.index-of":171}],39:[function(u,d,t){u("../../../modules/es.array.slice");var a=u("../../../internals/entry-virtual");d.exports=a("Array").slice},{"../../../internals/entry-virtual":91,"../../../modules/es.array.slice":174}],40:[function(u,d,t){u("../../../modules/es.array.sort");var a=u("../../../internals/entry-virtual");d.exports=a("Array").sort},{"../../../internals/entry-virtual":91,"../../../modules/es.array.sort":175}],41:[function(u,d,t){u("../modules/es.array.iterator"),u("../modules/es.string.iterator");var a=u("../internals/get-iterator-method");d.exports=a},{"../internals/get-iterator-method":101,"../modules/es.array.iterator":173,"../modules/es.string.iterator":184}],42:[function(u,d,t){var a=u("../../internals/object-is-prototype-of"),c=u("../array/virtual/concat"),i=Array.prototype;d.exports=function(u){var d=u.concat;return u===i||a(i,u)&&d===i.concat?c:d}},{"../../internals/object-is-prototype-of":135,"../array/virtual/concat":36}],43:[function(u,d,t){var a=u("../../internals/object-is-prototype-of"),c=u("../regexp/flags"),i=RegExp.prototype;d.exports=function(u){return u===i||a(i,u)?c(u):u.flags}},{"../../internals/object-is-prototype-of":135,"../regexp/flags":50}],44:[function(u,d,t){var a=u("../../internals/object-is-prototype-of"),c=u("../array/virtual/index-of"),i=Array.prototype;d.exports=function(u){var d=u.indexOf;return u===i||a(i,u)&&d===i.indexOf?c:d}},{"../../internals/object-is-prototype-of":135,"../array/virtual/index-of":38}],45:[function(u,d,t){var a=u("../../internals/object-is-prototype-of"),c=u("../array/virtual/slice"),i=Array.prototype;d.exports=function(u){var d=u.slice;return u===i||a(i,u)&&d===i.slice?c:d}},{"../../internals/object-is-prototype-of":135,"../array/virtual/slice":39}],46:[function(u,d,t){var a=u("../../internals/object-is-prototype-of"),c=u("../array/virtual/sort"),i=Array.prototype;d.exports=function(u){var d=u.sort;return u===i||a(i,u)&&d===i.sort?c:d}},{"../../internals/object-is-prototype-of":135,"../array/virtual/sort":40}],47:[function(u,d,t){u("../../modules/es.object.create");var a=u("../../internals/path").Object;d.exports=function create(u,d){return a.create(u,d)}},{"../../internals/path":142,"../../modules/es.object.create":178}],48:[function(u,d,t){u("../../modules/es.object.define-property");var a=u("../../internals/path").Object,c=d.exports=function defineProperty(u,d,t){return a.defineProperty(u,d,t)};a.defineProperty.sham&&(c.sham=!0)},{"../../internals/path":142,"../../modules/es.object.define-property":179}],49:[function(u,d,t){u("../modules/es.parse-int");var a=u("../internals/path");d.exports=a.parseInt},{"../internals/path":142,"../modules/es.parse-int":181}],50:[function(u,d,t){u("../../modules/es.regexp.flags");var a=u("../../internals/function-uncurry-this"),c=u("../../internals/regexp-flags");d.exports=a(c)},{"../../internals/function-uncurry-this":99,"../../internals/regexp-flags":144,"../../modules/es.regexp.flags":183}],51:[function(u,d,t){u("../../modules/es.array.concat"),u("../../modules/es.object.to-string"),u("../../modules/es.symbol"),u("../../modules/es.symbol.async-iterator"),u("../../modules/es.symbol.description"),u("../../modules/es.symbol.has-instance"),u("../../modules/es.symbol.is-concat-spreadable"),u("../../modules/es.symbol.iterator"),u("../../modules/es.symbol.match"),u("../../modules/es.symbol.match-all"),u("../../modules/es.symbol.replace"),u("../../modules/es.symbol.search"),u("../../modules/es.symbol.species"),u("../../modules/es.symbol.split"),u("../../modules/es.symbol.to-primitive"),u("../../modules/es.symbol.to-string-tag"),u("../../modules/es.symbol.unscopables"),u("../../modules/es.json.to-string-tag"),u("../../modules/es.math.to-string-tag"),u("../../modules/es.reflect.to-string-tag");var a=u("../../internals/path");d.exports=a.Symbol},{"../../internals/path":142,"../../modules/es.array.concat":168,"../../modules/es.json.to-string-tag":176,"../../modules/es.math.to-string-tag":177,"../../modules/es.object.to-string":180,"../../modules/es.reflect.to-string-tag":182,"../../modules/es.symbol":190,"../../modules/es.symbol.async-iterator":185,"../../modules/es.symbol.description":186,"../../modules/es.symbol.has-instance":187,"../../modules/es.symbol.is-concat-spreadable":188,"../../modules/es.symbol.iterator":189,"../../modules/es.symbol.match":192,"../../modules/es.symbol.match-all":191,"../../modules/es.symbol.replace":193,"../../modules/es.symbol.search":194,"../../modules/es.symbol.species":195,"../../modules/es.symbol.split":196,"../../modules/es.symbol.to-primitive":197,"../../modules/es.symbol.to-string-tag":198,"../../modules/es.symbol.unscopables":199}],52:[function(u,d,t){var a=u("../../actual/array/from");d.exports=a},{"../../actual/array/from":29}],53:[function(u,d,t){var a=u("../../actual/array/is-array");d.exports=a},{"../../actual/array/is-array":30}],54:[function(u,d,t){var a=u("../actual/get-iterator-method");d.exports=a},{"../actual/get-iterator-method":31}],55:[function(u,d,t){var a=u("../../actual/instance/slice");d.exports=a},{"../../actual/instance/slice":32}],56:[function(u,d,t){var a=u("../../actual/symbol");u("../../modules/esnext.symbol.async-dispose"),u("../../modules/esnext.symbol.dispose"),u("../../modules/esnext.symbol.matcher"),u("../../modules/esnext.symbol.metadata"),u("../../modules/esnext.symbol.observable"),u("../../modules/esnext.symbol.pattern-match"),u("../../modules/esnext.symbol.replace-all"),d.exports=a},{"../../actual/symbol":33,"../../modules/esnext.symbol.async-dispose":200,"../../modules/esnext.symbol.dispose":201,"../../modules/esnext.symbol.matcher":202,"../../modules/esnext.symbol.metadata":203,"../../modules/esnext.symbol.observable":204,"../../modules/esnext.symbol.pattern-match":205,"../../modules/esnext.symbol.replace-all":206}],57:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/is-callable"),i=u("../internals/try-to-string"),l=a.TypeError;d.exports=function(u){if(c(u))return u;throw l(i(u)+" is not a function")}},{"../internals/global":104,"../internals/is-callable":114,"../internals/try-to-string":162}],58:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/is-callable"),i=a.String,l=a.TypeError;d.exports=function(u){if("object"==typeof u||c(u))return u;throw l("Can't set "+i(u)+" as a prototype")}},{"../internals/global":104,"../internals/is-callable":114}],59:[function(u,d,t){d.exports=function(){}},{}],60:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/is-object"),i=a.String,l=a.TypeError;d.exports=function(u){if(c(u))return u;throw l(i(u)+" is not an object")}},{"../internals/global":104,"../internals/is-object":117}],61:[function(u,d,t){"use strict";var a=u("../internals/array-iteration").forEach,c=u("../internals/array-method-is-strict")("forEach");d.exports=c?[].forEach:function forEach(u){return a(this,u,arguments.length>1?arguments[1]:void 0)}},{"../internals/array-iteration":64,"../internals/array-method-is-strict":66}],62:[function(u,d,t){"use strict";var a=u("../internals/global"),c=u("../internals/function-bind-context"),i=u("../internals/function-call"),l=u("../internals/to-object"),D=u("../internals/call-with-safe-iteration-closing"),p=u("../internals/is-array-iterator-method"),b=u("../internals/is-constructor"),y=u("../internals/length-of-array-like"),m=u("../internals/create-property"),A=u("../internals/get-iterator"),E=u("../internals/get-iterator-method"),C=a.Array;d.exports=function from(u){var d=l(u),t=b(this),a=arguments.length,g=a>1?arguments[1]:void 0,h=void 0!==g;h&&(g=c(g,a>2?arguments[2]:void 0));var x,v,B,w,j,k,S=E(d),O=0;if(!S||this==C&&p(S))for(x=y(d),v=t?new this(x):C(x);x>O;O++)k=h?g(d[O],O):d[O],m(v,O,k);else for(j=(w=A(d,S)).next,v=t?new this:[];!(B=i(j,w)).done;O++)k=h?D(w,g,[B.value,O],!0):B.value,m(v,O,k);return v.length=O,v}},{"../internals/call-with-safe-iteration-closing":72,"../internals/create-property":80,"../internals/function-bind-context":96,"../internals/function-call":97,"../internals/get-iterator":102,"../internals/get-iterator-method":101,"../internals/global":104,"../internals/is-array-iterator-method":112,"../internals/is-constructor":115,"../internals/length-of-array-like":123,"../internals/to-object":157}],63:[function(u,d,t){var a=u("../internals/to-indexed-object"),c=u("../internals/to-absolute-index"),i=u("../internals/length-of-array-like"),createMethod=function(u){return function(d,t,l){var D,p=a(d),b=i(p),y=c(l,b);if(u&&t!=t){for(;b>y;)if((D=p[y++])!=D)return!0}else for(;b>y;y++)if((u||y in p)&&p[y]===t)return u||y||0;return!u&&-1}};d.exports={includes:createMethod(!0),indexOf:createMethod(!1)}},{"../internals/length-of-array-like":123,"../internals/to-absolute-index":153,"../internals/to-indexed-object":154}],64:[function(u,d,t){var a=u("../internals/function-bind-context"),c=u("../internals/function-uncurry-this"),i=u("../internals/indexed-object"),l=u("../internals/to-object"),D=u("../internals/length-of-array-like"),p=u("../internals/array-species-create"),b=c([].push),createMethod=function(u){var d=1==u,t=2==u,c=3==u,y=4==u,m=6==u,A=7==u,E=5==u||m;return function(C,g,h,x){for(var v,B,w=l(C),j=i(w),k=a(g,h),S=D(j),O=0,R=x||p,_=d?R(C,S):t||A?R(C,0):void 0;S>O;O++)if((E||O in j)&&(B=k(v=j[O],O,w),u))if(d)_[O]=B;else if(B)switch(u){case 3:return!0;case 5:return v;case 6:return O;case 2:b(_,v)}else switch(u){case 4:return!1;case 7:b(_,v)}return m?-1:c||y?y:_}};d.exports={forEach:createMethod(0),map:createMethod(1),filter:createMethod(2),some:createMethod(3),every:createMethod(4),find:createMethod(5),findIndex:createMethod(6),filterReject:createMethod(7)}},{"../internals/array-species-create":71,"../internals/function-bind-context":96,"../internals/function-uncurry-this":99,"../internals/indexed-object":109,"../internals/length-of-array-like":123,"../internals/to-object":157}],65:[function(u,d,t){var a=u("../internals/fails"),c=u("../internals/well-known-symbol"),i=u("../internals/engine-v8-version"),l=c("species");d.exports=function(u){return i>=51||!a((function(){var d=[];return(d.constructor={})[l]=function(){return{foo:1}},1!==d[u](Boolean).foo}))}},{"../internals/engine-v8-version":89,"../internals/fails":94,"../internals/well-known-symbol":166}],66:[function(u,d,t){"use strict";var a=u("../internals/fails");d.exports=function(u,d){var t=[][u];return!!t&&a((function(){t.call(null,d||function(){throw 1},1)}))}},{"../internals/fails":94}],67:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/to-absolute-index"),i=u("../internals/length-of-array-like"),l=u("../internals/create-property"),D=a.Array,p=Math.max;d.exports=function(u,d,t){for(var a=i(u),b=c(d,a),y=c(void 0===t?a:t,a),m=D(p(y-b,0)),A=0;b<y;b++,A++)l(m,A,u[b]);return m.length=A,m}},{"../internals/create-property":80,"../internals/global":104,"../internals/length-of-array-like":123,"../internals/to-absolute-index":153}],68:[function(u,d,t){var a=u("../internals/function-uncurry-this");d.exports=a([].slice)},{"../internals/function-uncurry-this":99}],69:[function(u,d,t){var a=u("../internals/array-slice-simple"),c=Math.floor,mergeSort=function(u,d){var t=u.length,i=c(t/2);return t<8?insertionSort(u,d):merge(u,mergeSort(a(u,0,i),d),mergeSort(a(u,i),d),d)},insertionSort=function(u,d){for(var t,a,c=u.length,i=1;i<c;){for(a=i,t=u[i];a&&d(u[a-1],t)>0;)u[a]=u[--a];a!==i++&&(u[a]=t)}return u},merge=function(u,d,t,a){for(var c=d.length,i=t.length,l=0,D=0;l<c||D<i;)u[l+D]=l<c&&D<i?a(d[l],t[D])<=0?d[l++]:t[D++]:l<c?d[l++]:t[D++];return u};d.exports=mergeSort},{"../internals/array-slice-simple":67}],70:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/is-array"),i=u("../internals/is-constructor"),l=u("../internals/is-object"),D=u("../internals/well-known-symbol")("species"),p=a.Array;d.exports=function(u){var d;return c(u)&&(d=u.constructor,(i(d)&&(d===p||c(d.prototype))||l(d)&&null===(d=d[D]))&&(d=void 0)),void 0===d?p:d}},{"../internals/global":104,"../internals/is-array":113,"../internals/is-constructor":115,"../internals/is-object":117,"../internals/well-known-symbol":166}],71:[function(u,d,t){var a=u("../internals/array-species-constructor");d.exports=function(u,d){return new(a(u))(0===d?0:d)}},{"../internals/array-species-constructor":70}],72:[function(u,d,t){var a=u("../internals/an-object"),c=u("../internals/iterator-close");d.exports=function(u,d,t,i){try{return i?d(a(t)[0],t[1]):d(t)}catch(d){c(u,"throw",d)}}},{"../internals/an-object":60,"../internals/iterator-close":120}],73:[function(u,d,t){var a=u("../internals/well-known-symbol")("iterator"),c=!1;try{var i=0,l={next:function(){return{done:!!i++}},return:function(){c=!0}};l[a]=function(){return this},Array.from(l,(function(){throw 2}))}catch(u){}d.exports=function(u,d){if(!d&&!c)return!1;var t=!1;try{var i={};i[a]=function(){return{next:function(){return{done:t=!0}}}},u(i)}catch(u){}return t}},{"../internals/well-known-symbol":166}],74:[function(u,d,t){var a=u("../internals/function-uncurry-this"),c=a({}.toString),i=a("".slice);d.exports=function(u){return i(c(u),8,-1)}},{"../internals/function-uncurry-this":99}],75:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/to-string-tag-support"),i=u("../internals/is-callable"),l=u("../internals/classof-raw"),D=u("../internals/well-known-symbol")("toStringTag"),p=a.Object,b="Arguments"==l(function(){return arguments}());d.exports=c?l:function(u){var d,t,a;return void 0===u?"Undefined":null===u?"Null":"string"==typeof(t=function(u,d){try{return u[d]}catch(u){}}(d=p(u),D))?t:b?l(d):"Object"==(a=l(d))&&i(d.callee)?"Arguments":a}},{"../internals/classof-raw":74,"../internals/global":104,"../internals/is-callable":114,"../internals/to-string-tag-support":160,"../internals/well-known-symbol":166}],76:[function(u,d,t){var a=u("../internals/fails");d.exports=!a((function(){function F(){}return F.prototype.constructor=null,Object.getPrototypeOf(new F)!==F.prototype}))},{"../internals/fails":94}],77:[function(u,d,t){"use strict";var a=u("../internals/iterators-core").IteratorPrototype,c=u("../internals/object-create"),i=u("../internals/create-property-descriptor"),l=u("../internals/set-to-string-tag"),D=u("../internals/iterators"),returnThis=function(){return this};d.exports=function(u,d,t,p){var b=d+" Iterator";return u.prototype=c(a,{next:i(+!p,t)}),l(u,b,!1,!0),D[b]=returnThis,u}},{"../internals/create-property-descriptor":79,"../internals/iterators":122,"../internals/iterators-core":121,"../internals/object-create":127,"../internals/set-to-string-tag":147}],78:[function(u,d,t){var a=u("../internals/descriptors"),c=u("../internals/object-define-property"),i=u("../internals/create-property-descriptor");d.exports=a?function(u,d,t){return c.f(u,d,i(1,t))}:function(u,d,t){return u[d]=t,u}},{"../internals/create-property-descriptor":79,"../internals/descriptors":83,"../internals/object-define-property":129}],79:[function(u,d,t){d.exports=function(u,d){return{enumerable:!(1&u),configurable:!(2&u),writable:!(4&u),value:d}}},{}],80:[function(u,d,t){"use strict";var a=u("../internals/to-property-key"),c=u("../internals/object-define-property"),i=u("../internals/create-property-descriptor");d.exports=function(u,d,t){var l=a(d);l in u?c.f(u,l,i(0,t)):u[l]=t}},{"../internals/create-property-descriptor":79,"../internals/object-define-property":129,"../internals/to-property-key":159}],81:[function(u,d,t){"use strict";var a=u("../internals/export"),c=u("../internals/function-call"),i=u("../internals/is-pure"),l=u("../internals/function-name"),D=u("../internals/is-callable"),p=u("../internals/create-iterator-constructor"),b=u("../internals/object-get-prototype-of"),y=u("../internals/object-set-prototype-of"),m=u("../internals/set-to-string-tag"),A=u("../internals/create-non-enumerable-property"),E=u("../internals/redefine"),C=u("../internals/well-known-symbol"),g=u("../internals/iterators"),h=u("../internals/iterators-core"),x=l.PROPER,v=l.CONFIGURABLE,B=h.IteratorPrototype,w=h.BUGGY_SAFARI_ITERATORS,j=C("iterator"),k="keys",S="values",O="entries",returnThis=function(){return this};d.exports=function(u,d,t,l,C,h,R){p(t,d,l);var _,T,I,getIterationMethod=function(u){if(u===C&&M)return M;if(!w&&u in L)return L[u];switch(u){case k:return function keys(){return new t(this,u)};case S:return function values(){return new t(this,u)};case O:return function entries(){return new t(this,u)}}return function(){return new t(this)}},P=d+" Iterator",X=!1,L=u.prototype,N=L[j]||L["@@iterator"]||C&&L[C],M=!w&&N||getIterationMethod(C),U="Array"==d&&L.entries||N;if(U&&(_=b(U.call(new u)))!==Object.prototype&&_.next&&(i||b(_)===B||(y?y(_,B):D(_[j])||E(_,j,returnThis)),m(_,P,!0,!0),i&&(g[P]=returnThis)),x&&C==S&&N&&N.name!==S&&(!i&&v?A(L,"name",S):(X=!0,M=function values(){return c(N,this)})),C)if(T={values:getIterationMethod(S),keys:h?M:getIterationMethod(k),entries:getIterationMethod(O)},R)for(I in T)(w||X||!(I in L))&&E(L,I,T[I]);else a({target:d,proto:!0,forced:w||X},T);return i&&!R||L[j]===M||E(L,j,M,{name:C}),g[d]=M,T}},{"../internals/create-iterator-constructor":77,"../internals/create-non-enumerable-property":78,"../internals/export":93,"../internals/function-call":97,"../internals/function-name":98,"../internals/is-callable":114,"../internals/is-pure":118,"../internals/iterators":122,"../internals/iterators-core":121,"../internals/object-get-prototype-of":134,"../internals/object-set-prototype-of":139,"../internals/redefine":143,"../internals/set-to-string-tag":147,"../internals/well-known-symbol":166}],82:[function(u,d,t){var a=u("../internals/path"),c=u("../internals/has-own-property"),i=u("../internals/well-known-symbol-wrapped"),l=u("../internals/object-define-property").f;d.exports=function(u){var d=a.Symbol||(a.Symbol={});c(d,u)||l(d,u,{value:i.f(u)})}},{"../internals/has-own-property":105,"../internals/object-define-property":129,"../internals/path":142,"../internals/well-known-symbol-wrapped":165}],83:[function(u,d,t){var a=u("../internals/fails");d.exports=!a((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},{"../internals/fails":94}],84:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/is-object"),i=a.document,l=c(i)&&c(i.createElement);d.exports=function(u){return l?i.createElement(u):{}}},{"../internals/global":104,"../internals/is-object":117}],85:[function(u,d,t){d.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},{}],86:[function(u,d,t){var a=u("../internals/engine-user-agent").match(/firefox\/(\d+)/i);d.exports=!!a&&+a[1]},{"../internals/engine-user-agent":88}],87:[function(u,d,t){var a=u("../internals/engine-user-agent");d.exports=/MSIE|Trident/.test(a)},{"../internals/engine-user-agent":88}],88:[function(u,d,t){var a=u("../internals/get-built-in");d.exports=a("navigator","userAgent")||""},{"../internals/get-built-in":100}],89:[function(u,d,t){var a,c,i=u("../internals/global"),l=u("../internals/engine-user-agent"),D=i.process,p=i.Deno,b=D&&D.versions||p&&p.version,y=b&&b.v8;y&&(c=(a=y.split("."))[0]>0&&a[0]<4?1:+(a[0]+a[1])),!c&&l&&(!(a=l.match(/Edge\/(\d+)/))||a[1]>=74)&&(a=l.match(/Chrome\/(\d+)/))&&(c=+a[1]),d.exports=c},{"../internals/engine-user-agent":88,"../internals/global":104}],90:[function(u,d,t){var a=u("../internals/engine-user-agent").match(/AppleWebKit\/(\d+)\./);d.exports=!!a&&+a[1]},{"../internals/engine-user-agent":88}],91:[function(u,d,t){var a=u("../internals/path");d.exports=function(u){return a[u+"Prototype"]}},{"../internals/path":142}],92:[function(u,d,t){d.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},{}],93:[function(u,d,t){"use strict";var a=u("../internals/global"),c=u("../internals/function-apply"),i=u("../internals/function-uncurry-this"),l=u("../internals/is-callable"),D=u("../internals/object-get-own-property-descriptor").f,p=u("../internals/is-forced"),b=u("../internals/path"),y=u("../internals/function-bind-context"),m=u("../internals/create-non-enumerable-property"),A=u("../internals/has-own-property"),wrapConstructor=function(u){var Wrapper=function(d,t,a){if(this instanceof Wrapper){switch(arguments.length){case 0:return new u;case 1:return new u(d);case 2:return new u(d,t)}return new u(d,t,a)}return c(u,this,arguments)};return Wrapper.prototype=u.prototype,Wrapper};d.exports=function(u,d){var t,c,E,C,g,h,x,v,B=u.target,w=u.global,j=u.stat,k=u.proto,S=w?a:j?a[B]:(a[B]||{}).prototype,O=w?b:b[B]||m(b,B,{})[B],R=O.prototype;for(E in d)t=!p(w?E:B+(j?".":"#")+E,u.forced)&&S&&A(S,E),g=O[E],t&&(h=u.noTargetGet?(v=D(S,E))&&v.value:S[E]),C=t&&h?h:d[E],t&&typeof g==typeof C||(x=u.bind&&t?y(C,a):u.wrap&&t?wrapConstructor(C):k&&l(C)?i(C):C,(u.sham||C&&C.sham||g&&g.sham)&&m(x,"sham",!0),m(O,E,x),k&&(A(b,c=B+"Prototype")||m(b,c,{}),m(b[c],E,C),u.real&&R&&!R[E]&&m(R,E,C)))}},{"../internals/create-non-enumerable-property":78,"../internals/function-apply":95,"../internals/function-bind-context":96,"../internals/function-uncurry-this":99,"../internals/global":104,"../internals/has-own-property":105,"../internals/is-callable":114,"../internals/is-forced":116,"../internals/object-get-own-property-descriptor":130,"../internals/path":142}],94:[function(u,d,t){d.exports=function(u){try{return!!u()}catch(u){return!0}}},{}],95:[function(u,d,t){var a=Function.prototype,c=a.apply,i=a.bind,l=a.call;d.exports="object"==typeof Reflect&&Reflect.apply||(i?l.bind(c):function(){return l.apply(c,arguments)})},{}],96:[function(u,d,t){var a=u("../internals/function-uncurry-this"),c=u("../internals/a-callable"),i=a(a.bind);d.exports=function(u,d){return c(u),void 0===d?u:i?i(u,d):function(){return u.apply(d,arguments)}}},{"../internals/a-callable":57,"../internals/function-uncurry-this":99}],97:[function(u,d,t){var a=Function.prototype.call;d.exports=a.bind?a.bind(a):function(){return a.apply(a,arguments)}},{}],98:[function(u,d,t){var a=u("../internals/descriptors"),c=u("../internals/has-own-property"),i=Function.prototype,l=a&&Object.getOwnPropertyDescriptor,D=c(i,"name"),p=D&&"something"===function something(){}.name,b=D&&(!a||a&&l(i,"name").configurable);d.exports={EXISTS:D,PROPER:p,CONFIGURABLE:b}},{"../internals/descriptors":83,"../internals/has-own-property":105}],99:[function(u,d,t){var a=Function.prototype,c=a.bind,i=a.call,l=c&&c.bind(i);d.exports=c?function(u){return u&&l(i,u)}:function(u){return u&&function(){return i.apply(u,arguments)}}},{}],100:[function(u,d,t){var a=u("../internals/path"),c=u("../internals/global"),i=u("../internals/is-callable"),aFunction=function(u){return i(u)?u:void 0};d.exports=function(u,d){return arguments.length<2?aFunction(a[u])||aFunction(c[u]):a[u]&&a[u][d]||c[u]&&c[u][d]}},{"../internals/global":104,"../internals/is-callable":114,"../internals/path":142}],101:[function(u,d,t){var a=u("../internals/classof"),c=u("../internals/get-method"),i=u("../internals/iterators"),l=u("../internals/well-known-symbol")("iterator");d.exports=function(u){if(null!=u)return c(u,l)||c(u,"@@iterator")||i[a(u)]}},{"../internals/classof":75,"../internals/get-method":103,"../internals/iterators":122,"../internals/well-known-symbol":166}],102:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/function-call"),i=u("../internals/a-callable"),l=u("../internals/an-object"),D=u("../internals/try-to-string"),p=u("../internals/get-iterator-method"),b=a.TypeError;d.exports=function(u,d){var t=arguments.length<2?p(u):d;if(i(t))return l(c(t,u));throw b(D(u)+" is not iterable")}},{"../internals/a-callable":57,"../internals/an-object":60,"../internals/function-call":97,"../internals/get-iterator-method":101,"../internals/global":104,"../internals/try-to-string":162}],103:[function(u,d,t){var a=u("../internals/a-callable");d.exports=function(u,d){var t=u[d];return null==t?void 0:a(t)}},{"../internals/a-callable":57}],104:[function(u,d,t){(function(u){(function(){var check=function(u){return u&&u.Math==Math&&u};d.exports=check("object"==typeof globalThis&&globalThis)||check("object"==typeof window&&window)||check("object"==typeof self&&self)||check("object"==typeof u&&u)||function(){return this}()||Function("return this")()}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],105:[function(u,d,t){var a=u("../internals/function-uncurry-this"),c=u("../internals/to-object"),i=a({}.hasOwnProperty);d.exports=Object.hasOwn||function hasOwn(u,d){return i(c(u),d)}},{"../internals/function-uncurry-this":99,"../internals/to-object":157}],106:[function(u,d,t){d.exports={}},{}],107:[function(u,d,t){var a=u("../internals/get-built-in");d.exports=a("document","documentElement")},{"../internals/get-built-in":100}],108:[function(u,d,t){var a=u("../internals/descriptors"),c=u("../internals/fails"),i=u("../internals/document-create-element");d.exports=!a&&!c((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},{"../internals/descriptors":83,"../internals/document-create-element":84,"../internals/fails":94}],109:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/function-uncurry-this"),i=u("../internals/fails"),l=u("../internals/classof-raw"),D=a.Object,p=c("".split);d.exports=i((function(){return!D("z").propertyIsEnumerable(0)}))?function(u){return"String"==l(u)?p(u,""):D(u)}:D},{"../internals/classof-raw":74,"../internals/fails":94,"../internals/function-uncurry-this":99,"../internals/global":104}],110:[function(u,d,t){var a=u("../internals/function-uncurry-this"),c=u("../internals/is-callable"),i=u("../internals/shared-store"),l=a(Function.toString);c(i.inspectSource)||(i.inspectSource=function(u){return l(u)}),d.exports=i.inspectSource},{"../internals/function-uncurry-this":99,"../internals/is-callable":114,"../internals/shared-store":149}],111:[function(u,d,t){var a,c,i,l=u("../internals/native-weak-map"),D=u("../internals/global"),p=u("../internals/function-uncurry-this"),b=u("../internals/is-object"),y=u("../internals/create-non-enumerable-property"),m=u("../internals/has-own-property"),A=u("../internals/shared-store"),E=u("../internals/shared-key"),C=u("../internals/hidden-keys"),g="Object already initialized",h=D.TypeError,x=D.WeakMap;if(l||A.state){var v=A.state||(A.state=new x),B=p(v.get),w=p(v.has),j=p(v.set);a=function(u,d){if(w(v,u))throw new h(g);return d.facade=u,j(v,u,d),d},c=function(u){return B(v,u)||{}},i=function(u){return w(v,u)}}else{var k=E("state");C[k]=!0,a=function(u,d){if(m(u,k))throw new h(g);return d.facade=u,y(u,k,d),d},c=function(u){return m(u,k)?u[k]:{}},i=function(u){return m(u,k)}}d.exports={set:a,get:c,has:i,enforce:function(u){return i(u)?c(u):a(u,{})},getterFor:function(u){return function(d){var t;if(!b(d)||(t=c(d)).type!==u)throw h("Incompatible receiver, "+u+" required");return t}}}},{"../internals/create-non-enumerable-property":78,"../internals/function-uncurry-this":99,"../internals/global":104,"../internals/has-own-property":105,"../internals/hidden-keys":106,"../internals/is-object":117,"../internals/native-weak-map":125,"../internals/shared-key":148,"../internals/shared-store":149}],112:[function(u,d,t){var a=u("../internals/well-known-symbol"),c=u("../internals/iterators"),i=a("iterator"),l=Array.prototype;d.exports=function(u){return void 0!==u&&(c.Array===u||l[i]===u)}},{"../internals/iterators":122,"../internals/well-known-symbol":166}],113:[function(u,d,t){var a=u("../internals/classof-raw");d.exports=Array.isArray||function isArray(u){return"Array"==a(u)}},{"../internals/classof-raw":74}],114:[function(u,d,t){d.exports=function(u){return"function"==typeof u}},{}],115:[function(u,d,t){var a=u("../internals/function-uncurry-this"),c=u("../internals/fails"),i=u("../internals/is-callable"),l=u("../internals/classof"),D=u("../internals/get-built-in"),p=u("../internals/inspect-source"),noop=function(){},b=[],y=D("Reflect","construct"),m=/^\s*(?:class|function)\b/,A=a(m.exec),E=!m.exec(noop),C=function isConstructor(u){if(!i(u))return!1;try{return y(noop,b,u),!0}catch(u){return!1}},g=function isConstructor(u){if(!i(u))return!1;switch(l(u)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return E||!!A(m,p(u))}catch(u){return!0}};g.sham=!0,d.exports=!y||c((function(){var u;return C(C.call)||!C(Object)||!C((function(){u=!0}))||u}))?g:C},{"../internals/classof":75,"../internals/fails":94,"../internals/function-uncurry-this":99,"../internals/get-built-in":100,"../internals/inspect-source":110,"../internals/is-callable":114}],116:[function(u,d,t){var a=u("../internals/fails"),c=u("../internals/is-callable"),i=/#|\.prototype\./,isForced=function(u,d){var t=D[l(u)];return t==b||t!=p&&(c(d)?a(d):!!d)},l=isForced.normalize=function(u){return String(u).replace(i,".").toLowerCase()},D=isForced.data={},p=isForced.NATIVE="N",b=isForced.POLYFILL="P";d.exports=isForced},{"../internals/fails":94,"../internals/is-callable":114}],117:[function(u,d,t){var a=u("../internals/is-callable");d.exports=function(u){return"object"==typeof u?null!==u:a(u)}},{"../internals/is-callable":114}],118:[function(u,d,t){d.exports=!0},{}],119:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/get-built-in"),i=u("../internals/is-callable"),l=u("../internals/object-is-prototype-of"),D=u("../internals/use-symbol-as-uid"),p=a.Object;d.exports=D?function(u){return"symbol"==typeof u}:function(u){var d=c("Symbol");return i(d)&&l(d.prototype,p(u))}},{"../internals/get-built-in":100,"../internals/global":104,"../internals/is-callable":114,"../internals/object-is-prototype-of":135,"../internals/use-symbol-as-uid":164}],120:[function(u,d,t){var a=u("../internals/function-call"),c=u("../internals/an-object"),i=u("../internals/get-method");d.exports=function(u,d,t){var l,D;c(u);try{if(!(l=i(u,"return"))){if("throw"===d)throw t;return t}l=a(l,u)}catch(u){D=!0,l=u}if("throw"===d)throw t;if(D)throw l;return c(l),t}},{"../internals/an-object":60,"../internals/function-call":97,"../internals/get-method":103}],121:[function(u,d,t){"use strict";var a,c,i,l=u("../internals/fails"),D=u("../internals/is-callable"),p=u("../internals/object-create"),b=u("../internals/object-get-prototype-of"),y=u("../internals/redefine"),m=u("../internals/well-known-symbol"),A=u("../internals/is-pure"),E=m("iterator"),C=!1;[].keys&&("next"in(i=[].keys())?(c=b(b(i)))!==Object.prototype&&(a=c):C=!0),null==a||l((function(){var u={};return a[E].call(u)!==u}))?a={}:A&&(a=p(a)),D(a[E])||y(a,E,(function(){return this})),d.exports={IteratorPrototype:a,BUGGY_SAFARI_ITERATORS:C}},{"../internals/fails":94,"../internals/is-callable":114,"../internals/is-pure":118,"../internals/object-create":127,"../internals/object-get-prototype-of":134,"../internals/redefine":143,"../internals/well-known-symbol":166}],122:[function(u,d,t){arguments[4][106][0].apply(t,arguments)},{dup:106}],123:[function(u,d,t){var a=u("../internals/to-length");d.exports=function(u){return a(u.length)}},{"../internals/to-length":156}],124:[function(u,d,t){var a=u("../internals/engine-v8-version"),c=u("../internals/fails");d.exports=!!Object.getOwnPropertySymbols&&!c((function(){var u=Symbol();return!String(u)||!(Object(u)instanceof Symbol)||!Symbol.sham&&a&&a<41}))},{"../internals/engine-v8-version":89,"../internals/fails":94}],125:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/is-callable"),i=u("../internals/inspect-source"),l=a.WeakMap;d.exports=c(l)&&/native code/.test(i(l))},{"../internals/global":104,"../internals/inspect-source":110,"../internals/is-callable":114}],126:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/fails"),i=u("../internals/function-uncurry-this"),l=u("../internals/to-string"),D=u("../internals/string-trim").trim,p=u("../internals/whitespaces"),b=a.parseInt,y=a.Symbol,m=y&&y.iterator,A=/^[+-]?0x/i,E=i(A.exec),C=8!==b(p+"08")||22!==b(p+"0x16")||m&&!c((function(){b(Object(m))}));d.exports=C?function parseInt(u,d){var t=D(l(u));return b(t,d>>>0||(E(A,t)?16:10))}:b},{"../internals/fails":94,"../internals/function-uncurry-this":99,"../internals/global":104,"../internals/string-trim":152,"../internals/to-string":161,"../internals/whitespaces":167}],127:[function(u,d,t){var a,c=u("../internals/an-object"),i=u("../internals/object-define-properties"),l=u("../internals/enum-bug-keys"),D=u("../internals/hidden-keys"),p=u("../internals/html"),b=u("../internals/document-create-element"),y=u("../internals/shared-key"),m=y("IE_PROTO"),EmptyConstructor=function(){},scriptTag=function(u){return"<script>"+u+"</"+"script>"},NullProtoObjectViaActiveX=function(u){u.write(scriptTag("")),u.close();var d=u.parentWindow.Object;return u=null,d},NullProtoObject=function(){try{a=new ActiveXObject("htmlfile")}catch(u){}var u,d;NullProtoObject="undefined"!=typeof document?document.domain&&a?NullProtoObjectViaActiveX(a):((d=b("iframe")).style.display="none",p.appendChild(d),d.src=String("javascript:"),(u=d.contentWindow.document).open(),u.write(scriptTag("document.F=Object")),u.close(),u.F):NullProtoObjectViaActiveX(a);for(var t=l.length;t--;)delete NullProtoObject.prototype[l[t]];return NullProtoObject()};D[m]=!0,d.exports=Object.create||function create(u,d){var t;return null!==u?(EmptyConstructor.prototype=c(u),t=new EmptyConstructor,EmptyConstructor.prototype=null,t[m]=u):t=NullProtoObject(),void 0===d?t:i(t,d)}},{"../internals/an-object":60,"../internals/document-create-element":84,"../internals/enum-bug-keys":92,"../internals/hidden-keys":106,"../internals/html":107,"../internals/object-define-properties":128,"../internals/shared-key":148}],128:[function(u,d,t){var a=u("../internals/descriptors"),c=u("../internals/object-define-property"),i=u("../internals/an-object"),l=u("../internals/to-indexed-object"),D=u("../internals/object-keys");d.exports=a?Object.defineProperties:function defineProperties(u,d){i(u);for(var t,a=l(d),p=D(d),b=p.length,y=0;b>y;)c.f(u,t=p[y++],a[t]);return u}},{"../internals/an-object":60,"../internals/descriptors":83,"../internals/object-define-property":129,"../internals/object-keys":137,"../internals/to-indexed-object":154}],129:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/descriptors"),i=u("../internals/ie8-dom-define"),l=u("../internals/an-object"),D=u("../internals/to-property-key"),p=a.TypeError,b=Object.defineProperty;t.f=c?b:function defineProperty(u,d,t){if(l(u),d=D(d),l(t),i)try{return b(u,d,t)}catch(u){}if("get"in t||"set"in t)throw p("Accessors not supported");return"value"in t&&(u[d]=t.value),u}},{"../internals/an-object":60,"../internals/descriptors":83,"../internals/global":104,"../internals/ie8-dom-define":108,"../internals/to-property-key":159}],130:[function(u,d,t){var a=u("../internals/descriptors"),c=u("../internals/function-call"),i=u("../internals/object-property-is-enumerable"),l=u("../internals/create-property-descriptor"),D=u("../internals/to-indexed-object"),p=u("../internals/to-property-key"),b=u("../internals/has-own-property"),y=u("../internals/ie8-dom-define"),m=Object.getOwnPropertyDescriptor;t.f=a?m:function getOwnPropertyDescriptor(u,d){if(u=D(u),d=p(d),y)try{return m(u,d)}catch(u){}if(b(u,d))return l(!c(i.f,u,d),u[d])}},{"../internals/create-property-descriptor":79,"../internals/descriptors":83,"../internals/function-call":97,"../internals/has-own-property":105,"../internals/ie8-dom-define":108,"../internals/object-property-is-enumerable":138,"../internals/to-indexed-object":154,"../internals/to-property-key":159}],131:[function(u,d,t){var a=u("../internals/classof-raw"),c=u("../internals/to-indexed-object"),i=u("../internals/object-get-own-property-names").f,l=u("../internals/array-slice-simple"),D="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];d.exports.f=function getOwnPropertyNames(u){return D&&"Window"==a(u)?function(u){try{return i(u)}catch(u){return l(D)}}(u):i(c(u))}},{"../internals/array-slice-simple":67,"../internals/classof-raw":74,"../internals/object-get-own-property-names":132,"../internals/to-indexed-object":154}],132:[function(u,d,t){var a=u("../internals/object-keys-internal"),c=u("../internals/enum-bug-keys").concat("length","prototype");t.f=Object.getOwnPropertyNames||function getOwnPropertyNames(u){return a(u,c)}},{"../internals/enum-bug-keys":92,"../internals/object-keys-internal":136}],133:[function(u,d,t){t.f=Object.getOwnPropertySymbols},{}],134:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/has-own-property"),i=u("../internals/is-callable"),l=u("../internals/to-object"),D=u("../internals/shared-key"),p=u("../internals/correct-prototype-getter"),b=D("IE_PROTO"),y=a.Object,m=y.prototype;d.exports=p?y.getPrototypeOf:function(u){var d=l(u);if(c(d,b))return d[b];var t=d.constructor;return i(t)&&d instanceof t?t.prototype:d instanceof y?m:null}},{"../internals/correct-prototype-getter":76,"../internals/global":104,"../internals/has-own-property":105,"../internals/is-callable":114,"../internals/shared-key":148,"../internals/to-object":157}],135:[function(u,d,t){var a=u("../internals/function-uncurry-this");d.exports=a({}.isPrototypeOf)},{"../internals/function-uncurry-this":99}],136:[function(u,d,t){var a=u("../internals/function-uncurry-this"),c=u("../internals/has-own-property"),i=u("../internals/to-indexed-object"),l=u("../internals/array-includes").indexOf,D=u("../internals/hidden-keys"),p=a([].push);d.exports=function(u,d){var t,a=i(u),b=0,y=[];for(t in a)!c(D,t)&&c(a,t)&&p(y,t);for(;d.length>b;)c(a,t=d[b++])&&(~l(y,t)||p(y,t));return y}},{"../internals/array-includes":63,"../internals/function-uncurry-this":99,"../internals/has-own-property":105,"../internals/hidden-keys":106,"../internals/to-indexed-object":154}],137:[function(u,d,t){var a=u("../internals/object-keys-internal"),c=u("../internals/enum-bug-keys");d.exports=Object.keys||function keys(u){return a(u,c)}},{"../internals/enum-bug-keys":92,"../internals/object-keys-internal":136}],138:[function(u,d,t){"use strict";var a={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,i=c&&!a.call({1:2},1);t.f=i?function propertyIsEnumerable(u){var d=c(this,u);return!!d&&d.enumerable}:a},{}],139:[function(u,d,t){var a=u("../internals/function-uncurry-this"),c=u("../internals/an-object"),i=u("../internals/a-possible-prototype");d.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var u,d=!1,t={};try{(u=a(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set))(t,[]),d=t instanceof Array}catch(u){}return function setPrototypeOf(t,a){return c(t),i(a),d?u(t,a):t.__proto__=a,t}}():void 0)},{"../internals/a-possible-prototype":58,"../internals/an-object":60,"../internals/function-uncurry-this":99}],140:[function(u,d,t){"use strict";var a=u("../internals/to-string-tag-support"),c=u("../internals/classof");d.exports=a?{}.toString:function toString(){return"[object "+c(this)+"]"}},{"../internals/classof":75,"../internals/to-string-tag-support":160}],141:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/function-call"),i=u("../internals/is-callable"),l=u("../internals/is-object"),D=a.TypeError;d.exports=function(u,d){var t,a;if("string"===d&&i(t=u.toString)&&!l(a=c(t,u)))return a;if(i(t=u.valueOf)&&!l(a=c(t,u)))return a;if("string"!==d&&i(t=u.toString)&&!l(a=c(t,u)))return a;throw D("Can't convert object to primitive value")}},{"../internals/function-call":97,"../internals/global":104,"../internals/is-callable":114,"../internals/is-object":117}],142:[function(u,d,t){arguments[4][106][0].apply(t,arguments)},{dup:106}],143:[function(u,d,t){var a=u("../internals/create-non-enumerable-property");d.exports=function(u,d,t,c){c&&c.enumerable?u[d]=t:a(u,d,t)}},{"../internals/create-non-enumerable-property":78}],144:[function(u,d,t){"use strict";var a=u("../internals/an-object");d.exports=function(){var u=a(this),d="";return u.global&&(d+="g"),u.ignoreCase&&(d+="i"),u.multiline&&(d+="m"),u.dotAll&&(d+="s"),u.unicode&&(d+="u"),u.sticky&&(d+="y"),d}},{"../internals/an-object":60}],145:[function(u,d,t){var a=u("../internals/global").TypeError;d.exports=function(u){if(null==u)throw a("Can't call method on "+u);return u}},{"../internals/global":104}],146:[function(u,d,t){var a=u("../internals/global"),c=Object.defineProperty;d.exports=function(u,d){try{c(a,u,{value:d,configurable:!0,writable:!0})}catch(t){a[u]=d}return d}},{"../internals/global":104}],147:[function(u,d,t){var a=u("../internals/to-string-tag-support"),c=u("../internals/object-define-property").f,i=u("../internals/create-non-enumerable-property"),l=u("../internals/has-own-property"),D=u("../internals/object-to-string"),p=u("../internals/well-known-symbol")("toStringTag");d.exports=function(u,d,t,b){if(u){var y=t?u:u.prototype;l(y,p)||c(y,p,{configurable:!0,value:d}),b&&!a&&i(y,"toString",D)}}},{"../internals/create-non-enumerable-property":78,"../internals/has-own-property":105,"../internals/object-define-property":129,"../internals/object-to-string":140,"../internals/to-string-tag-support":160,"../internals/well-known-symbol":166}],148:[function(u,d,t){var a=u("../internals/shared"),c=u("../internals/uid"),i=a("keys");d.exports=function(u){return i[u]||(i[u]=c(u))}},{"../internals/shared":150,"../internals/uid":163}],149:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/set-global"),i="__core-js_shared__",l=a[i]||c(i,{});d.exports=l},{"../internals/global":104,"../internals/set-global":146}],150:[function(u,d,t){var a=u("../internals/is-pure"),c=u("../internals/shared-store");(d.exports=function(u,d){return c[u]||(c[u]=void 0!==d?d:{})})("versions",[]).push({version:"3.20.0",mode:a?"pure":"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"})},{"../internals/is-pure":118,"../internals/shared-store":149}],151:[function(u,d,t){var a=u("../internals/function-uncurry-this"),c=u("../internals/to-integer-or-infinity"),i=u("../internals/to-string"),l=u("../internals/require-object-coercible"),D=a("".charAt),p=a("".charCodeAt),b=a("".slice),createMethod=function(u){return function(d,t){var a,y,m=i(l(d)),A=c(t),E=m.length;return A<0||A>=E?u?"":void 0:(a=p(m,A))<55296||a>56319||A+1===E||(y=p(m,A+1))<56320||y>57343?u?D(m,A):a:u?b(m,A,A+2):y-56320+(a-55296<<10)+65536}};d.exports={codeAt:createMethod(!1),charAt:createMethod(!0)}},{"../internals/function-uncurry-this":99,"../internals/require-object-coercible":145,"../internals/to-integer-or-infinity":155,"../internals/to-string":161}],152:[function(u,d,t){var a=u("../internals/function-uncurry-this"),c=u("../internals/require-object-coercible"),i=u("../internals/to-string"),l=u("../internals/whitespaces"),D=a("".replace),p="["+l+"]",b=RegExp("^"+p+p+"*"),y=RegExp(p+p+"*$"),createMethod=function(u){return function(d){var t=i(c(d));return 1&u&&(t=D(t,b,"")),2&u&&(t=D(t,y,"")),t}};d.exports={start:createMethod(1),end:createMethod(2),trim:createMethod(3)}},{"../internals/function-uncurry-this":99,"../internals/require-object-coercible":145,"../internals/to-string":161,"../internals/whitespaces":167}],153:[function(u,d,t){var a=u("../internals/to-integer-or-infinity"),c=Math.max,i=Math.min;d.exports=function(u,d){var t=a(u);return t<0?c(t+d,0):i(t,d)}},{"../internals/to-integer-or-infinity":155}],154:[function(u,d,t){var a=u("../internals/indexed-object"),c=u("../internals/require-object-coercible");d.exports=function(u){return a(c(u))}},{"../internals/indexed-object":109,"../internals/require-object-coercible":145}],155:[function(u,d,t){var a=Math.ceil,c=Math.floor;d.exports=function(u){var d=+u;return d!=d||0===d?0:(d>0?c:a)(d)}},{}],156:[function(u,d,t){var a=u("../internals/to-integer-or-infinity"),c=Math.min;d.exports=function(u){return u>0?c(a(u),9007199254740991):0}},{"../internals/to-integer-or-infinity":155}],157:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/require-object-coercible"),i=a.Object;d.exports=function(u){return i(c(u))}},{"../internals/global":104,"../internals/require-object-coercible":145}],158:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/function-call"),i=u("../internals/is-object"),l=u("../internals/is-symbol"),D=u("../internals/get-method"),p=u("../internals/ordinary-to-primitive"),b=u("../internals/well-known-symbol"),y=a.TypeError,m=b("toPrimitive");d.exports=function(u,d){if(!i(u)||l(u))return u;var t,a=D(u,m);if(a){if(void 0===d&&(d="default"),t=c(a,u,d),!i(t)||l(t))return t;throw y("Can't convert object to primitive value")}return void 0===d&&(d="number"),p(u,d)}},{"../internals/function-call":97,"../internals/get-method":103,"../internals/global":104,"../internals/is-object":117,"../internals/is-symbol":119,"../internals/ordinary-to-primitive":141,"../internals/well-known-symbol":166}],159:[function(u,d,t){var a=u("../internals/to-primitive"),c=u("../internals/is-symbol");d.exports=function(u){var d=a(u,"string");return c(d)?d:d+""}},{"../internals/is-symbol":119,"../internals/to-primitive":158}],160:[function(u,d,t){var a={};a[u("../internals/well-known-symbol")("toStringTag")]="z",d.exports="[object z]"===String(a)},{"../internals/well-known-symbol":166}],161:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/classof"),i=a.String;d.exports=function(u){if("Symbol"===c(u))throw TypeError("Cannot convert a Symbol value to a string");return i(u)}},{"../internals/classof":75,"../internals/global":104}],162:[function(u,d,t){var a=u("../internals/global").String;d.exports=function(u){try{return a(u)}catch(u){return"Object"}}},{"../internals/global":104}],163:[function(u,d,t){var a=u("../internals/function-uncurry-this"),c=0,i=Math.random(),l=a(1..toString);d.exports=function(u){return"Symbol("+(void 0===u?"":u)+")_"+l(++c+i,36)}},{"../internals/function-uncurry-this":99}],164:[function(u,d,t){var a=u("../internals/native-symbol");d.exports=a&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},{"../internals/native-symbol":124}],165:[function(u,d,t){var a=u("../internals/well-known-symbol");t.f=a},{"../internals/well-known-symbol":166}],166:[function(u,d,t){var a=u("../internals/global"),c=u("../internals/shared"),i=u("../internals/has-own-property"),l=u("../internals/uid"),D=u("../internals/native-symbol"),p=u("../internals/use-symbol-as-uid"),b=c("wks"),y=a.Symbol,m=y&&y.for,A=p?y:y&&y.withoutSetter||l;d.exports=function(u){if(!i(b,u)||!D&&"string"!=typeof b[u]){var d="Symbol."+u;D&&i(y,u)?b[u]=y[u]:b[u]=p&&m?m(d):A(d)}return b[u]}},{"../internals/global":104,"../internals/has-own-property":105,"../internals/native-symbol":124,"../internals/shared":150,"../internals/uid":163,"../internals/use-symbol-as-uid":164}],167:[function(u,d,t){d.exports="\t\n\v\f\r                \u2028\u2029\ufeff"},{}],168:[function(u,d,t){"use strict";var a=u("../internals/export"),c=u("../internals/global"),i=u("../internals/fails"),l=u("../internals/is-array"),D=u("../internals/is-object"),p=u("../internals/to-object"),b=u("../internals/length-of-array-like"),y=u("../internals/create-property"),m=u("../internals/array-species-create"),A=u("../internals/array-method-has-species-support"),E=u("../internals/well-known-symbol"),C=u("../internals/engine-v8-version"),g=E("isConcatSpreadable"),h=9007199254740991,x="Maximum allowed index exceeded",v=c.TypeError,B=C>=51||!i((function(){var u=[];return u[g]=!1,u.concat()[0]!==u})),w=A("concat"),isConcatSpreadable=function(u){if(!D(u))return!1;var d=u[g];return void 0!==d?!!d:l(u)};a({target:"Array",proto:!0,forced:!B||!w},{concat:function concat(u){var d,t,a,c,i,l=p(this),D=m(l,0),A=0;for(d=-1,a=arguments.length;d<a;d++)if(isConcatSpreadable(i=-1===d?l:arguments[d])){if(A+(c=b(i))>h)throw v(x);for(t=0;t<c;t++,A++)t in i&&y(D,A,i[t])}else{if(A>=h)throw v(x);y(D,A++,i)}return D.length=A,D}})},{"../internals/array-method-has-species-support":65,"../internals/array-species-create":71,"../internals/create-property":80,"../internals/engine-v8-version":89,"../internals/export":93,"../internals/fails":94,"../internals/global":104,"../internals/is-array":113,"../internals/is-object":117,"../internals/length-of-array-like":123,"../internals/to-object":157,"../internals/well-known-symbol":166}],169:[function(u,d,t){"use strict";var a=u("../internals/export"),c=u("../internals/array-for-each");a({target:"Array",proto:!0,forced:[].forEach!=c},{forEach:c})},{"../internals/array-for-each":61,"../internals/export":93}],170:[function(u,d,t){var a=u("../internals/export"),c=u("../internals/array-from");a({target:"Array",stat:!0,forced:!u("../internals/check-correctness-of-iteration")((function(u){Array.from(u)}))},{from:c})},{"../internals/array-from":62,"../internals/check-correctness-of-iteration":73,"../internals/export":93}],171:[function(u,d,t){"use strict";var a=u("../internals/export"),c=u("../internals/function-uncurry-this"),i=u("../internals/array-includes").indexOf,l=u("../internals/array-method-is-strict"),D=c([].indexOf),p=!!D&&1/D([1],1,-0)<0,b=l("indexOf");a({target:"Array",proto:!0,forced:p||!b},{indexOf:function indexOf(u){var d=arguments.length>1?arguments[1]:void 0;return p?D(this,u,d)||0:i(this,u,d)}})},{"../internals/array-includes":63,"../internals/array-method-is-strict":66,"../internals/export":93,"../internals/function-uncurry-this":99}],172:[function(u,d,t){u("../internals/export")({target:"Array",stat:!0},{isArray:u("../internals/is-array")})},{"../internals/export":93,"../internals/is-array":113}],173:[function(u,d,t){"use strict";var a=u("../internals/to-indexed-object"),c=u("../internals/add-to-unscopables"),i=u("../internals/iterators"),l=u("../internals/internal-state"),D=u("../internals/object-define-property").f,p=u("../internals/define-iterator"),b=u("../internals/is-pure"),y=u("../internals/descriptors"),m="Array Iterator",A=l.set,E=l.getterFor(m);d.exports=p(Array,"Array",(function(u,d){A(this,{type:m,target:a(u),index:0,kind:d})}),(function(){var u=E(this),d=u.target,t=u.kind,a=u.index++;return!d||a>=d.length?(u.target=void 0,{value:void 0,done:!0}):"keys"==t?{value:a,done:!1}:"values"==t?{value:d[a],done:!1}:{value:[a,d[a]],done:!1}}),"values");var C=i.Arguments=i.Array;if(c("keys"),c("values"),c("entries"),!b&&y&&"values"!==C.name)try{D(C,"name",{value:"values"})}catch(u){}},{"../internals/add-to-unscopables":59,"../internals/define-iterator":81,"../internals/descriptors":83,"../internals/internal-state":111,"../internals/is-pure":118,"../internals/iterators":122,"../internals/object-define-property":129,"../internals/to-indexed-object":154}],174:[function(u,d,t){"use strict";var a=u("../internals/export"),c=u("../internals/global"),i=u("../internals/is-array"),l=u("../internals/is-constructor"),D=u("../internals/is-object"),p=u("../internals/to-absolute-index"),b=u("../internals/length-of-array-like"),y=u("../internals/to-indexed-object"),m=u("../internals/create-property"),A=u("../internals/well-known-symbol"),E=u("../internals/array-method-has-species-support"),C=u("../internals/array-slice"),g=E("slice"),h=A("species"),x=c.Array,v=Math.max;a({target:"Array",proto:!0,forced:!g},{slice:function slice(u,d){var t,a,c,A=y(this),E=b(A),g=p(u,E),B=p(void 0===d?E:d,E);if(i(A)&&(t=A.constructor,(l(t)&&(t===x||i(t.prototype))||D(t)&&null===(t=t[h]))&&(t=void 0),t===x||void 0===t))return C(A,g,B);for(a=new(void 0===t?x:t)(v(B-g,0)),c=0;g<B;g++,c++)g in A&&m(a,c,A[g]);return a.length=c,a}})},{"../internals/array-method-has-species-support":65,"../internals/array-slice":68,"../internals/create-property":80,"../internals/export":93,"../internals/global":104,"../internals/is-array":113,"../internals/is-constructor":115,"../internals/is-object":117,"../internals/length-of-array-like":123,"../internals/to-absolute-index":153,"../internals/to-indexed-object":154,"../internals/well-known-symbol":166}],175:[function(u,d,t){"use strict";var a=u("../internals/export"),c=u("../internals/function-uncurry-this"),i=u("../internals/a-callable"),l=u("../internals/to-object"),D=u("../internals/length-of-array-like"),p=u("../internals/to-string"),b=u("../internals/fails"),y=u("../internals/array-sort"),m=u("../internals/array-method-is-strict"),A=u("../internals/engine-ff-version"),E=u("../internals/engine-is-ie-or-edge"),C=u("../internals/engine-v8-version"),g=u("../internals/engine-webkit-version"),h=[],x=c(h.sort),v=c(h.push),B=b((function(){h.sort(void 0)})),w=b((function(){h.sort(null)})),j=m("sort"),k=!b((function(){if(C)return C<70;if(!(A&&A>3)){if(E)return!0;if(g)return g<603;var u,d,t,a,c="";for(u=65;u<76;u++){switch(d=String.fromCharCode(u),u){case 66:case 69:case 70:case 72:t=3;break;case 68:case 71:t=4;break;default:t=2}for(a=0;a<47;a++)h.push({k:d+a,v:t})}for(h.sort((function(u,d){return d.v-u.v})),a=0;a<h.length;a++)d=h[a].k.charAt(0),c.charAt(c.length-1)!==d&&(c+=d);return"DGBEFHACIJK"!==c}}));a({target:"Array",proto:!0,forced:B||!w||!j||!k},{sort:function sort(u){void 0!==u&&i(u);var d=l(this);if(k)return void 0===u?x(d):x(d,u);var t,a,c=[],b=D(d);for(a=0;a<b;a++)a in d&&v(c,d[a]);for(y(c,function(u){return function(d,t){return void 0===t?-1:void 0===d?1:void 0!==u?+u(d,t)||0:p(d)>p(t)?1:-1}}(u)),t=c.length,a=0;a<t;)d[a]=c[a++];for(;a<b;)delete d[a++];return d}})},{"../internals/a-callable":57,"../internals/array-method-is-strict":66,"../internals/array-sort":69,"../internals/engine-ff-version":86,"../internals/engine-is-ie-or-edge":87,"../internals/engine-v8-version":89,"../internals/engine-webkit-version":90,"../internals/export":93,"../internals/fails":94,"../internals/function-uncurry-this":99,"../internals/length-of-array-like":123,"../internals/to-object":157,"../internals/to-string":161}],176:[function(u,d,t){var a=u("../internals/global");u("../internals/set-to-string-tag")(a.JSON,"JSON",!0)},{"../internals/global":104,"../internals/set-to-string-tag":147}],177:[function(u,d,t){},{}],178:[function(u,d,t){u("../internals/export")({target:"Object",stat:!0,sham:!u("../internals/descriptors")},{create:u("../internals/object-create")})},{"../internals/descriptors":83,"../internals/export":93,"../internals/object-create":127}],179:[function(u,d,t){var a=u("../internals/export"),c=u("../internals/descriptors");a({target:"Object",stat:!0,forced:!c,sham:!c},{defineProperty:u("../internals/object-define-property").f})},{"../internals/descriptors":83,"../internals/export":93,"../internals/object-define-property":129}],180:[function(u,d,t){arguments[4][177][0].apply(t,arguments)},{dup:177}],181:[function(u,d,t){var a=u("../internals/export"),c=u("../internals/number-parse-int");a({global:!0,forced:parseInt!=c},{parseInt:c})},{"../internals/export":93,"../internals/number-parse-int":126}],182:[function(u,d,t){arguments[4][177][0].apply(t,arguments)},{dup:177}],183:[function(u,d,t){arguments[4][177][0].apply(t,arguments)},{dup:177}],184:[function(u,d,t){"use strict";var a=u("../internals/string-multibyte").charAt,c=u("../internals/to-string"),i=u("../internals/internal-state"),l=u("../internals/define-iterator"),D="String Iterator",p=i.set,b=i.getterFor(D);l(String,"String",(function(u){p(this,{type:D,string:c(u),index:0})}),(function next(){var u,d=b(this),t=d.string,c=d.index;return c>=t.length?{value:void 0,done:!0}:(u=a(t,c),d.index+=u.length,{value:u,done:!1})}))},{"../internals/define-iterator":81,"../internals/internal-state":111,"../internals/string-multibyte":151,"../internals/to-string":161}],185:[function(u,d,t){u("../internals/define-well-known-symbol")("asyncIterator")},{"../internals/define-well-known-symbol":82}],186:[function(u,d,t){arguments[4][177][0].apply(t,arguments)},{dup:177}],187:[function(u,d,t){u("../internals/define-well-known-symbol")("hasInstance")},{"../internals/define-well-known-symbol":82}],188:[function(u,d,t){u("../internals/define-well-known-symbol")("isConcatSpreadable")},{"../internals/define-well-known-symbol":82}],189:[function(u,d,t){u("../internals/define-well-known-symbol")("iterator")},{"../internals/define-well-known-symbol":82}],190:[function(u,d,t){"use strict";var a=u("../internals/export"),c=u("../internals/global"),i=u("../internals/get-built-in"),l=u("../internals/function-apply"),D=u("../internals/function-call"),p=u("../internals/function-uncurry-this"),b=u("../internals/is-pure"),y=u("../internals/descriptors"),m=u("../internals/native-symbol"),A=u("../internals/fails"),E=u("../internals/has-own-property"),C=u("../internals/is-array"),g=u("../internals/is-callable"),h=u("../internals/is-object"),x=u("../internals/object-is-prototype-of"),v=u("../internals/is-symbol"),B=u("../internals/an-object"),w=u("../internals/to-object"),j=u("../internals/to-indexed-object"),k=u("../internals/to-property-key"),S=u("../internals/to-string"),O=u("../internals/create-property-descriptor"),R=u("../internals/object-create"),_=u("../internals/object-keys"),T=u("../internals/object-get-own-property-names"),I=u("../internals/object-get-own-property-names-external"),P=u("../internals/object-get-own-property-symbols"),X=u("../internals/object-get-own-property-descriptor"),L=u("../internals/object-define-property"),N=u("../internals/object-property-is-enumerable"),M=u("../internals/array-slice"),U=u("../internals/redefine"),G=u("../internals/shared"),q=u("../internals/shared-key"),z=u("../internals/hidden-keys"),$=u("../internals/uid"),H=u("../internals/well-known-symbol"),Z=u("../internals/well-known-symbol-wrapped"),Y=u("../internals/define-well-known-symbol"),V=u("../internals/set-to-string-tag"),W=u("../internals/internal-state"),J=u("../internals/array-iteration").forEach,K=q("hidden"),Q="Symbol",uu=H("toPrimitive"),eu=W.set,du=W.getterFor(Q),nu=Object.prototype,tu=c.Symbol,ru=tu&&tu.prototype,au=c.TypeError,cu=c.QObject,ou=i("JSON","stringify"),iu=X.f,su=L.f,fu=I.f,lu=N.f,Du=p([].push),pu=G("symbols"),bu=G("op-symbols"),yu=G("string-to-symbol-registry"),Fu=G("symbol-to-string-registry"),mu=G("wks"),Au=!cu||!cu.prototype||!cu.prototype.findChild,Eu=y&&A((function(){return 7!=R(su({},"a",{get:function(){return su(this,"a",{value:7}).a}})).a}))?function(u,d,t){var a=iu(nu,d);a&&delete nu[d],su(u,d,t),a&&u!==nu&&su(nu,d,a)}:su,wrap=function(u,d){var t=pu[u]=R(ru);return eu(t,{type:Q,tag:u,description:d}),y||(t.description=d),t},Cu=function defineProperty(u,d,t){u===nu&&Cu(bu,d,t),B(u);var a=k(d);return B(t),E(pu,a)?(t.enumerable?(E(u,K)&&u[K][a]&&(u[K][a]=!1),t=R(t,{enumerable:O(0,!1)})):(E(u,K)||su(u,K,O(1,{})),u[K][a]=!0),Eu(u,a,t)):su(u,a,t)},gu=function defineProperties(u,d){B(u);var t=j(d),a=_(t).concat(Bu(t));return J(a,(function(d){y&&!D(hu,t,d)||Cu(u,d,t[d])})),u},hu=function propertyIsEnumerable(u){var d=k(u),t=D(lu,this,d);return!(this===nu&&E(pu,d)&&!E(bu,d))&&(!(t||!E(this,d)||!E(pu,d)||E(this,K)&&this[K][d])||t)},xu=function getOwnPropertyDescriptor(u,d){var t=j(u),a=k(d);if(t!==nu||!E(pu,a)||E(bu,a)){var c=iu(t,a);return!c||!E(pu,a)||E(t,K)&&t[K][a]||(c.enumerable=!0),c}},vu=function getOwnPropertyNames(u){var d=fu(j(u)),t=[];return J(d,(function(u){E(pu,u)||E(z,u)||Du(t,u)})),t},Bu=function getOwnPropertySymbols(u){var d=u===nu,t=fu(d?bu:j(u)),a=[];return J(t,(function(u){!E(pu,u)||d&&!E(nu,u)||Du(a,pu[u])})),a};(m||(tu=function Symbol(){if(x(ru,this))throw au("Symbol is not a constructor");var u=arguments.length&&void 0!==arguments[0]?S(arguments[0]):void 0,d=$(u),setter=function(u){this===nu&&D(setter,bu,u),E(this,K)&&E(this[K],d)&&(this[K][d]=!1),Eu(this,d,O(1,u))};return y&&Au&&Eu(nu,d,{configurable:!0,set:setter}),wrap(d,u)},U(ru=tu.prototype,"toString",(function toString(){return du(this).tag})),U(tu,"withoutSetter",(function(u){return wrap($(u),u)})),N.f=hu,L.f=Cu,X.f=xu,T.f=I.f=vu,P.f=Bu,Z.f=function(u){return wrap(H(u),u)},y&&(su(ru,"description",{configurable:!0,get:function description(){return du(this).description}}),b||U(nu,"propertyIsEnumerable",hu,{unsafe:!0}))),a({global:!0,wrap:!0,forced:!m,sham:!m},{Symbol:tu}),J(_(mu),(function(u){Y(u)})),a({target:Q,stat:!0,forced:!m},{for:function(u){var d=S(u);if(E(yu,d))return yu[d];var t=tu(d);return yu[d]=t,Fu[t]=d,t},keyFor:function keyFor(u){if(!v(u))throw au(u+" is not a symbol");if(E(Fu,u))return Fu[u]},useSetter:function(){Au=!0},useSimple:function(){Au=!1}}),a({target:"Object",stat:!0,forced:!m,sham:!y},{create:function create(u,d){return void 0===d?R(u):gu(R(u),d)},defineProperty:Cu,defineProperties:gu,getOwnPropertyDescriptor:xu}),a({target:"Object",stat:!0,forced:!m},{getOwnPropertyNames:vu,getOwnPropertySymbols:Bu}),a({target:"Object",stat:!0,forced:A((function(){P.f(1)}))},{getOwnPropertySymbols:function getOwnPropertySymbols(u){return P.f(w(u))}}),ou)&&a({target:"JSON",stat:!0,forced:!m||A((function(){var u=tu();return"[null]"!=ou([u])||"{}"!=ou({a:u})||"{}"!=ou(Object(u))}))},{stringify:function stringify(u,d,t){var a=M(arguments),c=d;if((h(d)||void 0!==u)&&!v(u))return C(d)||(d=function(u,d){if(g(c)&&(d=D(c,this,u,d)),!v(d))return d}),a[1]=d,l(ou,null,a)}});if(!ru[uu]){var wu=ru.valueOf;U(ru,uu,(function(u){return D(wu,this)}))}V(tu,Q),z[K]=!0},{"../internals/an-object":60,"../internals/array-iteration":64,"../internals/array-slice":68,"../internals/create-property-descriptor":79,"../internals/define-well-known-symbol":82,"../internals/descriptors":83,"../internals/export":93,"../internals/fails":94,"../internals/function-apply":95,"../internals/function-call":97,"../internals/function-uncurry-this":99,"../internals/get-built-in":100,"../internals/global":104,"../internals/has-own-property":105,"../internals/hidden-keys":106,"../internals/internal-state":111,"../internals/is-array":113,"../internals/is-callable":114,"../internals/is-object":117,"../internals/is-pure":118,"../internals/is-symbol":119,"../internals/native-symbol":124,"../internals/object-create":127,"../internals/object-define-property":129,"../internals/object-get-own-property-descriptor":130,"../internals/object-get-own-property-names":132,"../internals/object-get-own-property-names-external":131,"../internals/object-get-own-property-symbols":133,"../internals/object-is-prototype-of":135,"../internals/object-keys":137,"../internals/object-property-is-enumerable":138,"../internals/redefine":143,"../internals/set-to-string-tag":147,"../internals/shared":150,"../internals/shared-key":148,"../internals/to-indexed-object":154,"../internals/to-object":157,"../internals/to-property-key":159,"../internals/to-string":161,"../internals/uid":163,"../internals/well-known-symbol":166,"../internals/well-known-symbol-wrapped":165}],191:[function(u,d,t){u("../internals/define-well-known-symbol")("matchAll")},{"../internals/define-well-known-symbol":82}],192:[function(u,d,t){u("../internals/define-well-known-symbol")("match")},{"../internals/define-well-known-symbol":82}],193:[function(u,d,t){u("../internals/define-well-known-symbol")("replace")},{"../internals/define-well-known-symbol":82}],194:[function(u,d,t){u("../internals/define-well-known-symbol")("search")},{"../internals/define-well-known-symbol":82}],195:[function(u,d,t){u("../internals/define-well-known-symbol")("species")},{"../internals/define-well-known-symbol":82}],196:[function(u,d,t){u("../internals/define-well-known-symbol")("split")},{"../internals/define-well-known-symbol":82}],197:[function(u,d,t){u("../internals/define-well-known-symbol")("toPrimitive")},{"../internals/define-well-known-symbol":82}],198:[function(u,d,t){u("../internals/define-well-known-symbol")("toStringTag")},{"../internals/define-well-known-symbol":82}],199:[function(u,d,t){u("../internals/define-well-known-symbol")("unscopables")},{"../internals/define-well-known-symbol":82}],200:[function(u,d,t){u("../internals/define-well-known-symbol")("asyncDispose")},{"../internals/define-well-known-symbol":82}],201:[function(u,d,t){u("../internals/define-well-known-symbol")("dispose")},{"../internals/define-well-known-symbol":82}],202:[function(u,d,t){u("../internals/define-well-known-symbol")("matcher")},{"../internals/define-well-known-symbol":82}],203:[function(u,d,t){u("../internals/define-well-known-symbol")("metadata")},{"../internals/define-well-known-symbol":82}],204:[function(u,d,t){u("../internals/define-well-known-symbol")("observable")},{"../internals/define-well-known-symbol":82}],205:[function(u,d,t){u("../internals/define-well-known-symbol")("patternMatch")},{"../internals/define-well-known-symbol":82}],206:[function(u,d,t){u("../internals/define-well-known-symbol")("replaceAll")},{"../internals/define-well-known-symbol":82}],207:[function(u,d,t){u("../modules/es.array.iterator");var a=u("../internals/dom-iterables"),c=u("../internals/global"),i=u("../internals/classof"),l=u("../internals/create-non-enumerable-property"),D=u("../internals/iterators"),p=u("../internals/well-known-symbol")("toStringTag");for(var b in a){var y=c[b],m=y&&y.prototype;m&&i(m)!==p&&l(m,p,b),D[b]=D.Array}},{"../internals/classof":75,"../internals/create-non-enumerable-property":78,"../internals/dom-iterables":85,"../internals/global":104,"../internals/iterators":122,"../internals/well-known-symbol":166,"../modules/es.array.iterator":173}],208:[function(u,d,t){var a=u("../../es/array/from");d.exports=a},{"../../es/array/from":34}],209:[function(u,d,t){var a=u("../../es/array/is-array");d.exports=a},{"../../es/array/is-array":35}],210:[function(u,d,t){var a=u("../../../es/array/virtual/for-each");d.exports=a},{"../../../es/array/virtual/for-each":37}],211:[function(u,d,t){var a=u("../es/get-iterator-method");u("../modules/web.dom-collections.iterator"),d.exports=a},{"../es/get-iterator-method":41,"../modules/web.dom-collections.iterator":207}],212:[function(u,d,t){var a=u("../../es/instance/concat");d.exports=a},{"../../es/instance/concat":42}],213:[function(u,d,t){var a=u("../../es/instance/flags");d.exports=a},{"../../es/instance/flags":43}],214:[function(u,d,t){u("../../modules/web.dom-collections.iterator");var a=u("../../internals/classof"),c=u("../../internals/has-own-property"),i=u("../../internals/object-is-prototype-of"),l=u("../array/virtual/for-each"),D=Array.prototype,p={DOMTokenList:!0,NodeList:!0};d.exports=function(u){var d=u.forEach;return u===D||i(D,u)&&d===D.forEach||c(p,a(u))?l:d}},{"../../internals/classof":75,"../../internals/has-own-property":105,"../../internals/object-is-prototype-of":135,"../../modules/web.dom-collections.iterator":207,"../array/virtual/for-each":210}],215:[function(u,d,t){var a=u("../../es/instance/index-of");d.exports=a},{"../../es/instance/index-of":44}],216:[function(u,d,t){var a=u("../../es/instance/slice");d.exports=a},{"../../es/instance/slice":45}],217:[function(u,d,t){var a=u("../../es/instance/sort");d.exports=a},{"../../es/instance/sort":46}],218:[function(u,d,t){var a=u("../../es/object/create");d.exports=a},{"../../es/object/create":47}],219:[function(u,d,t){var a=u("../../es/object/define-property");d.exports=a},{"../../es/object/define-property":48}],220:[function(u,d,t){var a=u("../es/parse-int");d.exports=a},{"../es/parse-int":49}],221:[function(u,d,t){var a=u("../../es/symbol");u("../../modules/web.dom-collections.iterator"),d.exports=a},{"../../es/symbol":51,"../../modules/web.dom-collections.iterator":207}],222:[function(u,d,t){d.exports=[{name:"C",alias:"Other",isBmpLast:!0,bmp:"\0--Ÿ­͸͹΀-΃΋΍΢԰՗՘֋֌֐׈-׏׫-׮׵-؅؜۝܎܏݋݌޲-޿߻߼࠮࠯࠿࡜࡝࡟࡫-࡯࢏-ࢗ࣢঄঍঎঑঒঩঱঳-঵঺঻৅৆৉৊৏-৖৘-৛৞৤৥৿਀਄਋-਎਑਒਩਱਴਷਺਻਽੃-੆੉੊੎-੐੒-੘੝੟-੥੷-઀઄઎઒઩઱઴઺઻૆૊૎૏૑-૟૤૥૲-૸଀଄଍଎଑଒଩଱଴଺଻୅୆୉୊୎-୔୘-୛୞୤୥୸-஁஄஋-஍஑஖-஘஛஝஠-஢஥-஧஫-஭஺-஽௃-௅௉௎௏௑-௖௘-௥௻-௿఍఑఩఺఻౅౉౎-౔౗౛౜౞౟౤౥౰-౶಍಑಩಴಺಻೅೉೎-೔೗-೜೟೤೥೰ೳ-೿഍഑൅൉൐-൓൤൥඀඄඗-඙඲඼඾඿෇-෉෋-෎෕෗෠-෥෰෱෵-฀฻-฾๜-຀຃຅຋຤຦຾຿໅໇໎໏໚໛໠-໿཈཭-཰྘྽࿍࿛-࿿჆჈-჌჎჏቉቎቏቗቙቞቟኉኎኏኱኶኷኿዁዆዇዗጑጖጗፛፜፽-፿᎚-᎟᏶᏷᏾᏿᚝-᚟᛹-᛿᜖-᜞᜷-᜿᝔-᝟᝭᝱᝴-᝿៞៟៪-៯៺-៿᠎᠚-᠟᡹-᡿᢫-᢯᣶-᣿᤟᤬-᤯᤼-᤿᥁-᥃᥮᥯᥵-᥿᦬-᦯᧊-᧏᧛-᧝᨜᨝᩟᩽᩾᪊-᪏᪚-᪟᪮᪯᫏-᫿᭍-᭏᭿᯴-᯻᰸-᰺᱊-᱌Ᲊ-᲏᲻᲼᳈-᳏᳻-᳿἖἗἞἟὆὇὎὏὘὚὜὞὾὿᾵῅῔῕῜῰῱῵῿​-‏‪-‮⁠-⁲⁳₏₝-₟⃁-⃏⃱-⃿↌-↏␧-␿⑋-⑟⭴⭵⮖⳴-⳸⴦⴨-⴬⴮⴯⵨-⵮⵱-⵾⶗-⶟⶧⶯⶷⶿⷇⷏⷗⷟⹞-⹿⺚⻴-⻿⿖-⿯⿼-⿿぀゗゘㄀-㄄㄰㆏㇤-㇯㈟꒍-꒏꓇-꓏꘬-꘿꛸-꛿Ɤ-꟏꟒꟔Ꟛ-꟱꠭-꠯꠺-꠿꡸-꡿꣆-꣍꣚-꣟꥔-꥞꥽-꥿꧎꧚-꧝꧿꨷-꨿꩎꩏꩚꩛꫃-꫚꫷-꬀꬇꬈꬏꬐꬗-꬟꬧꬯꭬-꭯꯮꯯꯺-꯿힤-힯퟇-퟊퟼-﩮﩯﫚-﫿﬇-﬒﬘-﬜﬷﬽﬿﭂﭅﯃-﯒﶐﶑﷈-﷎﷐-﷯︚-︟﹓﹧﹬-﹯﹵﻽-＀﾿-￁￈￉￐￑￘￙￝-￟￧￯-￾￿",astral:"\ud800[\udc0c\udc27\udc3b\udc3e\udc4e\udc4f\udc5e-\udc7f\udcfb-\udcff\udd03-\udd06\udd34-\udd36\udd8f\udd9d-\udd9f\udda1-\uddcf\uddfe-\ude7f\ude9d-\ude9f\uded1-\udedf\udefc-\udeff\udf24-\udf2c\udf4b-\udf4f\udf7b-\udf7f\udf9e\udfc4-\udfc7\udfd6-\udfff]|\ud801[\udc9e\udc9f\udcaa-\udcaf\udcd4-\udcd7\udcfc-\udcff\udd28-\udd2f\udd64-\udd6e\udd7b\udd8b\udd93\udd96\udda2\uddb2\uddba\uddbd-\uddff\udf37-\udf3f\udf56-\udf5f\udf68-\udf7f\udf86\udfb1\udfbb-\udfff]|\ud802[\udc06\udc07\udc09\udc36\udc39-\udc3b\udc3d\udc3e\udc56\udc9f-\udca6\udcb0-\udcdf\udcf3\udcf6-\udcfa\udd1c-\udd1e\udd3a-\udd3e\udd40-\udd7f\uddb8-\uddbb\uddd0\uddd1\ude04\ude07-\ude0b\ude14\ude18\ude36\ude37\ude3b-\ude3e\ude49-\ude4f\ude59-\ude5f\udea0-\udebf\udee7-\udeea\udef7-\udeff\udf36-\udf38\udf56\udf57\udf73-\udf77\udf92-\udf98\udf9d-\udfa8\udfb0-\udfff]|\ud803[\udc49-\udc7f\udcb3-\udcbf\udcf3-\udcf9\udd28-\udd2f\udd3a-\ude5f\ude7f\udeaa\udeae\udeaf\udeb2-\udeff\udf28-\udf2f\udf5a-\udf6f\udf8a-\udfaf\udfcc-\udfdf\udff7-\udfff]|\ud804[\udc4e-\udc51\udc76-\udc7e\udcbd\udcc3-\udccf\udce9-\udcef\udcfa-\udcff\udd35\udd48-\udd4f\udd77-\udd7f\udde0\uddf5-\uddff\ude12\ude3f-\ude7f\ude87\ude89\ude8e\ude9e\udeaa-\udeaf\udeeb-\udeef\udefa-\udeff\udf04\udf0d\udf0e\udf11\udf12\udf29\udf31\udf34\udf3a\udf45\udf46\udf49\udf4a\udf4e\udf4f\udf51-\udf56\udf58-\udf5c\udf64\udf65\udf6d-\udf6f\udf75-\udfff]|\ud805[\udc5c\udc62-\udc7f\udcc8-\udccf\udcda-\udd7f\uddb6\uddb7\uddde-\uddff\ude45-\ude4f\ude5a-\ude5f\ude6d-\ude7f\udeba-\udebf\udeca-\udeff\udf1b\udf1c\udf2c-\udf2f\udf47-\udfff]|\ud806[\udc3c-\udc9f\udcf3-\udcfe\udd07\udd08\udd0a\udd0b\udd14\udd17\udd36\udd39\udd3a\udd47-\udd4f\udd5a-\udd9f\udda8\udda9\uddd8\uddd9\udde5-\uddff\ude48-\ude4f\udea3-\udeaf\udef9-\udfff]|\ud807[\udc09\udc37\udc46-\udc4f\udc6d-\udc6f\udc90\udc91\udca8\udcb7-\udcff\udd07\udd0a\udd37-\udd39\udd3b\udd3e\udd48-\udd4f\udd5a-\udd5f\udd66\udd69\udd8f\udd92\udd99-\udd9f\uddaa-\udedf\udef9-\udfaf\udfb1-\udfbf\udff2-\udffe]|\ud808[\udf9a-\udfff]|\ud809[\udc6f\udc75-\udc7f\udd44-\udfff]|[\ud80a\ud80e-\ud810\ud812-\ud819\ud824-\ud82a\ud82d\ud82e\ud830-\ud832\ud83f\ud87b-\ud87d\ud87f\ud885-\udb3f\udb41-\udbff][\udc00-\udfff]|\ud80b[\udc00-\udf8f\udff3-\udfff]|\ud80d[\udc2f-\udfff]|\ud811[\ude47-\udfff]|\ud81a[\ude39-\ude3f\ude5f\ude6a-\ude6d\udebf\udeca-\udecf\udeee\udeef\udef6-\udeff\udf46-\udf4f\udf5a\udf62\udf78-\udf7c\udf90-\udfff]|\ud81b[\udc00-\ude3f\ude9b-\udeff\udf4b-\udf4e\udf88-\udf8e\udfa0-\udfdf\udfe5-\udfef\udff2-\udfff]|\ud821[\udff8-\udfff]|\ud823[\udcd6-\udcff\udd09-\udfff]|\ud82b[\udc00-\udfef\udff4\udffc\udfff]|\ud82c[\udd23-\udd4f\udd53-\udd63\udd68-\udd6f\udefc-\udfff]|\ud82f[\udc6b-\udc6f\udc7d-\udc7f\udc89-\udc8f\udc9a\udc9b\udca0-\udfff]|\ud833[\udc00-\udeff\udf2e\udf2f\udf47-\udf4f\udfc4-\udfff]|\ud834[\udcf6-\udcff\udd27\udd28\udd73-\udd7a\uddeb-\uddff\ude46-\udedf\udef4-\udeff\udf57-\udf5f\udf79-\udfff]|\ud835[\udc55\udc9d\udca0\udca1\udca3\udca4\udca7\udca8\udcad\udcba\udcbc\udcc4\udd06\udd0b\udd0c\udd15\udd1d\udd3a\udd3f\udd45\udd47-\udd49\udd51\udea6\udea7\udfcc\udfcd]|\ud836[\ude8c-\ude9a\udea0\udeb0-\udfff]|\ud837[\udc00-\udeff\udf1f-\udfff]|\ud838[\udc07\udc19\udc1a\udc22\udc25\udc2b-\udcff\udd2d-\udd2f\udd3e\udd3f\udd4a-\udd4d\udd50-\ude8f\udeaf-\udebf\udefa-\udefe\udf00-\udfff]|\ud839[\udc00-\udfdf\udfe7\udfec\udfef\udfff]|\ud83a[\udcc5\udcc6\udcd7-\udcff\udd4c-\udd4f\udd5a-\udd5d\udd60-\udfff]|\ud83b[\udc00-\udc70\udcb5-\udd00\udd3e-\uddff\ude04\ude20\ude23\ude25\ude26\ude28\ude33\ude38\ude3a\ude3c-\ude41\ude43-\ude46\ude48\ude4a\ude4c\ude50\ude53\ude55\ude56\ude58\ude5a\ude5c\ude5e\ude60\ude63\ude65\ude66\ude6b\ude73\ude78\ude7d\ude7f\ude8a\ude9c-\udea0\udea4\udeaa\udebc-\udeef\udef2-\udfff]|\ud83c[\udc2c-\udc2f\udc94-\udc9f\udcaf\udcb0\udcc0\udcd0\udcf6-\udcff\uddae-\udde5\ude03-\ude0f\ude3c-\ude3f\ude49-\ude4f\ude52-\ude5f\ude66-\udeff]|\ud83d[\uded8-\udedc\udeed-\udeef\udefd-\udeff\udf74-\udf7f\udfd9-\udfdf\udfec-\udfef\udff1-\udfff]|\ud83e[\udc0c-\udc0f\udc48-\udc4f\udc5a-\udc5f\udc88-\udc8f\udcae\udcaf\udcb2-\udcff\ude54-\ude5f\ude6e\ude6f\ude75-\ude77\ude7d-\ude7f\ude87-\ude8f\udead-\udeaf\udebb-\udebf\udec6-\udecf\udeda-\udedf\udee8-\udeef\udef7-\udeff\udf93\udfcb-\udfef\udffa-\udfff]|\ud869[\udee0-\udeff]|\ud86d[\udf39-\udf3f]|\ud86e[\udc1e\udc1f]|\ud873[\udea2-\udeaf]|\ud87a[\udfe1-\udfff]|\ud87e[\ude1e-\udfff]|\ud884[\udf4b-\udfff]|\udb40[\udc00-\udcff\uddf0-\udfff]"},{name:"Cc",alias:"Control",bmp:"\0--Ÿ"},{name:"Cf",alias:"Format",bmp:"­؀-؅؜۝܏࢐࢑࣢᠎​-‏‪-‮⁠-⁤⁦-\ufeff-",astral:"\ud804[\udcbd\udccd]|\ud80d[\udc30-\udc38]|\ud82f[\udca0-\udca3]|\ud834[\udd73-\udd7a]|\udb40[\udc01\udc20-\udc7f]"},{name:"Cn",alias:"Unassigned",bmp:"͸͹΀-΃΋΍΢԰՗՘֋֌֐׈-׏׫-׮׵-׿܎݋݌޲-޿߻߼࠮࠯࠿࡜࡝࡟࡫-࡯࢏࢒-ࢗ঄঍঎঑঒঩঱঳-঵঺঻৅৆৉৊৏-৖৘-৛৞৤৥৿਀਄਋-਎਑਒਩਱਴਷਺਻਽੃-੆੉੊੎-੐੒-੘੝੟-੥੷-઀઄઎઒઩઱઴઺઻૆૊૎૏૑-૟૤૥૲-૸଀଄଍଎଑଒଩଱଴଺଻୅୆୉୊୎-୔୘-୛୞୤୥୸-஁஄஋-஍஑஖-஘஛஝஠-஢஥-஧஫-஭஺-஽௃-௅௉௎௏௑-௖௘-௥௻-௿఍఑఩఺఻౅౉౎-౔౗౛౜౞౟౤౥౰-౶಍಑಩಴಺಻೅೉೎-೔೗-೜೟೤೥೰ೳ-೿഍഑൅൉൐-൓൤൥඀඄඗-඙඲඼඾඿෇-෉෋-෎෕෗෠-෥෰෱෵-฀฻-฾๜-຀຃຅຋຤຦຾຿໅໇໎໏໚໛໠-໿཈཭-཰྘྽࿍࿛-࿿჆჈-჌჎჏቉቎቏቗቙቞቟኉኎኏኱኶኷኿዁዆዇዗጑጖጗፛፜፽-፿᎚-᎟᏶᏷᏾᏿᚝-᚟᛹-᛿᜖-᜞᜷-᜿᝔-᝟᝭᝱᝴-᝿៞៟៪-៯៺-៿᠚-᠟᡹-᡿᢫-᢯᣶-᣿᤟᤬-᤯᤼-᤿᥁-᥃᥮᥯᥵-᥿᦬-᦯᧊-᧏᧛-᧝᨜᨝᩟᩽᩾᪊-᪏᪚-᪟᪮᪯᫏-᫿᭍-᭏᭿᯴-᯻᰸-᰺᱊-᱌Ᲊ-᲏᲻᲼᳈-᳏᳻-᳿἖἗἞἟὆὇὎὏὘὚὜὞὾὿᾵῅῔῕῜῰῱῵῿⁥⁲⁳₏₝-₟⃁-⃏⃱-⃿↌-↏␧-␿⑋-⑟⭴⭵⮖⳴-⳸⴦⴨-⴬⴮⴯⵨-⵮⵱-⵾⶗-⶟⶧⶯⶷⶿⷇⷏⷗⷟⹞-⹿⺚⻴-⻿⿖-⿯⿼-⿿぀゗゘㄀-㄄㄰㆏㇤-㇯㈟꒍-꒏꓇-꓏꘬-꘿꛸-꛿Ɤ-꟏꟒꟔Ꟛ-꟱꠭-꠯꠺-꠿꡸-꡿꣆-꣍꣚-꣟꥔-꥞꥽-꥿꧎꧚-꧝꧿꨷-꨿꩎꩏꩚꩛꫃-꫚꫷-꬀꬇꬈꬏꬐꬗-꬟꬧꬯꭬-꭯꯮꯯꯺-꯿힤-힯퟇-퟊퟼-퟿﩮﩯﫚-﫿﬇-﬒﬘-﬜﬷﬽﬿﭂﭅﯃-﯒﶐﶑﷈-﷎﷐-﷯︚-︟﹓﹧﹬-﹯﹵﻽﻾＀﾿-￁￈￉￐￑￘￙￝-￟￧￯-￸￾￿",astral:"\ud800[\udc0c\udc27\udc3b\udc3e\udc4e\udc4f\udc5e-\udc7f\udcfb-\udcff\udd03-\udd06\udd34-\udd36\udd8f\udd9d-\udd9f\udda1-\uddcf\uddfe-\ude7f\ude9d-\ude9f\uded1-\udedf\udefc-\udeff\udf24-\udf2c\udf4b-\udf4f\udf7b-\udf7f\udf9e\udfc4-\udfc7\udfd6-\udfff]|\ud801[\udc9e\udc9f\udcaa-\udcaf\udcd4-\udcd7\udcfc-\udcff\udd28-\udd2f\udd64-\udd6e\udd7b\udd8b\udd93\udd96\udda2\uddb2\uddba\uddbd-\uddff\udf37-\udf3f\udf56-\udf5f\udf68-\udf7f\udf86\udfb1\udfbb-\udfff]|\ud802[\udc06\udc07\udc09\udc36\udc39-\udc3b\udc3d\udc3e\udc56\udc9f-\udca6\udcb0-\udcdf\udcf3\udcf6-\udcfa\udd1c-\udd1e\udd3a-\udd3e\udd40-\udd7f\uddb8-\uddbb\uddd0\uddd1\ude04\ude07-\ude0b\ude14\ude18\ude36\ude37\ude3b-\ude3e\ude49-\ude4f\ude59-\ude5f\udea0-\udebf\udee7-\udeea\udef7-\udeff\udf36-\udf38\udf56\udf57\udf73-\udf77\udf92-\udf98\udf9d-\udfa8\udfb0-\udfff]|\ud803[\udc49-\udc7f\udcb3-\udcbf\udcf3-\udcf9\udd28-\udd2f\udd3a-\ude5f\ude7f\udeaa\udeae\udeaf\udeb2-\udeff\udf28-\udf2f\udf5a-\udf6f\udf8a-\udfaf\udfcc-\udfdf\udff7-\udfff]|\ud804[\udc4e-\udc51\udc76-\udc7e\udcc3-\udccc\udcce\udccf\udce9-\udcef\udcfa-\udcff\udd35\udd48-\udd4f\udd77-\udd7f\udde0\uddf5-\uddff\ude12\ude3f-\ude7f\ude87\ude89\ude8e\ude9e\udeaa-\udeaf\udeeb-\udeef\udefa-\udeff\udf04\udf0d\udf0e\udf11\udf12\udf29\udf31\udf34\udf3a\udf45\udf46\udf49\udf4a\udf4e\udf4f\udf51-\udf56\udf58-\udf5c\udf64\udf65\udf6d-\udf6f\udf75-\udfff]|\ud805[\udc5c\udc62-\udc7f\udcc8-\udccf\udcda-\udd7f\uddb6\uddb7\uddde-\uddff\ude45-\ude4f\ude5a-\ude5f\ude6d-\ude7f\udeba-\udebf\udeca-\udeff\udf1b\udf1c\udf2c-\udf2f\udf47-\udfff]|\ud806[\udc3c-\udc9f\udcf3-\udcfe\udd07\udd08\udd0a\udd0b\udd14\udd17\udd36\udd39\udd3a\udd47-\udd4f\udd5a-\udd9f\udda8\udda9\uddd8\uddd9\udde5-\uddff\ude48-\ude4f\udea3-\udeaf\udef9-\udfff]|\ud807[\udc09\udc37\udc46-\udc4f\udc6d-\udc6f\udc90\udc91\udca8\udcb7-\udcff\udd07\udd0a\udd37-\udd39\udd3b\udd3e\udd48-\udd4f\udd5a-\udd5f\udd66\udd69\udd8f\udd92\udd99-\udd9f\uddaa-\udedf\udef9-\udfaf\udfb1-\udfbf\udff2-\udffe]|\ud808[\udf9a-\udfff]|\ud809[\udc6f\udc75-\udc7f\udd44-\udfff]|[\ud80a\ud80e-\ud810\ud812-\ud819\ud824-\ud82a\ud82d\ud82e\ud830-\ud832\ud83f\ud87b-\ud87d\ud87f\ud885-\udb3f\udb41-\udb7f][\udc00-\udfff]|\ud80b[\udc00-\udf8f\udff3-\udfff]|\ud80d[\udc2f\udc39-\udfff]|\ud811[\ude47-\udfff]|\ud81a[\ude39-\ude3f\ude5f\ude6a-\ude6d\udebf\udeca-\udecf\udeee\udeef\udef6-\udeff\udf46-\udf4f\udf5a\udf62\udf78-\udf7c\udf90-\udfff]|\ud81b[\udc00-\ude3f\ude9b-\udeff\udf4b-\udf4e\udf88-\udf8e\udfa0-\udfdf\udfe5-\udfef\udff2-\udfff]|\ud821[\udff8-\udfff]|\ud823[\udcd6-\udcff\udd09-\udfff]|\ud82b[\udc00-\udfef\udff4\udffc\udfff]|\ud82c[\udd23-\udd4f\udd53-\udd63\udd68-\udd6f\udefc-\udfff]|\ud82f[\udc6b-\udc6f\udc7d-\udc7f\udc89-\udc8f\udc9a\udc9b\udca4-\udfff]|\ud833[\udc00-\udeff\udf2e\udf2f\udf47-\udf4f\udfc4-\udfff]|\ud834[\udcf6-\udcff\udd27\udd28\uddeb-\uddff\ude46-\udedf\udef4-\udeff\udf57-\udf5f\udf79-\udfff]|\ud835[\udc55\udc9d\udca0\udca1\udca3\udca4\udca7\udca8\udcad\udcba\udcbc\udcc4\udd06\udd0b\udd0c\udd15\udd1d\udd3a\udd3f\udd45\udd47-\udd49\udd51\udea6\udea7\udfcc\udfcd]|\ud836[\ude8c-\ude9a\udea0\udeb0-\udfff]|\ud837[\udc00-\udeff\udf1f-\udfff]|\ud838[\udc07\udc19\udc1a\udc22\udc25\udc2b-\udcff\udd2d-\udd2f\udd3e\udd3f\udd4a-\udd4d\udd50-\ude8f\udeaf-\udebf\udefa-\udefe\udf00-\udfff]|\ud839[\udc00-\udfdf\udfe7\udfec\udfef\udfff]|\ud83a[\udcc5\udcc6\udcd7-\udcff\udd4c-\udd4f\udd5a-\udd5d\udd60-\udfff]|\ud83b[\udc00-\udc70\udcb5-\udd00\udd3e-\uddff\ude04\ude20\ude23\ude25\ude26\ude28\ude33\ude38\ude3a\ude3c-\ude41\ude43-\ude46\ude48\ude4a\ude4c\ude50\ude53\ude55\ude56\ude58\ude5a\ude5c\ude5e\ude60\ude63\ude65\ude66\ude6b\ude73\ude78\ude7d\ude7f\ude8a\ude9c-\udea0\udea4\udeaa\udebc-\udeef\udef2-\udfff]|\ud83c[\udc2c-\udc2f\udc94-\udc9f\udcaf\udcb0\udcc0\udcd0\udcf6-\udcff\uddae-\udde5\ude03-\ude0f\ude3c-\ude3f\ude49-\ude4f\ude52-\ude5f\ude66-\udeff]|\ud83d[\uded8-\udedc\udeed-\udeef\udefd-\udeff\udf74-\udf7f\udfd9-\udfdf\udfec-\udfef\udff1-\udfff]|\ud83e[\udc0c-\udc0f\udc48-\udc4f\udc5a-\udc5f\udc88-\udc8f\udcae\udcaf\udcb2-\udcff\ude54-\ude5f\ude6e\ude6f\ude75-\ude77\ude7d-\ude7f\ude87-\ude8f\udead-\udeaf\udebb-\udebf\udec6-\udecf\udeda-\udedf\udee8-\udeef\udef7-\udeff\udf93\udfcb-\udfef\udffa-\udfff]|\ud869[\udee0-\udeff]|\ud86d[\udf39-\udf3f]|\ud86e[\udc1e\udc1f]|\ud873[\udea2-\udeaf]|\ud87a[\udfe1-\udfff]|\ud87e[\ude1e-\udfff]|\ud884[\udf4b-\udfff]|\udb40[\udc00\udc02-\udc1f\udc80-\udcff\uddf0-\udfff]|[\udbbf\udbff][\udffe\udfff]"},{name:"Co",alias:"Private_Use",bmp:"-",astral:"[\udb80-\udbbe\udbc0-\udbfe][\udc00-\udfff]|[\udbbf\udbff][\udc00-\udffd]"},{name:"Cs",alias:"Surrogate",bmp:"\ud800-\udfff"},{name:"L",alias:"Letter",bmp:"A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛱ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢄᢇ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々〆〱-〵〻〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛥꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf40\udf42-\udf49\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf]|\ud801[\udc00-\udc9d\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc\ude00-\udf36\udf40-\udf55\udf60-\udf67\udf80-\udf85\udf87-\udfb0\udfb2-\udfba]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd23\ude80-\udea9\udeb0\udeb1\udf00-\udf1c\udf27\udf30-\udf45\udf70-\udf81\udfb0-\udfc4\udfe0-\udff6]|\ud804[\udc03-\udc37\udc71\udc72\udc75\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd44\udd47\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc5f-\udc61\udc80-\udcaf\udcc4\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udeb8\udf00-\udf1a\udf40-\udf46]|\ud806[\udc00-\udc2b\udca0-\udcdf\udcff-\udd06\udd09\udd0c-\udd13\udd15\udd16\udd18-\udd2f\udd3f\udd41\udda0-\udda7\uddaa-\uddd0\udde1\udde3\ude00\ude0b-\ude32\ude3a\ude50\ude5c-\ude89\ude9d\udeb0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f\udd00-\udd06\udd08\udd09\udd0b-\udd30\udd46\udd60-\udd65\udd67\udd68\udd6a-\udd89\udd98\udee0-\udef2\udfb0]|\ud808[\udc00-\udf99]|\ud809[\udc80-\udd43]|\ud80b[\udf90-\udff0]|[\ud80c\ud81c-\ud820\ud822\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872\ud874-\ud879\ud880-\ud883][\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude70-\udebe\uded0-\udeed\udf00-\udf2f\udf40-\udf43\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf50\udf93-\udf9f\udfe0\udfe1\udfe3]|\ud821[\udc00-\udff7]|\ud823[\udc00-\udcd5\udd00-\udd08]|\ud82b[\udff0-\udff3\udff5-\udffb\udffd\udffe]|\ud82c[\udc00-\udd22\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud837[\udf00-\udf1e]|\ud838[\udd00-\udd2c\udd37-\udd3d\udd4e\ude90-\udead\udec0-\udeeb]|\ud839[\udfe0-\udfe6\udfe8-\udfeb\udfed\udfee\udff0-\udffe]|\ud83a[\udc00-\udcc4\udd00-\udd43\udd4b]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud869[\udc00-\udedf\udf00-\udfff]|\ud86d[\udc00-\udf38\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\ud884[\udc00-\udf4a]"},{name:"LC",alias:"Cased_Letter",bmp:"A-Za-zµÀ-ÖØ-öø-ƺƼ-ƿDŽ-ʓʕ-ʯͰ-ͳͶͷͻ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՠ-ֈႠ-ჅჇჍა-ჺჽ-ჿᎠ-Ᏽᏸ-ᏽᲀ-ᲈᲐ-ᲺᲽ-Ჿᴀ-ᴫᵫ-ᵷᵹ-ᶚḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℴℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-ⱻⱾ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭꙀ-ꙭꚀ-ꚛꜢ-ꝯꝱ-ꞇꞋ-ꞎꞐ-ꟊꟐꟑꟓꟕ-ꟙꟵꟶꟺꬰ-ꭚꭠ-ꭨꭰ-ꮿff-stﬓ-ﬗA-Za-z",astral:"\ud801[\udc00-\udc4f\udcb0-\udcd3\udcd8-\udcfb\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc]|\ud803[\udc80-\udcb2\udcc0-\udcf2]|\ud806[\udca0-\udcdf]|\ud81b[\ude40-\ude7f]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud837[\udf00-\udf09\udf0b-\udf1e]|\ud83a[\udd00-\udd43]"},{name:"Ll",alias:"Lowercase_Letter",bmp:"a-zµß-öø-ÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķĸĺļľŀłńņňʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž-ƀƃƅƈƌƍƒƕƙ-ƛƞơƣƥƨƪƫƭưƴƶƹƺƽ-ƿdžljnjǎǐǒǔǖǘǚǜǝǟǡǣǥǧǩǫǭǯǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳ-ȹȼȿɀɂɇɉɋɍɏ-ʓʕ-ʯͱͳͷͻ-ͽΐά-ώϐϑϕ-ϗϙϛϝϟϡϣϥϧϩϫϭϯ-ϳϵϸϻϼа-џѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎӏӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣԥԧԩԫԭԯՠ-ֈა-ჺჽ-ჿᏸ-ᏽᲀ-ᲈᴀ-ᴫᵫ-ᵷᵹ-ᶚḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕ-ẝẟạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿ-ἇἐ-ἕἠ-ἧἰ-ἷὀ-ὅὐ-ὗὠ-ὧὰ-ώᾀ-ᾇᾐ-ᾗᾠ-ᾧᾰ-ᾴᾶᾷιῂ-ῄῆῇῐ-ΐῖῗῠ-ῧῲ-ῴῶῷℊℎℏℓℯℴℹℼℽⅆ-ⅉⅎↄⰰ-ⱟⱡⱥⱦⱨⱪⱬⱱⱳⱴⱶ-ⱻⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣⳤⳬⳮⳳⴀ-ⴥⴧⴭꙁꙃꙅꙇꙉꙋꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙡꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꚙꚛꜣꜥꜧꜩꜫꜭꜯ-ꜱꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯꝱ-ꝸꝺꝼꝿꞁꞃꞅꞇꞌꞎꞑꞓ-ꞕꞗꞙꞛꞝꞟꞡꞣꞥꞧꞩꞯꞵꞷꞹꞻꞽꞿꟁꟃꟈꟊꟑꟓꟕꟗꟙꟶꟺꬰ-ꭚꭠ-ꭨꭰ-ꮿff-stﬓ-ﬗa-z",astral:"\ud801[\udc28-\udc4f\udcd8-\udcfb\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc]|\ud803[\udcc0-\udcf2]|\ud806[\udcc0-\udcdf]|\ud81b[\ude60-\ude7f]|\ud835[\udc1a-\udc33\udc4e-\udc54\udc56-\udc67\udc82-\udc9b\udcb6-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udccf\udcea-\udd03\udd1e-\udd37\udd52-\udd6b\udd86-\udd9f\uddba-\uddd3\uddee-\ude07\ude22-\ude3b\ude56-\ude6f\ude8a-\udea5\udec2-\udeda\udedc-\udee1\udefc-\udf14\udf16-\udf1b\udf36-\udf4e\udf50-\udf55\udf70-\udf88\udf8a-\udf8f\udfaa-\udfc2\udfc4-\udfc9\udfcb]|\ud837[\udf00-\udf09\udf0b-\udf1e]|\ud83a[\udd22-\udd43]"},{name:"Lm",alias:"Modifier_Letter",bmp:"ʰ-ˁˆ-ˑˠ-ˤˬˮʹͺՙـۥۦߴߵߺࠚࠤࠨࣉॱๆໆჼៗᡃᪧᱸ-ᱽᴬ-ᵪᵸᶛ-ᶿⁱⁿₐ-ₜⱼⱽⵯⸯ々〱-〵〻ゝゞー-ヾꀕꓸ-ꓽꘌꙿꚜꚝꜗ-ꜟꝰꞈꟲ-ꟴꟸꟹꧏꧦꩰꫝꫳꫴꭜ-ꭟꭩー゙゚",astral:"\ud801[\udf80-\udf85\udf87-\udfb0\udfb2-\udfba]|\ud81a[\udf40-\udf43]|\ud81b[\udf93-\udf9f\udfe0\udfe1\udfe3]|\ud82b[\udff0-\udff3\udff5-\udffb\udffd\udffe]|\ud838[\udd37-\udd3d]|𞥋"},{name:"Lo",alias:"Other_Letter",bmp:"ªºƻǀ-ǃʔא-תׯ-ײؠ-ؿف-يٮٯٱ-ۓەۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪࠀ-ࠕࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣈऄ-हऽॐक़-ॡॲ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๅກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎᄀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛱ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៜᠠ-ᡂᡄ-ᡸᢀ-ᢄᢇ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱷᳩ-ᳬᳮ-ᳳᳵᳶᳺℵ-ℸⴰ-ⵧⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ〆〼ぁ-ゖゟァ-ヺヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꀔꀖ-ꒌꓐ-ꓷꔀ-ꘋꘐ-ꘟꘪꘫꙮꚠ-ꛥꞏꟷꟻ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧠ-ꧤꧧ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩯꩱ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛꫜꫠ-ꫪꫲꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎יִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼヲ-ッア-ンᅠ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf40\udf42-\udf49\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf]|\ud801[\udc50-\udc9d\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udd00-\udd23\ude80-\udea9\udeb0\udeb1\udf00-\udf1c\udf27\udf30-\udf45\udf70-\udf81\udfb0-\udfc4\udfe0-\udff6]|\ud804[\udc03-\udc37\udc71\udc72\udc75\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd44\udd47\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc5f-\udc61\udc80-\udcaf\udcc4\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udeb8\udf00-\udf1a\udf40-\udf46]|\ud806[\udc00-\udc2b\udcff-\udd06\udd09\udd0c-\udd13\udd15\udd16\udd18-\udd2f\udd3f\udd41\udda0-\udda7\uddaa-\uddd0\udde1\udde3\ude00\ude0b-\ude32\ude3a\ude50\ude5c-\ude89\ude9d\udeb0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f\udd00-\udd06\udd08\udd09\udd0b-\udd30\udd46\udd60-\udd65\udd67\udd68\udd6a-\udd89\udd98\udee0-\udef2\udfb0]|\ud808[\udc00-\udf99]|\ud809[\udc80-\udd43]|\ud80b[\udf90-\udff0]|[\ud80c\ud81c-\ud820\ud822\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872\ud874-\ud879\ud880-\ud883][\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude70-\udebe\uded0-\udeed\udf00-\udf2f\udf63-\udf77\udf7d-\udf8f]|\ud81b[\udf00-\udf4a\udf50]|\ud821[\udc00-\udff7]|\ud823[\udc00-\udcd5\udd00-\udd08]|\ud82c[\udc00-\udd22\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|𝼊|\ud838[\udd00-\udd2c\udd4e\ude90-\udead\udec0-\udeeb]|\ud839[\udfe0-\udfe6\udfe8-\udfeb\udfed\udfee\udff0-\udffe]|\ud83a[\udc00-\udcc4]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud869[\udc00-\udedf\udf00-\udfff]|\ud86d[\udc00-\udf38\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\ud884[\udc00-\udf4a]"},{name:"Lt",alias:"Titlecase_Letter",bmp:"DžLjNjDzᾈ-ᾏᾘ-ᾟᾨ-ᾯᾼῌῼ"},{name:"Lu",alias:"Uppercase_Letter",bmp:"A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸŹŻŽƁƂƄƆƇƉ-ƋƎ-ƑƓƔƖ-ƘƜƝƟƠƢƤƦƧƩƬƮƯƱ-ƳƵƷƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺȻȽȾɁɃ-ɆɈɊɌɎͰͲͶͿΆΈ-ΊΌΎΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԨԪԬԮԱ-ՖႠ-ჅჇჍᎠ-ᏵᲐ-ᲺᲽ-ᲿḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾℿⅅↃⰀ-ⰯⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꚘꚚꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽꝾꞀꞂꞄꞆꞋꞍꞐꞒꞖꞘꞚꞜꞞꞠꞢꞤꞦꞨꞪ-ꞮꞰ-ꞴꞶꞸꞺꞼꞾꟀꟂꟄ-ꟇꟉꟐꟖꟘꟵA-Z",astral:"\ud801[\udc00-\udc27\udcb0-\udcd3\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95]|\ud803[\udc80-\udcb2]|\ud806[\udca0-\udcbf]|\ud81b[\ude40-\ude5f]|\ud835[\udc00-\udc19\udc34-\udc4d\udc68-\udc81\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb5\udcd0-\udce9\udd04\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd38\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd6c-\udd85\udda0-\uddb9\uddd4-\udded\ude08-\ude21\ude3c-\ude55\ude70-\ude89\udea8-\udec0\udee2-\udefa\udf1c-\udf34\udf56-\udf6e\udf90-\udfa8\udfca]|\ud83a[\udd00-\udd21]"},{name:"M",alias:"Mark",bmp:"̀-ͯ҃-҉֑-ׇֽֿׁׂׅׄؐ-ًؚ-ٰٟۖ-ۜ۟-۪ۤۧۨ-ܑۭܰ-݊ަ-ް߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣঁ-ঃ়া-ৄেৈো-্ৗৢৣ৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑੰੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣஂா-ூெ-ைொ-்ௗఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣඁ-ඃ්ා-ුූෘ-ෟෲෳัิ-ฺ็-๎ັິ-ຼ່-ໍ༹༘༙༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏႚ-ႝ፝-፟ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝᠋-᠍᠏ᢅᢆᢩᤠ-ᤫᤰ-᤻ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼᪰-ᫎᬀ-ᬄ᬴-᭄᭫-᭳ᮀ-ᮂᮡ-ᮭ᯦-᯳ᰤ-᰷᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿⃐-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꙯-꙲ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣠-꣱ꣿꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀ꧥꨩ-ꨶꩃꩌꩍꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭ﬞ︀-️︠-︯",astral:"\ud800[\uddfd\udee0\udf76-\udf7a]|\ud802[\ude01-\ude03\ude05\ude06\ude0c-\ude0f\ude38-\ude3a\ude3f\udee5\udee6]|\ud803[\udd24-\udd27\udeab\udeac\udf46-\udf50\udf82-\udf85]|\ud804[\udc00-\udc02\udc38-\udc46\udc70\udc73\udc74\udc7f-\udc82\udcb0-\udcba\udcc2\udd00-\udd02\udd27-\udd34\udd45\udd46\udd73\udd80-\udd82\uddb3-\uddc0\uddc9-\uddcc\uddce\uddcf\ude2c-\ude37\ude3e\udedf-\udeea\udf00-\udf03\udf3b\udf3c\udf3e-\udf44\udf47\udf48\udf4b-\udf4d\udf57\udf62\udf63\udf66-\udf6c\udf70-\udf74]|\ud805[\udc35-\udc46\udc5e\udcb0-\udcc3\uddaf-\uddb5\uddb8-\uddc0\udddc\udddd\ude30-\ude40\udeab-\udeb7\udf1d-\udf2b]|\ud806[\udc2c-\udc3a\udd30-\udd35\udd37\udd38\udd3b-\udd3e\udd40\udd42\udd43\uddd1-\uddd7\uddda-\udde0\udde4\ude01-\ude0a\ude33-\ude39\ude3b-\ude3e\ude47\ude51-\ude5b\ude8a-\ude99]|\ud807[\udc2f-\udc36\udc38-\udc3f\udc92-\udca7\udca9-\udcb6\udd31-\udd36\udd3a\udd3c\udd3d\udd3f-\udd45\udd47\udd8a-\udd8e\udd90\udd91\udd93-\udd97\udef3-\udef6]|\ud81a[\udef0-\udef4\udf30-\udf36]|\ud81b[\udf4f\udf51-\udf87\udf8f-\udf92\udfe4\udff0\udff1]|\ud82f[\udc9d\udc9e]|\ud833[\udf00-\udf2d\udf30-\udf46]|\ud834[\udd65-\udd69\udd6d-\udd72\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a\udd30-\udd36\udeae\udeec-\udeef]|\ud83a[\udcd0-\udcd6\udd44-\udd4a]|\udb40[\udd00-\uddef]"},{name:"Mc",alias:"Spacing_Mark",bmp:"ःऻा-ीॉ-ौॎॏংঃা-ীেৈোৌৗਃਾ-ੀઃા-ીૉોૌଂଃାୀେୈୋୌୗாிுூெ-ைொ-ௌௗఁ-ఃు-ౄಂಃಾೀ-ೄೇೈೊೋೕೖംഃാ-ീെ-ൈൊ-ൌൗංඃා-ෑෘ-ෟෲෳ༾༿ཿါာေးျြၖၗၢ-ၤၧ-ၭႃႄႇ-ႌႏႚ-ႜ᜕᜴ាើ-ៅះៈᤣ-ᤦᤩ-ᤫᤰᤱᤳ-ᤸᨙᨚᩕᩗᩡᩣᩤᩭ-ᩲᬄᬵᬻᬽ-ᭁᭃ᭄ᮂᮡᮦᮧ᮪ᯧᯪ-ᯬᯮ᯲᯳ᰤ-ᰫᰴᰵ᳡᳷〮〯ꠣꠤꠧꢀꢁꢴ-ꣃꥒ꥓ꦃꦴꦵꦺꦻꦾ-꧀ꨯꨰꨳꨴꩍꩻꩽꫫꫮꫯꫵꯣꯤꯦꯧꯩꯪ꯬",astral:"\ud804[\udc00\udc02\udc82\udcb0-\udcb2\udcb7\udcb8\udd2c\udd45\udd46\udd82\uddb3-\uddb5\uddbf\uddc0\uddce\ude2c-\ude2e\ude32\ude33\ude35\udee0-\udee2\udf02\udf03\udf3e\udf3f\udf41-\udf44\udf47\udf48\udf4b-\udf4d\udf57\udf62\udf63]|\ud805[\udc35-\udc37\udc40\udc41\udc45\udcb0-\udcb2\udcb9\udcbb-\udcbe\udcc1\uddaf-\uddb1\uddb8-\uddbb\uddbe\ude30-\ude32\ude3b\ude3c\ude3e\udeac\udeae\udeaf\udeb6\udf20\udf21\udf26]|\ud806[\udc2c-\udc2e\udc38\udd30-\udd35\udd37\udd38\udd3d\udd40\udd42\uddd1-\uddd3\udddc-\udddf\udde4\ude39\ude57\ude58\ude97]|\ud807[\udc2f\udc3e\udca9\udcb1\udcb4\udd8a-\udd8e\udd93\udd94\udd96\udef5\udef6]|\ud81b[\udf51-\udf87\udff0\udff1]|\ud834[\udd65\udd66\udd6d-\udd72]"},{name:"Me",alias:"Enclosing_Mark",bmp:"҈҉᪾⃝-⃠⃢-⃤꙰-꙲"},{name:"Mn",alias:"Nonspacing_Mark",bmp:"̀-ͯ҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-ٰٟۖ-ۜ۟-۪ۤۧۨ-ܑۭܰ-݊ަ-ް߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ंऺ़ु-ै्॑-ॗॢॣঁ়ু-ৄ্ৢৣ৾ਁਂ਼ੁੂੇੈੋ-੍ੑੰੱੵઁં઼ુ-ૅેૈ્ૢૣૺ-૿ଁ଼ିୁ-ୄ୍୕ୖୢୣஂீ்ఀఄ఼ా-ీె-ైొ-్ౕౖౢౣಁ಼ಿೆೌ್ೢೣഀഁ഻഼ു-ൄ്ൢൣඁ්ි-ුූัิ-ฺ็-๎ັິ-ຼ່-ໍཱ༹༘༙༵༷-ཾྀ-྄྆྇ྍ-ྗྙ-ྼ࿆ိ-ူဲ-့္်ွှၘၙၞ-ၠၱ-ၴႂႅႆႍႝ፝-፟ᜒ-᜔ᜲᜳᝒᝓᝲᝳ឴឵ិ-ួំ៉-៓៝᠋-᠍᠏ᢅᢆᢩᤠ-ᤢᤧᤨᤲ᤹-᤻ᨘᨗᨛᩖᩘ-ᩞ᩠ᩢᩥ-ᩬᩳ-᩿᩼᪰-᪽ᪿ-ᫎᬀ-ᬃ᬴ᬶ-ᬺᬼᭂ᭫-᭳ᮀᮁᮢ-ᮥᮨᮩ᮫-ᮭ᯦ᯨᯩᯭᯯ-ᯱᰬ-ᰳᰶ᰷᳐-᳔᳒-᳢᳠-᳨᳭᳴᳸᳹᷀-᷿⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〭꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠥꠦ꠬꣄ꣅ꣠-꣱ꣿꤦ-꤭ꥇ-ꥑꦀ-ꦂ꦳ꦶ-ꦹꦼꦽꧥꨩ-ꨮꨱꨲꨵꨶꩃꩌꩼꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫬꫭ꫶ꯥꯨ꯭ﬞ︀-️︠-︯",astral:"\ud800[\uddfd\udee0\udf76-\udf7a]|\ud802[\ude01-\ude03\ude05\ude06\ude0c-\ude0f\ude38-\ude3a\ude3f\udee5\udee6]|\ud803[\udd24-\udd27\udeab\udeac\udf46-\udf50\udf82-\udf85]|\ud804[\udc01\udc38-\udc46\udc70\udc73\udc74\udc7f-\udc81\udcb3-\udcb6\udcb9\udcba\udcc2\udd00-\udd02\udd27-\udd2b\udd2d-\udd34\udd73\udd80\udd81\uddb6-\uddbe\uddc9-\uddcc\uddcf\ude2f-\ude31\ude34\ude36\ude37\ude3e\udedf\udee3-\udeea\udf00\udf01\udf3b\udf3c\udf40\udf66-\udf6c\udf70-\udf74]|\ud805[\udc38-\udc3f\udc42-\udc44\udc46\udc5e\udcb3-\udcb8\udcba\udcbf\udcc0\udcc2\udcc3\uddb2-\uddb5\uddbc\uddbd\uddbf\uddc0\udddc\udddd\ude33-\ude3a\ude3d\ude3f\ude40\udeab\udead\udeb0-\udeb5\udeb7\udf1d-\udf1f\udf22-\udf25\udf27-\udf2b]|\ud806[\udc2f-\udc37\udc39\udc3a\udd3b\udd3c\udd3e\udd43\uddd4-\uddd7\uddda\udddb\udde0\ude01-\ude0a\ude33-\ude38\ude3b-\ude3e\ude47\ude51-\ude56\ude59-\ude5b\ude8a-\ude96\ude98\ude99]|\ud807[\udc30-\udc36\udc38-\udc3d\udc3f\udc92-\udca7\udcaa-\udcb0\udcb2\udcb3\udcb5\udcb6\udd31-\udd36\udd3a\udd3c\udd3d\udd3f-\udd45\udd47\udd90\udd91\udd95\udd97\udef3\udef4]|\ud81a[\udef0-\udef4\udf30-\udf36]|\ud81b[\udf4f\udf8f-\udf92\udfe4]|\ud82f[\udc9d\udc9e]|\ud833[\udf00-\udf2d\udf30-\udf46]|\ud834[\udd67-\udd69\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a\udd30-\udd36\udeae\udeec-\udeef]|\ud83a[\udcd0-\udcd6\udd44-\udd4a]|\udb40[\udd00-\uddef]"},{name:"N",alias:"Number",bmp:"0-9²³¹¼-¾٠-٩۰-۹߀-߉०-९০-৯৴-৹੦-੯૦-૯୦-୯୲-୷௦-௲౦-౯౸-౾೦-೯൘-൞൦-൸෦-෯๐-๙໐-໙༠-༳၀-၉႐-႙፩-፼ᛮ-ᛰ០-៩៰-៹᠐-᠙᥆-᥏᧐-᧚᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙⁰⁴-⁹₀-₉⅐-ↂↅ-↉①-⒛⓪-⓿❶-➓⳽〇〡-〩〸-〺㆒-㆕㈠-㈩㉈-㉏㉑-㉟㊀-㊉㊱-㊿꘠-꘩ꛦ-ꛯ꠰-꠵꣐-꣙꤀-꤉꧐-꧙꧰-꧹꩐-꩙꯰-꯹0-9",astral:"\ud800[\udd07-\udd33\udd40-\udd78\udd8a\udd8b\udee1-\udefb\udf20-\udf23\udf41\udf4a\udfd1-\udfd5]|\ud801[\udca0-\udca9]|\ud802[\udc58-\udc5f\udc79-\udc7f\udca7-\udcaf\udcfb-\udcff\udd16-\udd1b\uddbc\uddbd\uddc0-\uddcf\uddd2-\uddff\ude40-\ude48\ude7d\ude7e\ude9d-\ude9f\udeeb-\udeef\udf58-\udf5f\udf78-\udf7f\udfa9-\udfaf]|\ud803[\udcfa-\udcff\udd30-\udd39\ude60-\ude7e\udf1d-\udf26\udf51-\udf54\udfc5-\udfcb]|\ud804[\udc52-\udc6f\udcf0-\udcf9\udd36-\udd3f\uddd0-\uddd9\udde1-\uddf4\udef0-\udef9]|\ud805[\udc50-\udc59\udcd0-\udcd9\ude50-\ude59\udec0-\udec9\udf30-\udf3b]|\ud806[\udce0-\udcf2\udd50-\udd59]|\ud807[\udc50-\udc6c\udd50-\udd59\udda0-\udda9\udfc0-\udfd4]|\ud809[\udc00-\udc6e]|\ud81a[\ude60-\ude69\udec0-\udec9\udf50-\udf59\udf5b-\udf61]|\ud81b[\ude80-\ude96]|\ud834[\udee0-\udef3\udf60-\udf78]|\ud835[\udfce-\udfff]|\ud838[\udd40-\udd49\udef0-\udef9]|\ud83a[\udcc7-\udccf\udd50-\udd59]|\ud83b[\udc71-\udcab\udcad-\udcaf\udcb1-\udcb4\udd01-\udd2d\udd2f-\udd3d]|\ud83c[\udd00-\udd0c]|\ud83e[\udff0-\udff9]"},{name:"Nd",alias:"Decimal_Number",bmp:"0-9٠-٩۰-۹߀-߉०-९০-৯੦-੯૦-૯୦-୯௦-௯౦-౯೦-೯൦-൯෦-෯๐-๙໐-໙༠-༩၀-၉႐-႙០-៩᠐-᠙᥆-᥏᧐-᧙᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙꘠-꘩꣐-꣙꤀-꤉꧐-꧙꧰-꧹꩐-꩙꯰-꯹0-9",astral:"\ud801[\udca0-\udca9]|\ud803[\udd30-\udd39]|\ud804[\udc66-\udc6f\udcf0-\udcf9\udd36-\udd3f\uddd0-\uddd9\udef0-\udef9]|\ud805[\udc50-\udc59\udcd0-\udcd9\ude50-\ude59\udec0-\udec9\udf30-\udf39]|\ud806[\udce0-\udce9\udd50-\udd59]|\ud807[\udc50-\udc59\udd50-\udd59\udda0-\udda9]|\ud81a[\ude60-\ude69\udec0-\udec9\udf50-\udf59]|\ud835[\udfce-\udfff]|\ud838[\udd40-\udd49\udef0-\udef9]|\ud83a[\udd50-\udd59]|\ud83e[\udff0-\udff9]"},{name:"Nl",alias:"Letter_Number",bmp:"ᛮ-ᛰⅠ-ↂↅ-ↈ〇〡-〩〸-〺ꛦ-ꛯ",astral:"\ud800[\udd40-\udd74\udf41\udf4a\udfd1-\udfd5]|\ud809[\udc00-\udc6e]"},{name:"No",alias:"Other_Number",bmp:"²³¹¼-¾৴-৹୲-୷௰-௲౸-౾൘-൞൰-൸༪-༳፩-፼៰-៹᧚⁰⁴-⁹₀-₉⅐-⅟↉①-⒛⓪-⓿❶-➓⳽㆒-㆕㈠-㈩㉈-㉏㉑-㉟㊀-㊉㊱-㊿꠰-꠵",astral:"\ud800[\udd07-\udd33\udd75-\udd78\udd8a\udd8b\udee1-\udefb\udf20-\udf23]|\ud802[\udc58-\udc5f\udc79-\udc7f\udca7-\udcaf\udcfb-\udcff\udd16-\udd1b\uddbc\uddbd\uddc0-\uddcf\uddd2-\uddff\ude40-\ude48\ude7d\ude7e\ude9d-\ude9f\udeeb-\udeef\udf58-\udf5f\udf78-\udf7f\udfa9-\udfaf]|\ud803[\udcfa-\udcff\ude60-\ude7e\udf1d-\udf26\udf51-\udf54\udfc5-\udfcb]|\ud804[\udc52-\udc65\udde1-\uddf4]|\ud805[\udf3a\udf3b]|\ud806[\udcea-\udcf2]|\ud807[\udc5a-\udc6c\udfc0-\udfd4]|\ud81a[\udf5b-\udf61]|\ud81b[\ude80-\ude96]|\ud834[\udee0-\udef3\udf60-\udf78]|\ud83a[\udcc7-\udccf]|\ud83b[\udc71-\udcab\udcad-\udcaf\udcb1-\udcb4\udd01-\udd2d\udd2f-\udd3d]|\ud83c[\udd00-\udd0c]"},{name:"P",alias:"Punctuation",bmp:"!-#%-\\*,-\\/:;\\?@\\[-\\]_\\{\\}¡§«¶·»¿;·՚-՟։֊־׀׃׆׳״؉؊،؍؛؝-؟٪-٭۔܀-܍߷-߹࠰-࠾࡞।॥॰৽੶૰౷಄෴๏๚๛༄-༒༔༺-༽྅࿐-࿔࿙࿚၊-၏჻፠-፨᐀᙮᚛᚜᛫-᛭᜵᜶។-៖៘-៚᠀-᠊᥄᥅᨞᨟᪠-᪦᪨-᪭᭚-᭠᭽᭾᯼-᯿᰻-᰿᱾᱿᳀-᳇᳓‐-‧‰-⁃⁅-⁑⁓-⁞⁽⁾₍₎⌈-⌋〈〉❨-❵⟅⟆⟦-⟯⦃-⦘⧘-⧛⧼⧽⳹-⳼⳾⳿⵰⸀-⸮⸰-⹏⹒-⹝、-〃〈-】〔-〟〰〽゠・꓾꓿꘍-꘏꙳꙾꛲-꛷꡴-꡷꣎꣏꣸-꣺꣼꤮꤯꥟꧁-꧍꧞꧟꩜-꩟꫞꫟꫰꫱꯫﴾﴿︐-︙︰-﹒﹔-﹡﹣﹨﹪﹫!-#%-*,-/:;?@[-]_{}⦅-・",astral:"\ud800[\udd00-\udd02\udf9f\udfd0]|𐕯|\ud802[\udc57\udd1f\udd3f\ude50-\ude58\ude7f\udef0-\udef6\udf39-\udf3f\udf99-\udf9c]|\ud803[\udead\udf55-\udf59\udf86-\udf89]|\ud804[\udc47-\udc4d\udcbb\udcbc\udcbe-\udcc1\udd40-\udd43\udd74\udd75\uddc5-\uddc8\uddcd\udddb\udddd-\udddf\ude38-\ude3d\udea9]|\ud805[\udc4b-\udc4f\udc5a\udc5b\udc5d\udcc6\uddc1-\uddd7\ude41-\ude43\ude60-\ude6c\udeb9\udf3c-\udf3e]|\ud806[\udc3b\udd44-\udd46\udde2\ude3f-\ude46\ude9a-\ude9c\ude9e-\udea2]|\ud807[\udc41-\udc45\udc70\udc71\udef7\udef8\udfff]|\ud809[\udc70-\udc74]|\ud80b[\udff1\udff2]|\ud81a[\ude6e\ude6f\udef5\udf37-\udf3b\udf44]|\ud81b[\ude97-\ude9a\udfe2]|𛲟|\ud836[\ude87-\ude8b]|\ud83a[\udd5e\udd5f]"},{name:"Pc",alias:"Connector_Punctuation",bmp:"_‿⁀⁔︳︴﹍-﹏_"},{name:"Pd",alias:"Dash_Punctuation",bmp:"\\-֊־᐀᠆‐-―⸗⸚⸺⸻⹀⹝〜〰゠︱︲﹘﹣-",astral:"𐺭"},{name:"Pe",alias:"Close_Punctuation",bmp:"\\)\\]\\}༻༽᚜⁆⁾₎⌉⌋〉❩❫❭❯❱❳❵⟆⟧⟩⟫⟭⟯⦄⦆⦈⦊⦌⦎⦐⦒⦔⦖⦘⧙⧛⧽⸣⸥⸧⸩⹖⹘⹚⹜〉》」』】〕〗〙〛〞〟﴾︘︶︸︺︼︾﹀﹂﹄﹈﹚﹜﹞)]}⦆」"},{name:"Pf",alias:"Final_Punctuation",bmp:"»’”›⸃⸅⸊⸍⸝⸡"},{name:"Pi",alias:"Initial_Punctuation",bmp:"«‘‛“‟‹⸂⸄⸉⸌⸜⸠"},{name:"Po",alias:"Other_Punctuation",bmp:"!-#%-'\\*,\\.\\/:;\\?@\\¡§¶·¿;·՚-՟։׀׃׆׳״؉؊،؍؛؝-؟٪-٭۔܀-܍߷-߹࠰-࠾࡞।॥॰৽੶૰౷಄෴๏๚๛༄-༒༔྅࿐-࿔࿙࿚၊-၏჻፠-፨᙮᛫-᛭᜵᜶។-៖៘-៚᠀-᠅᠇-᠊᥄᥅᨞᨟᪠-᪦᪨-᪭᭚-᭠᭽᭾᯼-᯿᰻-᰿᱾᱿᳀-᳇᳓‖‗†-‧‰-‸※-‾⁁-⁃⁇-⁑⁓⁕-⁞⳹-⳼⳾⳿⵰⸀⸁⸆-⸈⸋⸎-⸖⸘⸙⸛⸞⸟⸪-⸮⸰-⸹⸼-⸿⹁⹃-⹏⹒-⹔、-〃〽・꓾꓿꘍-꘏꙳꙾꛲-꛷꡴-꡷꣎꣏꣸-꣺꣼꤮꤯꥟꧁-꧍꧞꧟꩜-꩟꫞꫟꫰꫱꯫︐-︖︙︰﹅﹆﹉-﹌﹐-﹒﹔-﹗﹟-﹡﹨﹪﹫!-#%-'*,./:;?@\。、・",astral:"\ud800[\udd00-\udd02\udf9f\udfd0]|𐕯|\ud802[\udc57\udd1f\udd3f\ude50-\ude58\ude7f\udef0-\udef6\udf39-\udf3f\udf99-\udf9c]|\ud803[\udf55-\udf59\udf86-\udf89]|\ud804[\udc47-\udc4d\udcbb\udcbc\udcbe-\udcc1\udd40-\udd43\udd74\udd75\uddc5-\uddc8\uddcd\udddb\udddd-\udddf\ude38-\ude3d\udea9]|\ud805[\udc4b-\udc4f\udc5a\udc5b\udc5d\udcc6\uddc1-\uddd7\ude41-\ude43\ude60-\ude6c\udeb9\udf3c-\udf3e]|\ud806[\udc3b\udd44-\udd46\udde2\ude3f-\ude46\ude9a-\ude9c\ude9e-\udea2]|\ud807[\udc41-\udc45\udc70\udc71\udef7\udef8\udfff]|\ud809[\udc70-\udc74]|\ud80b[\udff1\udff2]|\ud81a[\ude6e\ude6f\udef5\udf37-\udf3b\udf44]|\ud81b[\ude97-\ude9a\udfe2]|𛲟|\ud836[\ude87-\ude8b]|\ud83a[\udd5e\udd5f]"},{name:"Ps",alias:"Open_Punctuation",bmp:"\\(\\[\\{༺༼᚛‚„⁅⁽₍⌈⌊〈❨❪❬❮❰❲❴⟅⟦⟨⟪⟬⟮⦃⦅⦇⦉⦋⦍⦏⦑⦓⦕⦗⧘⧚⧼⸢⸤⸦⸨⹂⹕⹗⹙⹛〈《「『【〔〖〘〚〝﴿︗︵︷︹︻︽︿﹁﹃﹇﹙﹛﹝([{⦅「"},{name:"S",alias:"Symbol",bmp:"\\$\\+<->\\^`\\|~¢-¦¨©¬®-±´¸×÷˂-˅˒-˟˥-˫˭˯-˿͵΄΅϶҂֍-֏؆-؈؋؎؏۞۩۽۾߶߾߿࢈৲৳৺৻૱୰௳-௺౿൏൹฿༁-༃༓༕-༗༚-༟༴༶༸྾-࿅࿇-࿌࿎࿏࿕-࿘႞႟᎐-᎙᙭៛᥀᧞-᧿᭡-᭪᭴-᭼᾽᾿-῁῍-῏῝-῟῭-`´῾⁄⁒⁺-⁼₊-₌₠-⃀℀℁℃-℆℈℉℔№-℘℞-℣℥℧℩℮℺℻⅀-⅄⅊-⅍⅏↊↋←-⌇⌌-⌨⌫-␦⑀-⑊⒜-ⓩ─-❧➔-⟄⟇-⟥⟰-⦂⦙-⧗⧜-⧻⧾-⭳⭶-⮕⮗-⯿⳥-⳪⹐⹑⺀-⺙⺛-⻳⼀-⿕⿰-⿻〄〒〓〠〶〷〾〿゛゜㆐㆑㆖-㆟㇀-㇣㈀-㈞㈪-㉇㉐㉠-㉿㊊-㊰㋀-㏿䷀-䷿꒐-꓆꜀-꜖꜠꜡꞉꞊꠨-꠫꠶-꠹꩷-꩹꭛꭪꭫﬩﮲-﯂﵀-﵏﷏﷼-﷿﹢﹤-﹦﹩$+<->^`|~¢-₩│-○�",astral:"\ud800[\udd37-\udd3f\udd79-\udd89\udd8c-\udd8e\udd90-\udd9c\udda0\uddd0-\uddfc]|\ud802[\udc77\udc78\udec8]|𑜿|\ud807[\udfd5-\udff1]|\ud81a[\udf3c-\udf3f\udf45]|𛲜|\ud833[\udf50-\udfc3]|\ud834[\udc00-\udcf5\udd00-\udd26\udd29-\udd64\udd6a-\udd6c\udd83\udd84\udd8c-\udda9\uddae-\uddea\ude00-\ude41\ude45\udf00-\udf56]|\ud835[\udec1\udedb\udefb\udf15\udf35\udf4f\udf6f\udf89\udfa9\udfc3]|\ud836[\udc00-\uddff\ude37-\ude3a\ude6d-\ude74\ude76-\ude83\ude85\ude86]|\ud838[\udd4f\udeff]|\ud83b[\udcac\udcb0\udd2e\udef0\udef1]|\ud83c[\udc00-\udc2b\udc30-\udc93\udca0-\udcae\udcb1-\udcbf\udcc1-\udccf\udcd1-\udcf5\udd0d-\uddad\udde6-\ude02\ude10-\ude3b\ude40-\ude48\ude50\ude51\ude60-\ude65\udf00-\udfff]|\ud83d[\udc00-\uded7\udedd-\udeec\udef0-\udefc\udf00-\udf73\udf80-\udfd8\udfe0-\udfeb\udff0]|\ud83e[\udc00-\udc0b\udc10-\udc47\udc50-\udc59\udc60-\udc87\udc90-\udcad\udcb0\udcb1\udd00-\ude53\ude60-\ude6d\ude70-\ude74\ude78-\ude7c\ude80-\ude86\ude90-\udeac\udeb0-\udeba\udec0-\udec5\uded0-\uded9\udee0-\udee7\udef0-\udef6\udf00-\udf92\udf94-\udfca]"},{name:"Sc",alias:"Currency_Symbol",bmp:"\\$¢-¥֏؋߾߿৲৳৻૱௹฿៛₠-⃀꠸﷼﹩$¢£¥₩",astral:"\ud807[\udfdd-\udfe0]|𞋿|𞲰"},{name:"Sk",alias:"Modifier_Symbol",bmp:"\\^`¨¯´¸˂-˅˒-˟˥-˫˭˯-˿͵΄΅࢈᾽᾿-῁῍-῏῝-῟῭-`´῾゛゜꜀-꜖꜠꜡꞉꞊꭛꭪꭫﮲-﯂^` ̄",astral:"\ud83c[\udffb-\udfff]"},{name:"Sm",alias:"Math_Symbol",bmp:"\\+<->\\|~¬±×÷϶؆-؈⁄⁒⁺-⁼₊-₌℘⅀-⅄⅋←-↔↚↛↠↣↦↮⇎⇏⇒⇔⇴-⋿⌠⌡⍼⎛-⎳⏜-⏡▷◁◸-◿♯⟀-⟄⟇-⟥⟰-⟿⤀-⦂⦙-⧗⧜-⧻⧾-⫿⬰-⭄⭇-⭌﬩﹢﹤-﹦+<->|~¬←-↓",astral:"\ud835[\udec1\udedb\udefb\udf15\udf35\udf4f\udf6f\udf89\udfa9\udfc3]|\ud83b[\udef0\udef1]"},{name:"So",alias:"Other_Symbol",bmp:"¦©®°҂֍֎؎؏۞۩۽۾߶৺୰௳-௸௺౿൏൹༁-༃༓༕-༗༚-༟༴༶༸྾-࿅࿇-࿌࿎࿏࿕-࿘႞႟᎐-᎙᙭᥀᧞-᧿᭡-᭪᭴-᭼℀℁℃-℆℈℉℔№℗℞-℣℥℧℩℮℺℻⅊⅌⅍⅏↊↋↕-↙↜-↟↡↢↤↥↧-↭↯-⇍⇐⇑⇓⇕-⇳⌀-⌇⌌-⌟⌢-⌨⌫-⍻⍽-⎚⎴-⏛⏢-␦⑀-⑊⒜-ⓩ─-▶▸-◀◂-◷☀-♮♰-❧➔-➿⠀-⣿⬀-⬯⭅⭆⭍-⭳⭶-⮕⮗-⯿⳥-⳪⹐⹑⺀-⺙⺛-⻳⼀-⿕⿰-⿻〄〒〓〠〶〷〾〿㆐㆑㆖-㆟㇀-㇣㈀-㈞㈪-㉇㉐㉠-㉿㊊-㊰㋀-㏿䷀-䷿꒐-꓆꠨-꠫꠶꠷꠹꩷-꩹﵀-﵏﷏﷽-﷿¦│■○�",astral:"\ud800[\udd37-\udd3f\udd79-\udd89\udd8c-\udd8e\udd90-\udd9c\udda0\uddd0-\uddfc]|\ud802[\udc77\udc78\udec8]|𑜿|\ud807[\udfd5-\udfdc\udfe1-\udff1]|\ud81a[\udf3c-\udf3f\udf45]|𛲜|\ud833[\udf50-\udfc3]|\ud834[\udc00-\udcf5\udd00-\udd26\udd29-\udd64\udd6a-\udd6c\udd83\udd84\udd8c-\udda9\uddae-\uddea\ude00-\ude41\ude45\udf00-\udf56]|\ud836[\udc00-\uddff\ude37-\ude3a\ude6d-\ude74\ude76-\ude83\ude85\ude86]|𞅏|\ud83b[\udcac\udd2e]|\ud83c[\udc00-\udc2b\udc30-\udc93\udca0-\udcae\udcb1-\udcbf\udcc1-\udccf\udcd1-\udcf5\udd0d-\uddad\udde6-\ude02\ude10-\ude3b\ude40-\ude48\ude50\ude51\ude60-\ude65\udf00-\udffa]|\ud83d[\udc00-\uded7\udedd-\udeec\udef0-\udefc\udf00-\udf73\udf80-\udfd8\udfe0-\udfeb\udff0]|\ud83e[\udc00-\udc0b\udc10-\udc47\udc50-\udc59\udc60-\udc87\udc90-\udcad\udcb0\udcb1\udd00-\ude53\ude60-\ude6d\ude70-\ude74\ude78-\ude7c\ude80-\ude86\ude90-\udeac\udeb0-\udeba\udec0-\udec5\uded0-\uded9\udee0-\udee7\udef0-\udef6\udf00-\udf92\udf94-\udfca]"},{name:"Z",alias:"Separator",bmp:"   - \u2028\u2029   "},{name:"Zl",alias:"Line_Separator",bmp:"\u2028"},{name:"Zp",alias:"Paragraph_Separator",bmp:"\u2029"},{name:"Zs",alias:"Space_Separator",bmp:"   -    "}]},{}]},{},[3])(3)})); diff --git a/external_sources/django/django/contrib/admin/templates/admin/404.html b/external_sources/django/django/contrib/admin/templates/admin/404.html new file mode 100644 index 0000000..19f0749 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/404.html @@ -0,0 +1,12 @@ +{% extends "admin/base_site.html" %} +{% load i18n %} + +{% block title %}{% translate 'Page not found' %}{% endblock %} + +{% block content %} + +<h2>{% translate 'Page not found' %}</h2> + +<p>{% translate 'We’re sorry, but the requested page could not be found.' %}</p> + +{% endblock %} diff --git a/external_sources/django/django/contrib/admin/templates/admin/500.html b/external_sources/django/django/contrib/admin/templates/admin/500.html new file mode 100644 index 0000000..b5ac5c3 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/500.html @@ -0,0 +1,17 @@ +{% extends "admin/base_site.html" %} +{% load i18n %} + +{% block breadcrumbs %} +<div class="breadcrumbs"> +<a href="{% url 'admin:index' %}">{% translate 'Home' %}</a> +› {% translate 'Server error' %} +</div> +{% endblock %} + +{% block title %}{% translate 'Server error (500)' %}{% endblock %} + +{% block content %} +<h1>{% translate 'Server Error <em>(500)</em>' %}</h1> +<p>{% translate 'There’s been an error. It’s been reported to the site administrators via email and should be fixed shortly. Thanks for your patience.' %}</p> + +{% endblock %} diff --git a/external_sources/django/django/contrib/admin/templates/admin/actions.html b/external_sources/django/django/contrib/admin/templates/admin/actions.html new file mode 100644 index 0000000..ca1327c --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/actions.html @@ -0,0 +1,23 @@ +{% load i18n %} +<div class="actions"> + {% block actions %} + {% block actions-form %} + {% for field in action_form %}{% if field.label %}<label>{{ field.label }} {{ field }}</label>{% else %}{{ field }}{% endif %}{% endfor %} + {% endblock %} + {% block actions-submit %} + <button type="submit" class="button" title="{% translate "Run the selected action" %}" name="index" value="{{ action_index|default:0 }}">{% translate "Go" %}</button> + {% endblock %} + {% block actions-counter %} + {% if actions_selection_counter %} + <span class="action-counter" data-actions-icnt="{{ cl.result_list|length }}">{{ selection_note }}</span> + {% if cl.result_count != cl.result_list|length %} + <span class="all hidden">{{ selection_note_all }}</span> + <span class="question hidden"> + <a href="#" title="{% translate "Click here to select the objects across all pages" %}">{% blocktranslate with cl.result_count as total_count %}Select all {{ total_count }} {{ module_name }}{% endblocktranslate %}</a> + </span> + <span class="clear hidden"><a href="#">{% translate "Clear selection" %}</a></span> + {% endif %} + {% endif %} + {% endblock %} + {% endblock %} +</div> diff --git a/external_sources/django/django/contrib/admin/templates/admin/app_index.html b/external_sources/django/django/contrib/admin/templates/admin/app_index.html new file mode 100644 index 0000000..727f72b --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/app_index.html @@ -0,0 +1,20 @@ +{% extends "admin/index.html" %} +{% load i18n %} + +{% block bodyclass %}{{ block.super }} app-{{ app_label }}{% endblock %} + +{% if not is_popup %} +{% block nav-breadcrumbs %} + <nav aria-label="{% translate 'Breadcrumbs' %}"> + <div class="breadcrumbs"> + <a href="{% url 'admin:index' %}">{% translate 'Home' %}</a> + › + {% for app in app_list %} + {{ app.name }} + {% endfor %} + </div> + </nav> +{% endblock %} +{% endif %} + +{% block sidebar %}{% endblock %} diff --git a/external_sources/django/django/contrib/admin/templates/admin/app_list.html b/external_sources/django/django/contrib/admin/templates/admin/app_list.html new file mode 100644 index 0000000..3b67b5f --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/app_list.html @@ -0,0 +1,44 @@ +{% load i18n %} + +{% if app_list %} + {% for app in app_list %} + <div class="app-{{ app.app_label }} module{% if app.app_url in request.path|urlencode %} current-app{% endif %}"> + <table> + <caption> + <a href="{{ app.app_url }}" class="section" title="{% blocktranslate with name=app.name %}Models in the {{ name }} application{% endblocktranslate %}">{{ app.name }}</a> + </caption> + {% for model in app.models %} + {% with model_name=model.object_name|lower %} + <tr class="model-{{ model_name }}{% if model.admin_url in request.path|urlencode %} current-model{% endif %}"> + <th scope="row" id="{{ app.app_label }}-{{ model_name }}"> + {% if model.admin_url %} + <a href="{{ model.admin_url }}"{% if model.admin_url in request.path|urlencode %} aria-current="page"{% endif %}>{{ model.name }}</a> + {% else %} + {{ model.name }} + {% endif %} + </th> + + {% if model.add_url %} + <td><a href="{{ model.add_url }}" class="addlink" aria-describedby="{{ app.app_label }}-{{ model_name }}">{% translate 'Add' %}</a></td> + {% else %} + <td></td> + {% endif %} + + {% if model.admin_url and show_changelinks %} + {% if model.view_only %} + <td><a href="{{ model.admin_url }}" class="viewlink" aria-describedby="{{ app.app_label }}-{{ model_name }}">{% translate 'View' %}</a></td> + {% else %} + <td><a href="{{ model.admin_url }}" class="changelink" aria-describedby="{{ app.app_label }}-{{ model_name }}">{% translate 'Change' %}</a></td> + {% endif %} + {% elif show_changelinks %} + <td></td> + {% endif %} + </tr> + {% endwith %} + {% endfor %} + </table> + </div> + {% endfor %} +{% else %} + <p>{% translate 'You don’t have permission to view or edit anything.' %}</p> +{% endif %} diff --git a/external_sources/django/django/contrib/admin/templates/admin/auth/user/add_form.html b/external_sources/django/django/contrib/admin/templates/admin/auth/user/add_form.html new file mode 100644 index 0000000..48406f1 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/auth/user/add_form.html @@ -0,0 +1,18 @@ +{% extends "admin/change_form.html" %} +{% load i18n static %} + +{% block form_top %} + {% if not is_popup %} + <p>{% translate 'First, enter a username and password. Then, you’ll be able to edit more user options.' %}</p> + {% else %} + <p>{% translate "Enter a username and password." %}</p> + {% endif %} +{% endblock %} +{% block extrahead %} + {{ block.super }} + <link rel="stylesheet" href="{% static 'admin/css/unusable_password_field.css' %}"> +{% endblock %} +{% block admin_change_form_document_ready %} + {{ block.super }} + <script src="{% static 'admin/js/unusable_password_field.js' %}" defer></script> +{% endblock %} diff --git a/external_sources/django/django/contrib/admin/templates/admin/auth/user/change_password.html b/external_sources/django/django/contrib/admin/templates/admin/auth/user/change_password.html new file mode 100644 index 0000000..6801fe5 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/auth/user/change_password.html @@ -0,0 +1,80 @@ +{% extends "admin/base_site.html" %} +{% load i18n static %} +{% load admin_urls %} + +{% block extrastyle %} + {{ block.super }} + <link rel="stylesheet" href="{% static "admin/css/forms.css" %}"> + <link rel="stylesheet" href="{% static 'admin/css/unusable_password_field.css' %}"> +{% endblock %} +{% block bodyclass %}{{ block.super }} {{ opts.app_label }}-{{ opts.model_name }} change-form{% endblock %} +{% if not is_popup %} +{% block breadcrumbs %} +<div class="breadcrumbs"> +<a href="{% url 'admin:index' %}">{% translate 'Home' %}</a> +› <a href="{% url 'admin:app_list' app_label=opts.app_label %}">{{ opts.app_config.verbose_name }}</a> +› <a href="{% url opts|admin_urlname:'changelist' %}">{{ opts.verbose_name_plural|capfirst }}</a> +› <a href="{% url opts|admin_urlname:'change' original.pk|admin_urlquote %}">{{ original|truncatewords:"18" }}</a> +› {% if form.user.has_usable_password %}{% translate 'Change password' %}{% else %}{% translate 'Set password' %}{% endif %} +</div> +{% endblock %} +{% endif %} +{% block content %}<div id="content-main"> +<form{% if form_url %} action="{{ form_url }}"{% endif %} method="post" id="{{ opts.model_name }}_form">{% csrf_token %}{% block form_top %}{% endblock %} +<input type="text" name="username" value="{{ original.get_username }}" class="hidden"> +<div> +{% if is_popup %}<input type="hidden" name="{{ is_popup_var }}" value="1">{% endif %} +{% if form.errors %} + <p class="errornote"> + {% blocktranslate count counter=form.errors.items|length %}Please correct the error below.{% plural %}Please correct the errors below.{% endblocktranslate %} + </p> +{% endif %} + +<p>{% blocktranslate with username=original %}Enter a new password for the user <strong>{{ username }}</strong>.{% endblocktranslate %}</p> +{% if not form.user.has_usable_password %} + <p>{% blocktranslate %}This action will <strong>enable</strong> password-based authentication for this user.{% endblocktranslate %}</p> +{% endif %} + +<fieldset class="module aligned"> + +<div class="form-row"> + {{ form.usable_password.errors }} + <div class="flex-container">{{ form.usable_password.label_tag }} {{ form.usable_password }}</div> + {% if form.usable_password.help_text %} + <div class="help"{% if form.usable_password.id_for_label %} id="{{ form.usable_password.id_for_label }}_helptext"{% endif %}> + <p>{{ form.usable_password.help_text|safe }}</p> + </div> + {% endif %} +</div> + +<div class="form-row field-password1"> + {{ form.password1.errors }} + <div class="flex-container">{{ form.password1.label_tag }} {{ form.password1 }}</div> + {% if form.password1.help_text %} + <div class="help"{% if form.password1.id_for_label %} id="{{ form.password1.id_for_label }}_helptext"{% endif %}>{{ form.password1.help_text|safe }}</div> + {% endif %} +</div> + +<div class="form-row field-password2"> + {{ form.password2.errors }} + <div class="flex-container">{{ form.password2.label_tag }} {{ form.password2 }}</div> + {% if form.password2.help_text %} + <div class="help"{% if form.password2.id_for_label %} id="{{ form.password2.id_for_label }}_helptext"{% endif %}>{{ form.password2.help_text|safe }}</div> + {% endif %} +</div> + +</fieldset> + +<div class="submit-row"> + {% if form.user.has_usable_password %} + <input type="submit" name="set-password" value="{% translate 'Change password' %}" class="default set-password"> + <input type="submit" name="unset-password" value="{% translate 'Disable password-based authentication' %}" class="unset-password"> + {% else %} + <input type="submit" name="set-password" value="{% translate 'Enable password-based authentication' %}" class="default set-password"> + {% endif %} +</div> + +</div> +</form></div> +<script src="{% static 'admin/js/unusable_password_field.js' %}" defer></script> +{% endblock %} diff --git a/external_sources/django/django/contrib/admin/templates/admin/base.html b/external_sources/django/django/contrib/admin/templates/admin/base.html new file mode 100644 index 0000000..f01a7ab --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/base.html @@ -0,0 +1,125 @@ +{% load i18n static %}<!DOCTYPE html> +{% get_current_language as LANGUAGE_CODE %}{% get_current_language_bidi as LANGUAGE_BIDI %} +<html lang="{{ LANGUAGE_CODE|default:"en-us" }}" dir="{{ LANGUAGE_BIDI|yesno:'rtl,ltr,auto' }}"> +<head> +<title>{% block title %}{% endblock %} + +{% block dark-mode-vars %} + + +{% endblock %} +{% if not is_popup and is_nav_sidebar_enabled %} + + +{% endif %} +{% block extrastyle %}{% endblock %} +{% if LANGUAGE_BIDI %}{% endif %} +{% block extrahead %}{% endblock %} +{% block responsive %} + + + {% if LANGUAGE_BIDI %}{% endif %} +{% endblock %} +{% block blockbots %}{% endblock %} + + + +{% translate 'Skip to main content' %} + +
+ + {% if not is_popup %} + + {% block header %} + + {% endblock %} + + {% block nav-breadcrumbs %} + + {% endblock %} + {% endif %} + +
+ {% if not is_popup and is_nav_sidebar_enabled %} + {% block nav-sidebar %} + {% include "admin/nav_sidebar.html" %} + {% endblock %} + {% endif %} +
+ {% block messages %} + {% if messages %} +
    {% for message in messages %} + {{ message|capfirst }} + {% endfor %}
+ {% endif %} + {% endblock messages %} + +
+ {% block pretitle %}{% endblock %} + {% block content_title %}{% if title %}

{{ title }}

{% endif %}{% endblock %} + {% block content_subtitle %}{% if subtitle %}

{{ subtitle }}

{% endif %}{% endblock %} + {% block content %} + {% block object-tools %}{% endblock %} + {{ content }} + {% endblock %} + {% block sidebar %}{% endblock %} +
+
+ +
+
+
{% block footer %}{% endblock %}
+
+ + + + + + + + + + + diff --git a/external_sources/django/django/contrib/admin/templates/admin/base_site.html b/external_sources/django/django/contrib/admin/templates/admin/base_site.html new file mode 100644 index 0000000..4405998 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/base_site.html @@ -0,0 +1,12 @@ +{% extends "admin/base.html" %} + +{% block title %}{% if subtitle %}{{ subtitle }} | {% endif %}{{ title }} | {{ site_title|default:_('Django site admin') }}{% endblock %} + +{% block branding %} + +{% if user.is_anonymous %} + {% include "admin/color_theme_toggle.html" %} +{% endif %} +{% endblock %} + +{% block nav-global %}{% endblock %} diff --git a/external_sources/django/django/contrib/admin/templates/admin/change_form.html b/external_sources/django/django/contrib/admin/templates/admin/change_form.html new file mode 100644 index 0000000..09ef954 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/change_form.html @@ -0,0 +1,81 @@ +{% extends "admin/base_site.html" %} +{% load i18n admin_urls static admin_modify %} + +{% block extrahead %}{{ block.super }} + +{{ media }} +{% endblock %} + +{% block extrastyle %}{{ block.super }}{% endblock %} + +{% block coltype %}colM{% endblock %} + +{% block bodyclass %}{{ block.super }} app-{{ opts.app_label }} model-{{ opts.model_name }} change-form{% endblock %} + +{% if not is_popup %} +{% block breadcrumbs %} + +{% endblock %} +{% endif %} + +{% block content %}
+{% block object-tools %} +{% if change and not is_popup %} +
    + {% block object-tools-items %} + {% change_form_object_tools %} + {% endblock %} +
+{% endif %} +{% endblock %} +
{% csrf_token %}{% block form_top %}{% endblock %} +
+{% if is_popup %}{% endif %} +{% if to_field %}{% endif %} +{% if save_on_top %}{% block submit_buttons_top %}{% submit_row %}{% endblock %}{% endif %} +{% if errors %} +

+ {% blocktranslate count counter=errors|length %}Please correct the error below.{% plural %}Please correct the errors below.{% endblocktranslate %} +

+ {{ adminform.form.non_field_errors }} +{% endif %} + +{% block field_sets %} +{% for fieldset in adminform %} + {% include "admin/includes/fieldset.html" with heading_level=2 prefix="fieldset" id_prefix=0 id_suffix=forloop.counter0 %} +{% endfor %} +{% endblock %} + +{% block after_field_sets %}{% endblock %} + +{% block inline_field_sets %} +{% for inline_admin_formset in inline_admin_formsets %} + {% include inline_admin_formset.opts.template %} +{% endfor %} +{% endblock %} + +{% block after_related_objects %}{% endblock %} + +{% block submit_buttons_bottom %}{% submit_row %}{% endblock %} + +{% block admin_change_form_document_ready %} + +{% endblock %} + +{# JavaScript for prepopulated fields #} +{% prepopulated_fields_js %} + +
+
+{% endblock %} diff --git a/external_sources/django/django/contrib/admin/templates/admin/change_form_object_tools.html b/external_sources/django/django/contrib/admin/templates/admin/change_form_object_tools.html new file mode 100644 index 0000000..067ae83 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/change_form_object_tools.html @@ -0,0 +1,8 @@ +{% load i18n admin_urls %} +{% block object-tools-items %} +
  • + {% url opts|admin_urlname:'history' original.pk|admin_urlquote as history_url %} + {% translate "History" %} +
  • +{% if has_absolute_url %}
  • {% translate "View on site" %}
  • {% endif %} +{% endblock %} diff --git a/external_sources/django/django/contrib/admin/templates/admin/change_list.html b/external_sources/django/django/contrib/admin/templates/admin/change_list.html new file mode 100644 index 0000000..310872b --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/change_list.html @@ -0,0 +1,93 @@ +{% extends "admin/base_site.html" %} +{% load i18n admin_urls static admin_list %} + +{% block extrastyle %} + {{ block.super }} + + {% if cl.formset %} + + {% endif %} + {% if cl.formset or action_form %} + + {% endif %} + {{ media.css }} + {% if not actions_on_top and not actions_on_bottom %} + + {% endif %} +{% endblock %} + +{% block extrahead %} +{{ block.super }} +{{ media.js }} + +{% endblock %} + +{% block bodyclass %}{{ block.super }} app-{{ opts.app_label }} model-{{ opts.model_name }} change-list{% endblock %} + +{% if not is_popup %} +{% block breadcrumbs %} + +{% endblock %} +{% endif %} + +{% block coltype %}{% endblock %} + +{% block content %} +
    + {% block object-tools %} +
      + {% block object-tools-items %} + {% change_list_object_tools %} + {% endblock %} +
    + {% endblock %} + {% if cl.formset and cl.formset.errors %} +

    + {% blocktranslate count counter=cl.formset.total_error_count %}Please correct the error below.{% plural %}Please correct the errors below.{% endblocktranslate %} +

    + {{ cl.formset.non_form_errors }} + {% endif %} +
    +
    + {% block search %}{% search_form cl %}{% endblock %} + {% block date_hierarchy %}{% if cl.date_hierarchy %}{% date_hierarchy cl %}{% endif %}{% endblock %} + +
    {% csrf_token %} + {% if cl.formset %} +
    {{ cl.formset.management_form }}
    + {% endif %} + + {% block result_list %} + {% if action_form and actions_on_top and cl.show_admin_actions %}{% admin_actions %}{% endif %} + {% result_list cl %} + {% if action_form and actions_on_bottom and cl.show_admin_actions %}{% admin_actions %}{% endif %} + {% endblock %} + {% block pagination %}{% pagination cl %}{% endblock %} +
    +
    + {% block filters %} + {% if cl.has_filters %} + + {% endif %} + {% endblock %} +
    +
    +{% endblock %} diff --git a/external_sources/django/django/contrib/admin/templates/admin/change_list_object_tools.html b/external_sources/django/django/contrib/admin/templates/admin/change_list_object_tools.html new file mode 100644 index 0000000..11cc6fa --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/change_list_object_tools.html @@ -0,0 +1,12 @@ +{% load i18n admin_urls %} + +{% block object-tools-items %} + {% if has_add_permission %} +
  • + {% url cl.opts|admin_urlname:'add' as add_url %} + + {% blocktranslate with cl.opts.verbose_name as name %}Add {{ name }}{% endblocktranslate %} + +
  • + {% endif %} +{% endblock %} diff --git a/external_sources/django/django/contrib/admin/templates/admin/change_list_results.html b/external_sources/django/django/contrib/admin/templates/admin/change_list_results.html new file mode 100644 index 0000000..d2a9fee --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/change_list_results.html @@ -0,0 +1,36 @@ +{% load i18n %} +{% if result_hidden_fields %} +
    {# DIV for HTML validation #} +{% for item in result_hidden_fields %}{{ item }}{% endfor %} +
    +{% endif %} +{% if results %} +
    + + + +{% for header in result_headers %} +{% endfor %} + + + +{% for result in results %} +{% if result.form and result.form.non_field_errors %} + +{% endif %} +{% for item in result %}{{ item }}{% endfor %} +{% endfor %} + +
    + {% if header.sortable and header.sort_priority > 0 %} +
    + + {% if num_sorted_fields > 1 %}{{ header.sort_priority }}{% endif %} + +
    + {% endif %} +
    {% if header.sortable %}{{ header.text|capfirst }}{% else %}{{ header.text|capfirst }}{% endif %}
    +
    +
    {{ result.form.non_field_errors }}
    +
    +{% endif %} diff --git a/external_sources/django/django/contrib/admin/templates/admin/color_theme_toggle.html b/external_sources/django/django/contrib/admin/templates/admin/color_theme_toggle.html new file mode 100644 index 0000000..2caa19e --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/color_theme_toggle.html @@ -0,0 +1,15 @@ +{% load i18n %} + diff --git a/external_sources/django/django/contrib/admin/templates/admin/date_hierarchy.html b/external_sources/django/django/contrib/admin/templates/admin/date_hierarchy.html new file mode 100644 index 0000000..c508856 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/date_hierarchy.html @@ -0,0 +1,14 @@ +{% if show %} + +{% endif %} diff --git a/external_sources/django/django/contrib/admin/templates/admin/delete_confirmation.html b/external_sources/django/django/contrib/admin/templates/admin/delete_confirmation.html new file mode 100644 index 0000000..09e25e1 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/delete_confirmation.html @@ -0,0 +1,50 @@ +{% extends "admin/base_site.html" %} +{% load i18n admin_urls static %} + +{% block extrahead %} + {{ block.super }} + {{ media }} + +{% endblock %} + +{% block bodyclass %}{{ block.super }} app-{{ opts.app_label }} model-{{ opts.model_name }} delete-confirmation{% endblock %} + +{% block breadcrumbs %} + +{% endblock %} + +{% block content %} +{% if perms_lacking %} + {% block delete_forbidden %} +

    {% blocktranslate with escaped_object=object %}Deleting the {{ object_name }} '{{ escaped_object }}' would result in deleting related objects, but your account doesn't have permission to delete the following types of objects:{% endblocktranslate %}

    +
      {{ perms_lacking|unordered_list }}
    + {% endblock %} +{% elif protected %} + {% block delete_protected %} +

    {% blocktranslate with escaped_object=object %}Deleting the {{ object_name }} '{{ escaped_object }}' would require deleting the following protected related objects:{% endblocktranslate %}

    +
      {{ protected|unordered_list }}
    + {% endblock %} +{% else %} + {% block delete_confirm %} +

    {% blocktranslate with escaped_object=object %}Are you sure you want to delete the {{ object_name }} "{{ escaped_object }}"? All of the following related items will be deleted:{% endblocktranslate %}

    + {% include "admin/includes/object_delete_summary.html" %} +

    {% translate "Objects" %}

    +
      {{ deleted_objects|unordered_list }}
    +
    {% csrf_token %} +
    + + {% if is_popup %}{% endif %} + {% if to_field %}{% endif %} + + {% translate "No, take me back" %} +
    +
    + {% endblock %} +{% endif %} +{% endblock content %} diff --git a/external_sources/django/django/contrib/admin/templates/admin/delete_selected_confirmation.html b/external_sources/django/django/contrib/admin/templates/admin/delete_selected_confirmation.html new file mode 100644 index 0000000..51b93a5 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/delete_selected_confirmation.html @@ -0,0 +1,47 @@ +{% extends "admin/base_site.html" %} +{% load i18n l10n admin_urls static %} + +{% block extrahead %} + {{ block.super }} + {{ media }} + +{% endblock %} + +{% block bodyclass %}{{ block.super }} app-{{ opts.app_label }} model-{{ opts.model_name }} delete-confirmation delete-selected-confirmation{% endblock %} + +{% block breadcrumbs %} + +{% endblock %} + +{% block content %} +{% if perms_lacking %} +

    {% blocktranslate %}Deleting the selected {{ objects_name }} would result in deleting related objects, but your account doesn't have permission to delete the following types of objects:{% endblocktranslate %}

    +
      {{ perms_lacking|unordered_list }}
    +{% elif protected %} +

    {% blocktranslate %}Deleting the selected {{ objects_name }} would require deleting the following protected related objects:{% endblocktranslate %}

    +
      {{ protected|unordered_list }}
    +{% else %} +

    {% blocktranslate %}Are you sure you want to delete the selected {{ objects_name }}? All of the following objects and their related items will be deleted:{% endblocktranslate %}

    + {% include "admin/includes/object_delete_summary.html" %} +

    {% translate "Objects" %}

    + {% for deletable_object in deletable_objects %} +
      {{ deletable_object|unordered_list }}
    + {% endfor %} +
    {% csrf_token %} +
    + {% for obj in queryset %} + + {% endfor %} + + + + {% translate "No, take me back" %} +
    +
    +{% endif %} +{% endblock %} diff --git a/external_sources/django/django/contrib/admin/templates/admin/edit_inline/stacked.html b/external_sources/django/django/contrib/admin/templates/admin/edit_inline/stacked.html new file mode 100644 index 0000000..a6939f4 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/edit_inline/stacked.html @@ -0,0 +1,38 @@ +{% load i18n admin_urls %} +
    +
    + {% if inline_admin_formset.is_collapsible %}
    {% endif %} +

    + {% if inline_admin_formset.formset.max_num == 1 %} + {{ inline_admin_formset.opts.verbose_name|capfirst }} + {% else %} + {{ inline_admin_formset.opts.verbose_name_plural|capfirst }} + {% endif %} +

    + {% if inline_admin_formset.is_collapsible %}
    {% endif %} +{{ inline_admin_formset.formset.management_form }} +{{ inline_admin_formset.formset.non_form_errors }} + +{% for inline_admin_form in inline_admin_formset %}
    +

    {{ inline_admin_formset.opts.verbose_name|capfirst }}: {% if inline_admin_form.original %}{{ inline_admin_form.original }}{% if inline_admin_form.model_admin.show_change_link and inline_admin_form.model_admin.has_registered_model %} {% if inline_admin_formset.has_change_permission %}{% translate "Change" %}{% else %}{% translate "View" %}{% endif %}{% endif %} +{% else %}#{{ forloop.counter }}{% endif %} + {% if inline_admin_form.show_url %}{% translate "View on site" %}{% endif %} + {% if inline_admin_formset.formset.can_delete and inline_admin_formset.has_delete_permission and inline_admin_form.original %}{{ inline_admin_form.deletion_field.field }} {{ inline_admin_form.deletion_field.label_tag }}{% endif %} +

    + {% if inline_admin_form.form.non_field_errors %}{{ inline_admin_form.form.non_field_errors }}{% endif %} + + {% with parent_counter=forloop.counter0 %} + {% for fieldset in inline_admin_form %} + {% include "admin/includes/fieldset.html" with heading_level=4 prefix=fieldset.formset.prefix id_prefix=parent_counter id_suffix=forloop.counter0 %} + {% endfor %} + {% endwith %} + + {% if inline_admin_form.needs_explicit_pk_field %}{{ inline_admin_form.pk_field.field }}{% endif %} + {% if inline_admin_form.fk_field %}{{ inline_admin_form.fk_field.field }}{% endif %} +
    {% endfor %} + {% if inline_admin_formset.is_collapsible %}
    {% endif %} +
    +
    diff --git a/external_sources/django/django/contrib/admin/templates/admin/edit_inline/tabular.html b/external_sources/django/django/contrib/admin/templates/admin/edit_inline/tabular.html new file mode 100644 index 0000000..7acfda7 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/edit_inline/tabular.html @@ -0,0 +1,71 @@ +{% load i18n admin_urls static admin_modify %} +
    + +
    diff --git a/external_sources/django/django/contrib/admin/templates/admin/filter.html b/external_sources/django/django/contrib/admin/templates/admin/filter.html new file mode 100644 index 0000000..a6094ec --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/filter.html @@ -0,0 +1,12 @@ +{% load i18n %} +
    + + {% blocktranslate with filter_title=title %} By {{ filter_title }} {% endblocktranslate %} + + +
    diff --git a/external_sources/django/django/contrib/admin/templates/admin/includes/fieldset.html b/external_sources/django/django/contrib/admin/templates/admin/includes/fieldset.html new file mode 100644 index 0000000..a9d3f92 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/includes/fieldset.html @@ -0,0 +1,41 @@ +{% with name=fieldset.name|default:""|slugify %} +
    + {% if name %} + {% if fieldset.is_collapsible %}
    {% endif %} + {{ fieldset.name }} + {% if fieldset.is_collapsible %}{% endif %} + {% endif %} + {% if fieldset.description %} +
    {{ fieldset.description|safe }}
    + {% endif %} + {% for line in fieldset %} +
    + {% if line.fields|length == 1 %}{{ line.errors }}{% else %}
    {% endif %} + {% for field in line %} +
    + {% if not line.fields|length == 1 and not field.is_readonly %}{{ field.errors }}{% endif %} +
    + {% if field.is_checkbox %} + {{ field.field }}{{ field.label_tag }} + {% else %} + {{ field.label_tag }} + {% if field.is_readonly %} +
    {{ field.contents }}
    + {% else %} + {{ field.field }} + {% endif %} + {% endif %} +
    + {% if field.field.help_text %} +
    +
    {{ field.field.help_text|safe }}
    +
    + {% endif %} +
    + {% endfor %} + {% if not line.fields|length == 1 %}
    {% endif %} +
    + {% endfor %} + {% if name and fieldset.is_collapsible %}
    {% endif %} +
    +{% endwith %} diff --git a/external_sources/django/django/contrib/admin/templates/admin/includes/object_delete_summary.html b/external_sources/django/django/contrib/admin/templates/admin/includes/object_delete_summary.html new file mode 100644 index 0000000..9ad97db --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/includes/object_delete_summary.html @@ -0,0 +1,7 @@ +{% load i18n %} +

    {% translate "Summary" %}

    +
      + {% for model_name, object_count in model_count %} +
    • {{ model_name|capfirst }}: {{ object_count }}
    • + {% endfor %} +
    diff --git a/external_sources/django/django/contrib/admin/templates/admin/index.html b/external_sources/django/django/contrib/admin/templates/admin/index.html new file mode 100644 index 0000000..899727a --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/index.html @@ -0,0 +1,51 @@ +{% extends "admin/base_site.html" %} +{% load i18n static %} + +{% block extrastyle %}{{ block.super }}{% endblock %} + +{% block coltype %}colMS{% endblock %} + +{% block bodyclass %}{{ block.super }} dashboard{% endblock %} + +{% block nav-breadcrumbs %}{% endblock %} + +{% block nav-sidebar %}{% endblock %} + +{% block content %} +
    + {% include "admin/app_list.html" with app_list=app_list show_changelinks=True %} +
    +{% endblock %} + +{% block sidebar %} + +{% endblock %} diff --git a/external_sources/django/django/contrib/admin/templates/admin/invalid_setup.html b/external_sources/django/django/contrib/admin/templates/admin/invalid_setup.html new file mode 100644 index 0000000..1ef7c71 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/invalid_setup.html @@ -0,0 +1,13 @@ +{% extends "admin/base_site.html" %} +{% load i18n %} + +{% block breadcrumbs %} + +{% endblock %} + +{% block content %} +

    {% translate 'Something’s wrong with your database installation. Make sure the appropriate database tables have been created, and make sure the database is readable by the appropriate user.' %}

    +{% endblock %} diff --git a/external_sources/django/django/contrib/admin/templates/admin/login.html b/external_sources/django/django/contrib/admin/templates/admin/login.html new file mode 100644 index 0000000..b61d9ec --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/login.html @@ -0,0 +1,68 @@ +{% extends "admin/base_site.html" %} +{% load i18n static %} + +{% block extrastyle %}{{ block.super }} +{{ form.media }} +{% endblock %} + +{% block bodyclass %}{{ block.super }} login{% endblock %} + +{% block usertools %}{% endblock %} + +{% block nav-global %}{% endblock %} + +{% block nav-sidebar %}{% endblock %} + +{% block content_title %}{% endblock %} + +{% block nav-breadcrumbs %}{% endblock %} + +{% block content %} +{% if form.errors and not form.non_field_errors %} +

    +{% blocktranslate count counter=form.errors.items|length %}Please correct the error below.{% plural %}Please correct the errors below.{% endblocktranslate %} +

    +{% endif %} + +{% if form.non_field_errors %} +{% for error in form.non_field_errors %} +

    + {{ error }} +

    +{% endfor %} +{% endif %} + +
    + +{% if user.is_authenticated %} +

    +{% blocktranslate trimmed %} + You are authenticated as {{ username }}, but are not authorized to + access this page. Would you like to login to a different account? +{% endblocktranslate %} +

    +{% endif %} + +
    {% csrf_token %} +
    + {{ form.username.errors }} + {{ form.username.label_tag }} {{ form.username }} +
    +
    + {{ form.password.errors }} + {{ form.password.label_tag }} {{ form.password }} + +
    + {% url 'admin_password_reset' as password_reset_url %} + {% if password_reset_url %} + + {% endif %} +
    + +
    +
    + +
    +{% endblock %} diff --git a/external_sources/django/django/contrib/admin/templates/admin/nav_sidebar.html b/external_sources/django/django/contrib/admin/templates/admin/nav_sidebar.html new file mode 100644 index 0000000..a413e23 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/nav_sidebar.html @@ -0,0 +1,8 @@ +{% load i18n %} + + diff --git a/external_sources/django/django/contrib/admin/templates/admin/object_history.html b/external_sources/django/django/contrib/admin/templates/admin/object_history.html new file mode 100644 index 0000000..f83984c --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/object_history.html @@ -0,0 +1,56 @@ +{% extends "admin/base_site.html" %} +{% load i18n admin_urls %} + +{% block breadcrumbs %} + +{% endblock %} + +{% block content %} +
    +
    + +{% if action_list %} + + + + + + + + + + {% for action in action_list %} + + + + + + {% endfor %} + +
    {% translate 'Date/time' %}{% translate 'User' %}{% translate 'Action' %}
    {{ action.action_time|date:"DATETIME_FORMAT" }}{{ action.user.get_username }}{% if action.user.get_full_name %} ({{ action.user.get_full_name }}){% endif %}{{ action.get_change_message }}
    +

    + {% if pagination_required %} + {% for i in page_range %} + {% if i == action_list.paginator.ELLIPSIS %} + {{ action_list.paginator.ELLIPSIS }} + {% elif i == action_list.number %} + {{ i }} + {% else %} + {{ i }} + {% endif %} + {% endfor %} + {% endif %} + {{ action_list.paginator.count }} {% blocktranslate count counter=action_list.paginator.count %}entry{% plural %}entries{% endblocktranslate %} +

    +{% else %} +

    {% translate 'This object doesn’t have a change history. It probably wasn’t added via this admin site.' %}

    +{% endif %} +
    +
    +{% endblock %} diff --git a/external_sources/django/django/contrib/admin/templates/admin/pagination.html b/external_sources/django/django/contrib/admin/templates/admin/pagination.html new file mode 100644 index 0000000..bc3117b --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/pagination.html @@ -0,0 +1,12 @@ +{% load admin_list %} +{% load i18n %} +

    +{% if pagination_required %} +{% for i in page_range %} + {% paginator_number cl i %} +{% endfor %} +{% endif %} +{{ cl.result_count }} {% if cl.result_count == 1 %}{{ cl.opts.verbose_name }}{% else %}{{ cl.opts.verbose_name_plural }}{% endif %} +{% if show_all_url %}{% translate 'Show all' %}{% endif %} +{% if cl.formset and cl.result_count %}{% endif %} +

    diff --git a/external_sources/django/django/contrib/admin/templates/admin/popup_response.html b/external_sources/django/django/contrib/admin/templates/admin/popup_response.html new file mode 100644 index 0000000..57a1ae3 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/popup_response.html @@ -0,0 +1,10 @@ +{% load i18n static %} + + {% translate 'Popup closing…' %} + + + + diff --git a/external_sources/django/django/contrib/admin/templates/admin/prepopulated_fields_js.html b/external_sources/django/django/contrib/admin/templates/admin/prepopulated_fields_js.html new file mode 100644 index 0000000..dd6e561 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/prepopulated_fields_js.html @@ -0,0 +1,5 @@ +{% load static %} + diff --git a/external_sources/django/django/contrib/admin/templates/admin/search_form.html b/external_sources/django/django/contrib/admin/templates/admin/search_form.html new file mode 100644 index 0000000..447b803 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/search_form.html @@ -0,0 +1,20 @@ +{% load i18n static %} +{% if cl.search_fields %} +
    +{% endif %} diff --git a/external_sources/django/django/contrib/admin/templates/admin/submit_line.html b/external_sources/django/django/contrib/admin/templates/admin/submit_line.html new file mode 100644 index 0000000..b2b2054 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/submit_line.html @@ -0,0 +1,17 @@ +{% load i18n admin_urls %} +
    +{% block submit-row %} +{% if show_save %}{% endif %} +{% if show_save_as_new %}{% endif %} +{% if show_save_and_add_another %}{% endif %} +{% if show_save_and_continue %}{% endif %} +{% if show_close %} + {% url opts|admin_urlname:'changelist' as changelist_url %} + {% translate 'Close' %} +{% endif %} +{% if show_delete_link and original %} + {% url opts|admin_urlname:'delete' original.pk|admin_urlquote as delete_url %} + {% translate "Delete" %} +{% endif %} +{% endblock %} +
    diff --git a/external_sources/django/django/contrib/admin/templates/admin/widgets/clearable_file_input.html b/external_sources/django/django/contrib/admin/templates/admin/widgets/clearable_file_input.html new file mode 100644 index 0000000..8b42f19 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/widgets/clearable_file_input.html @@ -0,0 +1,6 @@ +{% if widget.is_initial %}

    {{ widget.initial_text }}: {{ widget.value }}{% if not widget.required %} + + +{% endif %}
    +{{ widget.input_text }}:{% endif %} +{% if widget.is_initial %}

    {% endif %} diff --git a/external_sources/django/django/contrib/admin/templates/admin/widgets/date.html b/external_sources/django/django/contrib/admin/templates/admin/widgets/date.html new file mode 100644 index 0000000..acd5d5f --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/widgets/date.html @@ -0,0 +1,3 @@ +

    + {% include "django/forms/widgets/date.html" %} +

    diff --git a/external_sources/django/django/contrib/admin/templates/admin/widgets/foreign_key_raw_id.html b/external_sources/django/django/contrib/admin/templates/admin/widgets/foreign_key_raw_id.html new file mode 100644 index 0000000..be93e05 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/widgets/foreign_key_raw_id.html @@ -0,0 +1,2 @@ +{% include 'django/forms/widgets/input.html' %}{% if related_url %}{% endif %}{% if link_label %} +{% if link_url %}{{ link_label }}{% else %}{{ link_label }}{% endif %}{% endif %} diff --git a/external_sources/django/django/contrib/admin/templates/admin/widgets/many_to_many_raw_id.html b/external_sources/django/django/contrib/admin/templates/admin/widgets/many_to_many_raw_id.html new file mode 100644 index 0000000..0dd0331 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/widgets/many_to_many_raw_id.html @@ -0,0 +1 @@ +{% include 'admin/widgets/foreign_key_raw_id.html' %} diff --git a/external_sources/django/django/contrib/admin/templates/admin/widgets/radio.html b/external_sources/django/django/contrib/admin/templates/admin/widgets/radio.html new file mode 100644 index 0000000..780899a --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/widgets/radio.html @@ -0,0 +1 @@ +{% include "django/forms/widgets/multiple_input.html" %} diff --git a/external_sources/django/django/contrib/admin/templates/admin/widgets/related_widget_wrapper.html b/external_sources/django/django/contrib/admin/templates/admin/widgets/related_widget_wrapper.html new file mode 100644 index 0000000..99b2054 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/widgets/related_widget_wrapper.html @@ -0,0 +1,41 @@ +{% load i18n static %} + diff --git a/external_sources/django/django/contrib/admin/templates/admin/widgets/split_datetime.html b/external_sources/django/django/contrib/admin/templates/admin/widgets/split_datetime.html new file mode 100644 index 0000000..7fc7bf6 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/widgets/split_datetime.html @@ -0,0 +1,4 @@ +

    + {{ date_label }} {% with widget=widget.subwidgets.0 %}{% include widget.template_name %}{% endwith %}
    + {{ time_label }} {% with widget=widget.subwidgets.1 %}{% include widget.template_name %}{% endwith %} +

    diff --git a/external_sources/django/django/contrib/admin/templates/admin/widgets/time.html b/external_sources/django/django/contrib/admin/templates/admin/widgets/time.html new file mode 100644 index 0000000..e4eaca6 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/widgets/time.html @@ -0,0 +1,3 @@ +

    + {% include "django/forms/widgets/time.html" %} +

    diff --git a/external_sources/django/django/contrib/admin/templates/admin/widgets/url.html b/external_sources/django/django/contrib/admin/templates/admin/widgets/url.html new file mode 100644 index 0000000..69dc401 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/admin/widgets/url.html @@ -0,0 +1 @@ +{% if url_valid %}

    {{ current_label }} {{ widget.value }}
    {{ change_label }} {% endif %}{% include "django/forms/widgets/input.html" %}{% if url_valid %}

    {% endif %} diff --git a/external_sources/django/django/contrib/admin/templates/registration/logged_out.html b/external_sources/django/django/contrib/admin/templates/registration/logged_out.html new file mode 100644 index 0000000..e9a5545 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/registration/logged_out.html @@ -0,0 +1,14 @@ +{% extends "admin/base_site.html" %} +{% load i18n %} + +{% block breadcrumbs %}{% endblock %} + +{% block nav-sidebar %}{% endblock %} + +{% block content %} + +

    {% translate "Thanks for spending some quality time with the web site today." %}

    + +

    {% translate 'Log in again' %}

    + +{% endblock %} diff --git a/external_sources/django/django/contrib/admin/templates/registration/password_change_done.html b/external_sources/django/django/contrib/admin/templates/registration/password_change_done.html new file mode 100644 index 0000000..784ab37 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/registration/password_change_done.html @@ -0,0 +1,20 @@ +{% extends "admin/base_site.html" %} +{% load i18n %} +{% block userlinks %} + {% url 'django-admindocs-docroot' as docsroot %}{% if docsroot %}{% translate 'Documentation' %} / {% endif %}{% translate 'Change password' %} / +
    + {% csrf_token %} + +
    + {% include "admin/color_theme_toggle.html" %} +{% endblock %} +{% block breadcrumbs %} + +{% endblock %} + +{% block content %} +

    {% translate 'Your password was changed.' %}

    +{% endblock %} diff --git a/external_sources/django/django/contrib/admin/templates/registration/password_change_form.html b/external_sources/django/django/contrib/admin/templates/registration/password_change_form.html new file mode 100644 index 0000000..fde2373 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/registration/password_change_form.html @@ -0,0 +1,64 @@ +{% extends "admin/base_site.html" %} +{% load i18n static %} +{% block extrastyle %}{{ block.super }}{% endblock %} +{% block userlinks %} + {% url 'django-admindocs-docroot' as docsroot %}{% if docsroot %}{% translate 'Documentation' %} / {% endif %} {% translate 'Change password' %} / +
    + {% csrf_token %} + +
    + {% include "admin/color_theme_toggle.html" %} +{% endblock %} +{% block breadcrumbs %} + +{% endblock %} + +{% block content %}
    + +
    {% csrf_token %} +
    +{% if form.errors %} +

    + {% blocktranslate count counter=form.errors.items|length %}Please correct the error below.{% plural %}Please correct the errors below.{% endblocktranslate %} +

    +{% endif %} + + +

    {% translate 'Please enter your old password, for security’s sake, and then enter your new password twice so we can verify you typed it in correctly.' %}

    + +
    + +
    + {{ form.old_password.errors }} +
    {{ form.old_password.label_tag }} {{ form.old_password }}
    +
    + +
    + {{ form.new_password1.errors }} +
    {{ form.new_password1.label_tag }} {{ form.new_password1 }}
    + {% if form.new_password1.help_text %} +
    {{ form.new_password1.help_text|safe }}
    + {% endif %} +
    + +
    + {{ form.new_password2.errors }} +
    {{ form.new_password2.label_tag }} {{ form.new_password2 }}
    + {% if form.new_password2.help_text %} +
    {{ form.new_password2.help_text|safe }}
    + {% endif %} +
    + +
    + +
    + +
    + +
    +
    + +{% endblock %} diff --git a/external_sources/django/django/contrib/admin/templates/registration/password_reset_complete.html b/external_sources/django/django/contrib/admin/templates/registration/password_reset_complete.html new file mode 100644 index 0000000..e6a383f --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/registration/password_reset_complete.html @@ -0,0 +1,17 @@ +{% extends "admin/base_site.html" %} +{% load i18n %} + +{% block breadcrumbs %} + +{% endblock %} + +{% block content %} + +

    {% translate "Your password has been set. You may go ahead and log in now." %}

    + +

    {% translate 'Log in' %}

    + +{% endblock %} diff --git a/external_sources/django/django/contrib/admin/templates/registration/password_reset_confirm.html b/external_sources/django/django/contrib/admin/templates/registration/password_reset_confirm.html new file mode 100644 index 0000000..a07645c --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/registration/password_reset_confirm.html @@ -0,0 +1,47 @@ +{% extends "admin/base_site.html" %} +{% load i18n static %} + +{% block extrastyle %}{{ block.super }}{% endblock %} +{% block breadcrumbs %} + +{% endblock %} + +{% block content %} + +{% if validlink %} + +

    {% translate "Please enter your new password twice so we can verify you typed it in correctly." %}

    + +
    {% csrf_token %} +
    + +
    + {{ form.new_password1.errors }} +
    + + {{ form.new_password1 }} +
    +
    +
    + {{ form.new_password2.errors }} +
    + + {{ form.new_password2 }} +
    +
    +
    +
    + +
    +
    + +{% else %} + +

    {% translate "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." %}

    + +{% endif %} + +{% endblock %} diff --git a/external_sources/django/django/contrib/admin/templates/registration/password_reset_done.html b/external_sources/django/django/contrib/admin/templates/registration/password_reset_done.html new file mode 100644 index 0000000..8b1971a --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/registration/password_reset_done.html @@ -0,0 +1,17 @@ +{% extends "admin/base_site.html" %} +{% load i18n %} + +{% block breadcrumbs %} + +{% endblock %} + +{% block content %} + +

    {% translate 'We’ve emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly.' %}

    + +

    {% translate 'If you don’t receive an email, please make sure you’ve entered the address you registered with, and check your spam folder.' %}

    + +{% endblock %} diff --git a/external_sources/django/django/contrib/admin/templates/registration/password_reset_email.html b/external_sources/django/django/contrib/admin/templates/registration/password_reset_email.html new file mode 100644 index 0000000..6482209 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/registration/password_reset_email.html @@ -0,0 +1,14 @@ +{% load i18n %}{% autoescape off %} +{% blocktranslate %}You're receiving this email because you requested a password reset for your user account at {{ site_name }}.{% endblocktranslate %} + +{% translate "Please go to the following page and choose a new password:" %} +{% block reset_link %} +{{ protocol }}://{{ domain }}{% url 'password_reset_confirm' uidb64=uid token=token %} +{% endblock %} +{% translate 'Your username, in case you’ve forgotten:' %} {{ user.get_username }} + +{% translate "Thanks for using our site!" %} + +{% blocktranslate %}The {{ site_name }} team{% endblocktranslate %} + +{% endautoescape %} diff --git a/external_sources/django/django/contrib/admin/templates/registration/password_reset_form.html b/external_sources/django/django/contrib/admin/templates/registration/password_reset_form.html new file mode 100644 index 0000000..0edfea8 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templates/registration/password_reset_form.html @@ -0,0 +1,31 @@ +{% extends "admin/base_site.html" %} +{% load i18n static %} + +{% block extrastyle %}{{ block.super }}{% endblock %} +{% block breadcrumbs %} + +{% endblock %} + +{% block content %} + +

    {% translate 'Forgotten your password? Enter your email address below, and we’ll email instructions for setting a new one.' %}

    + +
    {% csrf_token %} +
    +
    + {{ form.email.errors }} +
    + + {{ form.email }} +
    +
    +
    +
    + +
    +
    + +{% endblock %} diff --git a/external_sources/django/django/contrib/admin/templatetags/__init__.py b/external_sources/django/django/contrib/admin/templatetags/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/external_sources/django/django/contrib/admin/templatetags/admin_list.py b/external_sources/django/django/contrib/admin/templatetags/admin_list.py new file mode 100644 index 0000000..fdf6e63 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templatetags/admin_list.py @@ -0,0 +1,536 @@ +import datetime + +from django.contrib.admin.templatetags.admin_urls import add_preserved_filters +from django.contrib.admin.utils import ( + display_for_field, + display_for_value, + get_fields_from_path, + label_for_field, + lookup_field, +) +from django.contrib.admin.views.main import ( + ALL_VAR, + IS_FACETS_VAR, + IS_POPUP_VAR, + ORDER_VAR, + PAGE_VAR, + SEARCH_VAR, +) +from django.core.exceptions import ObjectDoesNotExist +from django.db import models +from django.db.models.constants import LOOKUP_SEP +from django.template import Library +from django.template.loader import get_template +from django.templatetags.static import static +from django.urls import NoReverseMatch +from django.utils import formats, timezone +from django.utils.html import format_html +from django.utils.safestring import mark_safe +from django.utils.text import capfirst +from django.utils.translation import gettext as _ + +from .base import InclusionAdminNode + +register = Library() + + +@register.simple_tag +def paginator_number(cl, i): + """ + Generate an individual page index link in a paginated list. + """ + if i == cl.paginator.ELLIPSIS: + return format_html("{} ", cl.paginator.ELLIPSIS) + elif i == cl.page_num: + return format_html('{} ', i) + else: + return format_html( + '{} ', + cl.get_query_string({PAGE_VAR: i}), + mark_safe(' class="end"' if i == cl.paginator.num_pages else ""), + i, + ) + + +def pagination(cl): + """ + Generate the series of links to the pages in a paginated list. + """ + pagination_required = (not cl.show_all or not cl.can_show_all) and cl.multi_page + page_range = ( + cl.paginator.get_elided_page_range(cl.page_num) if pagination_required else [] + ) + need_show_all_link = cl.can_show_all and not cl.show_all and cl.multi_page + return { + "cl": cl, + "pagination_required": pagination_required, + "show_all_url": need_show_all_link and cl.get_query_string({ALL_VAR: ""}), + "page_range": page_range, + "ALL_VAR": ALL_VAR, + "1": 1, + } + + +@register.tag(name="pagination") +def pagination_tag(parser, token): + return InclusionAdminNode( + parser, + token, + func=pagination, + template_name="pagination.html", + takes_context=False, + ) + + +def result_headers(cl): + """ + Generate the list column headers. + """ + ordering_field_columns = cl.get_ordering_field_columns() + for i, field_name in enumerate(cl.list_display): + text, attr = label_for_field( + field_name, cl.model, model_admin=cl.model_admin, return_attr=True + ) + is_field_sortable = cl.sortable_by is None or field_name in cl.sortable_by + if attr: + field_name = _coerce_field_name(field_name, i) + # Potentially not sortable + + # if the field is the action checkbox: no sorting and special class + if field_name == "action_checkbox": + aria_label = _("Select all objects on this page for an action") + yield { + "text": mark_safe( + f'' + ), + "class_attrib": mark_safe(' class="action-checkbox-column"'), + "sortable": False, + } + continue + + admin_order_field = getattr(attr, "admin_order_field", None) + # Set ordering for attr that is a property, if defined. + if isinstance(attr, property) and hasattr(attr, "fget"): + admin_order_field = getattr(attr.fget, "admin_order_field", None) + if not admin_order_field and LOOKUP_SEP not in field_name: + is_field_sortable = False + + if not is_field_sortable: + # Not sortable + yield { + "text": text, + "class_attrib": format_html(' class="column-{}"', field_name), + "sortable": False, + } + continue + + # OK, it is sortable if we got this far + th_classes = ["sortable", "column-{}".format(field_name)] + order_type = "" + new_order_type = "asc" + sort_priority = 0 + # Is it currently being sorted on? + is_sorted = i in ordering_field_columns + if is_sorted: + order_type = ordering_field_columns.get(i).lower() + sort_priority = list(ordering_field_columns).index(i) + 1 + th_classes.append("sorted %sending" % order_type) + new_order_type = {"asc": "desc", "desc": "asc"}[order_type] + + # build new ordering param + o_list_primary = [] # URL for making this field the primary sort + o_list_remove = [] # URL for removing this field from sort + o_list_toggle = [] # URL for toggling order type for this field + + def make_qs_param(t, n): + return ("-" if t == "desc" else "") + str(n) + + for j, ot in ordering_field_columns.items(): + if j == i: # Same column + param = make_qs_param(new_order_type, j) + # We want clicking on this header to bring the ordering to the + # front + o_list_primary.insert(0, param) + o_list_toggle.append(param) + # o_list_remove - omit + else: + param = make_qs_param(ot, j) + o_list_primary.append(param) + o_list_toggle.append(param) + o_list_remove.append(param) + + if i not in ordering_field_columns: + o_list_primary.insert(0, make_qs_param(new_order_type, i)) + + yield { + "text": text, + "sortable": True, + "sorted": is_sorted, + "ascending": order_type == "asc", + "sort_priority": sort_priority, + "url_primary": cl.get_query_string({ORDER_VAR: ".".join(o_list_primary)}), + "url_remove": cl.get_query_string({ORDER_VAR: ".".join(o_list_remove)}), + "url_toggle": cl.get_query_string({ORDER_VAR: ".".join(o_list_toggle)}), + "class_attrib": ( + format_html(' class="{}"', " ".join(th_classes)) if th_classes else "" + ), + } + + +def _boolean_icon(field_val): + icon_url = static( + "admin/img/icon-%s.svg" % {True: "yes", False: "no", None: "unknown"}[field_val] + ) + return format_html('{}', icon_url, field_val) + + +def _coerce_field_name(field_name, field_index): + """ + Coerce a field_name (which may be a callable) to a string. + """ + if callable(field_name): + if field_name.__name__ == "": + return "lambda" + str(field_index) + else: + return field_name.__name__ + return field_name + + +def items_for_result(cl, result, form): + """ + Generate the actual list of data. + """ + + def link_in_col(is_first, field_name, cl): + if cl.list_display_links is None: + return False + if is_first and not cl.list_display_links: + return True + return field_name in cl.list_display_links + + first = True + pk = cl.lookup_opts.pk.attname + for field_index, field_name in enumerate(cl.list_display): + empty_value_display = cl.model_admin.get_empty_value_display() + row_classes = ["field-%s" % _coerce_field_name(field_name, field_index)] + try: + f, attr, value = lookup_field(field_name, result, cl.model_admin) + except ObjectDoesNotExist: + result_repr = empty_value_display + else: + empty_value_display = getattr( + attr, "empty_value_display", empty_value_display + ) + if f is None or f.auto_created: + if field_name == "action_checkbox": + row_classes = ["action-checkbox"] + boolean = getattr(attr, "boolean", False) + # Set boolean for attr that is a property, if defined. + if isinstance(attr, property) and hasattr(attr, "fget"): + boolean = getattr(attr.fget, "boolean", False) + result_repr = display_for_value(value, empty_value_display, boolean) + if isinstance(value, (datetime.date, datetime.time)): + row_classes.append("nowrap") + else: + if isinstance(f.remote_field, models.ManyToOneRel): + field_val = getattr(result, f.name) + if field_val is None: + result_repr = empty_value_display + else: + result_repr = field_val + else: + result_repr = display_for_field(value, f, empty_value_display) + if isinstance( + f, (models.DateField, models.TimeField, models.ForeignKey) + ): + row_classes.append("nowrap") + row_class = mark_safe(' class="%s"' % " ".join(row_classes)) + # If list_display_links not defined, add the link tag to the first field + if link_in_col(first, field_name, cl): + table_tag = "th" if first else "td" + first = False + + # Display link to the result's change_view if the url exists, else + # display just the result's representation. + try: + url = cl.url_for_result(result) + except NoReverseMatch: + link_or_text = result_repr + else: + url = add_preserved_filters( + {"preserved_filters": cl.preserved_filters, "opts": cl.opts}, url + ) + # Convert the pk to something that can be used in JavaScript. + # Problem cases are non-ASCII strings. + if cl.to_field: + attr = str(cl.to_field) + else: + attr = pk + value = result.serializable_value(attr) + link_or_text = format_html( + '{}', + url, + ( + format_html(' data-popup-opener="{}"', value) + if cl.is_popup + else "" + ), + result_repr, + ) + + yield format_html( + "<{}{}>{}", table_tag, row_class, link_or_text, table_tag + ) + else: + # By default the fields come from ModelAdmin.list_editable, but if we pull + # the fields out of the form instead of list_editable custom admins + # can provide fields on a per request basis + if ( + form + and field_name in form.fields + and not ( + field_name == cl.model._meta.pk.name + and form[cl.model._meta.pk.name].is_hidden + ) + ): + bf = form[field_name] + result_repr = mark_safe(str(bf.errors) + str(bf)) + yield format_html("{}", row_class, result_repr) + if form and not form[cl.model._meta.pk.name].is_hidden: + yield format_html("{}", form[cl.model._meta.pk.name]) + + +class ResultList(list): + """ + Wrapper class used to return items in a list_editable changelist, annotated + with the form object for error reporting purposes. Needed to maintain + backwards compatibility with existing admin templates. + """ + + def __init__(self, form, *items): + self.form = form + super().__init__(*items) + + +def results(cl): + if cl.formset: + for res, form in zip(cl.result_list, cl.formset.forms): + yield ResultList(form, items_for_result(cl, res, form)) + else: + for res in cl.result_list: + yield ResultList(None, items_for_result(cl, res, None)) + + +def result_hidden_fields(cl): + if cl.formset: + for res, form in zip(cl.result_list, cl.formset.forms): + if form[cl.model._meta.pk.name].is_hidden: + yield mark_safe(form[cl.model._meta.pk.name]) + + +def result_list(cl): + """ + Display the headers and data list together. + """ + headers = list(result_headers(cl)) + num_sorted_fields = 0 + for h in headers: + if h["sortable"] and h["sorted"]: + num_sorted_fields += 1 + return { + "cl": cl, + "result_hidden_fields": list(result_hidden_fields(cl)), + "result_headers": headers, + "num_sorted_fields": num_sorted_fields, + "results": list(results(cl)), + } + + +@register.tag(name="result_list") +def result_list_tag(parser, token): + return InclusionAdminNode( + parser, + token, + func=result_list, + template_name="change_list_results.html", + takes_context=False, + ) + + +def date_hierarchy(cl): + """ + Display the date hierarchy for date drill-down functionality. + """ + if cl.date_hierarchy: + field_name = cl.date_hierarchy + field = get_fields_from_path(cl.model, field_name)[-1] + if isinstance(field, models.DateTimeField): + dates_or_datetimes = "datetimes" + else: + dates_or_datetimes = "dates" + year_field = "%s__year" % field_name + month_field = "%s__month" % field_name + day_field = "%s__day" % field_name + field_generic = "%s__" % field_name + year_lookup = cl.params.get(year_field) + month_lookup = cl.params.get(month_field) + day_lookup = cl.params.get(day_field) + + def link(filters): + return cl.get_query_string(filters, [field_generic]) + + if not (year_lookup or month_lookup or day_lookup): + # select appropriate start level + date_range = cl.queryset.aggregate( + first=models.Min(field_name), last=models.Max(field_name) + ) + if date_range["first"] and date_range["last"]: + if dates_or_datetimes == "datetimes": + date_range = { + k: timezone.localtime(v) if timezone.is_aware(v) else v + for k, v in date_range.items() + } + if date_range["first"].year == date_range["last"].year: + year_lookup = date_range["first"].year + if date_range["first"].month == date_range["last"].month: + month_lookup = date_range["first"].month + + if year_lookup and month_lookup and day_lookup: + day = datetime.date(int(year_lookup), int(month_lookup), int(day_lookup)) + return { + "show": True, + "back": { + "link": link({year_field: year_lookup, month_field: month_lookup}), + "title": capfirst(formats.date_format(day, "YEAR_MONTH_FORMAT")), + }, + "choices": [ + {"title": capfirst(formats.date_format(day, "MONTH_DAY_FORMAT"))} + ], + } + elif year_lookup and month_lookup: + days = getattr(cl.queryset, dates_or_datetimes)(field_name, "day") + return { + "show": True, + "back": { + "link": link({year_field: year_lookup}), + "title": str(year_lookup), + }, + "choices": [ + { + "link": link( + { + year_field: year_lookup, + month_field: month_lookup, + day_field: day.day, + } + ), + "title": capfirst(formats.date_format(day, "MONTH_DAY_FORMAT")), + } + for day in days + ], + } + elif year_lookup: + months = getattr(cl.queryset, dates_or_datetimes)(field_name, "month") + return { + "show": True, + "back": {"link": link({}), "title": _("All dates")}, + "choices": [ + { + "link": link( + {year_field: year_lookup, month_field: month.month} + ), + "title": capfirst( + formats.date_format(month, "YEAR_MONTH_FORMAT") + ), + } + for month in months + ], + } + else: + years = getattr(cl.queryset, dates_or_datetimes)(field_name, "year") + return { + "show": True, + "back": None, + "choices": [ + { + "link": link({year_field: str(year.year)}), + "title": str(year.year), + } + for year in years + ], + } + + +@register.tag(name="date_hierarchy") +def date_hierarchy_tag(parser, token): + return InclusionAdminNode( + parser, + token, + func=date_hierarchy, + template_name="date_hierarchy.html", + takes_context=False, + ) + + +def search_form(cl): + """ + Display a search form for searching the list. + """ + return { + "cl": cl, + "show_result_count": cl.result_count != cl.full_result_count, + "search_var": SEARCH_VAR, + "is_popup_var": IS_POPUP_VAR, + "is_facets_var": IS_FACETS_VAR, + } + + +@register.tag(name="search_form") +def search_form_tag(parser, token): + return InclusionAdminNode( + parser, + token, + func=search_form, + template_name="search_form.html", + takes_context=False, + ) + + +@register.simple_tag +def admin_list_filter(cl, spec): + tpl = get_template(spec.template) + return tpl.render( + { + "title": spec.title, + "choices": list(spec.choices(cl)), + "spec": spec, + } + ) + + +def admin_actions(context): + """ + Track the number of times the action field has been rendered on the page, + so we know which value to use. + """ + context["action_index"] = context.get("action_index", -1) + 1 + return context + + +@register.tag(name="admin_actions") +def admin_actions_tag(parser, token): + return InclusionAdminNode( + parser, token, func=admin_actions, template_name="actions.html" + ) + + +@register.tag(name="change_list_object_tools") +def change_list_object_tools_tag(parser, token): + """Display the row of change list object tools.""" + return InclusionAdminNode( + parser, + token, + func=lambda context: context, + template_name="change_list_object_tools.html", + ) diff --git a/external_sources/django/django/contrib/admin/templatetags/admin_modify.py b/external_sources/django/django/contrib/admin/templatetags/admin_modify.py new file mode 100644 index 0000000..0e3046a --- /dev/null +++ b/external_sources/django/django/contrib/admin/templatetags/admin_modify.py @@ -0,0 +1,150 @@ +import json + +from django import template +from django.template.context import Context + +from .base import InclusionAdminNode + +register = template.Library() + + +def prepopulated_fields_js(context): + """ + Create a list of prepopulated_fields that should render JavaScript for + the prepopulated fields for both the admin form and inlines. + """ + prepopulated_fields = [] + if "adminform" in context: + prepopulated_fields.extend(context["adminform"].prepopulated_fields) + if "inline_admin_formsets" in context: + for inline_admin_formset in context["inline_admin_formsets"]: + for inline_admin_form in inline_admin_formset: + if inline_admin_form.original is None: + prepopulated_fields.extend(inline_admin_form.prepopulated_fields) + + prepopulated_fields_json = [] + for field in prepopulated_fields: + prepopulated_fields_json.append( + { + "id": "#%s" % field["field"].auto_id, + "name": field["field"].name, + "dependency_ids": [ + "#%s" % dependency.auto_id for dependency in field["dependencies"] + ], + "dependency_list": [ + dependency.name for dependency in field["dependencies"] + ], + "maxLength": field["field"].field.max_length or 50, + "allowUnicode": getattr(field["field"].field, "allow_unicode", False), + } + ) + + context.update( + { + "prepopulated_fields": prepopulated_fields, + "prepopulated_fields_json": json.dumps(prepopulated_fields_json), + } + ) + return context + + +@register.tag(name="prepopulated_fields_js") +def prepopulated_fields_js_tag(parser, token): + return InclusionAdminNode( + parser, + token, + func=prepopulated_fields_js, + template_name="prepopulated_fields_js.html", + ) + + +def submit_row(context): + """ + Display the row of buttons for delete and save. + """ + add = context["add"] + change = context["change"] + is_popup = context["is_popup"] + save_as = context["save_as"] + show_save = context.get("show_save", True) + show_save_and_add_another = context.get("show_save_and_add_another", True) + show_save_and_continue = context.get("show_save_and_continue", True) + has_add_permission = context["has_add_permission"] + has_change_permission = context["has_change_permission"] + has_view_permission = context["has_view_permission"] + has_editable_inline_admin_formsets = context["has_editable_inline_admin_formsets"] + can_save = ( + (has_change_permission and change) + or (has_add_permission and add) + or has_editable_inline_admin_formsets + ) + can_save_and_add_another = ( + has_add_permission + and not is_popup + and (not save_as or add) + and can_save + and show_save_and_add_another + ) + can_save_and_continue = ( + not is_popup and can_save and has_view_permission and show_save_and_continue + ) + can_change = has_change_permission or has_editable_inline_admin_formsets + ctx = Context(context) + ctx.update( + { + "can_change": can_change, + "show_delete_link": ( + not is_popup + and context["has_delete_permission"] + and change + and context.get("show_delete", True) + ), + "show_save_as_new": not is_popup + and has_add_permission + and change + and save_as, + "show_save_and_add_another": can_save_and_add_another, + "show_save_and_continue": can_save_and_continue, + "show_save": show_save and can_save, + "show_close": not (show_save and can_save), + } + ) + return ctx + + +@register.tag(name="submit_row") +def submit_row_tag(parser, token): + return InclusionAdminNode( + parser, token, func=submit_row, template_name="submit_line.html" + ) + + +@register.tag(name="change_form_object_tools") +def change_form_object_tools_tag(parser, token): + """Display the row of change form object tools.""" + return InclusionAdminNode( + parser, + token, + func=lambda context: context, + template_name="change_form_object_tools.html", + ) + + +@register.filter +def cell_count(inline_admin_form): + """Return the number of cells used in a tabular inline.""" + count = 1 # Hidden cell with hidden 'id' field + for fieldset in inline_admin_form: + # Count all visible fields. + for line in fieldset: + for field in line: + try: + is_hidden = field.field.is_hidden + except AttributeError: + is_hidden = field.field["is_hidden"] + if not is_hidden: + count += 1 + if inline_admin_form.formset.can_delete: + # Delete checkbox + count += 1 + return count diff --git a/external_sources/django/django/contrib/admin/templatetags/admin_urls.py b/external_sources/django/django/contrib/admin/templatetags/admin_urls.py new file mode 100644 index 0000000..871b0d5 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templatetags/admin_urls.py @@ -0,0 +1,70 @@ +from urllib.parse import parse_qsl, unquote, urlparse, urlunparse + +from django import template +from django.contrib.admin.utils import quote +from django.urls import Resolver404, get_script_prefix, resolve +from django.utils.http import urlencode + +register = template.Library() + + +@register.filter +def admin_urlname(value, arg): + return "admin:%s_%s_%s" % (value.app_label, value.model_name, arg) + + +@register.filter +def admin_urlquote(value): + return quote(value) + + +@register.simple_tag(takes_context=True) +def add_preserved_filters(context, url, popup=False, to_field=None): + opts = context.get("opts") + preserved_filters = context.get("preserved_filters") + preserved_qsl = context.get("preserved_qsl") + + parsed_url = list(urlparse(url)) + parsed_qs = dict(parse_qsl(parsed_url[4])) + merged_qs = {} + + if preserved_qsl: + merged_qs.update(preserved_qsl) + + if opts and preserved_filters: + preserved_filters = dict(parse_qsl(preserved_filters)) + + match_url = "/%s" % unquote(url).partition(get_script_prefix())[2] + try: + match = resolve(match_url) + except Resolver404: + pass + else: + current_url = "%s:%s" % (match.app_name, match.url_name) + changelist_url = "admin:%s_%s_changelist" % ( + opts.app_label, + opts.model_name, + ) + if ( + changelist_url == current_url + and "_changelist_filters" in preserved_filters + ): + preserved_filters = dict( + parse_qsl(preserved_filters["_changelist_filters"]) + ) + + merged_qs.update(preserved_filters) + + if popup: + from django.contrib.admin.options import IS_POPUP_VAR + + merged_qs[IS_POPUP_VAR] = 1 + if to_field: + from django.contrib.admin.options import TO_FIELD_VAR + + merged_qs[TO_FIELD_VAR] = to_field + + merged_qs.update(parsed_qs) + + parsed_url[4] = urlencode(merged_qs) + return urlunparse(parsed_url) diff --git a/external_sources/django/django/contrib/admin/templatetags/base.py b/external_sources/django/django/contrib/admin/templatetags/base.py new file mode 100644 index 0000000..9551c0e --- /dev/null +++ b/external_sources/django/django/contrib/admin/templatetags/base.py @@ -0,0 +1,45 @@ +from inspect import getfullargspec + +from django.template.library import InclusionNode, parse_bits + + +class InclusionAdminNode(InclusionNode): + """ + Template tag that allows its template to be overridden per model, per app, + or globally. + """ + + def __init__(self, parser, token, func, template_name, takes_context=True): + self.template_name = template_name + params, varargs, varkw, defaults, kwonly, kwonly_defaults, _ = getfullargspec( + func + ) + bits = token.split_contents() + args, kwargs = parse_bits( + parser, + bits[1:], + params, + varargs, + varkw, + defaults, + kwonly, + kwonly_defaults, + takes_context, + bits[0], + ) + super().__init__(func, takes_context, args, kwargs, filename=None) + + def render(self, context): + opts = context["opts"] + app_label = opts.app_label.lower() + object_name = opts.model_name + # Load template for this render call. (Setting self.filename isn't + # thread-safe.) + context.render_context[self] = context.template.engine.select_template( + [ + "admin/%s/%s/%s" % (app_label, object_name, self.template_name), + "admin/%s/%s" % (app_label, self.template_name), + "admin/%s" % self.template_name, + ] + ) + return super().render(context) diff --git a/external_sources/django/django/contrib/admin/templatetags/log.py b/external_sources/django/django/contrib/admin/templatetags/log.py new file mode 100644 index 0000000..55b2c46 --- /dev/null +++ b/external_sources/django/django/contrib/admin/templatetags/log.py @@ -0,0 +1,67 @@ +from django import template + +register = template.Library() + + +class AdminLogNode(template.Node): + def __init__(self, limit, varname, user): + self.limit = limit + self.varname = varname + self.user = user + + def __repr__(self): + return "" + + def render(self, context): + entries = context["log_entries"] + if self.user is not None: + user_id = self.user + if not user_id.isdigit(): + user_id = context[self.user].pk + entries = entries.filter(user__pk=user_id) + context[self.varname] = entries[: int(self.limit)] + return "" + + +@register.tag +def get_admin_log(parser, token): + """ + Populate a template variable with the admin log for the given criteria. + + Usage:: + + {% get_admin_log [limit] as [varname] for_user [context_var_with_user_obj] %} + + Examples:: + + {% get_admin_log 10 as admin_log for_user 23 %} + {% get_admin_log 10 as admin_log for_user user %} + {% get_admin_log 10 as admin_log %} + + Note that ``context_var_containing_user_obj`` can be a hard-coded integer + (user ID) or the name of a template context variable containing the user + object whose ID you want. + """ + tokens = token.contents.split() + if len(tokens) < 4: + raise template.TemplateSyntaxError( + "'get_admin_log' statements require two arguments" + ) + if not tokens[1].isdigit(): + raise template.TemplateSyntaxError( + "First argument to 'get_admin_log' must be an integer" + ) + if tokens[2] != "as": + raise template.TemplateSyntaxError( + "Second argument to 'get_admin_log' must be 'as'" + ) + if len(tokens) > 4: + if tokens[4] != "for_user": + raise template.TemplateSyntaxError( + "Fourth argument to 'get_admin_log' must be 'for_user'" + ) + return AdminLogNode( + limit=tokens[1], + varname=tokens[3], + user=(tokens[5] if len(tokens) > 5 else None), + ) diff --git a/external_sources/django/django/contrib/admin/tests.py b/external_sources/django/django/contrib/admin/tests.py new file mode 100644 index 0000000..dc85705 --- /dev/null +++ b/external_sources/django/django/contrib/admin/tests.py @@ -0,0 +1,233 @@ +from contextlib import contextmanager + +from django.contrib.staticfiles.testing import StaticLiveServerTestCase +from django.test import modify_settings +from django.test.selenium import SeleniumTestCase +from django.utils.deprecation import MiddlewareMixin +from django.utils.translation import gettext as _ + + +class CSPMiddleware(MiddlewareMixin): + """The admin's JavaScript should be compatible with CSP.""" + + def process_response(self, request, response): + response.headers["Content-Security-Policy"] = "default-src 'self'" + return response + + +@modify_settings(MIDDLEWARE={"append": "django.contrib.admin.tests.CSPMiddleware"}) +class AdminSeleniumTestCase(SeleniumTestCase, StaticLiveServerTestCase): + available_apps = [ + "django.contrib.admin", + "django.contrib.auth", + "django.contrib.contenttypes", + "django.contrib.sessions", + "django.contrib.sites", + ] + + def wait_until(self, callback, timeout=10): + """ + Block the execution of the tests until the specified callback returns a + value that is not falsy. This method can be called, for example, after + clicking a link or submitting a form. See the other public methods that + call this function for more details. + """ + from selenium.webdriver.support.wait import WebDriverWait + + WebDriverWait(self.selenium, timeout).until(callback) + + def wait_for_and_switch_to_popup(self, num_windows=2, timeout=10): + """ + Block until `num_windows` are present and are ready (usually 2, but can + be overridden in the case of pop-ups opening other pop-ups). Switch the + current window to the new pop-up. + """ + self.wait_until(lambda d: len(d.window_handles) == num_windows, timeout) + self.selenium.switch_to.window(self.selenium.window_handles[-1]) + self.wait_page_ready() + + def wait_for(self, css_selector, timeout=10): + """ + Block until a CSS selector is found on the page. + """ + from selenium.webdriver.common.by import By + from selenium.webdriver.support import expected_conditions as ec + + self.wait_until( + ec.presence_of_element_located((By.CSS_SELECTOR, css_selector)), timeout + ) + + def wait_for_text(self, css_selector, text, timeout=10): + """ + Block until the text is found in the CSS selector. + """ + from selenium.webdriver.common.by import By + from selenium.webdriver.support import expected_conditions as ec + + self.wait_until( + ec.text_to_be_present_in_element((By.CSS_SELECTOR, css_selector), text), + timeout, + ) + + def wait_for_value(self, css_selector, text, timeout=10): + """ + Block until the value is found in the CSS selector. + """ + from selenium.webdriver.common.by import By + from selenium.webdriver.support import expected_conditions as ec + + self.wait_until( + ec.text_to_be_present_in_element_value( + (By.CSS_SELECTOR, css_selector), text + ), + timeout, + ) + + def wait_until_visible(self, css_selector, timeout=10): + """ + Block until the element described by the CSS selector is visible. + """ + from selenium.webdriver.common.by import By + from selenium.webdriver.support import expected_conditions as ec + + self.wait_until( + ec.visibility_of_element_located((By.CSS_SELECTOR, css_selector)), timeout + ) + + def wait_until_invisible(self, css_selector, timeout=10): + """ + Block until the element described by the CSS selector is invisible. + """ + from selenium.webdriver.common.by import By + from selenium.webdriver.support import expected_conditions as ec + + self.wait_until( + ec.invisibility_of_element_located((By.CSS_SELECTOR, css_selector)), timeout + ) + + def wait_page_ready(self, timeout=10): + """ + Block until the page is ready. + """ + self.wait_until( + lambda driver: driver.execute_script("return document.readyState;") + == "complete", + timeout, + ) + + @contextmanager + def wait_page_loaded(self, timeout=10): + """ + Block until a new page has loaded and is ready. + """ + from selenium.webdriver.common.by import By + from selenium.webdriver.support import expected_conditions as ec + + old_page = self.selenium.find_element(By.TAG_NAME, "html") + yield + # Wait for the next page to be loaded + self.wait_until(ec.staleness_of(old_page), timeout=timeout) + self.wait_page_ready(timeout=timeout) + + def admin_login(self, username, password, login_url="/admin/"): + """ + Log in to the admin. + """ + from selenium.webdriver.common.by import By + + self.selenium.get("%s%s" % (self.live_server_url, login_url)) + username_input = self.selenium.find_element(By.NAME, "username") + username_input.send_keys(username) + password_input = self.selenium.find_element(By.NAME, "password") + password_input.send_keys(password) + login_text = _("Log in") + with self.wait_page_loaded(): + self.selenium.find_element( + By.XPATH, '//input[@value="%s"]' % login_text + ).click() + + def select_option(self, selector, value): + """ + Select the